Neuronske mreže: primjer, definicija, vrijednost, opseg

Umjetna inteligencija i neuronske mreže su nevjerojatno uzbudljive i moćne metode temeljene na strojnom učenju koje se koriste za rješavanje mnogih stvarnih problema. Najjednostavniji primjer neuronske mreže je proučavanje interpunkcije i gramatike kako bi se automatski stvorio potpuno novi tekst uz primjenu svih pravila pravopisa.

Povijest neuronske mreže

Znanstvenici na području informatizacije već dugo pokušavaju simulirati ljudski mozak. Godine 1943. Warren S. McCullough i Walter Pitts razvili su prvi konceptualni model umjetne neuronske mreže. U članku "Logički broj ideja vezanih uz živčanu aktivnost" opisali su primjer neuronske mreže, koncept neurona - jednu ćeliju koja živi u općoj mreži, prima ulazne podatke, obrađuje ih i generira izlazne signale.


Njihov rad, kao i mnogi drugi znanstvenici, nije namjeravao točno opisati rad biološkog mozga. Umjetna neuronska mreža razvijena je kao računski model koji radi na principu funkcije mozga kako bi riješio širok raspon zadataka. Očito, postoje vježbe koje je lako riješiti za računalo, ali teško za osobu, na primjer, vađenje kvadratnog korijena iz deset-znamenkasti broj. Ovaj primjer izračunat će neuronsku mrežu za manje od milisekunde, a osobi je potrebno minuta. S druge strane, postoje i one koje je nevjerojatno lako riješiti, ali ne pod utjecajem računala, primjerice, za odabir pozadinske slike.
Znanstvenici su proveli mnogo vremena istražujući i primjenjujući složena rješenja. Najčešći primjer neuronske mreže u računalstvu je prepoznavanje uzoraka. Opseg se razlikuje od optičkog prepoznavanja znakova i ispisa fotografija ili ručno pisanih skeniranja do digitalnog teksta u prepoznavanje lica.


Biološki kalkulatori

Ljudski je mozak izuzetno složen i najmoćniji od poznatih računala. Njegov unutarnji rad je modeliran oko koncepta neurona i njihovih mreža, poznatih kao biološke neuronske mreže. Mozak sadrži oko 100 milijardi neurona koji su povezani tim mrežama. Na visokoj razini, oni međusobno djeluju preko sučelja koje se sastoji od aksonskih terminala povezanih s dendritima kroz prostornu sinapsu. Govoreći na jednostavnom jeziku, jedan prenosi poruku drugoj preko ovog sučelja ako zbroj ponderiranih ulaza iz jednog ili više neurona premašuje prag za pokretanje prijenosa. To se naziva aktivacijom kada je prag premašen, a poruka se prenosi na sljedeći neuron. Proces zbrajanja može biti matematički složen. Ulazni signal je ponderirana kombinacija tih signala, a vaganje svakog znači da ovaj ulaz može imati različit učinak na naknadne izračune i na konačni izlaz mreže. Elementi neuralnog modela
Duboko učenje je izraz koji se koristi za složene neuronske mreže koje se sastoje od nekoliko slojeva. Slojevi se sastoje od čvorova. Čvor je samo mjesto gdjepostoji izračun koji djeluje kada se suoči s dovoljnim poticajima. Čvor integrira ulazne podatke iz skupa koeficijenata ili utega, koji ili pojačavaju ili slabe taj signal, te tako određuju značenje zadatka.
Mreže s dubokim učenjem razlikuju se od uobičajenog neuralnog s jednim skrivenim slojem. Primjer treninga neuronskih mreža - mreža Kohonen.
U mrežama s dubokim učenjem svaki sloj prepoznaje zadani skup funkcija na temelju izvornih informacija prethodne razine. Daljnji potez u neuronsku mrežu, teži objekti koji se mogu prepoznati po čvorovima, jer kombiniraju i rekombiniraju objekte s prethodne razine. Mreže dubinskog učenja obavljaju automatsku ekstrakciju funkcija bez ljudske intervencije, za razliku od većine tradicionalnih algoritama i završavaju s početnom razinom: logički ili softmax klasifikator koji dodjeljuje vjerojatnost određenog rezultata i naziva se prognozom.

Black Box ANN

Umjetne neuronske mreže (SNN) su statistički modeli koji su djelomično modelirani na biološkim neuronskim mrežama. Oni su u stanju paralelno obraditi nelinearni odnos između ulaza i izlaza. Takve modele karakterizira prisutnost prilagodljivih utega duž puteva između neurona koji se mogu konfigurirati pomoću algoritma učenja za poboljšanje cijelog modela.
Jednostavan primjer neuronske mreže je arhitektonski umjetna neuronska mreža, gdje je:
  • ulazni sloj ulazni sloj.
  • Skriveni sloj je skriveni sloj.
  • Izlazni sloj - Izlazni sloj.Modeliran je pomoću slojeva umjetnih neurona ili računalnih jedinica koji mogu primati ulazne podatke i koristiti aktivacijsku funkciju zajedno s graničnim vrijednostima kako bi odredili da li se poruke prenose ili šalju.
    U jednostavnom modelu, prvi sloj je ulaz, koji bi trebao biti skriven i, konačno, izlaz. Svaka od njih može sadržavati jedan ili više neurona. Modeli mogu postati sve složeniji s povećanjem apstrakcije i rješavanja problema, brojem skrivenih slojeva, brojem neurona u svakom sloju i brojem staza između njih. Arhitektura i modeliranje modela su glavni sastavni dijelovi ANN metoda, osim samih algoritama učenja. Izuzetno su snažni i smatraju se algoritmima crne kutije, što znači da je njihov unutarnji rad vrlo teško razumjeti i objasniti.

    Duboki algoritmi učenja

    Duboko učenje - ovaj koncept zvuči prilično glasno, u stvari, to je jednostavno izraz koji opisuje određene vrste neuronskih mreža i povezane algoritme koji troše sirove ulazne podatke kroz skup slojeva nelinearnih transformacija za izračun ciljni izlaz Neatraktivna značajka također je područje u kojem duboko učenje nadilazi sva očekivanja. Primjer poučavanja neuronskih mreža - SKIL mreže.
    Tradicionalno, znanstvenik ili programer podataka je odgovoran za izvođenje procesa izdvajanja atributa u većini drugih pristupa strojnom učenju uz izbor funkcija i dizajna.

    Optimalni parametri algoritma

    Algoritmifunkcije učenja autoriziraju stroj da nauči određeni zadatak koristeći konačan skup mogućnosti za učenje. Drugim riječima, uče učiti. Ovaj princip uspješno se koristi u mnogim primjenama i smatra se jednom od naprednih metoda umjetne inteligencije. Odgovarajući algoritmi često se koriste za kontrolirane, nekontrolirane i djelomično kontrolirane zadatke. U modelima koji se temelje na neuronskoj mreži, broj slojeva je veći nego u algoritmima površinskog treninga. Mali algoritmi su manje složeni i zahtijevaju dublje poznavanje optimalnih funkcija koje uključuju odabir i razvoj. Nasuprot tome, algoritmi dubokog učenja više se oslanjaju na optimalni izbor modela i njegovu optimizaciju kroz prilagodbu. Oni su prikladniji za rješavanje problema kada je prethodno znanje o funkcijama manje poželjno ili potrebno, a fiksni podaci nisu dostupni ili nisu potrebni za korištenje. Ulazni podaci pretvaraju se u sve slojeve pomoću umjetnih neurona ili procesorskih blokova. Primjer koda neuronske mreže naziva se CAP.

    Vrijednost CAP-a

    CAP se koristi za mjerenje arhitekture modela dubokog učenja. Većina istraživača u ovom području slaže se da ima više od dva nelinearna sloja za ZPP, dok neki vjeruju da ZPP, s više od deset slojeva, zahtijeva previše obuke.
    Detaljna rasprava o različitim arhitekturama modela i algoritama ove vrste obuke vrlo je prostorna i kontroverzna. Najistaknutije su:
  • Izravnoneuronske mreže.
  • Ponavljajuća neuronska mreža.
  • Višeslojni perceptron (MLP).
  • Rolling Neural Networks.
  • Rekurzivne neuronske mreže.
  • Duboke mreže vjerovanja.
  • Mreža dubokih uvjerenja.
  • Samoorganizirajuće karte.
  • Duboki automobili Boltzmanna.
  • Sastoji se od auto-enkodera koji emitiraju buku.
  • Vrhunske moderne arhitekture

    Perceptroni se smatraju neuralnim mrežama prve generacije, računskim modelima jednog neurona. Izumio ih je 1956. Frank Rosenblatt u "Perceptron: Predvidivi model pohrane i organizacije informacija u mozgu". Perceptron, koji se naziva i mreža izravne veze, prenosi informacije od prednjeg prema stražnjem dijelu.
    Ponavljajuće neuronske mreže RNN pretvaraju ulaznu sekvencu na izlaz koji je u drugom području, na primjer, mijenja slijed pritisaka zvuka u slijed identifikatora riječi. John Hopfield predstavio je Hopfield Net u članku iz 1982. "Neuralne mreže i fizički sustavi s novim mogućnostima kolektivnog računanja". U Hopfieldovoj mreži (HN), svaki neuron je povezan s bilo kojim drugim. Oni uče postavljanjem svoje vrijednosti na željenu shemu, nakon čega možemo izračunati težinske koeficijente.
    ​​Boltzmannov Stroj je vrsta stohastičke rekurentne neuronske mreže koja se može smatrati analogom Hopfieldovih mreža. To je bila jedna od prvih varijanti za proučavanje unutarnjih reprezentacija koje rješavaju složene kombinatorne probleme.Dolazni neuroni postaju izlaz na kraju potpunog ažuriranja. Generička konkurentna mreža, Jan Goodfellow (GAN), sastoji se od dvije mreže. Često je riječ o kombinaciji feedova prema naprijed i konvolucijskih neuronskih mreža. Jedan generira sadržaj generički, a drugi treba ocijeniti sadržaj diskriminatornim.

    Dobivanje SKIL-a iz Pythona

    Duboko učenje neuronske mreže u primjeru Pythona uspoređuje ulaze s izlazima i pronalazi korelacije. Poznat je kao univerzalni aproksimator, jer može naučiti donijeti nepoznatu funkciju f (x) = y između bilo kojeg ulaza "x" i bilo kojeg "y" izlaza, uz pretpostavku da su korelirani ili uzročno-posljedični „yazkom. U procesu učenja, točan "f" ili metoda pretvaranja "x", "y", bilo da je f (x) = 3x + 12 ili f (x) = 9x - 01. Zadaci klasifikacije se odnose na skupove podataka, tako da neuronske mreže izvršili korelaciju između oznaka i podataka. Poznati kontrolirani trening sljedećih vrsta:
  • prepoznavanje pojedinaca;
  • Identifikacija osoba u slikama;
  • određivanje izraza lica: ljut, radostan;
  • identifikacija objekata na slikama: znakovi za zaustavljanje, pješaci, oznake traka;
  • prepoznavanje geste u videu;
  • određivanje glasa govornika;
  • klasifikacija spam teksta.

    Primjer konvolucijske neuronske mreže

    Konvolucijska neuronska mreža slična je višeslojnoj mreži perceptrona. Glavna razlika je u tome što CNN proučava kako je strukturiran i za koju svrhu se koristi. Nadahnuće za CNN biološki su procesi. Njihova struktura ima izgled vizualnog korteksa prisutnog u životinji.Primjenjuju se u području računalnog vida i uspješnih dostignuća moderne razine produktivnosti u različitim područjima istraživanja. Prije nego što počnu kodirati CNN, knjižnica se koristi za konstruiranje modela, na primjer Keras s Tensorflow backendom. Prvo izvršite potreban uvoz. Knjižnica pomaže u izgradnji konvolucijske neuronske mreže. Preuzmite mnist skup podataka putem keras-a. Uvezite serijski model, koji može dodati slojeve petlji i spajanje, guste slojeve, jer se oni koriste za predviđanje oznaka. Padajući sloj smanjuje ponovno opremanje, a izravnavanje pretvara trodimenzionalni vektor u jednodimenzionalni. Konačno, uvoz numpy za matrične operacije:
  • Y = 2 # vrijednost 2 predstavlja da slika ima znamenku 2;
  • Y = [0,0,1,0,0,0,0,0,0,0] # 3. mjesto u vektoru je 1;
  • # Ovdje se vrijednost klase pretvara u matricu binarnih klasa.
  • Algoritam konstrukcije:
  • Dodajte sekvencijalnom modelu precizne slojeve maksimalnog skupa.
  • Dodajte slojeve kapljica između njih. Padajući izbornik slučajno isključuje neke neurone u mreži, što prisiljava podatke na pronalaženje novih putova i smanjuje ponovno opremanje.
  • Dodajte uske slojeve koji se koriste za predviđanje klase (0-9).
  • Pripremite model s kategoričnom funkcijom gubitka među entropijama, Adadelta optimizatorom i metrikom točnosti.
  • Nakon treninga procijenite gubitak i točnost modela u skladu s ispitnim podacima i ispišite ga.
  • Modeliranje u Matlabu

    Evo jednostavnog primjera neutralnih mreža Matlab-modeliranja. Pod pretpostavkomda "a" model ima tri ulaza "a", "b" i "c" i generira izlaz "y".
    Za potrebe generiranja podataka: = 5a + bc + 7s. Najprije napišite malu skriptu za generiranje podataka:
  • a = Rand (11000);
  • b = plaža (11000);
  • s Random (11000);
  • n = Rand (11000) * 005;
  • y = a * 5 + b * c + 7 * sa + n,
  • gdje je n šum koji je posebno dodan kako bi izgledao kao stvarni podatak. Vrijednost šuma je 01 i jednolika je. Dakle, ulaz je skup "a", "b" i "c", i zaključak:
  • I = [a; b; c];
  • O = y.
  • Zatim koristite ugrađenu funkciju matlab newff za generiranje modela.

    Primjeri zadataka neuronske mreže

    U početku se stvara matrica R veličine 3 * 2. Prvi stupac pokazuje minimum od sva tri ulaza, a drugi - najviše tri ulaza. U ovom slučaju, tri ulaza su u rasponu od 0 do 1 za: R = [0 1; 0; 0 1]. Sada stvorite matricu veličine, koja ima v-veličinu svih slojeva: S = . Sada pozovite funkciju newff na sljedeći način: net = newff ([0 1, 0 1; 0 1], S, {'tansig', 'purelin'}). Neuronski model {'tansig', 'purelin' pokazuje funkciju prikazivanja dva sloja. Podučavajte ga podacima koji su stvoreni ranije: net = vlak (neto, I, O). Mreža je obučena, možete vidjeti krivulju produktivnosti kako ona uči.
    Sada ga ponovno simulirati na istim podacima i usporediti izvor podataka: O1 = sim (net, I); plot (1: 1000O, 1: 1000). Stoga će ulazna matrica biti:
  • net.IW {1}
  • -036840.0308 -05402
  • 046400.234005875
  • 19569 -168871.5403
  • 111381.084102439
  • net.LW {21}
  • -1119909.4589 -10006 -09138
  • Programi umjetne inteligencije

    Primjeri implementacije neuronske mreže uključuju online samouslužno rješenje i stvaranjepouzdani tijekovi rada. Postoje duboki modeli učenja koji se koriste za chat botove, budući da se i dalje razvijaju, može se očekivati ​​da će ovo područje biti više korišteno od strane velikog broja poduzeća. Područja primjene:
  • Automatsko strojno prevođenje. To nije nešto novo, duboko učenje pomaže poboljšati automatsko prevođenje teksta uz pomoć složenih mreža i omogućuje prevođenje slike.
  • Jednostavan primjer uporabe neuronskih mreža - dodavanje boje crno-bijelim slikama i videozapisima. To se može automatski obaviti pomoću dubinskih modela istraživanja.
  • Strojevi proučavaju interpunkciju, gramatiku i stil teksta i mogu upotrijebiti model koji su razvili za automatsko stvaranje potpuno novog teksta s pravilnim pravopisom, gramatikom i stilom teksta. ANN umjetne neuronske mreže i sofisticiranije tehnike dubokog učenja su neke od najnaprednijih alata za rješavanje složenih zadataka. Iako je primjena buma malo vjerojatna u bliskoj budućnosti, napredak tehnologije i primjena umjetne inteligencije zasigurno će biti fascinantan. Unatoč činjenici da su deduktivno zaključivanje, logički zaključci i donošenje odluka uz pomoć računala danas još uvijek daleko od savršenog, postignut je značajan napredak u primjeni metoda umjetne inteligencije i srodnih algoritama.
  • Povezane publikacije