Što su neuronske mreže i kako djeluju?

  • Edmund Richardson
  • 0
  • 2501
  • 385
Oglas

Ako idete u korak s tehnološkim vijestima, vjerojatno ste naišli na koncept neuronske mreže (poznata i kao neuralne mreže).

Na primjer, 2016. godine Googleova neuronska mreža AlphaGo pobijedila je jednog od najboljih profesionalnih igrača Go-a na svijetu u seriji 4-1. YouTube je također objavio da će koristiti neuronske mreže kako bi bolje razumjeli njegove videozapise YouTube će koristiti neuronske mreže da zapravo razumiju videozapise YouTube će upotrebljavati neuronske mreže da zapravo shvate videozapise Pretraživanje YouTubea može biti frustrirajuće jer YouTube ne vidi videozapise na način na koji osoba čini. Nedavno Google podnosi patent koji bi to mogao promijeniti. , Deseci drugih priča mogu vam pasti na pamet.

Ali što je točno neuronska mreža? Kako radi? I zašto je to tako popularno u strojnom učenju?

Računalo poput mozga

Moderni neuroznanstvenici često raspravljaju o mozgu kao o vrsti računala. Neuronske mreže imaju cilj učiniti upravo suprotno: izgraditi računalo koje funkcionira poput mozga.

Naravno, mi tek imamo kratko razumijevanje mozga izuzetno složenih funkcija, ali stvaranjem pojednostavljene simulacije kako mozak obrađuje podatke, možemo izgraditi vrstu računala koje funkcionira vrlo različito od standardnog.

Računalni procesori obrađuju podatke serijski (“u redu”). Izvode mnoge operacije na skupu podataka, jedan po jedan. Paralelna obrada (“obrađivanje nekoliko potoka odjednom”) značajno ubrzava računalo pomoću serijskih više procesora.

Na slici ispod, primjer paralelne obrade zahtijeva pet različitih procesora:

Kreditna slika: ExplainThatStuff

Umjetna neuronska mreža (tako se naziva da je razlikuje od stvarnih neuronskih mreža u mozgu) ima bitno drugačiju strukturu. Jako je povezano. To mu omogućuje da vrlo brzo obrađuje podatke, uči od tih podataka i ažurira svoju unutarnju strukturu radi poboljšanja performansi.

No, visoki stupanj međusobne povezanosti ima neke zapanjujuće učinke. Na primjer, neuronske mreže vrlo su dobro u prepoznavanju nejasnih obrazaca u podacima.

Sposobnost učenja

Sposobnost neuronske mreže da uči je njena najveća snaga. Sa standardnom arhitekturom računarstva, programer mora razviti algoritam koji kaže računalu što učiniti s dolaznim podacima kako bi bio siguran da računalo ispostavlja točan odgovor.

Odgovor ulaza i izlaza može biti jednako jednostavan kao “kada se pritisne tipka A, na zaslonu se prikaže "A"” ili komplicirano kao i provođenje složenih statistika. Neuronske mreže, s druge strane, ne trebaju iste vrste algoritama. Kroz mehanizme učenja oni mogu u osnovi osmisliti vlastite algoritme 4 Algoritmi strojnog učenja koji oblikuju vaš život 4 Algoritmi strojnog učenja koji oblikuju vaš život Možda to ne shvaćate, ali strojno učenje je već sve oko vas i može pokazati iznenađujući stupanj utjecaja preko svog života. Ne vjerujete mi? Možda ćete se iznenaditi. koji osiguravaju da rade pravilno.

Važno je napomenuti da, budući da su neuronske mreže softverski programi napisani na strojevima koji koriste standardni hardver za serijsku obradu, trenutna tehnologija i dalje postavlja ograničenja. Zapravo je u potpunosti drugi problem izrade hardverske verzije neuronske mreže.

Od neurona do čvorova

Sada kada smo postavili osnovu za funkcioniranje neuronskih mreža, možemo početi sagledavati neke specifičnosti. Osnovna struktura umjetne neuronske mreže izgleda ovako:

Svaki se krug naziva a “čvor” i simulira jedan neuron. S lijeve strane su ulazni čvorovi, u sredini su skriveni čvorovi, a na desnoj su izlazni čvorovi.

U vrlo osnovnom smislu, ulazni čvorovi prihvaćaju ulazne vrijednosti, koje bi mogle biti binarna 1 ili 0, dio RGB vrijednosti boje, status šahovskog djela ili bilo što drugo. Ti čvorovi predstavljaju informacije koje teku u mrežu.

Svaki ulazni čvor povezan je s brojem skrivenih čvorova (ponekad sa svakim skrivenim čvorom, ponekad s podskupinom). Čvorovi unosa uzimaju informacije koje im se daju i prosljeđuju ih skrivenom sloju.

Na primjer, ulazni čvor može poslati signal (“vatra,” u jeziku neuroznanosti) ako primi 1, a ostaje uspavan ako primi nulu. Svaki skriveni čvor ima prag: ako svi njegovi zbrojevi ulaza dosegnu određenu vrijednost, aktivira se.

Od sinapsi do veza

Svaka veza, ekvivalent anatomskom sinapsu, također dobiva određenu težinu, koja omogućava mreži da jači naglasak djeluje na određeni čvor. Evo primjera:

Kao što vidite, težina veze B veća je od one veze A i C. Recimo da će skriveni čvor 4 upaliti samo ako primi ukupni ulaz 2 ili veći. To znači da ako 1 ili 3 požara samostalno onda 4 neće biti pokrenuto, ali 1 i 3 zajedno bi pokrenuli čvor. Čvor 2 također može aktivirati čvor samostalno putem veze B.

Uzmimo vrijeme kao praktični primjer. Recimo da dizajnirate jednostavnu neuronsku mrežu kako biste utvrdili treba li upozoravati zimsku oluju.

Korištenjem gornjih priključaka i utega, čvor 4 može upaliti samo ako je temperatura ispod 0 F, a vjetrovi iznad 30 MPH, ili ako bi palo više od 70 posto snijega. Temperatura bi se dovodila u čvor 1, vjetrovi u čvor 3 i vjerojatnost snijega u čvor 2. Sada čvor 4 može sve to uzeti u obzir prilikom određivanja koji signal poslati na izlazni sloj.

Bolja od jednostavne logike

Naravno, ova se funkcija može jednostavno aktivirati pomoću jednostavnih i / ili logičkih vrata. Ali složenije neuronske mreže, poput ove u nastavku, sposobne su znatno složenije operacije.

Kreditna slika: Neuronske mreže i duboko učenje Michaela A. Nielsena

Čvorovi izlaznog sloja funkcioniraju na isti način kao i skriveni slojevi: izlazni čvorovi zbrajaju ulaz sa skrivenog sloja, a ako dostignu određenu vrijednost, izlazni čvorovi aktiviraju se i šalju određene signale. Na kraju procesa, izlazni sloj će slati skup signala koji pokazuje rezultat unosa.

Iako je mreža prikazana gore jednostavna, duboke neuronske mreže mogu imati mnoge skrivene slojeve i stotine čvorova.

Kreditna slika: Neuronske mreže i duboko učenje Michaela A. Nielsena

Ispravak pogreške

Do sada je postupak relativno jednostavan. Ali tamo gdje neuronske mreže stvarno sjaju, to je u učenju. Većina neuronskih mreža koristi proces zvan povratnog prostiranja pogreške, koji šalje signale unazad putem mreže.

Prije nego što programeri implementiraju neuronsku mrežu, oni je pokreću kroz fazu treninga u kojoj prima skup ulaza s poznatim rezultatima. Na primjer, programer može naučiti neuronsku mrežu da prepoznaje slike 8 Nifty Apps za prepoznavanje bilo čega pomoću kamere vašeg telefona 8 Nifty Apps za prepoznavanje bilo čega pomoću kamere telefona. Ove aplikacije za prepoznavanje slike omogućuju vam da identificirate kovanice, biljke, proizvode i još mnogo toga sa kamera vašeg telefona. , Ulaz bi mogla biti slika automobila, a ispravan izlaz bila bi riječ “automobil.”

Programer pruža sliku kao ulaz i vidi što izlazi iz izlaznih čvorova. Ako mreža reagira sa “zrakoplov,” programer kaže računalu da je netočno.

Mreža zatim prilagođava vlastite veze, mijenjajući težine različitih veza između čvorova. Ovu radnju vodi određeni algoritam učenja dodan mreži. Mreža nastavlja prilagoditi težinu veze sve dok ne osigura točan izlaz.

Ovo je pojednostavljenje, ali neuronske mreže mogu naučiti vrlo složene operacije koristeći slične principe.

Neprekidno usavršavanje

Čak i nakon treninga, povratno širenje se nastavlja - i tu se neuronske mreže stvarno ohlade. Nastavljaju učiti kako se koriste, integrirajući nove informacije i prilagođavajući se težinama različitih veza, postajući sve učinkovitiji i učinkovitiji u zadatku za koji su dizajnirani..

Ovo bi moglo biti jednostavno poput prepoznavanja slike ili složeno kao igranje Goa.

Na taj se način neuronske mreže uvijek mijenjaju i poboljšavaju. A to može imati iznenađujuće učinke, što rezultira mrežama koje daju prednost onim stvarima koje programer ne bi pomislio dati kao prioritet.

Pored gore navedenog postupka, koji se naziva nadzirano učenje, postoji i druga metoda: nekontrolirano učenje.

U ovoj situaciji, neuronske mreže uzimaju unos i pokušavaju ga ponovno stvoriti upravo u svom izlazu, koristeći unaprjeđenje za ažuriranje svojih veza. Ovo može zvučati kao besplodna vježba, ali na ovaj način mreže uče izvući korisne značajke i generalizirati te značajke kako bi poboljšale svoje modele.

Pitanja dubine

Povratno širenje je vrlo učinkovit način podučavanja neuronskih mreža ... kada su duboke samo nekoliko slojeva. Kako se broj skrivenih slojeva povećava, učinkovitost povratnog širenja opada. To je problem za duboke mreže. Koristeći povratno širenje, one često nisu učinkovitije od jednostavnih mreža.

Znanstvenici su pronašli brojna rješenja ovog problema, čija su specifičnosti prilično složene i izvan okvira ovog uvodnog djela. Ono što mnoga od ovih rješenja pokušavaju učiniti, jednostavnim riječima, jest smanjiti složenost mreže tako što će je osposobljavati “oblog” podatak.

Kreditna slika: Song Han

Da bi se to postiglo, mreža uči da izvadi manji broj identifikacijskih značajki ulaza, koji s vremenom postaje učinkovitiji u svojim proračunima. Zapravo, mreža čini generalizacije i apstrakcije, i to na isti način na koji ljudi uče.

Nakon ovog učenja, mreža može obrezati čvorove i veze koje smatra manje važnim. To čini mrežu učinkovitijom, a učenje postaje jednostavnije.

Aplikacije neuronske mreže

Dakle, neuronske mreže simuliraju kako mozak uči koristeći više slojeva čvorova - ulaza, skrivenih i izlaznih - i oni mogu učiti i u nadziranim i u nenadziranim situacijama. Složene mreže u stanju su apstrahirati i generalizirati, čineći ih učinkovitijima i sposobnijima za učenje.

Za što možemo koristiti ove fascinantne sustave?

Teoretski, neuronske mreže možemo koristiti za gotovo sve. A vi ste ih vjerojatno koristili a da toga niste ni shvatili. Na primjer, vrlo su česte u prepoznavanju govora i vida, jer se mogu naučiti izabrati određene osobine koje zvukovi ili slike imaju zajedničko.

Dakle, kada pitate Siri 8 stvari koje vjerojatno niste shvatili, Siri nije mogao učiniti 8 stvari koje vjerojatno niste shvatili Siri je mogao postati Siri jedna od najvažnijih značajki iPhonea, ali za mnoge ljude to nije uvijek najkorisnije. Iako je to nešto zbog ograničenja prepoznavanja glasa, neobičnosti korištenja ... tamo gdje je najbliža benzinska postaja, vaš iPhone provodi govor kroz neuronsku mrežu kako bi shvatio što govorite. Možda postoji druga neuronska mreža koja uči predvidjeti vrste stvari koje ćete vjerojatno tražiti.

Automobili koji se voze samostalno mogu koristiti neuronske mreže za obradu vizualnih podataka, pri čemu slijede prometna pravila i izbjegavaju sudare. Roboti svih vrsta mogu imati koristi od neuronskih mreža koje im pomažu da nauče efikasno dovršiti zadatke. Računala mogu naučiti igrati igre poput šaha, igara i Atari classics. Ako ste ikada razgovarali s chatbotom, postoji šansa da je pomoću neuronske mreže ponudio odgovarajuće odgovore.

Internetska pretraga može imati veliku korist od neuronskih mreža, jer visoko učinkoviti model paralelne obrade može brzo prikupiti puno podataka. Neuralna mreža također bi mogla naučiti vaše navike za personaliziranje rezultata pretraživanja ili predviđanje onoga što ćete potražiti u bliskoj budućnosti. Ovaj bi model predviđanja očito bio vrlo koristan trgovcima (i svima drugima koji trebaju predvidjeti složeno ljudsko ponašanje).

Prepoznavanje slike, optičko prepoznavanje znaka 5 najboljih OCR alata za vađenje teksta sa slika 5 najboljih OCR alata za izdvajanje teksta sa slika Kako imate sve papire na papiru, kako možete pretvoriti sav tiskani tekst u nešto što će biti digitalni program? u stanju prepoznati i indeksirati? Držite dobar softver za OCR u blizini. , predviđanje dionica, pronalazak ruta, obrada velikih podataka, analiza troškova liječenja, predviđanje prodaje, AI videoigara ... mogućnosti su gotovo beskrajne. Mogućnost neuronskih mreža da uče o uzorcima, generaliziraju i uspješno predviđaju ponašanje čini ih vrijednim u bezbroj situacija.

Budućnost neuronskih mreža

Neuronske mreže su napredne od vrlo jednostavnih modela do vrlo složenih simulacija učenja. Oni su u našim telefonima, našim tabletima i pokreću mnoge web usluge koje koristimo. Postoje mnogi drugi sustavi strojnog učenja.

No neuronske mreže, zbog svoje sličnosti (na vrlo pojednostavljen način) s ljudskim mozgom, su neke od najfascinantnijih. Dok nastavljamo s razvojem i usavršavanjem modela, ne govori se za što će oni biti sposobni.

Znate li za kakvu zanimljivu uporabu neuronskih mreža? Imate li iskustva s njima sami? Što vam se čini najzanimljivijim u ovoj tehnologiji? Podijelite svoje misli u komentarima u nastavku!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.