Neuronske mreže: primjer, definicija, značenje, obim

Umjetna inteligencija i neuronske mreže nevjerovatno su uzbudljive i moćne metode zasnovane na mašinskom učenju koje se koriste za rješavanje mnogih problema iz stvarnog svijeta. Najjednostavniji primer neuronske mreže je proučavanje interpunkcije i gramatike za automatski kreirajte potpuno novi tekst sa implementacijom svih pravopisnih pravila.

Istorija neuronske mreže

Kompjuterski naučnici već duže vrijeme pokušavaju modelirati ljudski mozak. 1943. Warren Sa. McCulloch i Walter Pitts razvili su prvi konceptualni model Umjetne neuronske mreže. U članku "logički račun ideja vezanih za neuronsku aktivnost" opisali su primjer neuronske mreže, koncept neurona - jedne ćelije koja živi u zajedničkoj mreži, prima ulazne podatke, obrađuje ih i generiše izlazne signale.

Istorija neuronske mreže

Njihov rad, kao i mnogi drugi naučnici, nije imao za cilj da precizno opiše rad biološkog mozga. Umjetna neuronska mreža razvijena je kao računarski model koji radi na princip funkcionisanja mozga za rješavanje širokog spektra zadataka.

Očigledno, postoje vježbe koje je lako riješiti za računar, ali teško za osobu, na primjer, vađenje kvadratnog korijena iz desetocifrenog broja. Neuronska mreža će izračunati ovaj primer za manje od milisekunde, a osobi će trajati nekoliko minuta. S druge strane, postoje neki koje je čovjeku nevjerovatno lako riješiti, ali računar ne može, na primjer, odabrati pozadinu slike.

Naučnici koji su otkrili AI

Naučnici su proveli dosta vremena istražujući i implementirajući složena rješenja. Najčešći primjer neuronske mreže u računarstvu je prepoznavanje uzoraka. Obim primjene kreće se od optiäťko prepoznavanje znakova i fotografija, štampana ili rukom pisana skeniranja u digitalni tekst za prepoznavanje lica.

Biološke računarske mašine

Biološke računarske mašine

Ljudski mozak je izuzetno složen i najmoćniji poznati računar. Njegov unutrašnji rad modeliran je oko koncepta neurona i njihovih mreža, poznatih kao biološke neuronske mreže. Mozak sadrži oko 100 milijardi neurona koji su povezani ovim mrežama.

Na visokom nivou, oni međusobno komuniciraju preko interfejsa koji se sastoji od aksonskih terminala povezanih sa dendritima kroz jaznu sinapsu. Jednostavno rečeno, jedan prenosi poruku drugom preko ovog interfejsa ako je zbir ponderisanih ulaznih signala iz jedan ili više neurona prelazi prag za pokretanje prijenosa. To se zove aktivacija kada se prekorači prag i poruka se prosljeđuje sljedećem neuronu.

Proces sumiranja može biti matematički složen. Ulazni signal je ponderisana kombinacija takvih signala, a vaganje svakog znači da ovaj ulaz može uticati na naredne proračune i konačni izlaz mreže na različite načine.

Elementi neuronskog modela

Duboko učenje je termin koji se koristi za složene neuronske mreže koje se sastoje od nekoliko slojeva. Slojevi se sastoje od čvorova. Čvor je jednostavno mesto gde se vrši proračun, koji se aktivira kada se suoči sa dovoljnim brojem stimulusa. Čvor kombinuje ulazne podatke iz skupa koeficijenata ili težina koji ili pojačavaju ili slabe ovaj signal, dajući im tako značaj za zadatak.

Mreže dubokog učenja razlikuju se od uobičajenih neuronskih mreža sa jednim skrivenim slojem. Primer obuke neuronskih mreža – Kohonen networks.

Elementi neuronskog modela

U mrežama dubokog učenja svaki sloj uči dati skup funkcija na osnovu izlaznih informacija prethodnog nivoa. Što se dalje krećete u neuronsku mrežu, to su složeniji objekti koji se mogu prepoznati po čvorovima, jer kombinuju i rekombinuju objekte sa prethodnog nivoa.

Mreže dubokog učenja obavljaju automatsko izvlačenje funkcija bez ljudske intervencije, za razliku od većine tradicionalnih algoritama, i završavaju izlaznim nivoom: logičkim ili softmax klasifikatorom koji dodjeljuje vjerovatnoću određenom rezultatu i naziva se prognozom.

Annina crna kutija

Umjetne neuronske mreže (INS) su statistički modeli djelimično modelirani na biološkim neuronskim mrežama. Sposobni su paralelno obrađivati nelinearne odnose između ulaza i izlaza. Takve modele karakteriše prisustvo adaptivnih težina duž putanja između neurona, koje se algoritmom učenja mogu konfigurisati za poboljšanje čitavog modela.

Arhitektonski umjetni neuronski (ANN)

Jednostavan primer neuronske mreže je arhitektonski veštačka neuronska ANN mreža, gde:

  • Ulazni sloj je Ulazni sloj.
  • Skriveni sloj-skriveni sloj.
  • Izlazni sloj - izlazni sloj.

Modelira se pomoću slojeva umjetnih neurona ili računarskih jedinica sposobnih za primanje ulaznih podataka i korištenje funkcije aktivacije zajedno s graničnom vrijednošću kako bi se utvrdilo da li se poruke prenose.

U jednostavnom modelu, prvi sloj je ulaz, zatim skriveni i na kraju izlazni. Svaki može sadržati jedan ili više neurona. Modeli mogu postati sve složeniji sa sve većim mogućnostima apstrakcije i rješavanje problema, od broja skrivenih slojeva, broja neurona u bilo kojem datom sloju i broja putanja između njih.

Arhitektura i podešavanje modela glavne su komponente ANN metoda pored samih algoritama učenja. Izuzetno su moćni i smatraju se algoritmima crne kutije, što znači da je njihovo unutrašnje funkcionisanje veoma teško razumeti i objasniti.

Algoritmi Dubokog Učenja

Duboko učenje - Ovaj koncept zvuči dovoljno glasno, zapravo, je samo termin koji opisuje određene vrste neuronskih mreža i srodnih algoritama koji troše sirove ulazne podatke kroz mnoge slojeve nelinearnih transformacija za izračunavanje ciljnog izlaza.

Ekstrakcija funkcija bez nadzora je također područje u kojem duboko učenje premašuje sva očekivanja. Primer obuke neuronskih mreža-SKIL networks.

Algoritmi Dubokog Učenja

Tradicionalno, naučnik podataka ili programer je odgovoran za izvođenje procesa ekstrakcije funkcija u većini drugih pristupa mašinskom učenju zajedno sa odabirom funkcija i dizajnom.

Optimalni parametri algoritma

Algoritmi za funkcije učenja ovlašćuju mašinu da nauči određeni zadatak, koristeći usavršen skup mogućnosti učenja. Drugim riječima, oni uče da uče. Ovaj princip se uspješno koristi u mnogim aplikacijama i smatra se jednom od najnaprednijih metoda vještačke inteligencije. Odgovarajući algoritmi se često koriste za kontrolisane, nekontrolisane i delimično kontrolisane zadatke.

U modelima zasnovanim na neuronskim mrežama, broj slojeva je veći nego u algoritmima površinskog učenja. Mali algoritmi su manje složeni i zahtijevaju dublje poznavanje optimalnih funkcija, koje uključuju odabir i razvoj. Naprotiv, algoritmi dubokog učenja više se oslanjaju na optimalni odabir modela i optimizaciju podešavanjem. Pogodniji su za rješavanje problema kada je prethodno poznavanje funkcija manje poželjno ili neophodno, a snimljeni podaci nedostupni ili nisu potrebni za upotrebu.

Ulazni podaci se transformišu u svim njihovim slojevima pomoću vještačkih neurona ili procesorskih blokova. Primer koda neuronske mreže se zove CAP.

Kapa

Vrijednost kape koristi se za mjerenje u arhitekturi modela dubokog učenja. Većina istraživača u ovoj oblasti slaže se da ima više od dva nelinearna sloja za CAP, a neki vjeruju da kape koje imaju više od deset slojeva zahtijevaju preduboko učenje.

_PODEŠAVANJE

Detaljna rasprava o mnogim različitim arhitekturnim modelima i algoritmima ove vrste učenja vrlo je prostorna i kontradiktorna. Najviše proučavani su:

  1. Direktne neuronske mreže.
  2. Ponavljajuća neuronska mreža.
  3. Višeslojni Perceptroni (MLP).
  4. Konvolucione neuronske mreže.
  5. Rekurzivne neuronske mreže.
  6. Deep Belief Networks.
  7. Konvolucione mreže dubokih vjerovanja.
  8. Samoorganizirajuće karte.
  9. Duboke Boltzmannove Mašine.
  10. Presavijeni auto-koderi za poništavanje buke.

Vrhunske moderne arhitekture

Perceptroni se smatraju neuronskim mrežama prve generacije, računarskim modelima jednog neurona. Izmislio ih je 1956. godine Frank Rosenblatt u djelu "Perceptron :predloženi model za čuvanje i organiziranje informacija u mozgu". Perceptron, koji se naziva i direktna komunikaciona mreža, prenosi informacije sa prednje strane na leđa.

Ponavljajuće neuronske mreže RNN pretvaraju ulazni niz u izlazni niz koji se nalazi u drugom području, na primjer, mijenja niz zvučnih pritisaka u niz identifikatora riječi.

John Hopfield je predstavio Hopfield Net u radu iz 1982. godine "neuronske mreže i fizički sistemi sa novim kolektivnim računarskim mogućnostima". U Hopfield mreži (HN), svaki neuron je povezan sa bilo kojim drugim. Oni su obučeni postavljanjem njihovih vrijednosti na željenu šemu, nakon čega se mogu izračunati koeficijenti težine.

Boltzmann Mašina

Boltzmannova mašina je vrsta stohastičke rekurentne neuronske mreže, koja se može smatrati analogom Hopfield mreža. Bila je to jedna od prvih varijanti koja je proučavala unutrašnje reprezentacije koje rješavaju složene kombinatorne probleme. Ulazni neuroni postaju izlazni neuroni na kraju punog osvježavanja.

Generativna kontradiktorna mreža Iana Goodfellowa (GAN) sastoji se od dvije mreže. Često je to kombinacija napredovanja i Konvolucionih neuronskih mreža. Jedan generiše generativni sadržaj, a drugi mora da proceni diskriminatorni sadržaj.

Prvi koraci sa SKIL iz Pythona

Duboko učenje neuronske mreže koristeći Python kao primjer upoređuje ulaze sa izlazima i pronalazi korelacije. Poznat je kao univerzalni aproksimator jer može naučiti aproksimirati nepoznatu funkciju f (x) = y između bilo kojeg ulaza " x "i bilo kojeg izlaza "y", pod pretpostavkom da su povezani korelacijom ili uzročnošću.

U procesu učenja postoji ispravno " f " ili način da se "x" pretvori u "y", bilo da je f(x) = 3x + 12 ili f ( x) = 9x-0,1.

Zadaci klasifikacije povezani su sa skupovima podataka tako da neuronske mreže vrše korelaciju između oznaka i podataka. Poznato je nadzirano učenje sljedećih vrsta:

  • prepoznavanje lica;
  • identifikacija ljudi na slikama;
  • Definicija izraza lica: ljuta, radosna;
  • identifikacija objekata na slikama: znakovi zaustavljanja, pješaci, znakovi trake;
  • prepoznavanje pokreta u videu;
  • određivanje glasa govornika;
  • klasifikacija spam teksta.

Primjer konvolucijske neuronske mreže

Konvoluciona neuronska mreža je slična višeslojnoj perceptronskoj mreži. Glavna razlika je u tome što CNN proučava kako je strukturiran i za koju svrhu se koristi. Inspiracija CNN-a bili su biološki procesi. Njihova struktura ima izgled vizuelnog korteksa prisutnog u životinji. Korišćeni su na polju računarskog vida i uspješni su u postizanju modernog nivo performansi u različitim oblastima istraživanja.

Prije nego što počnu kodirati CNN, biblioteka se koristi za izradu modela, na primjer, Keras sa pozadinom Tensorflow. Prvo izvršite potreban uvoz. Biblioteka pomaže u izgradnji konvolucijske neuronske mreže. Učitajte MNIST skup podataka putem keras-a. Uvezite sekvencijalni keras model kojem možete dodati konvolucijske i sindikalne slojeve, guste slojeve, jer se koriste za predviđanje oznaka. Padajući sloj smanjuje dogradnju, a sloj za izravnavanje pretvara trodimenzionalni vektor u jednodimenzionalni. Konačno, uvozimo numpy za matrične operacije:

  • Y = 2 # vrijednost 2 predstavlja da slika ima cifru 2;
  • Y = [0,0,1,0,0,0,0,0,0] # 3. pozicija u vektoru je napravljena 1;
  • # Ovdje se vrijednost klase pretvara u matricu binarne klase.

Algoritam izgradnje:

  1. Dodajte ultra precizne slojeve i maksimalni bazen sekvencijalnom modelu.
  2. Dodajte padajuće slojeve između njih. Padajući meni nasumično onemogućava neke neurone u mreži, što primorava podatke da pronađu nove putanje i smanjuje preopterećenje.
  3. Dodaju se gusti slojevi koji se koriste za predviđanje klase (0-9).
  4. Sastavite model sa kategoričkom funkcijom gubitka entropije, adadelta optimizator i metriku tačnosti.
  5. Nakon obuke, gubici i tačnost modela procjenjuju se prema podacima ispitivanja i njegovim podacima.
algoritam izgradnje se štampa

Modeliranje u Matlab-u

Predstavimo jednostavan primjer neuronskih mreža Matlab modeliranja.

Pod pretpostavkom da "a" model ima tri ulaza "a", "b" i "c" i stvara izlaz "y".

Simulacija u Matlab

Za potrebe generisanja podataka: y = 5A + bc + 7c.

Prvo, mala skripta je propisana za generisanje podataka:

  • a = Rand (11000);
  • b = Rand (1,1000);
  • c = Rand (1,1000);
  • n = Rand ( 1,1000) * 0.05;
  • y = a * 5 + B * c + 7 * c + n,

gdje je n buka, posebno dodata da izgleda kao pravi podaci. Vrijednost buke je 0,1 i ujednačena je.

Dakle, ulaz je skup "od", "b" i "c", a rezultat je:

  • I = [A; b; c];
  • O = y.

Zatim upotrijebite ugrađenu matlab newff funkciju za generiranje modela.

Primjeri zadataka neuronske mreže

Prvo stvorite matricu R veličine 3 * 2. Prva kolona će prikazati minimum sva tri ulaza, a druga će prikazati maksimalno tri ulaza. U ovom slučaju, tri ulaza su u rasponu od 0 do 1, tako da:

R = [0 1; 0 1; 0 1].

Sada kreirajte matricu veličine koja ima v-veličinu svih slojeva: s = [51].

Sada se newff funkcija naziva Na sljedeći način:

net = newff ([0 1; 0 1; 0 1], s, {`tansig`, `purelin`}).

Neuralni model {`tansig`, `purelin`} prikazuje funkciju prikaza dva sloja.

Trenirajte ga s podacima koji su ranije stvoreni: net = voz(net, I, O).

Mreža je obučena, možete vidjeti krivulju performansi kao što je obučena.

Kriva performansi

Sada ga ponovo modeliraju na istim podacima i upoređuju izlazne podatke:

O1 = sim (net, I);

zemljište(1:1000,the, 1:1000, O1).

Dakle, ulazna matrica će biti:

  • net.IW{1}
  • -0.3684 0.0308 -0.5402
  • 0.4640 0.2340 0.5875
  • 1.9569 -1.6887 1.5403
  • 1.1138 1.0841 0.2439
  • net.LW{2,1}
  • -11.1990 9.4589 -1.0006 -0.9138

Aplikacije Umjetne Inteligencije

Primjeri implementacije neuronske mreže uključuju online rješenja za samoposluživanje i stvaranje pouzdanih tokova posla. Postoje modeli dubokog učenja koji se koriste za chatbotove, a kako se nastavljaju razvijati, može se očekivati da će se ovo područje više koristiti za širok spektar preduzeća.

Područja primjene:

  1. Automatsko prevođenje. To nije nešto novo, duboko učenje pomaže u poboljšanju automatskog prevođenja teksta pomoću naslaganih mreža i omogućava vam prevođenje slika.
  2. Jednostavan primjer korištenja neuronskih mreža je dodavanje boje crno-bijelim slikama i video zapisima. To se može učiniti automatski koristeći modele sa dubinskim proučavanjem.
  3. Mašine uče interpunkciju, gramatiku i stil fragmenta teksta i mogu ih koristiti model koji su razvili za automatski kreirajte potpuno novi tekst s odgovarajućim pravopisom, gramatikom i stilom teksta.

Umjetne neuronske mreže ANN i sofisticiranije tehnike dubokog učenja su među najnaprednijim alatima za rješavanje složenih problema. Iako je procvat aplikacija malo vjerojatan u bliskoj budućnosti, napredak tehnologija i aplikacija umjetne inteligencije zasigurno će biti uzbudljiv.

Uprkos činjenici da deduktivno zaključivanje, logički zaključci i donošenje odluka korišćenje računara je i danas veoma daleko od savršenog, već je postignut značajan napredak u aplikaciji metoda umjetne inteligencije i srodni algoritmi.