Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Željezo
  • Jednostavnim riječima o kompleksu: što su neuronske mreže? Uvod u duboko učenje.

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

U dijelovima je ovaj vodič namijenjen svima koji su zainteresirani za strojno učenje, ali ne znaju odakle početi. Sadržaj članaka namijenjen je širokoj publici i bit će prilično površan. Ali je li ikoga doista briga? Što se više ljudi zainteresira za strojno 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šnjak može prepoznati fotografiju ptice, ali da bi dobili računalo za to, najboljim kompjuterskim znanstvenicima trebalo je više od 50 godina. U posljednjih nekoliko godina, konačno smo pronašli dobar pristup objektu prepoznavanje pomoću duboke konvolucijske neuronske mreže. Ovo zvuči kao hrpa izmišljenih riječi iz znanstvenofantastičnog romana Williama Gibsona, ali imat će smisla kada ih uzmemo jednu po jednu. Pa hajmo to učiniti - 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 napisani broj "8".

Što je duboko učenje? 3. ožujka 2016

Danas se o modernim tehnologijama dubokog učenja govori kao o mani s neba. Ali razumiju li govornici što je zapravo? Ali ovaj koncept nema formalnu definiciju i kombinira čitav hrp tehnologija. U ovom postu želim objasniti što popularnije i suštinski što stoji iza ovog pojma, zašto je toliko popularan i što nam te tehnologije daju.


Ukratko, ovo novonastali pojam(duboko učenje) o tome kako sastaviti složeniju i dublju apstrakciju (reprezentaciju) od nekih jednostavnih apstrakcija unatoč činjenici da čak i najjednostavnije apstrakcije mora sastaviti samo računalo, a ne osoba. Oni. Ne radi se više samo o učenju, već o meta-učenju. Slikovito rečeno, samo računalo mora naučiti kako najbolje učiti. I, zapravo, to je upravo ono što izraz "duboko" implicira. Gotovo uvijek se ovaj izraz primjenjuje na umjetne neuronske mreže koje koriste više od jednog skrivenog sloja, tako da formalno "duboko" znači i dublju arhitekturu neuronske mreže.

Ovdje na razvojnom slajdu možete jasno vidjeti koliko se duboko učenje razlikuje od običnog učenja. Ponavljam, Ono što je jedinstveno kod dubinskog učenja jest da stroj sam pronalazi značajke(ključne značajke nečega po kojima je najlakše razdvojiti jednu klasu objekata od druge) i te znakove strukturira hijerarhijski: jednostavniji se spajaju u složenije. U nastavku ćemo to pogledati na primjeru.

Pogledajmo primjer problema prepoznavanja slike: kako je to nekada bilo - strpali smo ogromnu (1024×768 - oko 800 000 numeričkih vrijednosti) sliku u običnu neuronsku mrežu s jednim slojem i gledali kako računalo polako umire, gušeći se od nedostatka memorije i nemogućnost razumijevanja koji su pikseli važni za prepoznavanje, a koji ne. Da ne spominjemo učinkovitost ove metode. Ovo je arhitektura takve regularne (plitke) neuronske mreže.

Zatim su slušali kako mozak razlikuje obilježja, i to strogo hijerarhijski, te su također odlučili izvući hijerarhijsku strukturu iz slika. Da bi se to postiglo, bilo je potrebno neuronskoj mreži dodati još skrivenih slojeva (slojeva koji se nalaze između ulaza i izlaza; grubo rečeno, faza transformacije informacija). Iako su se na to odlučili gotovo odmah kada su izumljeni neuroni, tada su mreže sa samo jednim skrivenim slojem uspješno trenirane. Oni. u osnovi duboke mreže postoje otprilike jednako dugo kao i obični, samo ih nismo mogli istrenirati. Što se promijenilo?

Godine 2006. nekoliko neovisnih istraživača riješilo je ovaj problem odjednom (osim toga, hardverske mogućnosti već su se dovoljno razvile, pojavile su se prilično moćne video kartice). Ti su istraživači: Geoffrey Hinton (i njegov kolega Ruslan Salakhutidinov) s tehnikom prethodnog treniranja svakog sloja neuronske mreže s ograničenim Boltzmannovim strojem (oprostite mi na ovim izrazima...), Yann LeCun s konvolucijskim neuronskim mrežama i Yoshuay Bengio s kaskadnim autokoderima. Prvu dvojicu odmah su regrutirali Google, odnosno Facebook. Evo dva predavanja: jedno - Hinton, drugi - Lyakuna, u kojem govore što je duboko učenje. Nitko vam o tome ne može reći bolje od njih. Još jedan cool predavanje Schmidhubera o razvoju dubokog učenja, također jednog od stupova ove znanosti. A Hinton također ima odličan tečaj o neuronima.

Što sada mogu duboke neuronske mreže? Sposobni su prepoznati i opisati predmete; moglo bi se reći da "razumiju" što je to. Riječ je o o prepoznavanju značenja.

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

Kao što sam već rekao, tehnologije dubokog učenja su cijela skupina tehnologija i rješenja. Već sam naveo nekoliko njih u gornjem odlomku, drugi primjer su mreže koje se ponavljaju, koje se koriste u videu iznad da bi se opisalo što mreža vidi. Ali najpopularniji predstavnik tehnologije ove klase- to su još uvijek LyaKun konvolucijske neuronske mreže. Izgrađene su po analogiji s principima rada vidnog korteksa mačjeg mozga, u kojem su otkrivene takozvane jednostavne stanice koje reagiraju na ravne linije pod različitim kutovima, te složene stanice - čija je reakcija povezana s aktivacijom određenog skupa jednostavnih stanica. Iako, da budemo iskreni, sam LaCun nije bio fokusiran na biologiju, odlučio je konkretan zadatak(gledajte njegova predavanja), a onda se poklopilo.

Pojednostavljeno rečeno, konvolucijske mreže su mreže u kojima glavni strukturni element učenje je skupina (kombinacija) neurona (obično kvadrat 3x3, 10x10 itd.), a ne jedan. I na svakoj razini mreže obučavaju se deseci takvih skupina. Mreža pronalazi kombinacije neurona koji maksimiziraju informacije o slici. Na prvoj razini mreža izvlači najosnovnije, strukturno jednostavne elemente slike - reklo bi se, gradivne jedinice: granice, poteze, segmente, kontraste. Više su već stabilne kombinacije elemenata prve razine, i tako dalje u lancu. Još jednom želim naglasiti glavna značajka duboko učenje: mreže same formiraju te elemente i odlučuju koji su od njih važniji, a koji ne. Ovo je važno jer u području strojno učenje, stvaranje značajki je ključno i sada se krećemo u fazu kada samo računalo uči stvarati i birati značajke. Stroj sam identificira hijerarhiju informativnih značajki.

Dakle, tijekom procesa učenja (pregled stotina slika), konvolucijska mreža formira hijerarhiju značajki različitih razina dubine. Na prvoj razini mogu istaknuti, na primjer, takve elemente (reflektirajući kontrast, kut, obrub itd.).


Na drugoj razini to će već biti element iz elemenata prve razine. 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 (razina).

Nakon što se takva mreža osposobi, možemo je koristiti za klasifikaciju. Zadavši neku sliku kao ulaz, grupe neurona u prvom sloju trče po slici, aktivirajući se na onim mjestima gdje postoji element slike koji odgovara određenom elementu. Oni. ova mreža raščlanjuje sliku na dijelove - prvo na linije, poteze, kutove nagiba, zatim na složenije dijelove i na kraju dolazi do zaključka da je slika iz takve kombinacije osnovni elementi- ovo lice.

Više o konvolucijskim mrežama -

Saznao sam o poslovnim trendovima na velikoj konferenciji u Kijevu. Subota je bila ispunjena spoznajama, u kojima smo stekli nova znanja i poznanstva, stečena tijekom provedenih sati. Na konferenciji su bila 4 toka informacija za poslovne lidere, top menadžere, marketinške stručnjake, stručnjake za prodaju, HR i druge stručnjake. Jedan od govornika bio je i ministar infrastrukture Volodymyr Omelyan, koji je govorio o razvoju Galuzije, obnovi cesta i zračnih luka.

Dobar dan svima, dragi kolege korisnici iOS-a, vjerojatno je svatko od vas radio s mrežom i analizirao podatke iz JSON-a. Za ovaj proces postoji hrpa biblioteka, svakakvih alata koje možete koristiti. Neki od njih su složeni, a neki jednostavni. Da budem iskren, osobno sam jako dugo analizirao JSON ručno, ne vjerujući ovaj proces nekim bibliotekama trećih strana, a to je imalo svoje prednosti.

Dana 09.09.2014., prilikom sljedeće prezentacije, tvrtka Apple predstavila vlastiti sustav mobilna plaćanja— Apple Pay.

Korištenje plaćanja Apple sustavi Platiti korisnici iPhonea 6 i iPhone 6+, kao i vlasnici najnovije verzije Apple Watch može kupovati online, uživati ​​u dodatnim pogodnostima apple pay for mobilne aplikacije i izvršite plaćanja koristeći NFC tehnologija(Near Field Communication). Koristi se za autorizaciju plaćanja Tehnologija dodira ID ili Face ID.

Tehnologije ne miruju, a razvojni procesi idu s njima. Ako su prije tvrtke radile po modelu “Waterfall”, sada, na primjer, svi nastoje implementirati “Scrum”. Evolucija se također odvija u pružanju razvojnih usluga. softver. Prije su tvrtke pružale klijentima visokokvalitetni razvoj unutar proračuna, zaustavljajući se na tome, ali sada nastoje pružiti maksimalnu korist za klijenta i njegovo poslovanje, pružajući svoju stručnost.

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

Svaki dizajner ima skup omiljenih fontova s ​​kojima je navikao raditi i koji odražavaju njihov grafički stil. Dizajneri kažu " Dobri fontovi nikad ih ne može biti previše", ali sada možemo sa sigurnošću zamisliti situaciju u kojoj se ovaj skup sastoji samo od besplatnih fontova.

Koliko se često voditelji projekata nađu između čekića i nakovnja pokušavajući pronaći balans između svih zahtjeva i rokova naručitelja i psihičkog zdravlja cijelog tima? Koliko nijansi treba uzeti u obzir da bi s obje strane odgovornosti bio mir i red? Kako znati jeste li dobar menadžer ili se hitno morate poboljšati na svim frontama? Kako odrediti u čemu točno vi kao premijer zaostajete, a gdje ste dobri i pametni? Upravo o tome govorila je iduća Code’n’Coffee konferencija.

Tehnologija prepoznavanja uzoraka sve više postaje dio naše svakodnevice. Tvrtke i institucije koriste ga za različite zadatke, od sigurnosti do ispitivanja zadovoljstva kupaca. Ulaganja u proizvode temeljene na ovu funkciju, obećavaju da će do 2021. porasti na 39 milijardi dolara. Evo samo nekoliko primjera kako se prepoznavanje uzoraka koristi u različitim područjima.

"(Manning Publications).

Članak je namijenjen osobama koje već imaju značajno iskustvo s dubokim učenjem (na primjer, onima koji su već pročitali poglavlja 1-8 ove knjige). Pretpostavlja dostupnost velika količina znanje.

Duboko učenje: geometrijski prikaz

Najčudesnija stvar kod dubokog učenja je koliko je jednostavno. Prije deset godina nitko nije mogao zamisliti nevjerojatne rezultate koje ćemo postići u problemima strojne percepcije korištenjem jednostavnih parametarskih modela treniranih s gradijentnim spuštanjem. Sada se pokazalo da sve što trebamo jest dovoljno velik parametarski modeli trenirani na dovoljno velik broj uzoraka. Kao što je Feynman jednom rekao o svemiru: " Nije komplicirano, samo ima puno toga».

U dubokom učenju sve je vektor, tj. točka V geometrijski prostor. Ulazni podaci modela (ovo može biti tekst, slike itd.) i njegovi ciljevi prvo se "vektoriziraju", odnosno prevode u neki početni vektorski prostor kao ulaz i ciljni vektorski prostor kao izlaz. 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, raščlanjenu na više jednostavnih. Ova složena transformacija pokušava transformirati ulazni prostor podataka u ciljni prostor, za svaku točku. Parametri transformacije određeni su težinama slojeva, koje se stalno ažuriraju na temelju toga koliko dobro model trenutno radi. Ključna karakteristika geometrijske transformacije je da mora biti diferencijabilan, to jest, trebali bismo moći saznati njegove parametre kroz gradijentni spust. Intuitivno, to znači da geometrijsko preoblikovanje mora biti glatko i kontinuirano - što je važno ograničenje.

Cijeli proces primjene ove složene geometrijske transformacije na ulazne podatke može se vizualizirati u 3D prikazom osobe koja pokušava odmotati papirnatu kuglicu: zgužvana papirnata kuglica je niz ulaznih podataka s kojima model počinje raditi. Svaki pokret osobe s papirnatom loptom je poput jednostavne geometrijske transformacije koju izvodi jedan sloj. Potpuni slijed pokreta odvijanja složena je transformacija cijelog modela. Modeli dubokog učenja matematički su strojevi za razotkrivanje zamršene raznolikosti višedimenzionalnih podataka.

To je čar dubokog učenja: pretvaranje vrijednosti u vektore, u geometrijske prostore, a zatim postupno učenje složenih geometrijskih transformacija koje pretvaraju jedan prostor u drugi. Sve što je potrebno je prostor dovoljno velike dimenzije da se prenese cijeli niz odnosa koji se nalaze u izvornim podacima.

Ograničenja dubokog učenja

Raspon problema koji se mogu riješiti ovom jednostavnom strategijom gotovo je beskrajan. Pa ipak, mnoge od njih su još uvijek izvan dosega trenutnih tehnika dubokog učenja - iako postoje veliki iznos ručno označene podatke. Recimo, na primjer, da možete prikupiti skup podataka od stotina tisuća - čak i milijuna - opisa značajki softvera na engleskom jeziku koje su napisali menadžeri proizvoda, kao i odgovarajuću referentnu godinu koju su razvili timovi inženjera kako bi ispunili te zahtjeve. Čak i s ovim podacima, ne možete istrenirati model dubokog učenja da jednostavno pročita opis proizvoda i generira odgovarajuću bazu koda. Ovo je samo jedan od mnogih primjera. Općenito, sve što zahtijeva argumentaciju, obrazloženje – poput programiranja ili primjene znanstvena metoda, dugoročno planiranje, manipulacija podacima u algoritamskom stilu - izvan je mogućnosti modela dubokog učenja, bez obzira na to koliko podataka bacite na njih. Čak je i treniranje neuronske mreže za izvođenje algoritma sortiranja nevjerojatno težak zadatak.

Razlog je taj što je model dubokog učenja "samo" lanac jednostavnih, kontinuiranih geometrijskih transformacija, koji transformiraju jedan vektorski prostor u drugi. Sve što može učiniti jest transformirati jedan skup podataka X u drugi skup Y, pod uvjetom da postoji moguća kontinuirana transformacija iz X u Y koja se može naučiti, i dostupnost gust skup uzoraka X:Y transformacije kao podaci za obuku. Iako se model dubokog učenja može smatrati vrstom programa, većina programa ne može se izraziti kao modeli dubokog učenja- za većinu zadataka praktički ne postoji duboka neuronska mreža prikladna veličina, koji rješava problem, ili ako postoji, može biti nepoučljiv, odnosno odgovarajuća geometrijska transformacija može biti previše složena ili nema prikladnih podataka za njezino treniranje.

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. To neće riješiti temeljniji problem da su modeli dubokog učenja vrlo ograničeni u onome što mogu predstavljati i da se većina programa ne može izraziti kao kontinuirano geometrijsko preoblikovanje mnogostrukosti podataka.

Rizik antropomorfiziranja modela strojnog učenja

Jedan od vrlo stvarnih rizika moderne umjetne inteligencije je pogrešno tumačenje načina na koji modeli dubokog učenja funkcioniraju i preuveličavanje njihovih mogućnosti. Temeljna značajka ljudskog uma je "model ljudske psihe", naša tendencija projiciranja ciljeva, uvjerenja i znanja na stvari oko nas. Crtež nasmiješenog lica na kamenu odjednom nas čini “sretnima” - psihički. Kada se primijeni na duboko učenje, to znači, na primjer, da ako možemo više ili manje uspješno uvježbati model za generiranje opisi teksta slike, onda smo skloni misliti da model "razumije" sadržaj slika, kao i generirane opise. Zatim smo jako iznenađeni kada, zbog malog odstupanja od skupa slika predstavljenih u podacima za obuku, model počinje generirati apsolutno apsurdne opise.

Konkretno, to je najočitije u "suparničkim primjerima", koji su uzorci ulaznih podataka mreže dubokog učenja koji su posebno odabrani da budu pogrešno klasificirani. Već znate da možete napraviti gradijentni uspon na prostoru ulaznih podataka za generiranje uzoraka koji maksimiziraju aktivaciju, na primjer, određenog filtra konvolucijske neuronske mreže - to je osnova tehnike vizualizacije koju smo obradili u poglavlju 5 (napomena: knjige "Deep Learning with Python") , baš kao algoritam Deep Dream iz poglavlja 8. Na sličan način, kroz gradijentni uspon, možete malo promijeniti sliku kako biste maksimizirali predviđanje klase za danu klasu. Ako uzmemo fotografiju pande i dodamo "gibon" gradijent, možemo natjerati neuronsku mrežu da tu pandu klasificira kao gibona. Ovo pokazuje i krhkost ovih modela i duboku razliku između transformacije input-output koju oni vode i naše vlastite ljudske percepcije.

Općenito, modeli dubokog učenja ne razumiju ulazne podatke, prema barem, ne u ljudskom smislu. Naše vlastito razumijevanje slika, zvukova, jezika, temelji se na našem senzomotoričkom iskustvu kao ljudi – kao materijalnih zemaljskih bića. Modeli strojnog učenja nemaju pristup takvom iskustvu i stoga ne mogu "razumjeti" naše ulazne podatke ni na koji način sličan ljudskom. Označavanjem velikog broja primjera za naše modele za obuku, tjeramo ih da nauče geometrijsku transformaciju koja reducira podatke na ljudske koncepte za taj određeni skup primjera, ali ta je transformacija samo pojednostavljena skica originalni model naš um, razvijen iz našeg iskustva kao tjelesnih agenata, je poput slabog odraza u zrcalu.

Kao praktičar strojnog učenja, uvijek imajte to na umu i nikada ne upadajte u zamku vjerovanja da neuronske mreže razumiju zadatak koji obavljaju - ne razumiju, barem ne na način koji nama ima smisla. Obučavani su na drugačijem, mnogo specifičnijem zadatku od onog za koji ih želimo obučavati: jednostavno pretvaranje ulaznih obrazaca učenja u ciljane obrasce učenja, od točke do točke. Pokažite im sve što se razlikuje od podataka o treningu i oni će se slomiti na najapsurdnije načine.

Lokalna generalizacija nasuprot ekstremnoj generalizaciji

Čini se da postoje temeljne razlike između izravnog geometrijskog preoblikovanja od ulaza do izlaza koje rade modeli dubokog učenja i načina na koji ljudi razmišljaju i uče. Ne radi se o tome da ljudi uče samo iz svojih tjelesnih iskustava, a ne kroz obradu skupa uzoraka treninga. Osim razlika u procesima učenja, postoje temeljne razlike u prirodi temeljnih uvjerenja.

Ljudi su sposobni za mnogo više od prevođenja neposrednog podražaja u trenutni odgovor, poput neuronske mreže ili možda kukca. Ljudi drže složene, apstraktne modele trenutne situacije, sebe i drugih ljudi u svojim umovima i mogu koristiti te modele za predviđanje različitih mogućih budućnosti i provođenje dugoročnog planiranja. Sposobni su kombinirati poznate koncepte kako bi zamislili nešto što nikad prije nisu znali - poput crtanja konja u trapericama, na primjer, ili zamišljanja onoga što bi učinili da dobiju na lutriji. Sposobnost hipotetičkog razmišljanja, proširenja našeg modela mentalnog prostora daleko iznad onoga što smo izravno iskusili, odnosno sposobnost da apstrakcije I rasuđivanje, možda ključna karakteristika ljudske spoznaje. Ja to nazivam "ultimativnom generalizacijom": sposobnost prilagodbe novim, nikad prije doživljenim situacijama koristeći malo ili nimalo podataka.

Ovo je u oštroj suprotnosti s onim što rade mreže dubokog učenja, što bih ja nazvao "lokalnom generalizacijom": pretvaranje ulaznih podataka u izlazne podatke brzo prestaje imati smisla ako su novi ulazni podaci čak i malo drugačiji od onih s kojima se susreo tijekom obuke. Razmotrimo, na primjer, problem učenja odgovarajućih parametara za lansiranje rakete koja bi trebala sletjeti na Mjesec. Ako biste koristili neuronsku mrežu za ovaj zadatak, nadziranu ili obučenu za pojačanje, trebali biste joj dati tisuće ili milijune trajektorija leta, to jest, morali biste proizvesti gust skup primjera u prostoru ulaznih vrijednosti kako biste naučili kako pouzdano transformirati iz prostora ulaznih vrijednosti u prostor izlaznih vrijednosti. Nasuprot tome, ljudi mogu koristiti moć apstrakcije za stvaranje fizički modeli- raketna znanost - i izvedite točno rješenje koje će odvesti raketu na Mjesec u samo nekoliko pokušaja. Na isti način, ako ste razvili neuronsku mrežu za kontrolu ljudskog tijela i želite da ono nauči kako sigurno hodati kroz grad bez da ga udari auto, mreža bi morala umrijeti mnogo tisuća puta u različitim situacijama prije nego što zaključio bi da su automobili opasni i kvare.prikladno ponašanje kako bi ih se izbjeglo. Ako ga prenesete na novi Grad, tada će mreža morati ponovno naučiti većinu onoga što je znala. S druge strane, ljudi mogu naučiti sigurno ponašanje bez smrti - opet, zahvaljujući moći apstraktne simulacije hipotetskih situacija.

Dakle, unatoč našem napretku u strojnoj percepciji, još smo jako daleko od AI-ja na ljudskoj razini: naši modeli mogu samo lokalna generalizacija, prilagođavajući se novim situacijama koje moraju biti vrlo bliske prošlim podacima, dok je ljudski um za to sposoban ekstremna generalizacija, brzo prilagođavanje potpuno novim situacijama ili planiranje daleko u budućnost.

zaključke

Evo što trebate zapamtiti: jedini stvarni uspjeh dubinskog učenja do sada je mogućnost prevođenja X prostora u Y prostor pomoću kontinuirane geometrijske transformacije, s obzirom na veliku količinu podataka s ljudskim bilješkama. Učiniti to dobro predstavlja revolucionarni napredak za cijelu industriju, ali AI na ljudskoj razini još je daleko.

Kako bismo uklonili neka od ovih ograničenja i počeli se natjecati s ljudskim mozgom, moramo se odmaknuti od izravne konverzije ulaza u izlaz i prijeći na rasuđivanje I apstrakcije. Računalni programi mogu biti prikladna osnova za apstraktno modeliranje različitih situacija i koncepata. Već smo rekli (napomena: u Dubokom učenju s Pythonom) da se modeli strojnog učenja mogu definirati kao "programi koji uče"; trenutno možemo trenirati samo uzak i specifičan podskup svih moguće programe. Ali što ako bismo mogli trenirati svaki program, modularno i iterativno? Da vidimo kako možemo doći tamo.

Budućnost dubokog učenja

S obzirom na ono što znamo o tome kako mreže dubokog učenja funkcioniraju, njihovim ograničenjima i trenutnom stanju znanstveno istraživanje, možemo li predvidjeti što će se dogoditi u srednjem roku? Evo nekih mojih osobnih razmišljanja o tome. Imajte na umu da nemam kristalnu kuglu za predviđanja, pa se mnogo toga što očekujem možda neće ostvariti. Ovo je potpuna 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 visokoj razini, evo glavnih područja koja smatram obećavajućima:

  • Modeli će se približiti računalnim programima opće namjene izgrađenim na mnogo bogatijim primitivima od naših trenutnih diferencijabilnih slojeva - tako da ćemo dobiti rasuđivanje I apstrakcije, čiji je nedostatak temeljna slabost trenutnih modela.
  • Pojavit će se novi oblici učenja koji će to omogućiti - i omogućiti modelima da se odmaknu od jednostavno diferencijabilnih transformacija.
  • Modeli će zahtijevati manje uključivanja programera - ne bi trebao biti vaš posao da stalno okrećete gumbe.
  • Bit će veće, sustavnije ponovne upotrebe naučenih značajki i arhitektura; sustavi meta-učenja koji se temelje na višekratno upotrebljivim i modularnim rutinama.
Osim toga, imajte na umu da se ova razmatranja ne odnose posebno na nadzirano učenje, koje je još uvijek osnova strojnog učenja – ona se također primjenjuju na bilo koji oblik strojnog učenja, uključujući učenje bez nadzora, učenje pod nadzorom i učenje s potkrepljenjem. U osnovi nije važno odakle dolaze vaše oznake ili kako izgleda vaš ciklus učenja; ove različite grane strojnog učenja jednostavno su različiti aspekti istog konstrukta.

Dakle, samo naprijed.

Modeli kao programi

Kao što smo ranije primijetili, neophodan transformacijski razvoj koji se može očekivati ​​u polju strojnog učenja je odmak od modela koji isključivo rade prepoznavanje uzorka a sposobni samo za lokalna generalizacija, do modela sposobnih za apstrakcije I rasuđivanje koji može dosegnuti krajnja generalizacija. Svi trenutni AI programi s osnovnim rezoniranjem su tvrdo kodirani od strane ljudskih programera: na primjer, programi koji se oslanjaju na algoritme pretraživanja, manipulaciju grafovima, formalnu logiku. U DeepMindovom programu AlphaGo, na primjer, velik dio "inteligencije" na ekranu dizajnirali su i ukodirali stručni programeri (na primjer, Monte Carlo pretraživanje stabala); Učenje iz novih podataka događa se samo u specijaliziranim podmodulima – mrežama vrijednosti i mrežama politika. Ali u budućnosti bi se takvi sustavi umjetne inteligencije mogli trenirati potpuno bez ljudske intervencije.

Kako to postići? Uzmimo to dobro poznati tip mreže: RNN. Važno je da RNN-ovi imaju nešto manje ograničenja od neuronskih mreža s unaprijednim prijenosom podataka. To je zato što su RNN nešto više od jednostavnih geometrijskih transformacija: to su geometrijske transformacije koje provodi kontinuirano u for petlji. Vrijeme for petlje određuje programer: to je ugrađena pretpostavka mreže. Naravno, RNN-ovi su još uvijek ograničeni u onome što mogu predstavljati, uglavnom zato što je svaki korak koji poduzmu i dalje diferencijabilna geometrijska transformacija i zbog načina na koji prenose informacije korak po korak kroz točke u kontinuiranom geometrijskom prostoru (vektori stanja). Sada zamislite neuronske mreže koje bi bile "proširene" programskim primitivima na isti način kao za petlje- ali ne samo jednu tvrdo kodiranu for petlju sa spojenom geometrijskom memorijom, već veliki skup programskih primitiva kojima je model mogao slobodno pristupiti kako bi proširio svoje mogućnosti obrade, kao što su if grananja, dok izjave, stvaranje varijabli, pohrana na disku za dugoročnu memoriju, operatore sortiranja, napredne podatkovne strukture poput popisa, grafikona, hash tablica i još mnogo toga. Programski prostor koji takva mreža može predstavljati bit će puno širi nego što se može izraziti postojeće mreže duboko učenje, a neki od tih programa mogu postići vrhunsku moć generalizacije.

Ukratko, odmaknut ćemo se od činjenice da imamo, s jedne strane, “tvrdo kodiranu algoritamsku inteligenciju” (rukom pisan softver), a s druge strane, “uvježbanu geometrijsku inteligenciju” ( duboko učenje). Umjesto toga, završit ćemo s mješavinom formalnih algoritamskih modula koji pružaju mogućnosti rasuđivanje I apstrakcije, i geometrijski moduli koji pružaju mogućnosti neformalna intuicija i prepoznavanje uzoraka. Cijeli sustav će se trenirati uz malo ili nimalo ljudske intervencije.

Povezano područje umjetne inteligencije za koje mislim da bi uskoro moglo napraviti velike korake je softverska sinteza, posebno sinteza neuralnog softvera. Softverska sinteza sastoji se od automatskog generiranja jednostavni programi korištenjem algoritam pretraživanja(možda genetsko pretraživanje, kao u genetskom programiranju) proučavati veliki prostor moguće programe. Pretraživanje se zaustavlja kada se pronađe program koji zadovoljava potrebne specifikacije, često dane kao skup ulazno-izlaznih parova. Kao što možete vidjeti, ovo je vrlo slično strojnom učenju: "podaci za obuku" dani su kao ulazno-izlazni parovi, nalazimo "program" koji odgovara transformaciji ulaza u izlaze i sposoban je za generalizacije na nove ulaze. Razlika je u tome što umjesto treniranja vrijednosti parametara u tvrdo kodiranom programu (neuronska mreža), mi generiramo izvor kroz diskretne proces pretraživanja.

Definitivno se veselim što ću vidjeti kako se ovo područje ponovno budi. veliki interes u sljedećih nekoliko godina. Osobito očekujem međusobno prožimanje srodnih područja dubokog učenja i sinteze softvera, gdje nećemo samo generirati programe na jezicima opće namjene, već gdje ćemo generirati neuronske mreže (niti za obradu geometrijskih podataka), dopunjeno bogat skup algoritamskih primitiva, kao što su for petlje - i mnoge druge. Ovo bi trebalo biti puno praktičnije i korisnije od izravnog generiranja izvornog koda, a značajno će proširiti opseg problema koji se mogu riješiti korištenjem strojnog učenja - prostor programa koje možemo generirati automatski, s obzirom na odgovarajuće podatke o obuci. Mješavina simboličke AI i geometrijske AI. Moderni RNN-ovi mogu se smatrati povijesnim pretkom takvih hibridnih algoritamsko-geometrijskih modela.


Crtanje: Uvježbani program se istovremeno oslanja na geometrijske primitive (prepoznavanje uzoraka, intuicija) i algoritamske primitive (argumentacija, pretraživanje, pamćenje).

Izvan povratnog širenja i diferencijabilnih slojeva

Ako modeli strojnog učenja postanu sličniji programima, tada ih se više neće moći razlikovati—sigurno će ti programi i dalje koristiti kontinuirane geometrijske slojeve kao podrutine koje će ostati diferencijabilne, ali ukupni model to neće biti. Kao rezultat toga, korištenje povratnog širenja za prilagodbu vrijednosti težina u fiksnoj, tvrdo kodiranoj mreži možda neće ostati preferirana metoda za modele obuke u budućnosti – barem ne bi trebalo biti ograničeno samo na ovu metodu. Moramo otkriti kako najučinkovitije trenirati nediferencijabilne sustave. Trenutačni pristupi uključuju genetske algoritme, "evolucijske strategije", određene metode učenja s pojačanjem, ADMM (metoda izmjeničnog smjera Lagrangeovih množitelja). Naravno, gradijentni spust je tu da ostane - informacije o gradijentu uvijek će biti korisne za optimizaciju diferencijabilnih parametarskih funkcija. Ali naši će modeli definitivno postati ambiciozniji od diferencijabilnih parametarskih funkcija, pa će njihov automatizirani razvoj ("obuka" u "strojnom učenju") zahtijevati više od povratnog širenja.

Dodatno, povratno širenje ima end-to-end okvir, koji je prikladan za učenje dobrih ulančanih transformacija, ali je prilično računalno neučinkovit jer ne iskorištava u potpunosti modularnost duboke mreže. Za povećanje učinkovitosti bilo čega postoji jedan univerzalni recept: uvesti modularnost i hijerarhiju. Dakle, samo širenje unatrag možemo učiniti učinkovitijim uvođenjem razdvojenih modula učenja s nekim mehanizmom sinkronizacije između njih, organiziranih na hijerarhijski način. Ova strategija se djelomično odražava u nedavni posao DeepMind o "sintetičkim gradijentima". Očekujem puno, puno više rada u tom smjeru u bliskoj budućnosti.

Može se zamisliti budućnost u kojoj će globalno nediferencijabilni modeli (ali s diferencijabilnim dijelovima) učiti - rasti - korištenjem učinkovitog procesa pretraživanja koji ne primjenjuje gradijente, dok će diferencijabilni dijelovi učiti čak i brže koristeći gradijente koristeći neke učinkovitije verzije povratnog širenja

Automatizirano strojno učenje

U budućnosti arhitekture, modeli će se stvarati učenjem, umjesto da ih ručno pišu inženjeri. Rezultirajući modeli automatski se uparuju s bogatijim skupom primitiva i modelima strojnog učenja poput programa.

U današnje vrijeme, većinu vremena, programer sustava dubokog učenja beskonačno modificira podatke s Python skriptama, zatim provodi dugo vremena podešavajući arhitekturu i hiperparametre mreže dubokog učenja kako bi dobio radni model - ili čak kako bi dobio izvanredan model ako programer je tako ambiciozan. Nepotrebno je reći da ovo nije najbolje stanje. Ali umjetna inteligencija i tu može pomoći. Nažalost, dio obrade i pripreme podataka teško je automatizirati jer često zahtijeva poznavanje domene kao i jasno razumijevanje na visokoj razini onoga što programer želi postići. Međutim, ugađanje hiperparametara jednostavan je postupak pretraživanja i u ovom slučaju već znamo što programer želi postići: to je određeno funkcijom gubitka neuronske mreže koju je potrebno ugoditi. Sada je postala uobičajena praksa instalirati osnovni sustavi AutoML, koji se brine za većinu ugađanja postavki modela. Sam sam instalirao jedan kako bih pobijedio na Kaggle natjecanju.

Zapravo osnovna razina takav bi sustav jednostavno prilagodio broj slojeva u hrpi, njihov redoslijed i broj elemenata ili filtara u svakom sloju. To se obično radi korištenjem biblioteka kao što je Hyperopt, o čemu smo raspravljali u 7. poglavlju (napomena: knjige "Duboko učenje s Pythonom"). Ali možete ići mnogo dalje i pokušati naučiti odgovarajuću arhitekturu od nule, sa minimalni set ograničenja. To je moguće pomoću učenja s potkrepljenjem, na primjer, ili pomoću genetskih algoritama.

Drugi važan smjer u razvoju AutoML-a je obuka arhitekture modela istovremeno s težinama modela. Obučavanjem modela od nule svaki put isprobavamo malo drugačije arhitekture, što je krajnje neučinkovito, tako da će stvarno moćan AutoML sustav upravljati evolucijom arhitektura dok se svojstva modela podešavaju putem povratnog širenja podataka o obučavanju, čime se eliminiraju svi troškovi računanja. Dok pišem ove retke, slični pristupi već su se počeli primjenjivati.

Kada se sve to počne događati, programeri sustava strojnog učenja neće ostati bez posla – prijeći će na višu razinu u lancu vrijednosti. Počet će ulagati mnogo više truda u stvaranje složenih funkcija gubitka koje istinski odražavaju poslovne probleme i razvit će duboko razumijevanje načina na koji njihovi modeli utječu na digitalne ekosustave u kojima posluju (na primjer, klijenti koji koriste predviđanja modela i generiraju podatke za njegova obuka) - problemi koje samo najveće tvrtke sada mogu priuštiti razmatranje.

Cjeloživotno učenje i ponovna uporaba modularnih rutina

Ako modeli postanu složeniji i izgrađeni na bogatijim algoritamskim primitivima, tada će ova povećana složenost zahtijevati intenzivniju ponovnu upotrebu između zadataka, umjesto treniranja modela od nule svaki put kada imamo novi zadatak ili zadatak. novi set podaci. Na kraju, mnogi skupovi podataka ne sadrže dovoljno informacija za razvoj novog složenog modela od nule i postat će potrebno koristiti informacije iz prethodnih skupova podataka. Ne učite ponovno Engleski jezik svaki put kad otvoriš novu knjigu – to bi bilo nemoguće. Osim toga, obuka modela ispočetka na svakom novom problemu vrlo je neučinkovita zbog značajnog preklapanja između trenutnih problema i onih s kojima smo se susretali prije.

Osim toga, u posljednjih godina Nevjerojatno zapažanje je učinjeno više puta da treniranje istog modela za obavljanje nekoliko labavo povezanih zadataka poboljšava njegovu izvedbu. u svakom od ovih zadataka. Na primjer, treniranje iste neuronske mreže za prevođenje s engleskog na njemački i s francuskog na talijanski rezultirat će modelom koji je bolji u svakom od ovih jezičnih parova. Uvježbavanje modela klasifikacije slike istovremeno s modelom segmentacije slike, s jednom konvolucijskom bazom, rezultirat će modelom koji je bolji u oba zadatka. I tako dalje. Ovo je prilično intuitivno: uvijek postoji neka vrsta informacije koje se preklapaju između ova dva naizgled različita zadatka, pa stoga ukupni model ima pristup više informacija o svakom pojedinom zadatku od modela koji je treniran samo na tom specifičnom zadatku.

Ono što zapravo radimo kada ponovno koristimo model na različitim zadacima jest da koristimo unaprijed obučene težine za modele koji izvode uobičajene funkcije, poput ekstrakcije vizualnih značajki. To ste vidjeli u praksi u 5. poglavlju. Očekujem da će u budućnosti biti raširenija upotreba opća verzija Ova tehnika: nećemo primijeniti samo prethodno naučene značajke (težine podmodela), već i arhitekture modela i postupke obuke. Kako modeli budu postajali sve sličniji programima, počet ćemo ih ponovno koristiti potprogrami, poput funkcija i klasa u regularnim programskim jezicima.

Razmislite o tome kako danas izgleda proces razvoja softvera: nakon što inženjer riješi određeni problem (HTTP zahtjevi u Pythonu, na primjer), on ga pakira kao apstraktnu biblioteku za ponovno koristiti. Inženjeri koji se u budućnosti susreću sa sličnim problemom jednostavno potraže postojeće biblioteke, preuzmu ih i koriste u svojim projektima. Isto tako, u budućnosti, sustavi za meta-učenje moći će sastavljati nove programe pretragom kroz globalnu biblioteku blokova visoke razine koji se mogu ponovno koristiti. Ako sustav 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 knjižnicu. Ovaj proces će otvoriti priliku za apstrakcije, neophodna komponenta za postizanje "krajnje generalizacije": za rutinu koja će biti korisna za mnoge zadatke i domene može se reći da "apstrahira" neki aspekt donošenja odluka. Čini se da ova definicija "apstrakcije" nije koncept apstrakcije u razvoju softvera. Ove rutine mogu biti ili geometrijske (moduli dubokog učenja s unaprijed uvježbanim prikazima) ili algoritamske (bliže bibliotekama s kojima rade moderni programeri).

Crtanje: Sustav meta učenja koji može brzo razviti modele specifične za zadatak koristeći primitive za višekratnu upotrebu (algoritamske i geometrijske), čime se postiže "krajnja generalizacija".

Rezultat: dugoročna vizija

Ukratko, ovo je moja dugoročna vizija strojnog učenja:
  • Modeli će postati sličniji programima i imat će mogućnosti koje nadilaze kontinuirane geometrijske transformacije izvornih podataka s kojima sada radimo. Možda će ovi programi biti puno bliži apstraktnim mentalnim modelima koje ljudi imaju o svojoj okolini i samima sebi, te će biti sposobni za jaču generalizaciju zbog svoje algoritamske prirode.
  • Konkretno, modeli će se miješati algoritamski moduli s formalnim sposobnostima zaključivanja, pretraživanja, apstrakcije - i geometrijski moduli s neformalnom intuicijom i prepoznavanjem uzoraka. AlphaGo (sustav koji je zahtijevao intenzivno ručno programiranje i arhitekturu) daje rani primjer kako bi moglo izgledati spajanje simboličke i geometrijske umjetne inteligencije.
  • Oni će rasti automatski (umjesto da ih ručno pišu ljudski programeri), koristeći modularne dijelove iz globalne biblioteke višekratno upotrebljivih rutina - biblioteke koja je evoluirala asimilacijom modela visokih performansi iz tisuća prethodnih problema i skupova podataka. Nakon što metalearning sustav identificira uobičajene obrasce rješavanja problema, oni se pretvaraju u rutine koje se mogu ponovno koristiti - slično funkcijama i klasama u moderno programiranje- i dodano u globalnu knjižnicu. Tako se postiže sposobnost apstrakcije.
  • Globalna knjižnica i povezani sustav rasta modela bit će sposobni postići neki oblik humanoidne "krajnje generalizacije": suočen s novi zadatak, nova situacija, sustav će moći sastaviti novi radni model za ovaj problem koristeći vrlo malo podataka, zahvaljujući: 1) bogatim programskim primitivima koje dobro generaliziraju i 2) opsežnom iskustvu sa sličnim problemima. Na isti način na koji ljudi mogu brzo naučiti novu složenu videoigru jer imaju prethodnog iskustva s mnogim drugim igrama i jer su modeli iz prethodnog iskustva apstraktni i nalik programu, a ne jednostavno pretvaraju poticaj u akciju.
  • U biti, ovaj sustav koji kontinuirano uči model koji raste može se protumačiti kao snažna umjetna inteligencija. Ali ne očekujte početak neke vrste jedinstvene robotske apokalipse: to je čista fantazija, koja je rođena iz veliki popis duboki nesporazumi u razumijevanju inteligencije i tehnologije. Međutim, ovoj kritici ovdje nije mjesto.

Umjetna inteligencija, neuronske mreže, strojno učenje – što zapravo znače svi ovi trenutno popularni koncepti? Za većinu neupućenih, što sam i ja, one su se uvijek činile 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. Saznajte sami i recite drugima što je ova tehnologija, kako radi, razmotrite njezinu povijest i izglede. U ovom članku pokušao sam ne ulaziti u korov, već jednostavno i popularno govoriti o ovom perspektivnom smjeru u svijetu visoke tehnologije.

Umjetna inteligencija, neuronske mreže, strojno učenje – što zapravo znače svi ovi trenutno popularni koncepti? Za većinu neupućenih, što sam i ja, one su se uvijek činile kao nešto fantastično, ali zapravo njihova suština leži na površini. Dugo sam imao ideju pisati jednostavnim jezikom o umjetnim neuronskim mrežama. Saznajte sami i recite drugima što je ova tehnologija, kako radi, razmotrite njezinu povijest i izglede. U ovom članku pokušao sam ne ulaziti u korov, već jednostavno i popularno govoriti o ovom perspektivnom smjeru u svijetu visoke tehnologije.

Malo povijesti

Po prvi put se koncept umjetnih neuronskih mreža (ANN) pojavio u pokušaju simulacije moždanih procesa. Prvim velikim pomakom u ovom području može se smatrati stvaranje modela McCulloch-Pittsove neuronske mreže 1943. godine. Znanstvenici su po prvi put razvili model umjetnog neurona. Također su predložili dizajn mreže tih elemenata za izvođenje logičkih operacija. Ali što je najvažnije, znanstvenici su to dokazali sličnu mrežu sposoban za učenje.

Sljedeći važan korak bio je razvoj prvog algoritma za izračunavanje ANN-a od strane Donalda Hebba 1949. godine, koji je postao temeljan za nekoliko sljedećih desetljeća. Godine 1958. Frank Rosenblatt razvio je parceptron, sustav koji oponaša moždane procese. U jednom trenutku tehnologija nije imala analoga i još uvijek je temeljna u neuronskim mrežama. Godine 1986., gotovo istovremeno, neovisno jedan o drugom, američki i sovjetski znanstvenici značajno su unaprijedili temeljnu metodu treniranja višeslojnog perceptrona. Godine 2007. neuronske mreže doživjele su ponovno rođenje. Britanski računalni znanstvenik Geoffrey Hinton prvi je razvio algoritam dubokog učenja za višeslojne neuronske mreže, koji se sada, primjerice, koristi za upravljanje samovozećim automobilima.

Ukratko o glavnom

U u općem smislu riječi, neuronske mreže su matematički modeli, koji radi na principu mreže živčanih stanica u životinjskom tijelu. ANN-ovi se mogu implementirati iu programabilnim i u hardverskim rješenjima. Radi lakšeg razumijevanja, neuron se može zamisliti kao stanica koja ima mnogo ulaznih otvora i jedan izlazni otvor. Kako se višestruki dolazni signali formiraju u izlazni signal određuje algoritam izračuna. Efektivne vrijednosti dostavljaju se svakom ulazu neurona, koje se zatim distribuiraju duž interneuronskih veza (sinopsis). Sinapse imaju jedan parametar - težinu, zbog koje se ulazne informacije mijenjaju kada se kreću od jednog neurona do drugog. Princip rada neuronskih mreža najlakše je zamisliti miješanjem boja. Plavi, zeleni i crveni neuron imaju različite težine. Informacija neurona čija je težina veća bit će dominantna u sljedećem neuronu.

Sama neuronska mreža je sustav mnogih takvih neurona (procesora). Pojedinačno, ovi procesori su prilično jednostavni (puno jednostavniji od a osobno računalo), ali biti povezan u veliki sustav neuroni su sposobni obavljati vrlo složene zadatke.

Ovisno o području primjene, neuronska mreža se može tumačiti na različite načine. Na primjer, sa stajališta strojnog učenja, ANN je metoda prepoznavanja uzoraka. S matematičke točke gledišta, ovo je problem s više parametara. Sa stajališta kibernetike - model adaptivnog upravljanja robotikom. Za umjetna inteligencija ANN je temeljna komponenta za modeliranje prirodne inteligencije pomoću računalnih algoritama.

Glavna prednost neuronskih mreža u odnosu na konvencionalne računalne algoritme je njihova sposobnost učenja. U općem smislu riječi, učenje je pronalaženje ispravnih koeficijenata sprege između neurona, kao i sažimanje podataka i identificiranje složenih ovisnosti između ulaznih i izlaznih signala. Zapravo, uspješno treniranje neuronske mreže znači da će sustav moći identificirati točan rezultat na temelju podataka koji nisu u skupu za treniranje.

Trenutna situacija

I koliko god ova tehnologija bila obećavajuća, ANN su još uvijek jako daleko od mogućnosti ljudskog mozga i razmišljanja. Međutim, neuronske mreže već se koriste u mnogim područjima ljudske djelatnosti. Za sada nisu sposobni donositi visoko inteligentne odluke, ali su sposobni zamijeniti osobu tamo gdje je prije bila potrebna. Među brojnim područjima primjene ANN izdvajamo: izradu samoučećih sustava proizvodni procesi, bespilotna vozila, sustavi za prepoznavanje slike, inteligentni sigurnosni sustavi, robotika, sustavi za praćenje kvalitete, sučelja glasovne interakcije, analitički sustavi i još mnogo toga. Ova raširena uporaba neuronskih mreža je, između ostalog, posljedica pojave različitih metoda za ubrzavanje obuke ANN-a.

Danas je tržište neuronskih mreža ogromno – 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 vrlo je skupa aktivnost koju si u većini slučajeva mogu priuštiti samo velike tvrtke. Razvoj, osposobljavanje i testiranje neuronskih mreža zahtijeva veliku računalnu snagu, a očito je da ju ima u izobilju. glavni igrači na IT tržištu. Među glavnim tvrtkama koje vode razvoj u ovom području su odjel Google DeepMind, odjel Microsoft Research, IBM, Facebook i Baidu.

Naravno, sve je to dobro: neuronske mreže se razvijaju, tržište raste, ali tako daleko glavni zadatak još uvijek nije riješeno. Čovječanstvo nije uspjelo stvoriti tehnologiju koja bi se uopće približila mogućnostima ljudskog mozga. 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 radikalno mijenja princip i učinkovitost sustava je drugačija oprema signale u umjetnim neuronskim mrežama i u biološkoj mreži neurona. Činjenica je da u ANN neuroni prenose vrijednosti koje su prave vrijednosti, odnosno brojke. U ljudskom mozgu impulsi se prenose s fiksnom amplitudom, a ti su impulsi gotovo trenutni. To dovodi do niza prednosti ljudske mreže neurona.

Prvo, komunikacijske linije u mozgu mnogo su učinkovitije i ekonomičnije od onih u ANN-u. Drugo, impulsni krug osigurava jednostavnost implementacije tehnologije: dovoljno je koristiti analogne sklopove umjesto složenih računalnih mehanizama. U konačnici, pulsne mreže su imune na audio smetnje. Realni brojevi podložni su šumu, što povećava vjerojatnost pogrešaka.

Poanta

Naravno, u posljednjem desetljeću dogodio se pravi procvat u razvoju neuronskih mreža. To je prije svega zbog činjenice da je proces obuke ANN postao mnogo brži i lakši. Također su se aktivno počele razvijati takozvane “pretrenirane” neuronske mreže koje mogu značajno ubrzati proces uvođenja tehnologije. I ako je prerano reći hoće li neuronske mreže jednog dana moći u potpunosti reproducirati sposobnosti ljudskog mozga, vjerojatnost da će u sljedećem desetljeću ANN-ovi moći zamijeniti ljude u četvrtini postojećih profesija sve više postaje istinita .

Za one koji žele znati više

  • Veliki neuronski rat: što Google zapravo namjerava
  • Kako bi kognitivna računala mogla promijeniti našu budućnost

Najbolji članci na temu