Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Iron
  • Jednostavnim riječima o kompleksu: šta su neuronske mreže? Uvod u duboko učenje.

Jednostavnim riječima o kompleksu: šta su neuronske mreže? Uvod u duboko učenje.

I dijelom, ovaj vodič je namijenjen svima koji su zainteresirani za mašinsko učenje, ali ne znaju odakle da počnu. Sadržaj članaka namijenjen je širokoj publici i bit će prilično površan. Ali da li je ikome stalo? Što je više ljudi zainteresovano za mašinsko učenje, to bolje.

Prepoznavanje objekata pomoću dubokog učenja

Možda ste već vidjeli ovaj poznati xkcd strip. Šala je u tome da svako trogodišnje dijete može prepoznati fotografiju ptice, ali da bi kompjuter to uradio, najboljim informatičarima je trebalo više od 50 godina. U posljednjih nekoliko godina konačno smo pronašli dobrog pristup prepoznavanju objekata korištenjem duboke konvolucione neuronske mreže... Ovo zvuči kao gomila izmišljenih riječi iz fantastičnog romana Williama Gibsona, ali to će nam postati jasno kada ih raščlanimo jednu po jednu. Pa hajde da to uradimo - napišite program koji prepoznaje ptice!

Počnimo jednostavno

Prije nego naučimo kako prepoznati slike ptica, naučimo kako prepoznati nešto mnogo jednostavnije - rukom ispisan broj "8".

Šta je duboko učenje? 3. marta 2016

Sada govore o modernim tehnologijama dubokog učenja, kao da je to mana nebeska. Ali razumiju li govornici šta je to zapravo? Ali ovaj koncept nema formalnu definiciju i objedinjuje čitav niz tehnologija. U ovom postu želim da budem što popularniji, i zapravo objasnim šta se krije iza ovog pojma, zašto je toliko popularan i šta nam ove tehnologije daju.


Ukratko, ovaj novonastali termin (duboko učenje) govori o tome kako sastaviti složeniju i dublju apstrakciju (reprezentaciju) od neke jednostavne apstrakcije. osim toga, čak i najjednostavnije apstrakcije treba da sklapa sam kompjuter, a ne osoba... One. više se ne radi samo o učenju, već o meta-učenju. Slikovito rečeno, računar mora samostalno naučiti kako da ga nauči najbolje. I, zapravo, izraz "duboko" implicira upravo to. Gotovo uvijek, ovaj termin se primjenjuje na umjetne neuronske mreže, gdje se koristi više od jednog skrivenog sloja, dakle, formalno "duboko" znači i dublju arhitekturu neuronske mreže.

Na slajdu za razvoj možete jasno vidjeti koliko se duboko učenje razlikuje od običnog učenja. Ponavljam, Jedinstveno za duboko učenje je da mašina sama pronalazi karakteristike(ključne karakteristike nečega koje olakšavaju odvajanje jedne klase objekata od druge) i Ove karakteristike su strukturirane hijerarhijski: složenije se formiraju od jednostavnijih... U nastavku ćemo to analizirati na primjeru.

Pogledajmo primjer problema prepoznavanja slike: prije su ogromnu (1024 × 768 - oko 800.000 numeričkih vrijednosti) sliku ubacili u običnu neuronsku mrežu sa jednim slojem i gledali kako kompjuter polako umire, gušeći se od nedostatka memorije i nesposobnosti. razumjeti koji su pikseli važni za prepoznavanje, a koji nisu. Da ne spominjemo efikasnost ove metode. Evo arhitekture takve uobičajene (plitke) neuronske mreže.

Onda su, ipak, slušali kako mozak razlikuje znakove, i to strogo hijerarhijski, a mi smo također odlučili izvući hijerarhijsku strukturu iz slika. Da bi se to postiglo, bilo je potrebno dodati još skrivenih slojeva (slojeva koji se nalaze između ulaza i izlaza; grubo rečeno, faze transformacije informacija) u neuronsku mrežu. Iako su na to odlučili gotovo čim su izumljeni neuroni, tada su mreže sa samo jednim skrivenim slojem uspješno obučene. One. u principu, duboke mreže postoje otprilike koliko i obične, jednostavno ih nismo mogli obučiti. Šta se promijenilo?

2006. godine nekoliko nezavisnih istraživača riješilo je ovaj problem odjednom (osim toga, hardverski kapaciteti su se već dovoljno razvili, pojavile su se prilično moćne video kartice). Ovi istraživači: Jeffrey Hinton (i njegov kolega Ruslan Salakhutidinov) sa tehnikom preliminarne obuke svakog sloja neuronske mreže sa ograničenom Boltzmannom mašinom (oprostite mi na ovim terminima...), Ian Lecun sa konvolucijskim neuronskim mrežama, i Yoshuaia Benjio sa kaskadnim autoenkoderima. Prva dvojica su odmah regrutovali Google i Facebook. Evo dva predavanja: jedno - Hinton, drugi je Lyakuna, u kojem objašnjavaju šta je duboko učenje. Bolje od njih, niko neće pričati o tome. Još jedan cool predavanje Schmidhubera o razvoju dubokog učenja, također jednom od stubova ove nauke. A Hinton takođe ima odličan kurs o neuronskim kursorima.

Za šta su sada sposobne duboke neuronske mreže? Oni su u stanju prepoznati i opisati objekte, možemo reći "razumjeti" šta je to. Radi se o prepoznavanju značenja.

Samo pogledajte ovaj video o prepoznavanju onoga što kamera vidi u stvarnom vremenu.

Kao što sam rekao, tehnologije dubokog učenja su čitava grupa tehnologija i rješenja. Već sam ih naveo nekoliko u gornjem pasusu, drugi primjer su rekurentne mreže, koje se samo koriste u videu iznad da opiše šta mreža vidi. Ali najpopularniji predstavnik ove klase tehnologija i dalje su LaCun konvolucijske neuronske mreže. Izgrađene su po analogiji s principima vizualnog korteksa mačjeg mozga, u kojem su otkrivene takozvane jednostavne ćelije koje odgovaraju na prave linije pod različitim uglovima, i složene - čija je reakcija povezana s aktivacijom određeni skup jednostavnih ćelija. Iako, da budem iskren, sam LaKun nije bio orijentisan na biologiju, on je rješavao konkretan problem (pogledajte njegova predavanja), a onda se to poklopilo.

Jednostavno, konvolucione mreže su mreže u kojima je glavni strukturni element učenja grupa (kombinacija) neurona (obično kvadrat 3 × 3,10 × 10, itd.), a ne jedan. I na svakom nivou mreže obučava se na desetine takvih grupa. Mreža pronalazi kombinacije neurona koji maksimiziraju informacije o slici. Na prvom nivou, mreža izdvaja najosnovnije, strukturno jednostavne elemente slike - moglo bi se reći, građevne jedinice: granice, poteze, segmente, kontraste. Iznad, već postoje stabilne kombinacije elemenata prvog nivoa, i tako dalje u lancu. Želim još jednom istaći glavnu karakteristiku dubokog učenja: mreže same formiraju ove elemente i odlučuju koji je od njih važniji, a koji ne. Ovo je važno, jer u polju mašinskog učenja kreiranje karakteristika je ključno i sada prelazimo na fazu kada računar sam uči da kreira i bira karakteristike. Sama mašina identifikuje hijerarhiju informativnih karakteristika.

Dakle, u procesu obuke (pregledavanje stotina slika), konvoluciona mreža formira hijerarhiju karakteristika različitih nivoa dubine. Ovdje na prvom nivou mogu istaknuti, na primjer, takve elemente (kontrast koji reflektira, ugao, ivica, itd.).


Na drugom nivou to će već biti element iz elemenata prvog nivoa. Na trećem - od drugog. Morate shvatiti da je ova slika samo demonstracija. Sada u industrijskoj upotrebi, takve mreže imaju od 10 do 30 slojeva (nivoa).

Nakon što je takva mreža obučena, možemo je koristiti za klasifikaciju. Nakon slanja slike na ulaz, grupe neurona prvog sloja prelaze preko slike, aktivirajući se na onim mjestima gdje postoji element slike koji odgovara određenom elementu. One. ova mreža rastavlja sliku na dijelove - prvo na crtice, poteze, uglove nagiba, zatim na složenije dijelove, a na kraju dolazi do zaključka da je slika iz ovakve kombinacije osnovnih elemenata lice.

Više o konvolucijskim mrežama -

Saznao sam o poslovnim trendovima na velikoj konferenciji u Kijevu. Cijeli proces je pun subotnjih uvida, jer su oduzimali nova znanja i znanja, čiji je rezultat potrošen na sat vremena. Postoje 4 toka dodatnih ideja za vlasnike preduzeća, TOP-menadžere, trgovce, prodaju, zaposlene i posebne ponude na confi-boule 4. Jedan od glasnogovornika Ministarstva za infrastrukturu Volodymyr Omelyan, koji je govorio o razvoju galuzija, obnovljenim putevima i aerodromima.

Dobar dan svima, drage kolege iOS-nicknames, sigurno je svako od vas radio sa mrežom i bavio se raščlanjivanjem podataka iz JSON-a. Za ovaj proces postoji gomila biblioteka, svih vrsta alata koje možete koristiti. Neki su složeni, a neki jednostavni. I sam sam jako dugo vremena iskreno analizirao JSON ručno, ne povjeravajući ovaj proces nekim bibliotekama trećih strana, i to je imalo svoje prednosti.

Apple je 9. septembra 2014. godine tokom redovne prezentacije predstavio vlastiti sistem mobilnog plaćanja - Apple Pay.

Uz Apple Pay, korisnici iPhonea 6 i iPhone 6+ i najnovijeg Apple Watch-a mogu kupovati na mreži, iskoristiti dodatne pogodnosti Apple Pay-a za mobilne aplikacije i vršiti plaćanja koristeći tehnologiju komunikacije bliskog polja (NFC). Za autorizaciju plaćanja koriste se Touch ID ili Face ID tehnologije.

Tehnologije ne miruju, a razvojni procesi idu s njima. Ako su ranije kompanije radile po modelu "Waterfall", sada, na primjer, svi teže implementaciji "Scrum-a". Evolucija se također odvija u pružanju usluga razvoja softvera. Dok su kompanije nekada pružale klijentima kvalitetan razvoj uz budžet, zaustavljajući se na tome, sada nastoje pružiti maksimalnu vrijednost za klijenta i njegovo poslovanje pružajući svoju stručnost.

U proteklih nekoliko godina pojavilo se toliko dobrih fontova, uključujući i besplatne, da smo odlučili napisati nastavak našeg za dizajnere.

Svaki dizajner ima skup omiljenih fontova za rad, s kojima je navikao raditi i koji odražavaju njegov grafički stil. Dizajneri kažu „nikada nema mnogo dobrih fontova“, ali sada možemo sa sigurnošću zamisliti situaciju kada se ovaj set sastoji samo od besplatnih fontova.

Koliko često se projekt menadžeri nađu između rocka i hard place kada pokušavaju pronaći balans između svih zahtjeva i rokova naručitelja i mentalnog zdravlja cijelog tima? Koliko se nijansi mora uzeti u obzir da bi vladao mir i red na obje strane odgovornosti? Kako shvatiti da ste dobar menadžer ili morate hitno da nadoknadite korak na svim frontovima? Kako odrediti u kojim aspektima vi kao premijer zaostajete, a gdje ste dobar momak i pametna djevojka? O tome je bila sljedeća Code'n'Coffee konferencija.

Tehnologija prepoznavanja uzoraka sve je više uključena u naš svakodnevni život. Kompanije i institucije ga koriste za sve, od sigurnosti do istraživanja zadovoljstva kupaca. Očekuje se da će ulaganja u proizvode zasnovane na ovoj funkciji porasti na 39 milijardi dolara do 2021. Evo samo nekoliko primjera kako se prepoznavanje uzoraka koristi u različitim poljima.

(Manning Publications).

Ovaj članak je namijenjen ljudima koji već imaju značajno iskustvo s dubokim učenjem (na primjer, onima koji su već pročitali poglavlja 1-8 ove knjige). Pretpostavlja se puno znanja.

Duboko učenje: Geometrijski pogled

Najnevjerovatnija stvar kod dubokog učenja je koliko je jednostavno. Prije deset godina, niko nije mogao zamisliti kakve ćemo zadivljujuće rezultate postići u problemima percepcije mašina koristeći jednostavne parametarske modele trenirane sa gradijentom spuštanja. Sada se ispostavilo da nam samo treba dovoljno velik parametarski modeli obučeni na dovoljno velik broj uzoraka. Kao što je Feynman jednom rekao o univerzumu: “ Nije teško, samo toga ima dosta».

U dubokom učenju sve je vektor, tj. tačka v geometrijski prostor... Ulazni podaci modela (mogu biti tekst, slike itd.) i njegovi ciljevi se prvo "vektoriziraju", odnosno prevode u neki početni vektorski prostor na ulazu i ciljni vektorski prostor na izlazu. Svaki sloj u modelu dubokog učenja izvodi jednu jednostavnu geometrijsku transformaciju podataka koji prolaze kroz njega. Zajedno, lanac slojeva modela stvara jednu vrlo složenu geometrijsku transformaciju, razbijenu na niz jednostavnih. Ova složena transformacija pokušava transformirati prostor ulaznih podataka u ciljni prostor, za svaku tačku. Parametri transformacije su određeni težinama slojeva, koje se stalno ažuriraju na osnovu toga koliko dobro model trenutno radi. Ključna karakteristika geometrijske transformacije je da mora biti diferencibilan, odnosno trebali bismo biti u mogućnosti da saznamo njegove parametre putem gradijenta spuštanja. Intuitivno, to znači da geometrijsko preoblikovanje mora biti fluidno i kontinuirano - važno ograničenje.

Čitav proces primjene ove složene geometrijske transformacije na ulazne podatke može se vizualizirati u 3D prikazu osobe koja pokušava da rasklopi papirnu loptu: zgužvana papirna lopta je niz ulaznih podataka s kojima model počinje raditi. Svaki pokret osobe papirnom loptom je poput jednostavne geometrijske transformacije koju izvodi jedan sloj. Potpuna sekvenca gesta otvaranja je složena transformacija cjelokupnog modela. Modeli dubokog učenja su matematičke mašine za odmotavanje zamršenog mnoštva višedimenzionalnih podataka.

Ovo je magija dubokog učenja: pretvorite vrijednost u vektore, u geometrijske prostore, a zatim postepeno naučite složene geometrijske transformacije koje pretvaraju jedan prostor u drugi. Sve što je potrebno su prostori dovoljno velike dimenzije da prenesu čitav niz odnosa koji se nalaze u originalnim podacima.

Ograničenja dubokog učenja

Skup zadataka koji se mogu riješiti ovom jednostavnom strategijom je gotovo beskrajan. Pa ipak, mnoge od njih su još uvijek izvan dosega trenutnih tehnika dubokog učenja - čak i uz ogromnu količinu dostupnih ručno označenih podataka. Recimo, na primjer, da možete prikupiti skup podataka od stotina hiljada - čak i miliona - engleskih opisa softverskih funkcija koje su napisali menadžeri proizvoda, zajedno sa odgovarajućom referentnom godinom koju su razvili inženjerski timovi kako bi ispunili ove zahtjeve. Čak i sa ovim podacima, ne možete trenirati model dubokog učenja jednostavnim čitanjem opisa proizvoda i generisanjem odgovarajuće baze koda. Ovo je samo jedan primjer među mnogima. Općenito, sve što zahtijeva argumentaciju, rezonovanje - poput programiranja ili primjene naučnih metoda, dugoročnog planiranja, manipulacije podacima u algoritamskom stilu - je izvan mogućnosti modela dubokog učenja, bez obzira na to koliko podataka im bacite. Čak je i podučavanje neuronske mreže da sortira algoritam nevjerovatno teško.

Razlog je taj što je model dubokog učenja "samo" lanac jednostavnih, kontinuiranih geometrijskih transformacija koji transformišu jedan vektorski prostor u drugi. Sve što može učiniti je transformirati jedan skup podataka X u drugi skup podataka Y, pod uvjetom da postoji moguća kontinuirana transformacija iz X u Y koja se može naučiti, i dostupnost gust skup uzoraka transformirajte X: Y kao podatke za obuku. Dakle, dok se model dubokog učenja može smatrati nekom vrstom programa, ali većina programa se ne može izraziti kao modeli dubokog učenja- za većinu problema ili ne postoji duboka neuronska mreža praktički odgovarajuće veličine koja rješava problem, ili ako postoji, može biti neučljiv, odnosno, odgovarajuća geometrijska transformacija može biti previše složena ili nema odgovarajućih podataka za obuku.

Povećanje postojećih tehnika dubokog učenja – dodavanje više slojeva i korištenje više podataka o obuci – može samo površno ublažiti neke od ovih problema. Neće riješiti fundamentalniji problem da su modeli dubokog učenja veoma ograničeni u onome što mogu predstavljati, i da se većina programa ne može izraziti kao kontinuirano geometrijsko morfiranje mnoštva podataka.

Rizik od antropomorfizacije modela mašinskog učenja

Jedan od vrlo stvarnih rizika moderne AI je pogrešno tumačenje načina na koji funkcionišu modeli dubokog učenja i preuveličavanje njihovih sposobnosti. Osnovna karakteristika ljudskog uma je „model ljudske psihe“, naša sklonost da projektujemo ciljeve, uvjerenja i znanje na stvari oko nas. Crtanje nasmejanog lica na kamenu odjednom nas čini "sretnim" - psihički. Primijenjeno na duboko učenje, to znači, na primjer, da ako možemo više ili manje uspješno obučiti model da generiše tekstualne opise slika, onda smo skloni misliti da model "razumije" sadržaj slika kao i generirane opisi. Tada smo veoma iznenađeni kada, zbog malog odstupanja od skupa slika predstavljenih u podacima o obuci, model počne da generiše potpuno apsurdne opise.

Konkretno, to je najizraženije u „konkurentnim primjerima“, odnosno uzorcima ulaznih podataka mreže dubokog učenja, posebno odabranih da budu pogrešno klasifikovani. Već znate da možete napraviti gradijentni uspon u ulaznom prostoru kako biste generirali obrasce koji maksimiziraju aktivaciju, na primjer, određeni filter konvolucione neuronske mreže - ovo je srž tehnike renderiranja koju smo pokrili u poglavlju 5 (Napomena: Duboko učenje s Pythonom knjige) , baš kao algoritam Deep Dream iz poglavlja 8. Na sličan način, putem gradijenta uspona, možete malo promijeniti veličinu slike kako biste maksimizirali predviđanje klase za datu klasu. Ako snimimo fotografiju pande i dodamo gradijent gibona, možemo natjerati neuronsku mrežu da klasifikuje tu pandu kao gibona. Ovo pokazuje i krhkost ovih modela i duboku razliku između transformacije od ulaska do izlaska koja ga vodi i naše vlastite ljudske percepcije.

Općenito, modelima dubokog učenja nedostaje razumijevanje inputa, barem ne u ljudskom smislu. Naše vlastito razumijevanje slika, zvukova, jezika zasniva se na našem senzomotoričkom iskustvu kao ljudi - kao materijalnih zemaljskih bića. Modeli mašinskog učenja nemaju pristup ovom iskustvu i stoga ne mogu „razumeti“ naše inpute na bilo koji ljudski način. Obilježavanjem velikog broja primjera obuke za naše modele, prisiljavamo ih da nauče geometrijsku transformaciju koja donosi podatke ljudskim konceptima za taj specifični skup primjera, ali ova transformacija je samo pojednostavljena skica originalnog modela našeg uma, kao što je razvijeno iz našeg iskustva kao tjelesni agensi su poput slabog odraza u ogledalu.

Kao praktičar u mašinskom učenju, uvijek imajte ovo na umu i nikada ne upadnite u zamku vjerovanja da neuronske mreže razumiju zadatak koji obavljaju – ne razumiju, barem ne na način koji nama ima smisla. Oni su bili obučeni za drugačiji, mnogo uži zadatak od onog koji želimo da ih naučimo: jednostavno pretvaranje ulaznih uzoraka obuke u ciljne uzorke obuke, od tačke do tačke. Pokažite im bilo šta što se razlikuje od podataka o treningu i oni se razbiju na najapsurdniji način.

Lokalna generalizacija naspram granične generalizacije

Čini se da postoji fundamentalna razlika između direktnog geometrijskog preoblikovanja od ulaza do izlaza koje rade modeli dubokog učenja i načina na koji ljudi misle i uče. Ne radi se samo o tome da ljudi uče iz svog tjelesnog iskustva, a ne kroz obradu skupa obrazaca treninga. Osim razlika u procesima učenja, postoje fundamentalne razlike u prirodi osnovnih uvjerenja.

Ljudi su sposobni za mnogo više od pretvaranja trenutnog stimulusa u trenutni odgovor, poput neuronske mreže ili možda insekta. Ljudi u svojoj svijesti čuvaju složene, apstraktne modele trenutne situacije, sebe, drugih ljudi, te mogu koristiti te modele za predviđanje različitih mogućih opcija za budućnost, te dugoročno planiranje. Oni su u stanju da kombinuju dobro poznate koncepte kako bi predstavili stvari koje nikada ranije nisu znali - kao što je crtanje konja u farmerkama, na primer, ili opisivanje šta bi uradili da dobiju na lutriji. Sposobnost da razmišljamo hipotetički, da proširimo svoj model mentalnog prostora daleko izvan onoga što smo direktno iskusili, odnosno sposobnost da radimo apstrakcije i rasuđivanje je možda odlučujuća karakteristika ljudske spoznaje. Ja to zovem "krajnja generalizacija": sposobnost prilagođavanja novim, nikada prije neiskusnim situacijama koristeći vrlo malo podataka ili ih uopće nema.

Ovo je u potpunoj suprotnosti sa onim što rade mreže dubokog učenja, što bih nazvao "lokalna generalizacija": pretvaranje inputa u izlaze brzo postaje besmisleno ako su novi ulazi čak i malo drugačiji od onoga na koji su naišli tokom treninga. ... Razmotrimo, na primjer, problem učenja odgovarajućih parametara lansiranja da bi raketa sletjela na Mjesec. Ako ste koristili neuronsku mrežu za ovaj zadatak, podučavajući ga sa učiteljem ili pojačanjem, trebali biste joj dati hiljade ili milione putanja leta, odnosno, trebate izdati gust skup primjera u prostoru ulaznih vrijednosti kako bi naučili pouzdanu transformaciju iz prostora ulaznih vrijednosti u prostor izlaznih vrijednosti. Nasuprot tome, ljudi mogu koristiti moć apstrakcije za kreiranje fizičkih modela – raketne nauke – i doći do preciznog rješenja kojim se raketa stiže na Mjesec u samo nekoliko pokušaja. Isto tako, ako ste razvili neuronsku mrežu za kontrolu ljudskog tijela i želite da nauči kako bezbedno hodati gradom a da vas ne udari auto, mreža mora umrijeti hiljade puta u raznim situacijama prije nego što zaključi da su automobili opasni. i ne radi.odgovarajuće ponašanje da ih izbjegne. Ako je premjestite u novi grad, tada će mreža morati ponovo naučiti većinu onoga što je znala. S druge strane, ljudi su u stanju da nauče bezbedno ponašanje, a da nikada ne umru - opet, zahvaljujući moći apstraktnog modeliranja hipotetičkih situacija.

Dakle, uprkos našem napretku u mašinskoj percepciji, još uvek smo veoma daleko od veštačke inteligencije na ljudskom nivou: naši modeli mogu samo da izvršavaju lokalna generalizacija prilagođavanje novim situacijama, koje bi trebalo da budu veoma bliske prošlim podacima, a za to je sposoban ljudski um krajnja generalizacija brzim prilagođavanjem potpuno novim situacijama ili planiranjem daleko u budućnost.

zaključci

Evo šta treba da zapamtite: Jedini pravi uspeh dubokog učenja do danas je sposobnost da se X-prostor prevede u Y-prostor korišćenjem kontinuiranih geometrijskih transformacija kada postoji mnogo podataka koji su obeleženi ljudima. Dobro obavljanje ovog zadatka predstavlja revolucionarno dostignuće za cijelu industriju, ali ljudska AI je još uvijek daleko.

Da bismo uklonili neka od ovih ograničenja i takmičili se s ljudskim mozgom, moramo se odmaknuti od direktne transformacije od ulaza do izlaza i prijeći na rasuđivanje i apstrakcije... Možda prikladna osnova za apstraktno modeliranje različitih situacija i koncepata mogu biti kompjuterski programi. Ranije smo rekli (napomena: u knjizi Deep Learning with Python) da se modeli mašinskog učenja mogu definisati kao "programi za učenje"; u ovom trenutku možemo trenirati samo uski i specifični podskup svih mogućih programa. Ali šta ako bismo mogli trenirati svaki program, modularno i uzastopno? Hajde da vidimo kako možemo doći do ovoga.

Budućnost dubokog učenja

S obzirom na ono što znamo o mrežama dubokog učenja, njihovim ograničenjima i trenutnom stanju naučnog istraživanja, možemo li predvidjeti što će se dogoditi u srednjem roku? Evo nekih mojih ličnih razmišljanja o ovome. Imajte na umu da nemam kristalnu kuglu za proricanje, pa se mnogo toga što očekujem možda neće ostvariti. Ovo je apsolutna spekulacija. Dijelim ova predviđanja ne zato što očekujem da će se u potpunosti ostvariti u budućnosti, već zato što su zanimljiva i primjenjiva u sadašnjosti.

Na visokom nivou, evo glavnih oblasti koje smatram obećavajućim:

  • Modeli će se približiti kompjuterskim programima opće namjene izgrađenim na mnogo bogatijim primitivima od naših trenutnih diferencijabilnih slojeva - tako da dobijamo rasuđivanje i apstrakcije, čije je odsustvo osnovna slabost sadašnjih modela.
  • Pojaviće se novi oblici učenja koji će to omogućiti - i omogućiti modelima da se udalje od jednostavno diferencibilnih transformacija.
  • Modeli će zahtijevati manje angažmana programera - ne bi trebao biti vaš posao da stalno podešavate dugmad.
  • Pojaviće se veća, sistematska ponovna upotreba naučenih karakteristika i arhitektura; sistemi meta-učenja zasnovani na višekratnim i modularnim rutinama.
Osim toga, imajte na umu da se ovo rezonovanje ne odnosi posebno na učenje pod nadzorom, koje je još uvijek temelj mašinskog učenja – ono se također primjenjuje na bilo koji oblik mašinskog učenja, uključujući učenje bez nadzora, učenje pod nadzorom i učenje s pojačanjem. Nije bitno odakle dolaze vaše oznake ili kako izgleda vaš ciklus učenja; ove različite grane mašinskog učenja samo su različiti aspekti iste konstrukcije.

Pa idemo.

Modeli kao programi

Kao što smo ranije napomenuli, neophodan transformacijski razvoj koji se može očekivati ​​u mašinskom učenju je udaljavanje od modela koji rade isključivo prepoznavanje uzoraka i sposoban samo za lokalna generalizacija, do modela sposobnih za apstrakcije i rasuđivanje ko može postići krajnja generalizacija... Svi trenutni programi AI sa osnovnim rasuđivanjem su tvrdo kodirani od strane ljudskih programera: na primjer, programi koji se oslanjaju na algoritme pretraživanja, manipulaciju grafovima, formalnu logiku. Na primjer, u DeepMind AlphaGo, većina "inteligencije" na ekranu je dizajnirana i tvrdo kodirana od strane stručnih programera (npr. pretrage Monte Carlo stabla); učenje iz novih podataka se dešava samo u specijalizovanim podmodulima – mrežama vrednosti i mrežama politika. Ali u budućnosti, takvi sistemi veštačke inteligencije mogu biti u potpunosti obučeni bez ljudske intervencije.

Kako se to može postići? Uzmimo dobro poznatu vrstu mreže: RNN. Važno je da RNN-ovi imaju nešto manje ograničenja nego neuronske mreže s napredovanjem. To je zato što su RNN-ovi nešto više od jednostavnih geometrijskih transformacija: oni su geometrijske transformacije koje se izvode kontinuirano u for petlji... Vremensko ograničenje za petlju je definirano programerom: ovo je ugrađena mrežna pretpostavka. Naravno, RNN su još uvijek ograničene u onome što mogu predstavljati, uglavnom zato što je svaki korak još uvijek diferencibilna geometrijska transformacija i zbog načina na koji prenose informacije korak po korak kroz tačke u kontinuiranom geometrijskom prostoru (vektori stanja). Sada zamislite neuronske mreže koje bi bile "pojačane" programiranjem primitiva na isti način kao i za petlje - ali ne samo jednu tvrdo kodiranu for petlju sa tvrdo kodiranom geometrijskom memorijom, već veliki skup programskih primitiva koje bi model mogao slobodno pristup za proširenje njegovih mogućnosti obrade kao što su if grane, while izjave, kreiranje varijabli, skladištenje na disku za dugoročnu memoriju, izjave za sortiranje, napredne strukture podataka kao što su liste, grafikoni, hash tablice i još mnogo toga. Područje programa koje takva mreža može predstavljati bit će mnogo šire nego što postojeće mreže dubokog učenja mogu izraziti, a neki od ovih programa mogu postići superiornu moć generalizacije.

Ukratko, odmaknut ćemo se od činjenice da imamo, s jedne strane, "tvrdo kodiranu algoritamsku inteligenciju" (ručno pisani softver), a s druge strane imamo "uvježbanu geometrijsku inteligenciju" (duboko učenje) . Umjesto toga, na kraju imamo mješavinu formalnih algoritamskih modula koji pružaju mogućnosti rasuđivanje i apstrakcije i geometrijski moduli koji pružaju mogućnosti neformalna intuicija i prepoznavanje obrazaca... Cijeli sistem će biti obučen uz malo ili bez ljudskog doprinosa.

Srodno područje AI za koje mislim da bi uskoro moglo napraviti veliku razliku softverska sinteza, posebno, neuralno programirana sinteza. Sinteza softvera se sastoji u automatskom generiranju jednostavnih programa korištenjem algoritma pretraživanja (moguće genetsko pretraživanje, kao u genetskom programiranju) za istraživanje velikog prostora mogućih programa. Pretraživanje se zaustavlja kada se pronađe program koji ispunjava tražene specifikacije, često date kao skup I/O parova. Kao što vidite, ovo vrlo podsjeća na mašinsko učenje: "podaci o obuci" su dati kao ulazno-izlazni parovi, nalazimo "program" koji odgovara transformaciji ulaza u izlaze i sposoban je za generalizaciju na nove ulaze. Razlika je u tome što umjesto vrijednosti parametara treninga u tvrdo kodiranom programu (neuralnoj mreži) generiramo izvor diskretnim procesom pretraživanja.

Svakako očekujem da će u narednih nekoliko godina ponovo biti veliko interesovanje za ovu oblast. Posebno očekujem međusobno prodiranje srodnih područja dubokog učenja i sinteze programa, gdje nećemo samo generirati programe na jezicima opće namjene, već ćemo generirati neuronske mreže (tokove obrade geometrijskih podataka). dopunjeno bogat skup algoritamskih primitiva kao što su for petlje - i mnogi drugi. Ovo bi trebalo da bude mnogo zgodnije i korisnije od direktnog generisanja izvornog koda, i značajno će proširiti granice za one probleme koji se mogu rešiti korišćenjem mašinskog učenja – prostor programa koje možemo generisati automatski, primajući odgovarajuće podatke za obuku. Mješavina simboličke AI i geometrijske AI. Moderni RNN se mogu smatrati istorijskim precima takvih hibridnih algoritamsko-geometrijskih modela.


Crtež: Obučeni program se istovremeno oslanja na geometrijske primitive (prepoznavanje uzoraka, intuicija) i algoritamske primitive (argumentacija, pretraživanje, pamćenje).

Izvan propagacije unazad i diferencibilnih slojeva

Ako modeli mašinskog učenja postanu sličniji programima, onda teško da više neće biti diferencirani - svakako, ovi programi će i dalje koristiti neprekidne geometrijske slojeve kao potprograme koji će ostati diferencirani, ali ceo model neće biti takav. Kao rezultat toga, korištenje povratnog širenja za podešavanje težina u fiksnoj, tvrdo kodiranoj mreži možda neće ostati poželjna metoda za modele obuke u budućnosti - barem ne bi trebalo biti ograničeno samo na ovu metodu. Moramo otkriti kako najefikasnije trenirati nediferencirane sisteme. Trenutni pristupi uključuju genetske algoritme, "evolucijske strategije", određene metode učenja s pojačavanjem, ADMM (metoda Lagrangeovog množitelja alternativnog smjera). Naravno, gradijentno spuštanje ne ide nigdje drugdje - informacije o gradijentu će uvijek biti korisne za optimizaciju diferencibilnih parametarskih funkcija. Ali naši modeli će definitivno postati ambiciozniji od samo diferencibilnih parametarskih funkcija, i stoga će njihov automatizirani razvoj („učenje“ u „mašinskom učenju“) zahtijevati više od propagacije unazad.

Uz to, backpropagation ima end-to-end okvir, koji je pogodan za učenje dobrih spojenih transformacija, ali prilično računski neefikasan jer ne koristi u potpunosti modularnost dubokih mreža. Da biste poboljšali efikasnost bilo čega, postoji jedan univerzalni recept: uvedite modularnost i hijerarhiju. Dakle, možemo učiniti samo širenje unazad efikasnijim uvođenjem odvojenih modula za učenje sa nekom vrstom mehanizma sinhronizacije između njih, organizovanih u hijerarhijskom redosledu. Ova strategija se dijelom odražava u DeepMindovom nedavnom radu na "sintetičkim gradijentima". Očekujem mnogo, mnogo više rada u ovom pravcu u bliskoj budućnosti.

Može se zamisliti budućnost u kojoj će globalno nediferencirani modeli (ali sa diferenciranim dijelovima) učiti - rasti - koristeći efikasan proces pretraživanja koji neće primjenjivati ​​gradijente, dok će diferencirani dijelovi učiti još brže koristeći gradijente koristeći neke efikasnije verzije propagacije unazad

Automatsko mašinsko učenje

U budućnosti će se arhitekture modela kreirati obukom, a ne ručno pisati od strane inženjera. Obučeni modeli automatski rade zajedno sa bogatijim skupom primitiva i modela mašinskog učenja sličnih programima.

Danas, većinu vremena, programer za duboko učenje beskonačno modificira podatke pomoću Python skripti, a zatim mu treba mnogo vremena da podesi arhitekturu i hiperparametare mreže dubokog učenja kako bi dobio funkcionalan model - ili čak da bi dobio izvanredan model, ako programer je tako ambiciozan. Nepotrebno je reći da ovo nije najbolje stanje. Ali AI i ovdje može pomoći. Nažalost, dio obrade i pripreme podataka je teško automatizirati, jer često zahtijeva poznavanje polja, kao i jasno razumijevanje na visokom nivou šta programer želi postići. Međutim, podešavanje hiperparametara je jednostavna procedura pretraživanja i u ovom slučaju već znamo šta programer želi postići: to je određeno funkcijom gubitka neuronske mreže koju treba podesiti. Sada je postala uobičajena praksa da se postavljaju osnovni AutoML sistemi koji upravljaju većinom podešavanja postavki modela. Sam sam instalirao jedan da bih osvojio Kaggle takmičenje.

Na svom najosnovnijem nivou, takav sistem bi jednostavno podesio broj slojeva u stogu, njihov redosled i broj stavki ili filtera u svakom sloju. Ovo se obično radi pomoću biblioteka kao što je Hyperopt, o čemu smo govorili u 7. poglavlju (napomena: Dubinsko učenje sa Python knjigama). Ali možete ići mnogo dalje i pokušati da dobijete odgovarajuću arhitekturu obučavanjem od nule, sa minimalnim skupom ograničenja. To je moguće putem učenja s pojačanjem, na primjer, ili putem genetskih algoritama.

Drugi važan pravac u razvoju AutoML-a je obuka arhitekture modela u isto vrijeme kao i težine modela. Kada treniramo model od nule svaki put pokušavamo malo drugačije arhitekture, što je krajnje neefikasno, tako da će zaista moćan AutoML sistem pokretati razvoj arhitekture dok se svojstva modela podešavaju povratnom propagacijom na podacima obuke, čime se eliminišu sve -računanje. Dok pišem ove redove, slični pristupi su već počeli da se primenjuju.

Kada sve ovo počne da se dešava, programeri mašinskog učenja neće ostati bez posla – preći će na viši nivo u lancu vrednosti. Počeće da ulažu mnogo više truda u kreiranje složenih funkcija gubitaka koje istinski odražavaju poslovne ciljeve, i imaće duboko razumevanje kako njihovi modeli utiču na digitalne ekosisteme u kojima rade (na primer, klijenti koji koriste predviđanja modela i generišu podatke za njegovu obuku) - problemi koje samo najveće kompanije sada mogu priuštiti da razmotre.

Cjeloživotno učenje i ponovna upotreba modularnih rutina

Ako modeli postanu složeniji i izgrađeni su na bogatijim algoritamskim primitivima, tada će ova povećana složenost zahtijevati intenzivniju ponovnu upotrebu između zadataka, umjesto da treniramo model od nule svaki put kada imamo novi zadatak ili novi skup podataka. Na kraju krajeva, mnogi skupovi podataka ne sadrže dovoljno informacija za razvoj novog složenog modela od nule i jednostavno će postati neophodno koristiti informacije iz prethodnih skupova podataka. Ne učite ponovo engleski svaki put kada otvorite novu knjigu – to bi bilo nemoguće. Osim toga, modeli obuke od nule na svakom novom zadatku su vrlo neefikasni zbog značajnog preklapanja između trenutnih zadataka i onih s kojima smo se ranije susreli.

Osim toga, posljednjih godina, izvanredno zapažanje je više puta izneseno da obuka istog modela za obavljanje nekoliko labavo povezanih zadataka poboljšava njegove rezultate. u svakom od ovih zadataka... Na primjer, obučavanje iste neuronske mreže za prevođenje s engleskog na njemački i sa francuskog na talijanski rezultirat će modelom koji je bolji u svakom od ovih jezičnih parova. Obuka modela klasifikacije slika istovremeno sa modelom segmentacije slike, sa jednom konvolucionom bazom, će dovesti do modela koji je bolji u oba problema. itd. Ovo je prilično intuitivno: uvijek postoji neki informacije koje se preklapaju između ova dva naizgled različita zadatka, pa stoga opći model ima pristup više informacija o svakom pojedinačnom zadatku od modela koji je obučen samo za taj određeni zadatak.

Ono što zapravo radimo kada ponovo primjenjujemo model za različite zadatke je da koristimo unaprijed obučene težine za modele koji obavljaju uobičajene funkcije, kao što je izdvajanje vizualnih znakova. Videli ste to u praksi u poglavlju 5. Očekujem da će se u budućnosti široko koristiti opštija verzija ove tehnike: ne samo da ćemo primeniti prethodno naučene karakteristike (težine podmodela), već i arhitekture modela i procedure učenja. Kako modeli postanu sličniji programima, počet ćemo ponovo koristiti potprogrami poput funkcija i klasa u konvencionalnim programskim jezicima.

Razmislite o tome kako danas izgleda proces razvoja softvera: kada inženjer jednom riješi određeni problem (HTTP zahtjevi u Pythonu, na primjer), on ga pakira kao apstraktnu biblioteku za ponovnu upotrebu. Inženjeri koji će se suočiti sa sličnim problemom u budućnosti jednostavno traže postojeće biblioteke, preuzimaju ih i koriste u svojim projektima. Isto tako, u budućnosti će sistemi za meta-učenje moći da sastavljaju nove programe pregledavajući globalnu biblioteku blokova visokog nivoa koji se mogu ponovo koristiti. Ako sistem počne razvijati slične rutine za nekoliko različitih zadataka, izdat će "apstraktnu" verziju rutine za višekratnu upotrebu i pohraniti je u globalnu biblioteku. Takav proces će otvoriti priliku za apstrakcije, neophodna komponenta za postizanje "krajnje generalizacije": potprogram koji će biti koristan za mnoge zadatke i područja, moglo bi se reći, "apstrahira" neki aspekt donošenja odluka. Ova definicija "apstrakcije" nije slična konceptu apstrakcije u razvoju softvera. Ove rutine mogu biti geometrijske (moduli dubokog učenja sa unaprijed obučenim predstavljanjima) ili algoritamske (bliže bibliotekama sa kojima rade moderni programeri).

Crtež: Meta-trening sistem sposoban da brzo razvija modele specifične za zadatak koristeći primitive za višekratnu upotrebu (algoritamske i geometrijske), čime se postiže „krajnja generalizacija“.

Ukratko: dugoročna vizija

Ukratko, evo moje dugoročne vizije za mašinsko učenje:
  • Modeli će postati sličniji softveru i imati mogućnosti koje se protežu daleko izvan kontinuiranih geometrijskih transformacija osnovnih podataka s kojima trenutno radimo. Možda će ovi programi biti mnogo bliži apstraktnim mentalnim modelima koje ljudi održavaju o svom okruženju i o sebi, a zbog svoje algoritamske prirode će biti sposobni za jaču generalizaciju.
  • Posebno će se miješati modeli algoritamski moduli sa formalnim zaključivanjem, traganjem, sposobnošću apstrakcije - i geometrijski moduli uz neformalnu intuiciju i prepoznavanje obrazaca. AlphaGo (sistem koji je zahtijevao intenzivno ručno programiranje i arhitekturu) je rani primjer kako bi fuzija simboličke i geometrijske umjetne inteligencije mogla izgledati.
  • Oni ce odrasti automatski (umesto da ih ljudski programeri pišu ručno), koristeći modularne delove iz globalne biblioteke rutina za višekratnu upotrebu - biblioteke koja je evoluirala usvajanjem modela visokih performansi iz hiljada prethodnih zadataka i skupova podataka. Kada sistem meta-učenja identifikuje uobičajene obrasce rešavanja problema, oni se prevode u rutine za višekratnu upotrebu – slično kao funkcije i klase u modernom programiranju – i dodaju u globalnu biblioteku. Ovako je sposobnost apstrakcije.
  • Globalna biblioteka i odgovarajući sistem rastućeg modela moći će da ostvare neki oblik ljudske „konačne generalizacije“: suočen s novim zadatkom, novom situacijom, sistem će moći sastaviti novi radni model za ovaj zadatak koristeći vrlo mala količina podataka, zahvaljujući: 1) bogatim programskim primitivcima, koji su dobri u generalizacijama i 2) velikom iskustvu u rješavanju sličnih problema. Na isti način na koji ljudi mogu brzo naučiti novu složenu video igricu jer imaju prethodno iskustvo sa mnogim drugim igrama i zato što su modeli iz prethodnog iskustva apstraktni i programski, a ne samo da prevode stimulaciju u akciju.
  • U suštini, ovaj sistem koji se razvija u modelu kontinuiranog učenja može se tumačiti kao jaka umjetna inteligencija. Ali nemojte očekivati ​​početak neke jedinstvene robo-apokalipse: to je čista fantazija koja je nastala iz dugačke liste dubokih nesporazuma u razumijevanju inteligencije i tehnologije. Međutim, ovoj kritici ovdje nije mjesto.

Umjetna inteligencija, neuronske mreže, mašinsko učenje – šta svi ovi popularni koncepti zapravo znače? Za većinu neupućenih ljudi, kakav sam i ja, uvijek su izgledali kao nešto fantastično, a zapravo njihova suština leži na površini. Dugo sam imao ideju da pišem jednostavnim jezikom o umjetnim neuronskim mrežama. Naučite sami i recite drugima šta je ova tehnologija, kako funkcioniše, razmotrite njenu istoriju i izglede. U ovom članku pokušao sam ne ući u džunglu, već jednostavno i popularno ispričati o ovom obećavajućem smjeru u svijetu visokih tehnologija.

Umjetna inteligencija, neuronske mreže, mašinsko učenje – šta svi ovi popularni koncepti zapravo znače? Za većinu neupućenih ljudi, kakav sam i ja, uvijek su izgledali kao nešto fantastično, ali zapravo njihova suština leži na površini. Dugo sam imao ideju da pišem jednostavnim jezikom o umjetnim neuronskim mrežama. Naučite sami i recite drugima šta je ova tehnologija, kako funkcioniše, razmotrite njenu istoriju i izglede. U ovom članku pokušao sam ne ući u džunglu, već jednostavno i popularno ispričati o ovom obećavajućem smjeru u svijetu visokih tehnologija.

Malo istorije

Po prvi put, koncept umjetnih neuronskih mreža (ANN) nastao je prilikom pokušaja simulacije procesa u mozgu. Prvi veliki proboj u ovoj oblasti može se smatrati stvaranje McCulloch-Pitts modela neuronske mreže 1943. godine. Naučnici su prvi razvili model umjetnog neurona. Oni su također predložili izgradnju mreže ovih elemenata za izvođenje logičkih operacija. Ali što je najvažnije, naučnici su dokazali da je takva mreža sposobna da uči.

Sljedeći važan korak bio je razvoj od strane Donalda Hebba prvog algoritma za računanje ANN-a 1949. godine, koji je postao fundamentalan za narednih nekoliko decenija. Godine 1958. Frank Rosenblatt je razvio parceptron, sistem koji oponaša procese u mozgu. U jednom trenutku, tehnologija nije imala analoge i još uvijek je fundamentalna u neuronskim mrežama. 1986. godine, praktično istovremeno, nezavisno jedan od drugog, američki i sovjetski naučnici značajno su unapredili fundamentalnu metodu učenja višeslojnog perceptrona. Godine 2007. neuronske mreže su doživjele ponovno rođenje. Britanski informatičar Jeffrey Hinton je pionir algoritma dubokog učenja za višeslojne neuronske mreže, koji se sada, na primjer, koristi za upravljanje samovozećim automobilima.

Ukratko o glavnoj stvari

U opštem smislu te riječi, neuronske mreže su matematički modeli koji rade na principu mreže nervnih ćelija u životinjskom organizmu. ANN se mogu implementirati i u programibilna i u hardverska rješenja. Radi lakše percepcije, neuron se može zamisliti kao određena ćelija, koja ima mnogo ulaznih i jednu izlaznu rupu. Algoritam proračuna određuje koliko se broj ulaznih signala formira u odlazne. Efektivne vrijednosti se dostavljaju svakom ulazu neurona, koje se zatim propagiraju duž interneuronskih veza (sinopsis). Sinapse imaju jedan parametar - težinu, zbog čega se ulazna informacija mijenja pri prelasku s jednog neurona na drugi. Najlakši način da se zamisli kako funkcioniraju neuronske mreže može se predstaviti na primjeru miješanja boja. Plavi, zeleni i crveni neuroni imaju različite težine. Informacija tog neurona, čija će težina biti dominantnija u sljedećem neuronu.

Sama neuronska mreža je sistem mnogih takvih neurona (procesora). Pojedinačno, ovi procesori su prilično jednostavni (mnogo jednostavniji od procesora personalnog računara), ali kada su povezani u veliki sistem, neuroni su sposobni da obavljaju veoma složene zadatke.

Ovisno o području primjene, neuronska mreža se može tumačiti na različite načine. Na primjer, sa stanovišta mašinskog učenja, ANN je metoda prepoznavanja obrazaca. Sa matematičke tačke gledišta, ovo je problem sa više parametara. Sa stanovišta kibernetike, to je model adaptivne kontrole robotike. Za umjetnu inteligenciju, ANN je osnovna komponenta za modeliranje prirodne inteligencije korištenjem računskih algoritama.

Glavna prednost neuronskih mreža u odnosu na konvencionalne algoritme za računanje je njihova sposobnost učenja. U opštem smislu reči, učenje se sastoji u pronalaženju ispravnih koeficijenata sprege između neurona, kao i u generalizaciji podataka i identifikovanju složenih zavisnosti između ulaznih i izlaznih signala. U stvari, uspješna obuka neuronske mreže znači da će sistem moći identificirati tačan rezultat na osnovu podataka koji nisu prisutni u setu za obuku.

Današnja situacija

I bez obzira na to koliko bi ova tehnologija bila obećavajuća, do sada su ANN još uvijek jako daleko od mogućnosti ljudskog mozga i razmišljanja. Ipak, neuronske mreže se već koriste u mnogim područjima ljudske aktivnosti. Do sada nisu u stanju da donose visokointelektualne odluke, ali su u stanju da zamene osobu tamo gde je ranije bila potrebna. Među brojnim područjima primjene ANN-a mogu se izdvojiti: kreiranje samoučećih sistema proizvodnih procesa, bespilotna vozila, sistemi za prepoznavanje slika, inteligentni sigurnosni sistemi, robotika, sistemi za praćenje kvaliteta, interfejsi glasovne interakcije, sistemi za analizu i još mnogo toga. Ovako rašireno korištenje neuronskih mreža je, između ostalog, posljedica pojave različitih načina za ubrzavanje učenja ANN-a.

Danas je tržište neuronskih mreža ogromno - to je milijarde i milijarde dolara. Kao što pokazuje praksa, većina tehnologija neuronskih mreža širom svijeta malo se razlikuje jedna od druge. Međutim, korištenje neuronskih mreža je vrlo skupa vježba, koju u većini slučajeva mogu priuštiti samo velike kompanije. Za razvoj, obuku i testiranje neuronskih mreža potrebna je velika računarska snaga, očigledno je da veliki igrači na IT tržištu imaju dovoljno toga. Među glavnim kompanijama koje vode razvoj u ovoj oblasti su Google DeepMind, Microsoft Research, IBM, Facebook i Baidu.

Naravno, sve je to dobro: neuronske mreže se razvijaju, tržište raste, ali do sada glavni zadatak nije riješen. Čovječanstvo nije uspjelo stvoriti tehnologiju koja je čak i bliska po sposobnostima ljudskom mozgu. Pogledajmo glavne razlike između ljudskog mozga i umjetnih neuronskih mreža.

Zašto su neuronske mreže još uvijek daleko od ljudskog mozga?

Najvažnija razlika koja suštinski menja princip i efikasnost sistema je različit prenos signala u veštačkim neuronskim mrežama i u biološkoj mreži neurona. Činjenica je da u ANN-u neuroni prenose vrijednosti koje su stvarne vrijednosti, odnosno brojevi. U ljudskom mozgu se prenose impulsi sa fiksnom amplitudom, a ti impulsi su gotovo trenutni. Dakle, postoji niz prednosti ljudske mreže neurona.

Prvo, komunikacijske linije u mozgu su mnogo efikasnije i ekonomičnije nego u ANN-ima. Drugo, impulsno kolo osigurava jednostavnost implementacije tehnologije: dovoljno je koristiti analogna kola umjesto složenih računskih mehanizama. U konačnici, impulsne mreže su zaštićene od akustičnih smetnji. Valjani brojevi su skloni buci, što povećava vjerovatnoću grešaka.

Ishod

Naravno, u posljednjoj deceniji došlo je do pravog buma u razvoju neuronskih mreža. To je prvenstveno zbog činjenice da je proces učenja ANN-a postao mnogo brži i lakši. Također, počele su se aktivno razvijati takozvane "pretrenirane" neuronske mreže, koje mogu značajno ubrzati proces implementacije tehnologije. I ako je prerano reći hoće li neuronske mreže jednog dana moći u potpunosti reproducirati sposobnosti ljudskog mozga, vjerovatnoća da će u narednoj deceniji ANN moći zamijeniti ljude u četvrtini postojećih profesija postaje sve veća i veća. tačno.

Za one koji žele znati više

  • Veliki neuronski rat: šta Google zaista sprema
  • Kako kognitivni kompjuteri mogu promijeniti našu budućnost

Top srodni članci