• Neuronske mreže i AI: najteže je razumjeti šta želimo. Umjetna inteligencija Neuralne mreže u inteligentnim sistemima učenja

    08.03.2022

    19. decembra, u okviru projekta predavanja Fondacije Yegor Gaidar, dr Mihail Burcev radi kao ljudski mozak. Događaj je moderirao ekonomski posmatrač Boris Grozovski. Detalji predavanja stručnjaka nalaze se u snimku Komersanta i transkriptu izvještaja.


    Fondacija Yegor Gaidar, uz informativnu podršku Komersant-a, pokrenula je tok projekta predavanja „Ekonomski fakultet“ „Ekonomija budućnosti“. Kurs je obuhvatio četiri predavanja o visokim tehnologijama - kriptovalute, blockchain, umjetna inteligencija i neuronske mreže, veliki podaci.

    Prvo predavanje ciklusa "Ekonomija budućnosti", posvećeno kriptovalutama, održano je 21. novembra. Više detalja - u materijalu "Kommersant" “Kriptovalute: nova ekonomija ili nova piramida?”.

    Drugo predavanje održano je 5. decembra i bilo je posvećeno izgledima za uvođenje veštačke inteligencije. Više detalja - u materijalu "Kommersant" "Čovjek i mašina - profitabilan savez ili žestoka konkurencija?".

    Transkript predavanja


    Kada su me pozvali da održim predavanje, jako mi se dopao naziv ciklusa - "Ekonomija budućnosti". Više od deset godina radim sa neuronskim mrežama, ali posljednje dvije-tri godine često se javlja osjećaj da budućnost neminovno dolazi. S tim u vezi, naziv ciklusa savršeno odražava ono o čemu bih želio da pričam i o čemu bismo mogli razgovarati nakon predavanja. Shodno tome, planiram da vam ispričam šta su neuronske mreže i kako se danas koriste za stvaranje inteligentnih sistema. Rečeno je i „kako će nam oni promijeniti živote“, ali o tome možemo samo na interaktivniji način, jer ovdje je, mislim, otvoreno pitanje. I mene lično zanima koje prilike vi vidite, a ja ne vidim.

    Počnimo s tim što je umjetna inteligencija. Hajde da pokušamo da definišemo temu o kojoj govorimo. Klasična definicija vještačke inteligencije je konstrukcija nekih mašina koje će imati inteligenciju uporedivu sa ljudskom. Ali postavlja se pitanje: zašto to radimo? Zašto društvo to radi? Ovdje, mislim, postoje dvije strane. Prvi aspekt je primijenjeni cilj, koji je prva stvar koja nam pada na pamet kada čujemo o umjetnoj inteligenciji. Želimo da dobijemo asistenta koji će, recimo, upotpuniti našu prirodnu inteligenciju i omogućiti nam da riješimo neke probleme. Kako je kalkulator uvelike pojednostavio naše živote, omogućivši nam da radimo ono što se prije stotinu godina smatralo vrlo intelektualnim - množenje, sabiranje, dijeljenje velikih brojeva. Predak je vještačke inteligencije. Drugi aspekt – ako posmatramo veštačku inteligenciju kao fundamentalni istraživački program, onda, u stvari, pošto želimo da izgradimo mašinu uporedivu po inteligenciji sa osobom, neizbežno se postavljamo pitanje: šta je ljudska inteligencija? Kao što je Richard Feynman rekao: "Da bih nešto razumio, moram znati kako to izgraditi." Pa evo. Izgradnjom umjetne inteligencije, na neki način, bolje razumijemo kako prirodna inteligencija funkcionira. I u tom smislu prodiremo u polje filozofije, odnosno bavimo se prirodom čovjeka. Kako osoba radi, koje motive ima, zašto se ponaša na ovaj ili onaj način. Odnosno, veoma je zanimljiv sa istraživačke tačke gledišta. To su, čini mi se, glavni razlozi zašto se bavimo umjetnom inteligencijom.

    Pogledajmo na brzinu kako možemo izgraditi umjetnu inteligenciju općenito. Zamislite da ste organizator projekta umjetne inteligencije. s čime ćete početi? Koje su opcije? Prvi je da razbijete glavu. Istražujemo kako mozak sastavljen od neurona rješava problem, a zatim, razumijevajući principe interakcije ovih komponenti, gradimo radni algoritam. Odnosno, izgradit ćemo model mozga od neurona i, shodno tome, dobit ćemo umjetnu neuronsku mrežu. Drugi način je razumjeti šta je inteligencija. Možemo uzeti ljude koji rješavaju intelektualne probleme i provjeriti proces. Kako to rade, koje tehnike koriste, u kom trenutku imaju, na primjer, dokaz matematičke teoreme. Zatim ćemo pokušati da izgradimo određeni model za rešavanje intelektualnih problema, formalizujemo ga i pokušamo da ga pokrenemo na računaru tako da generiše iste intelektualne rezultate. Ovo su dva glavna pristupa tome kako ljudi općenito rade umjetnu inteligenciju: jedan se temelji na modeliranju biološkog sistema mozga, a drugi na ljudskom rasuđivanju. To je ono što se zove “simbolička umjetna inteligencija”, a donedavno se zvalo “tradicionalna umjetna inteligencija” ili “umjetna inteligencija”, ali danas postoji prijelaz sa koncepta “simboličke umjetne inteligencije” na koncept “neuralne mreže”. ”.

    Ukratko, povijest kako se uopće pojavila takva oblast istraživanja kao što je umjetna inteligencija. Sredinom prošlog veka, Norbert Wiener je došao do nauke koja se zove kibernetika. To je nauka koja je pokušala da formalizuje i izgradi model organizacije, odvajajući sam model organizacije od supstrata na kome se ova organizacija može odvijati. Odnosno, to može biti organizacija ćelija u tijelu, može biti organizacija ljudi u društvu ili organizacija neke vrste mehaničkih artefakata koje umjetna inteligencija formira. Shodno tome, pojava umjetne inteligencije započela je kibernetikom, izgradnjom robotskih mašina koje bi mogle riješiti neke probleme. Mogli su ići do svjetla ili, obrnuto, sakriti se od svjetla, obilaziti prepreke. Kada su se pojavili kompjuteri, to je otvorilo mogućnost za nastanak vještačke inteligencije u onom obliku u kakvom je vidimo danas – kao nekakav program koji upravlja kompjuterom i može, na primjer, dati smislene odgovore. Buran pokušaj primjene algoritma umjetne inteligencije na rješavanje praktičnih problema pokazao je da neke jednostavne probleme možemo riješiti prilično brzo čak i na onim primitivnim kompjuterima koji su se pojavili sredinom 1950-ih i početkom 1960-ih. Jedno od poznatih dostignuća tog vremena bio je program Logic Theorist, koji je na osnovu aksioma mogao dokazati sve teoreme školske geometrije.

    Ljudi su imali velika očekivanja. Možemo reći da je postojala takva pompa o umjetnoj inteligenciji. Vojska i vlade su uložile mnogo novca, a to je rezultiralo onim što nazivamo "zlatnim godinama umjetne inteligencije". Paralelno, naša umjetna inteligencija neuronske mreže razvijala se u sjeni. Međutim, ako pročitamo kakva su predviđanja tadašnjih vodećih istraživača, vidjećemo da su šezdesetih godina prošlog stoljeća govorili da bi za deset godina kompjuter mogao obaviti posao prosječne osobe. Ovakve izjave su redovno davali svi i razumljivo je zašto su im davali toliki novac. Ko bi odbio da ima robota koji će za deset godina raditi sve što i čovjek? S tim u vezi, razumljivo je i zašto su istraživanja umjetne inteligencije zamrznuta. Kada ti ljudi koji su dali novac deset godina kasnije nisu vidjeli šta im je obećano, odlučili su da je sve prazno i ​​zataškali finansiranje.

    Unatoč tome, razvijen je prilično veliki broj algoritama i pristupa rješavanju problema. I pokazalo se da su primjenjivi u nekim uskim područjima. Pokazalo se da je moguće izgraditi ekspertske sisteme na osnovu nekih ulaznih podataka i činjenica koje opisuju njegovo stanje i, na primjer, dijagnosticirati neke bolesti. Kao rezultat toga, na neko vrijeme su se vratili vještačkoj inteligenciji, ali sami sistemi nisu bili u širokoj upotrebi. Odnosno, uspjeli smo zatvoriti nekoliko predmetnih oblasti, a onda je razvoj dostigao plafon. Istovremeno, oživio je interes za umjetne neuronske mreže, pojavile su se sve vrste modela paralelnog distribuiranog računanja itd. I ovdje smo uspjeli dobiti različite rezultate o grupiranju i memoriji neuronske mreže. Ali ove studije su uglavnom ostale u okviru istraživačkih laboratorija.

    Od kraja 1990-ih, pa do skoro dvadeset godina, viđali smo tako tromu situaciju, kada je riječ "vještačka inteligencija" izašla iz upotrebe normalnih naučnika. Vjerovalo se da ako neko kaže da se bavi umjetnom inteligencijom, to vjerovatno nije profesionalni naučnik, već tako entuzijastičan mislilac amater koji pokušava nešto da komponuje. Odnosno, osoba ne bi mogla priznati, čak i ako se bavi umjetnom inteligencijom, da se bavi umjetnom inteligencijom. Stoga se počelo zvati mašinsko učenje. Šta znači mašinsko učenje? To je tako pragmatičan pristup. Recimo da imamo skup metoda - matematičku statistiku, metode optimizacije, itd. Koristit ćemo ih za rješavanje praktičnih problema i sve ćemo to nazvati mašinskim učenjem. Istovremeno, riješeni su brojni zanimljivi primijenjeni problemi, a to se nastavilo do 2012. godine. ALI 2012. godine pojavio se divan termin - „duboko učenje“.

    Pokazalo se da su od sredine 2000-ih neuronske mreže ponovo počele da dobijaju na efikasnosti i da pokazuju dobre rezultate u laboratorijama. Zadatak kategorizacije slike postoji kada postoji nekoliko miliona slika i hiljadu kategorija, a iz slike morate odrediti kojoj kategoriji pripada. Shodno tome, 2010. najbolji algoritam za takvu klasifikaciju dao je grešku od oko 27%. Ali između 2010. i 2012. godine došlo je do jakog pada ove greške. Odnosno, algoritmi su postali kvalitativno bolji u rješavanju ovog problema. A ako osoba pogrešno klasifikuje slike u određeni skup u 5% slučajeva, tada je algoritam napravio 4,5% grešaka, a sada je već 3%. Tako brz napredak u ovoj oblasti bio je rezultat činjenice da su upravo ovdje prvi put primijenjene metode neuronske mreže. A onda je svako rješenje koje je poboljšalo rezultat prethodne godine bazirano na neuronskim mrežama. Zašto se nazivaju dubokim, saznat ćemo kasnije.

    Šta su, dakle, veštačke neuronske mreže? Pokušajmo to shvatiti. Započnimo gledanjem kako funkcionišu prirodne neuronske mreže. Obično se za to proučava mozak laboratorijskih miševa C57black6 - takva linija crnih miševa. Jedno područje mozga naziva se hipokampus. Zašto je zanimljiva? Činjenica da je ovo oblast o kojoj epizodno pamćenje veoma zavisi. Hipokampus ima podregiju koja se zove zubna fascija. Omogućava vam da prepoznate kontekste koji su vrlo bliski jedan drugom, i, što je najzanimljivije, neurogeneza se javlja u ovom području. Odnosno, neuroni se tu rađaju tokom života u odrasloj životinji. Tvrdnja da se neuroni ne regenerišu je zapravo pogrešna. - u mozgu ljudi i drugih životinja neuroni se dijele i rastu.

    Koji su pojedinačni neuroni granularnog sloja dentat gyrusa? Neuron se sastoji od tri dijela: izduženog tijela ćelije, dendritskog stabla koje prima signale od drugih stanica i tankog procesa, takozvanog aksona, koji omogućava prijenos informacija do drugih stanica. Kako se to događa? Dendritno drvo ima procese koji se nazivaju bodlji. Na krajevima ovih bodlji nalaze se sinapse. Hemikalija koja se zove neurotransmiter oslobađa se iz aksona. Vezikule, koje su ispunjene neurotransmiterima, spajaju se na membranu i izbacuju se u ekstracelularni prostor. Da bismo osjetili ovaj signal, potrebna nam je još jedna ćelija koja će primiti te kemijske molekule i nekako ih osjetiti. Da bi se to postiglo, između stanica se uspostavlja takozvana sinapsa - pečat u kojem molekule, posebne stanične adhezije, povezuju membrane dviju stanica. Ovdje su umetnuti i receptori - to su molekuli koji vam omogućavaju da utvrdite da li su neke kemikalije prisutne. Tako se neka hemijska supstanca oslobađa u sinaptički jaz između dve membrane, molekuli koji se nalaze na membrani postsinaptičkog neurona osećaju tu supstancu, a signal se prenosi unutar ćelije. Signali iz različitih dijelova našeg dendritskog stabla prikupljaju se na tijelu, a stanica može, na primjer, u nekom trenutku odlučiti da treba poslati signal drugim stanicama koje se nalaze u mozgu.

    Sada zamislite da 80 milijardi ćelija u vašem mozgu šalje hemijske signale jedna drugoj, a vi osećate, na primer, zadovoljstvo da smislite pesmu, ili uživate u nekoj prelepoj melodiji, ili ste se zaljubili u nekoga. Sve je to određeno interakcijom između ovih ćelija. A kada naučite nešto novo, vaše sjećanje na ovo novo i znanje koje steknete pohranjuje se u kontaktima. Odnosno, ćelije jačaju međusobne kontakte, nekako ih modifikuju i zahvaljujući tome možemo nešto naučiti, zapamtiti, osjetiti i kontrolirati svoje ponašanje.

    Pokušajmo sada simulirati naš mozak. Kako će izgledati najjednostavniji, najprimitivniji model nervne ćelije. Iznad imamo dendritsko stablo, tu su i ulazi nekog našeg algoritma. Vrijednosti X1, X2 X3, X4 i X5 se primjenjuju na ulaz. Broj je proporcionalan količini neurotransmitera koji je druga ćelija bacila na nas. Jasno je da neke ćelije odjednom mogu izbaciti više ove supstance, neke - manje. Shodno tome, svaki put ovi X1, X2 X3, X4 i X5 mogu biti različiti. Ali da bismo osjetili ove molekule, potreban nam je receptor s druge strane. Jer ako nema receptora, onda koliko god ova hemikalija bila bačena na nas, naša ćelija neće osjetiti ništa. Da bismo modelirali našu osjetljivost na ovu supstancu, opisujemo je koristeći neki koeficijent W. To se zove težina veze. Prema tome, ako je vrijednost velika, a težina velika, onda ih množimo i dobivamo veliki utjecaj ovog inputa na našu aktivnost. Ako je hemijski signal koji nam je poslan jednak nuli, uprkos činjenici da može postojati dobra sinapsa negdje drugdje, onda ovaj ulaz neće utjecati na našu aktivnost ni na koji način. S druge strane, sa istom količinom neurotransmitera, ulaz koji ima veću težinu imat će jači učinak na aktivnost našeg neurona.

    Odnosno, šta mi radimo? Razmatramo koliko je svaki unos utjecao na našu aktivnost - jednostavno uzmemo, zbrojimo, pomnožimo svaku vrijednost sa težinom i izračunamo njihov zbir. Zatim moramo odrediti Y. Obično u mašinskom učenju, ono što dobijemo kao ulaz za naš program naziva se X, a ono što dobijemo kao izlaz je Y. Da bismo izračunali naš Y, izvršimo neku transformaciju i izračunamo funkciju sume utjecaj za kako bi se modeliralo djelovanje praga neurona. To jest, sve dok se naš prag izloženosti ne prevlada, naš neuron nije aktivan. Kada ta ukupna aktivnost premaši prag, tada ovisno o funkciji - to se zove funkcija aktivacije - možemo podesiti prag, na primjer, pomakom, koji se obično naziva W. U ovom slučaju možemo izračunati kakav će izlaz imati naš neuron. Obično, ako je naš prag, o kojem sam govorio, prekoračen, tada će vrijednost Y biti velika, dobro, ili težiti jedan, a ako je mala, onda će biti ili minus jedan, ili nula, ili će ići na minus beskonačnost, ovisno o tome koju ćemo odabrati funkciju aktivacije.

    U redu, razumijemo šta je jedan neuron. Ali mozak se ne sastoji od jednog neurona - mi imamo 80 milijardi, a miš ima nekoliko stotina miliona. Sada moramo kombinovati ove neurone u mrežu. Šta se dešava sa nama? Kada smo uronjeni u svijet oko nas, onda ako pogledamo vizuelni sistem, tada imamo štapiće, čunjeve, fotoaktivirane ćelije, koje, ovisno o tome koliko svjetlosti ih pogodi, modeliraju njihovu aktivnost. Naravno, tada se ovi signali prenose kroz lanac sve dublje i dublje u mozak, a mozak pokušava vratiti sliku svijeta koji nas okružuje. Prema tome, imamo ulazni sloj naše mreže i postoji neki skriveni sloj. Odnosno, hodate ulicom, prelazite ulicu, okrenete se i odjednom vidite da automobil juri prema vama. Dobili ste signal, otišli na skriveni sloj, vaš svjetski model je proradio i predvidio da bi se automobil mogao zabiti u vas ako ne ubrzate ili ne odskočite. I postoje izlazni elementi. Ovo su motorni neuroni koji kontrolišu vaše kretanje. Dovode do promjene ponašanja - ne hodate mirno, već pokušavate skočiti u stranu ili nekako stisnuti šakom vozaču, odnosno poduzimate neku akciju. Tako gradimo višeslojnu neuronsku mrežu od naših neurona. Što više slojeva ima, to je dublje. Dakle, duboke mreže su one mreže u kojima postoji više od pet, možda stotine slojeva i puno neurona. Ovako donosimo odluke.

    Hajde da malo pojednostavimo zadatak, recimo, koristeći primjer klasifikacije slika. Kako to gledamo? Imamo sliku. Šta ćemo primijeniti na ulaz naše neuronske mreže? Daćemo opis piksela. Odnosno, ako imamo sliku 10x10, onda ima 100 piksela. Pretpostavimo da imamo crvenu, zelenu i plavu - respektivno, imamo 300 vrijednosti: X1, X2 - do X300. Pretpostavimo da rješavamo problem: imamo puno slika, a za naš posao moramo razlikovati mačke od Dunno-a. Propuštamo mačku, ali ne puštamo Dunnoa da prođe. Zato što mačka mora hvatati miševe u podrumu, a neznalica može pokvariti vodovod. Gradimo sistem video nadzora u koji unosimo sliku kao ulaz, a postoje dva izlaza - sistem treba da izbaci 1 ako ne znam, i 0 ako je mačka.

    Šta određuje ispravno funkcionisanje mreže? Funkcija aktivacije je obično fiksna, odnosno, imamo pragove i W - to su težine. U početku, kada imamo fotografije, ne znamo koje težine odgovaraju ispravnom rješenju u ovoj mreži. Ove težine moramo odabrati na takav način da greška u razlikovanju Dunnoa od mačke bude minimalna. Ovdje vidimo kako se neuronska mreža razlikuje od standardnog programiranja. Jer ako je programiranje standardno, ovom zadatku ćemo pristupiti kao IT programer: „Da, moram shvatiti po čemu se mačka razlikuje od Dunnoa. Zatim ću napisati program koji će tražiti ove znakove mačke ili Dunno na slikama i, koristeći uslove - ovo je mačka, ovo je Dunno - izračunati ovu funkciju. Kažemo da ne želimo da znamo po čemu se mačka razlikuje od Dunnoa, nije nas briga. Napravit ćemo poseban algoritam učenja koji će izgraditi funkciju koja će riješiti naš problem. tj mi ne pišemo program svojim rukama, već na neki način treniramo program da dobije funkcionalnost koja nam je potrebna.

    Kako ćemo to uraditi? Imamo neki skup primjera, to se zove uzorak za obuku, što više primjera, to bolje. Na primjer, imamo 10.000 slika Dunno i 10.000 slika mačke koje smo već fotografirali i za koje već unaprijed znamo gdje je mačka, a gdje Dunno. Sada, na osnovu ovih slika, želimo da izaberemo težine na takav način da kada imamo nove slike mačke i Dunnoa koje nikada nismo videli, sistem i dalje može da ih razlikuje. Mi to radimo na ovaj način. Prvo, nasumično postavljamo ove težine i počinjemo unositi slike na ulaz. Šta mislite kakav će biti rezultat ako nasumično postavimo težine? Možete to nazvati neredom. Sistem će nasumično imenovati odgovor. I ovdje prelazimo na najzanimljiviji dio neuronskih mreža - takozvani algoritam povratnog širenja.

    Kako možemo promijeniti težine? Možemo ih promijeniti na sljedeći način. Dostavili smo sliku, izračunali sve aktivnosti svih neurona, prvo u jednom sloju, zatim u drugom, i tako u svim međuslojevima, dok ne dođemo do izlaza. Na izlazu imamo neki odgovor, gdje je Dunno, a gdje je mačka. Upoređujemo odgovor koji je dala neuronska mreža sa odgovorom koji imamo tačan. Jer već znamo sve odgovore za sve slike u setu za obuku. I izračunaj grešku. Ako smo, na primjer, imali 0,5 na izlazu, ali nam je potrebna jedinica, dakle, imamo grešku od minus 0,5. Odnosno, mi, takoreći, kažemo da nam nedostaje minus 0,5 da bismo dali tačan odgovor za ovaj izlaz. Ili, obrnuto, ako smo imali premalo izlaza, a želimo ga povećati, tada ćemo imati pozitivnu grešku. Tada moramo nekako uzeti u obzir doprinos pondera ovoj grešci. Sada treba da otkrijemo kako su ova dva neurona i dve težine uticale na doprinos grešci. Koje pretpostavke možemo napraviti da bismo izračunali razliku, koliko nam je potrebno da promijenimo svaki od pondera? U stvari, vidimo, prvo, aktivnost ovih neurona, a drugo, težinu, i možemo izračunati koji od neurona je doprinio ovoj grešci. Na primjer, ako ovaj neuron nije bio aktivan, bio je jednak nuli, onda nije dao nikakav doprinos ovoj grešci. S druge strane, što je neuron aktivniji, to više doprinosi. Ali ako su bili podjednako aktivni, onda je onaj sa većom težinom dao veći doprinos grešci. Shodno tome, promjena težine treba biti proporcionalna samoj sebi, plus proporcionalna aktivnosti neurona iz prethodnog sloja, i proporcionalna derivatu naše aktivacijske funkcije. Zašto je derivat važan? Jer možemo i povećati i smanjiti težinu. A da bismo krenuli u pravom smjeru, moramo uzeti u obzir derivat.

    Dakle, prije smo imali grešku samo na izlazu. Sada smo izračunali grešku za prvi sloj naše neuronske mreže. Sada se postavlja pitanje, kako da izračunamo grešku za sljedeći sloj? Primjenjujemo istu metodu sve dok ne dođemo do prvih težina. Stoga se čini da se naša greška širi preko naše neuronske mreže i težine su ispravljene. Ovaj algoritam se naziva metodom povratnog širenja jer se greška širi kao od izlaza do početka. I to je veoma moćan algoritam.(metoda povratne propagacije greške. - “b”), jer je izmišljena početkom 1970-ih i od tada su sve neuronske mreže obučene samo ovim algoritmom. Odnosno, sve što ću danas ispričati trenira se algoritmom koji u osnovi radi na istom principu. Kao što sam rekao, neuronske mreže su nastale 1950-ih, ali je bilo potrebno dvadeset godina da se izume ovaj algoritam. A onda je trebalo još dvadeset ili trideset godina da se pojavi duboko učenje. Imali su svoje probleme. Sve te arhitekture koje ćete danas vidjeti su veoma složene. Svi su obučeni algoritmom povratnog širenja. Oni najsloženiji čak pokušavaju da simuliraju Turingovu mašinu, odnosno da naprave univerzalni računar na neuronskim mrežama.

    Zašto su neuronske mreže odjednom postale tako efikasne? Pokazalo se da metode neuronske mreže gube od klasičnih metoda statistike ako ima malo podataka. Ako imate deset slika Dunnoa i deset slika mačke, onda je besmisleno koristiti neuronske mreže. Nećete moći da ih obučite i nećete moći da dobijete dobar kvalitet rada. Međutim, ako imate 10 hiljada Dunnosa i 10 hiljada mačaka, tada će neuronske mreže pobijediti sve algoritme izgrađene na klasičnim metodama. Prije petnaest godina niko nije imao dovoljno računarske snage za izgradnju i obradu velikih neuronskih mreža, a nije bilo ni velikih količina podataka na kojima bi se trenirao. Zato niko nije znao da ako produbite mrežu i date više podataka, možete dobiti tako impresivne rezultate. No, pojavilo se da grafički akceleratori računaju igre u realnom vremenu, a pokazalo se da se mogu koristiti za treniranje neuronskih mreža, jer se tamo, u matrici, množe takve operacije koje su vrlo dobro paralelizirane na tim akceleratorima. I to je dovelo do revolucije neuronskih mreža, o čemu ćemo sada naučiti.

    Postoje tri glavne oblasti u oblasti dubokog učenja. Ovo je pravac povezan sa kompjuterskim vidom, gde neuronske mreže pokušavaju da vide nešto u spoljašnjem svetu, pravac povezan sa predviđanjem sekvence, gde neuronske mreže pokušavaju da razumeju šta se dešava u svetu oko njih, i tzv. , gdje neuronske mreže nešto nauče pa upravljaju. Razmotrimo svaki od njih.

    U kompjuterskom vidu, glavni algoritam je takozvana konvoluciona neuronska mreža. Koja je ovo modifikacija neuronske mreže? Imate dvije funkcije - f i g. Funkcija konvolucije ove dvije funkcije je da jednostavno pomaknete ove dvije funkcije jedna u odnosu na drugu za određeni iznos, pomnožite sve vrijednosti i dodate ih. Prema tome, ako imate korak i trokut i oni se ne podudaraju jedan s drugim, tada će funkcija konvolucije biti jednaka nuli, jer su ove funkcije jednake nuli izvan ovog područja. Ali postoji određeni raspon vrijednosti pomaka za koji imate maksimalnu vrijednost funkcije konvolucije kada se poklapaju što je više moguće. Iz ovoga je jasno kako to možemo koristiti za analizu slike. Imate sliku i postoji neki obrazac koji želite da nađete na ovoj slici, odnosno imate, na primer, Neznala ili mačku i želite da pronađete gde ova mačka ima oko. Možete kodirati neki uzorak svjetline koji izgleda kao oko, a zatim skenirati cijelu sliku ovim uzorkom. U stvari, vi izračunavate konvoluciju slike sa uzorkom oka. Shodno tome, u onom dijelu slike koji će biti najsličniji uzorku koji tražite, vaša funkcija konvolucije će biti maksimalna. Tamo ćete moći napraviti mapu slike, na kojoj će maksimalna vrijednost biti u onim područjima u kojima se tačno nalazi vaš uzorak.

    Sada zamislite da želite da prepoznate složene slike koje se sastoje od mnogih karakteristika. Šta radiš? U stvari, imate ga kao jedan neuron. Neuron ima devet ulaza, izlaz, težine. Vaš obrazac su utezi. Ulaz je zapravo vaša vrijednost svjetline. Pomnožite težine sa ulazom ovog neurona, saberete ih i dobijete neku vrijednost. Ova vrijednost je izlaz vašeg neurona, vrijednost konvolucije koju želite da dobijete. U skladu s tim, stvarate mnogo neurona, nasumično im dodjeljujete težine. To jest, u početku, kada riješite problem, ne znate koji će vam znakovi omogućiti da razlikujete mačku od Dunnoa. U suštini, znate da mačka ima pruge, a neznalica ima šešir. Za neki drugi zadatak bit će i drugi znakovi. I želite univerzalni algoritam koji će pronaći one karakteristike koje će biti najinformativnije za razdvajanje dvije kategorije. Shodno tome, gradite takvu mrežu u kojoj je zadatak prepoznavanja dat kao ulaz, odnosno imate određeni broj ulaznih konvolucionih neurona. Svaki od njih gradi svoju vlastitu mapu karakteristika. Zatim se odvija određena operacija kompresije ovih karata karakteristika, a zatim se ove mape karakteristika napajaju drugim konvolucijskim neuronima i oni traže karakteristike već u tim mapama karakteristika. I tako možemo izvršiti ovu operaciju nekoliko puta, postupno tražeći znakove sve višeg i višeg nivoa apstrakcije. A onda se ove mape karakteristika unose u našu potpuno povezanu mrežu koja se prenosi naprijed, u kojoj se naš signal prenosi od ulaznih do izlaznih neurona, a na kraju imamo klasifikator. Dakle, vrlo jednostavno, konvolucione neuronske mreže su uređene.

    Šta danas možemo učiniti s najzanimljivijim konvolucijskim mrežama? Prvo, možemo lokalizirati objekte. Odnosno, neuronska mreža može odrediti šta se nalazi u određenom okviru. Drugo, možemo označiti i segmentirati sliku. Treće, algoritam može odrediti spol i starost osobe. Odnosno, ako bismo imali mnogo primjera ljudi različitog spola i starosti i trenirali našu neuronsku mrežu da predvidi starost i spol ljudi, onda će ona predvidjeti starost i spol ljudi sa slike. Četvrto, može odrediti emocije osobe ako smo imali označen skup podataka o obuci u kojem smo znali s kakvim emocijama je osoba prisutna. To su neke sjajne aplikacije. Sada se svaki programer može pretplatiti na Microsoft Cloud uslugu, postaviti svoje fotografije, a usluga će vam dati sve emocije ili starost sa spolom za dvije minute. Odnosno, to su, zapravo, tehnologije koje sada svako može koristiti u svojim proizvodima.

    Možete raditi i druge zanimljive stvari. Sigurno ste svi čuli za aplikaciju Prisma. Šta možemo s tim? Možemo prenijeti stil jedne slike na sadržaj druge. Upravo to nam omogućavaju naši konvolucijski slojevi. Možemo pronaći kako su karakteristike međusobno povezane na jednoj slici, a zatim prenijeti tu korelaciju karakteristika na sadržaj druge slike. Pa, postoje primjeri kako možemo oslikati katedralu Vasilija Vasilija pod Khokhlomom. Tako brz alat s kojim dizajneri, na primjer, mogu kombinirati dvije različite ideje. Možemo naučiti neuronsku mrežu da čita sa usana. Ako imamo titlove i video sa osobom koja govori, onda možemo prikazati njen govor u tekstu i izgraditi neuronsku mrežu koja predviđa tekst. Ako imate video bez zvuka, ali možete vidjeti kako osoba govori, tada možete automatski vratiti tekst.

    Ali ispostavilo se da možete učiniti i luđe stvari. Postoji takav pristup - generativne konkurentske mreže (generative adversarial network - GAN). Ovo je vrsta neuronske mreže koja koristi autoenkodere - kada prvo kodiramo sliku, a zatim je vratimo. Možemo ih koristiti za treniranje lukavih generatora slika. Odnosno, prvo pretvaramo sliku u neku vrstu skrivene reprezentacije iz našeg unutrašnjeg skrivenog sloja - to se zove dio kodera, a zatim ubacujemo našu skrivenu reprezentaciju na ulaz dekodera i on proizvodi sliku. Možemo snimiti tri slike lica čovjeka sa naočalama, za svaku od njih ćemo imati latentnu sliku unutar naše neuronske mreže. To će biti neki vektor u nekom prostoru slike. Sada ćemo dodati ova tri vektora i prosjek. Dobićete neku prosečnu sliku čoveka sa naočarima. Zatim uzimamo tri slike muškaraca bez naočara, unosimo njihove skrivene reprezentacije na ulaz naše neuronske mreže, usrednjavamo vektore - i dobijamo prosečnu sliku čoveka bez naočara. Isto možemo učiniti i za ženu bez naočara. Ukupno smo dobili tri vektora. Sada možemo uzeti vektor muškarca sa naočalama, oduzeti vektor muškarca bez naočara i dodati vektor žene bez naočara. Napajat ćemo vektor koji smo dobili u dekoder, a naša mreža će sama generirati sliku žene sa naočalama, iako ovu sliku nikada nije vidjela. Mogu postojati opcije - naočare različite svjetline, žena je malo drugačija od onoga što smo dodali, ali općenito efekat može biti vrlo zanimljiv.

    Prije samo nekoliko sedmica, na NIPS konferenciji, InVideo je predstavio razvoj ove tehnologije, u kojoj možete generirati prosječnu sliku ovih poznatih ličnosti na osnovu karakteristika poznatih, pa čak i sintetizirati video zapise sa tim ljudima. Zapravo, možete stvoriti neke sintetičke ličnosti koje će biti prisutne u vašim serijama ili filmovima. Na ovaj način možete uštedjeti mnogo novca jer ne morate plaćati prave glumce.

    Sljedeći zadatak su rekurentne neuronske mreže. Oni mogu predvideti sekvence. Da bismo predvidjeli slijed, moramo znati nešto o istoriji. U standardnim neuronskim mrežama imamo X na ulazu, postoji neki sloj naše neuronske mreže, postoji izlaz, a informacije se direktno distribuiraju cijelo vrijeme. Ako uzmemo drugačije računanje vremena, onda će naša neuronska mreža zaboraviti ono što je znala u prethodnom brojanju. Ali da bismo mogli predvidjeti, potrebno nam je samo da se neuronska mreža zapamti mnogo puta. Kako uraditi? Obično se to rješava na sljedeći način: uzimamo izlaz naše neuronske mreže za prethodnu točku u vremenu i unosimo te vrijednosti na njen ulaz, u sloj neuronske mreže. Nešto je došlo u trenutku T, ali ne samo ono što joj je prethodni trenutak T dao, već i ono što je ona sama dala u trenutku T-1. Dakle, odmah paralelno hranimo dva vektora. I na osnovu toga izračunavamo izlaznu vrijednost za vrijeme T. Ispada da neuronska mreža može sama sebi prenijeti ono što je "mislila" u prethodnom trenutku. Ovo vam omogućava da sačuvate informacije o prethodnim prijavama. Ova vrsta neuronskih mreža naziva se rekurentnim jer imaju rekurentne veze. Ako pređemo direktno na rješavanje ovog problema, onda rekurentne neuronske mreže ne rade baš dobro, jer kada implementiramo ovu obrnutu petlju, zapravo povećavamo slojeve naše neuronske mreže. Od trenutka 0, naša neuronska mreža će roniti sve dublje i dublje - u trenutku 100, naša neuronska mreža će također biti duboka 100. Pošto se greška širi u suprotnom smjeru, ona se stalno širi našom mrežom i blijedi. Stoga naša neuronska mreža vrlo slabo uči, jer svaki put dolazi do množenja s nekim koeficijentom i naše greške izblijede.

    Da bi se riješio ovog prigušenja gradijenta, 1997. istraživač Jurgen Schmidhuber predložio je zamjenu jednog neurona podmrežom od pet neurona. To jest, sada se sloj neuronske mreže sastoji od „jedinica“. Hajde da simuliramo memorijsku ćeliju. Imamo neke vrijednosti koje su pohranjene u ovoj ćeliji. Postoje neuroni koji mogu kontrolirati činjenicu da možemo nešto zapisati u ovu memorijsku ćeliju, pročitati nešto iz nje i iznijeti. U ovom slučaju, kontrolu ćelije vrši individualno sopstveni skup neurona. Težine ovih neurona se također treniraju - i to je sva ljepota nastale arhitekture. Kada izgradimo veliku neuronsku mrežu od ovih ćelija, sve će one biti obučene korištenjem algoritma povratnog širenja. Odnosno, naš algoritam ostaje isti, iako je naša mreža postala mnogo komplikovanija.

    To je omogućilo, na primjer, stvaranje sistema za mašinsko prevođenje. Prije samo godinu dana, Google je zamijenio svoj stari sistem mašinskog prevođenja sa mnogo boljim neuromrežnim. U poređenju sa starom verzijom Google mašinskog prevođenja iz 2015. godine, ljudski prevod je dobio mnogo više ocene. Ali u poređenju sa Google-ovim novim algoritmom neuronske mreže koji se danas koristi, rezultati ljudskog prevođenja su uporedivi. Zapravo, prijevod koristite svaki dan – kada nešto postignete u pretrazi, drugi i treći najvažniji signal u smislu toga koji resurs ćete dobiti u rezultatima pretrage na prvoj stranici također određuju neuronske mreže. Google predstavnici svake godine prikazuju vremensku liniju sve više internih projekata koji koriste neuronske mreže i duboko učenje. Ako su 2012. godine to bili jedan ili dva projekta, danas ih ima oko 5.000. U stvari, neuronske mreže su tehnologija koju koristite svaki dan, iako možda ni ne sumnjate. Neki ljudi koji to rade su proglasili da su neuronske mreže i umjetna inteligencija nova električna energija. U smislu da je to tehnologija koju koristimo neopaženo, ali je čvrsto ušla u naše živote.

    Kakav efekat možemo postići sa ovim rekurentnim neuronskim mrežama? Pokazat ću vam rezultate koji su me zadivili do srži. Da mi je neko mesec dana ranije rekao da je to moguće, a to je bilo u leto 2015. godine, odgovorio bih, ljudi, ja radim na neuronskim mrežama deset godina, ne treba da pričam bajke. Ali kada smo sami uzeli neuronsku mrežu, trenirali je i vidjeli rezultat koji ona daje, uvjerili smo se da je to zapravo tako. Riješili smo problem jezičkog modeliranja. Formalno, ovo je zadatak predviđanja sljedećeg lika. Na primjer, imamo gomilu tekstova Dostojevskog. Svoju neuronsku mrežu hranimo sa 100 znakova (slova, uključujući razmake i interpunkciju) iz djela Dostojevskog, a njen zadatak je da predvidi sljedeći karakter. Možemo ponovo primijeniti ovaj simbol na ulaz i predvidjeti sljedeći - i tako dalje. Ali nismo hteli da eksperimentišemo na Dostojevskom, pa smo uzeli titlove za seriju – oko 10 miliona reči iz Vampirskih hronika i još nešto. Na osnovu ovog materijala, mreža je naučila da predvidi sljedeće simbole.

    Dakle, zadatak je: ima 100 znakova, potrebno je predvidjeti 101. Postavili smo interfejs na Internet u koji ste mogli da ukucate neku početnu frazu, a neuronska mreža je pokušala da je nastavi. Odabrao sam najzanimljivije rezultate. Čovjek piše: "Ti si glup." Odnosno, sva ova slova, razmak između "s" i "g", kao i pomicanje linije se unose na ulaz neuronske mreže. I ona predviđa sljedeći simbol: "K" je veliko. Unosimo mu ovo "K" kao ulaz, predviđa sljedeći znak "a", unosimo "a" kao ulaz, itd. - kao rezultat dobijamo generiranu frazu: "Kako bi bilo "zdravo"". Kada analiziramo ovaj odgovor, on izgleda apsolutno logičan. Štaviše, ima karakteristike: zašto je neuronska mreža rekla zdravo? Ako je ovo početak dijaloga, onda je logično da ne počinju frazom „ti si glup“. Stoga, neuronska mreža kaže: "Alo" i riječ "zdravo" citira, jasno stavljajući do znanja da se ova riječ ne odnosi na samu sebe. Dakle, čak i ako naša neuronska mreža nema diplomu filologije, ona ima duboko znanje ruskog jezika.

    Još jedan primjer. Pokušao sam postaviti složeniji kontekst kako bi neuronskoj mreži bilo teško odgovoriti. P: Kakvo divno veče. Nije li?" To je prilično dugačak niz znakova, dvije rečenice, puno razmaka, upitnik. Evo njenog odgovora: "Da li stvarno mislite da ću se setiti ovoga?" Ovdje se ništa ne govori o večeri, odgovor je pitanje za pitanje. Ali ako pokušamo da protumačimo, ima savršenog smisla. Odnosno, ako je veče divno, onda se podrazumijeva da će onaj kome je rečeno o tome htjeti da ga se sjeća. Otuda i odgovor neuronske mreže. I posebno imajte na umu da ona (neuronska mreža. - “b”) također ispravno postavlja znakove interpunkcije i ne pravi greške u riječima. I to unatoč činjenici da u to nismo stavili pravila ruskog jezika, rječnik riječi, nikakve gramatičke osnove - dali smo neuronskoj mreži samo niz znakova. Čini mi se da je u takvim uslovima izdavanje ovakvih odgovora jednostavno nevjerovatan fenomen. I dalje se pitam: kako ona to može stvoriti?

    Još jedan primjer. Ovde se vodi veoma živ dijalog. Muškarac: "Ti si glup." Mašina: "Pa zašto te briga?" Čovek: "Zato što moram da živim sa tobom!" Mašina: "Ti uopšte nisi takav!" Muškarac: "Jesi li uvrijeđen?" Auto: "Uh-huh." Dozvolite mi da vam pokažem još jedan primjer njenog rada. Čovjek: "Smiješno je, ali ti si samo program i nikad nećeš moći razmišljati." Mašina: "Naravno, poenta je da sada nije najbolje vrijeme." Sve ima smisla, zar ne? Ali ovo je tvoje tumačenje, ne znamo šta je neuronska mreža zapravo značila, sve je iz serije.

    A sada - o raznolikosti koju je generisala neuronska mreža. U principu, ova neuronska mreža je probabilistički tekstualni model, daje vjerovatnoću sljedećeg karaktera, ali ne baš kakav će biti sljedeći znak. I možemo birati proporcionalno ovoj vjerovatnoći. Na ovaj način možemo generirati različite sekvence. U jednom slučaju ćemo odabrati jedno slovo za isti unos, u drugom slučaju drugo . Dostavljamo rečenicu na ulaz: "Alice je sada sretna." I tražimo od neuronske mreže da nastavi. Predvidite kako će se ovaj niz nastaviti. Svugdje nastavak počinje riječju "ona". Odnosno, neuronska mreža, takoreći, bilježi ono što je ovdje bilo o Alice i „srećnom“, spolu subjekta o kojem je riječ. Postoji nešto u nekim od odgovora što je u korelaciji sa njenom srećom. Na primjer: "Izgleda sjajno." Ili je bila na koncertu, pa je srećna. Ili je prelepa ili je zaljubljena, pa je srećna. Ili: "Ona je u opasnosti." Očigledno je veća vjerovatnoća da će sretni ljudi upasti u opasne situacije nego nesretni ljudi. Može se izvući takav zaključak. Ili na primjer: "Alice je u nevolji." Ovdje vidimo da se ton već promijenio: „Ali ona ne zna ko si ti“, ili „Ali ona je promijenila svoj život“ ili „Ona neće nikoga ubiti“. Jednom kada je u nevolji, u odgovorima je već nešto uznemirujuće. Odakle su došle ove bilješke, ne znamo. To jest, iz nekog razloga, neuronska mreža je ubacila ove bilješke. Od titlova. Bilo je bilješki.

    Ali, po svemu sudeći, titlovi su ipak više o ženama, jer ona smislenije odgovara na žensko sjeme, a za muške vjerovatno nema dovoljno statistike. John je sada sretan. - "Da, u dvorištu 800 funti na svakom mestu", "Zločin od hiljadu hiljada stepeni u meču", "Stvarno sam hteo da dozvolim sebi da samo bacim sve na svoje mesto." Odnosno, smislenost odgovora je uveliko stradala, iako su prijedlozi u početku slični. Ali “John je upao u nevolju” je zaista teško: “Svinje idu u Starlink City”, “I kad se vratio, bacio sam ga u kancelariju”, “Nije bio isti kao prošle godine”, “Supernatural časni sude, nismo bili mi."

    Ne znam koliko vas je to dojmilo, mene je jako dojmilo. Moje predviđanje bi bilo da bi možda neuronska mreža mogla naučiti neke riječi od pet slova i reprodukovati ih nekim slučajnim redoslijedom. Ali pod prognozom da će ona moći generirati tako dugačke fraze bez grešaka koje se mogu smisleno tumačiti, ja se, iskreno, nikada ne bih pretplatio.

    Dozvolite mi da brzo pričam o tome zbog čega su svi zabrinuti u posljednje vrijeme. Učenje s pojačanjem neuronske mreže. Ovo je vrsta pristupa koja je potrebna da bi se od agenta naučile neke radnje. Svaka akcija agenta na neki način mijenja okruženje. U prethodnim zadacima smo predviđali, ali nismo uticali na sam zadatak. Ni na koji način nismo uticali na slike koje klasifikujemo, nismo ni na koji način uticali na sekvencu koju generišemo. I ovdje je naš zadatak postavljen na sljedeći način: želimo utjecati na input koji imamo kako bismo ga doveli u ciljno stanje koje nam je potrebno. Agent je određeni subjekt koji može uticati na okolinu. Ne znamo kako riješiti ovaj problem obuke agenata. Ali znamo šta je dobro, a šta loše. Stoga, u onim trenucima kada agent ostvari cilj koji smo pred njega postavili, možemo mu dati određeni iznos koji nazivamo nagradom ili pojačanjem. Dakle, trebamo dobiti algoritam koji će naučiti, po redoslijedu i po nagradama, takve radnje koje će maksimizirati nagradu u datoj situaciji.

    Godine 2016. objavljen je članak u časopisu Nature, koji opisuje prilično univerzalni algoritam koji se učio igrati Atari igre. I bio je na naslovnoj strani časopisa Nature. Ako znate, časopis Nature je jedan od najuglednijih i najprestižnijih nedjeljnika u svijetu nauke, gdje se objavljuju istinski naučni članci. Ako ste objavili članak u časopisu Nature, onda se vaš autoritet među naučnicima znatno povećava. Ima, naravno, izuzetaka, ali u osnovi se tamo objavljuju vrlo važni radovi sa stanovišta nauke. Kako je postavljen zadatak? Imamo 49 Atari igara, slike iz ovih igara šaljemo na ulaz naše neuronske mreže, ali ni na koji način ne objašnjavamo pravila. Učit ćemo istu neuronsku mrežu u različitim igrama i želimo da ona dobro uči u svim igrama. Ali postoji samo jedna neuronska mreža, koja se prilagođava određenoj igri samo u procesu učenja. Ništa ne naručujemo unaprijed.

    Shodno tome, imamo slike koje spadaju u ulaz naše neuronske mreže, ali svi znate šta su konvolucione mreže - rekao sam vam prije pola sata. Konvolucione neuronske mreže transformišu slike, izdvajaju karakteristike i na izlazu neuronske mreže izdaju akciju koja kontroliše džojstik. U skladu s tim, komande sa džojstika se prenose na simulator igre, a on kontrolira ponašanje igre. Kada osvojite poene, vaš agent dobija pojačanje i posao agenta je da poveća te bodove. Odnosno, ovdje mu ne govorimo direktno koje akcije da izabere, već jednostavno u trenutku kada je povećao svoje bodove kažemo da je to dobro. A zadatak je trenirati ovaj algoritam. Na primjer, neuronska mreža kontrolira podmornicu. Zadatak: ribe - uništiti, ronioci - pokupiti i s vremena na vrijeme, kada ponestane kisika, isplivati ​​i napuniti se kisikom. Neuronska mreža ne uspijeva uvijek, ponekad umre. No, ispostavilo se da ovaj rezultat ne samo da je naišao na znanstveno priznanje i dospio na naslovnicu Nature, već ga je dobio neki startup, a par mjeseci prije nego što je objavljen, ovaj startup je kupio Google. Istovremeno, od rezultata ovog startupa ostali su samo oni koje su objavili u časopisu Nature. Što mislite za koliko je Google kupio ovaj startup? Za 600 miliona.

    Sljedeće pitanje. Šta povezuje Garija Kasparova i Lija Sedola, go šampiona (igra.-"b")? U redu. Obojicu je porazila vještačka inteligencija. DeepBlue je pobijedio Kasparova 1997. godine, a go šampion je poražen prošle godine. Žašto je to? Do nedavno se Go smatralo veoma teškom igrom. To je zbog broja opcija koje je potrebno razvrstati kako bi se izračunali svi mogući ishodi igre, a opisuje se takozvanim faktorom grananja. To jest, koliko mogućih stanja igre možemo izaći iz trenutnog stanja igre izvođenjem radnji dozvoljenih u igri. Za šah, prosečan faktor grananja je oko 35. A u Go-u, ovaj faktor grananja je 250. Shodno tome, razumete da kada idemo dublje, svaki put množimo sa ovim brojem. I jasno je da za go vrlo brzo dobijemo toliki broj opcija koji premašuje broj čestica u vidljivom univerzumu i nije ih moguće nabrojati. Potreban je neki drugi način za rješavanje ovog problema. Ako u šahu možemo izračunati opcije za jako veliki broj pozicija i glupo znati poteze koje treba napraviti da bismo pobijedili ili ne izgubili, onda je u Gou to mnogo teže. Mnogi ljudi kažu da vam je potrebna intuicija da biste prepoznali sve situacije.

    Isti startup koji je kupljen za 600 miliona dolara ponovo se pojavio na naslovnici Nature godinu dana kasnije. Sada je predložio algoritam koji, gledajući ploču, može dati procjenu koliko je ova pozicija dobra, odnosno dovoljno brzo predvidjeti. Možete kombinirati ovo predviđanje s algoritmom pretraživanja stabla i koristiti neuronsku mrežu za procjenu pozicija i otkrivanje samo onih koji su najpobjedniji. Dakle, ne radite kompletno nabrajanje, već samo ispod stabla koje je u ovom trenutku najperspektivnije. Ovaj algoritam je AlphaGo verzija (AlphaGo Fan verzija je objavljena u članku) i pobijedio je Leeja Sedola u Gou. Tada su se Go programi igrali na nivou dobrog amatera, ali ne i profesionalca. Za obuku ove verzije, bilo nam je potrebno 176 GPU-a na distribuiranom klasteru. I pobijedila je prvaka Evrope rezultatom 5:0.

    Tada se pojavila prilagođena verzija programa - AlphaGoLee. Koristila je 48 Tensor Processing Units - ovo je tip TPU-a, ali posebno prilagođen za neuronske mreže. Pobijedila je Lee Sedol rezultatom 4-1. Zatim je tu bio AlphaGoMaster na 4 TPU, koji je pobijedio profesionalne igrače rezultatom 60:0. Bukvalno prije mjesec dana pojavio se program AlphaGoZero, koji je na 4 TPU-a na jednom računaru (ne više na klasteru) pobijedio sa rezultatom 100:0 verziju programa koja je pobijedila Lee Sedola, i sa rezultatom 89:11 - verzija AlphaGoMaster-a. Sljedeća verzija je objavljena prije nekoliko dana - AlphaZero. Ponovo je igrala protiv AlphaGoZero na četiri TPU-a rezultatom 60:40. Prva verzija AlphaGoLee programa prvo je trenirana na stvarnim igrama. Odnosno, uzeta je baza podataka igara i program je naučio da igra kao osoba na njoj. Ali programi AlphaGoZero i AlphaZero - zašto Zero? Zato što uopće nisu koristili nikakve informacije od neke osobe. Kako su učili? Oni su samo igrali sami sa sobom i učili iz svojih igara. I tako dobro obučen.

    Sad jedno pitanje. Zašto je Google kupio ovu stvar? Uzela je ovaj algoritam, koji je korišćen za igre, i primenila ga na problem kontrole hlađenja data centra. Sada, u trenutku kada se uključi kontrola neuronske mreže, potrošnja opada, kada se isključi vraća se na stari nivo. U prosjeku, uštede su oko 40%. Gugl održava ogroman broj data centara kako bi osigurao kvalitet usluge, i za njih da uštedi 40% na struji, a za data centre je struja generalno glavna stavka troškova, to je jako značajno. Ne znam da li se isplatilo, ali je barem značajan dio, možda, nadoknađen.

    Umjetna inteligencija je kroz svoju historiju doživljavala uspone i padove, a danas smo u samom vrhu hype o novoj umjetnoj inteligenciji, gdje svi vjeruju da je umjetna inteligencija “nova struja” i tako dalje. Možda će uskoro ovo uzbuđenje splasnuti, ali sada je vrhunac. Zašto ima toliko ljudi ovdje u prostoriji, od kojih većina ne zna šta je duboko učenje, a ipak su došli. Očigledno, tema dolazi iz drugih oblasti života i privlači ljude ovdje. Vrhunac interesovanja je zbog činjenice da su dugo poznati algoritmi neuronske mreže, zbog velikih podataka i velikih računarskih mogućnosti, počeli rješavati one probleme koji se prije nisu mogli riješiti, te daju vrlo zanimljive rezultate koji se mogu implementirati u mnogim područjima. ekonomije.

    Shodno tome, šta radimo u ovoj oblasti? U našoj laboratoriji provodimo projekat podržan od strane Nacionalne tehnološke inicijative, inicijative našeg predsjednika da pokušamo neke dijelove naše ekonomije prebaciti sa sirovina na visokotehnološke. Inicijativa je povezana, s jedne strane, sa podrškom inovativnih biznisa, as druge strane sa infrastrukturom za ova inovativna preduzeća. Shodno tome, u okviru ove nacionalne tehnološke inicijative, Phystech, uz sufinansiranje Sberbanke, implementira projekat. A ciljevi projekta su razvoj algoritama za duboko mašinsko učenje i mašinsku inteligenciju u obliku neke tehnološke platforme za automatizaciju vođenja ciljanog dijaloga sa korisnikom.

    Danas imamo čitavo polje ekonomije povezano sa tekstualnom komunikacijom. Ljudi koriste mobilne uređaje, a broj korisnika messengera na mobilnim platformama već je premašio broj korisnika društvenih mreža. To znači da ljudi provode ogromnu količinu komunikacije u tekstualnom formatu. Ali u isto vrijeme, u ovom svijetu ne postoje dobri alati za komunikaciju s korisnicima. Veliki je zahtjev za rješenjima, kada bi kompanije mogle doći do vas, nekako vam pomoći ili riješiti neke vaše probleme putem chata. S druge strane, ona rješenja za kreiranje sistema dijaloga koja su postojala do nedavno nisu baš efikasna, jer su bazirana na nekim kodiranim skriptama koje je zadao programer, a te skripte, kako se pokazalo, nisu dobro skalirane i ne mogu opisati čitavu raznolikost našeg konverzacijskog života. Različiti ljudi izražavaju svoje misli na različite načine, postoje različite situacije, a sve je to vrlo teško uočiti i unaprijed predvidjeti. Ali, kao što smo vidjeli, neuronske mreže su vrlo dobre u suočavanju s takvom neizvjesnošću. Oni mogu generirati odgovore slične ljudskim odgovorima. Oni mogu da rade mašinsko prevođenje. Stoga postoji nada da ćemo moći koristiti tehnologije neuronskih mreža kako bismo riješili barem neke od problema u kreiranju konverzacijskih interfejsa.

    Dakle, cilj ovog projekta je upravo stvaranje ovako otvorene platforme koju bi kompanije mogle koristiti za kreiranje proizvoda u ovoj oblasti. Odnosno, mi kreiramo tehnologiju, dajemo je kompanijama i kažemo: „Mi ćemo vas podržati, pomoći ćemo vam da implementirate ovu tehnologiju, a vi, molim vas, radite svoj posao i doprinosite privredi. Ko su dionici našeg projekta? Sa stanovišta NTI-ja, to su kompanije na visokotehnološkim tržištima. Na primjer, Sberbank, koja ovu tehnologiju želi iskoristiti kao osnovu za kreiranje rješenja za automatizaciju nekih usluga, kao što su pozivni centri ili usluge podrške. Ovo je Phystech, koji je zainteresiran za razvoj kompetencije umjetne inteligencije u sebi. Istraživači i programeri su ti koji trebaju alate za brzu izgradnju ovih inteligentnih konverzacijskih agenata.

    Letos smo započeli ovaj projekat i nazvali ga iPavlov u čast Ivana Petroviča Pavlova, poznatog ruskog neurofiziologa koji je proučavao uslovne reflekse. Odnosno, mozak. Shodno tome, dva glavna rezultata naše aktivnosti u tehnološkom smislu su otvorena biblioteka, koju smo nazvali DeepPavlov, a ovo je samo skup alata za kreiranje interaktivnih sistema, kao i set usluga Sberbanke koje će integrisati u svoje proizvodi, na primjer, neki zatim financijski pomoćnici. Imamo istraživanja, imamo razvoj naše biblioteke, postoje aplikacije ove biblioteke za neke specifične poslovne slučajeve. Šta želimo da radimo? Želimo napraviti skup blokova neuronske mreže iz kojih možemo sastaviti različite agente za različite zadatke. Na primjer, agenti koji mogu obavljati određene zadatke kao što je rezerviranje karata, ili agenti koji mogu odgovoriti na pitanja o određenoj temi, ili agenti koji mogu samo održati razgovor. A onda se ovi agensi mogu kombinovati za svako specifično područje kako bi se problem optimalno riješio. Ovako planiramo da implementiramo arhitekturu u smislu njene neuronske mreže i istraživačkog sadržaja. A, s jedne strane, naša biblioteka se sastoji od komponenti za kreiranje ovih botova. S druge strane, imamo neki Bildert alat pomoću kojeg možemo prikupiti konverzacijske agente od ovih botova, postoje konektori koji nas povezuju sa glasnicima, a postoje i podaci o kojima treniramo. Odnosno, to je određeni skup alata pomoću kojih možete razviti i implementirati takva rješenja.

    Vjerovatno je na tome moguće završiti. Hvala svima.

    Evgeniya Chernysheva


    Ključ uspjeha u razvoju umjetne inteligencije je neuronauka. Kako tačno naučnici pokušavaju da reproduciraju rad ljudskog mozga i koja je posebnost rada neuronskih mreža - u materijalu "Futurista".

    Neurobiologija i umjetna inteligencija

    “Budućnost umjetne inteligencije je u neuronauci,” kaže osnivač Google DeepMinda, doktor neuronauka Demis Hassabis (Demis Hassabis) u članku objavljenom u časopisu Neuron. Khasabis je pokrenuo svoju londonsku kompaniju DeepMind za stvaranje tehnički analog ljudske inteligencije, a 2014. Google je kupio njegovu kompaniju za preko 500 miliona dolara.Prošle godine AlphaGo, program koji je razvio DeepMind, pobijedio je svjetske šampione u logičkoj igri Go. U saradnji sa OpenAI, neprofitnim institutom za istraživanje veštačke inteligencije uz podršku Elon Musk , kompanija takođe radi na stvaranju mašina sa razvijenijim intelektualnim sposobnostima.

    Svi DeepMindovi algoritmi umjetne inteligencije temelje se na konceptima koji su prvi put otkriveni u našem vlastitom mozgu. Duboko učenje i učenje s pojačanjem - dva stuba moderne AI - rezultat su labavog prijevoda modela bioloških neuronskih veza ljudskog mozga na jezik formalne matematike. Duboko učenje je zapravo samo novi naziv za pristup umjetnoj inteligenciji koji postoji već više od 70 godina i poznat je kao neuronske mreže. Neuronske mreže su prvi put predložene davne 1944. godine. Warren McCullough (Warren McCullough) i Walter Pits (Walter Pitts), dva istraživača na Univerzitetu u Čikagu koji su 1952. osnovali ono što se ponekad naziva prvim odeljenjem kognitivne nauke.

    Neuronske mreže su bile glavno područje istraživanja u neuronauci i informatici sve do 1969. godine, ali je onda interesovanje za njih nestalo. Osamdesetih godina prošlog veka tehnologija je počela da oživljava, ali je ponovo pala u pomračenje u prvoj deceniji novog veka i vratila se skoro odmah, u drugoj - uglavnom zbog povećane procesorske snage grafičkih čipova.

    Dijagram uređaja neuronske mreže

    Karakteristike neuronskih mreža

    Neuronske mreže su alat za mašinsko učenje u kojem računar uči da izvrši određeni zadatak analizom primera obuke. U pravilu, ovi primjeri su prethodno označeni ručno. Na primjer, sistem za prepoznavanje objekata mogao bi pohraniti hiljade označenih slika automobila, kuća, čaša itd., i mogao bi pronaći vizualne obrasce i karakteristike u tim slikama kako bi ih povezao sa određenim oznakama. Pojednostavljeno, djeca uče na isti način - na primjer, djetetu se pokazuju različiti predmeti crvene boje, tako da u budućnosti može samostalno povezati ovu "oznaku" sa svim crvenim predmetima.

    Međutim, da bi se razvio čak i udaljeni tehnički analog veza našeg mozga, potrebno je stvaranje složenog mehanizma. Neuronske mreže se sastoje od hiljada ili miliona jednostavnih, ali čvrsto povezanih čvorova za obradu informacija, obično organiziranih u slojeve. Različite vrste mreža razlikuju se ovisno o broju slojeva, broju veza između čvorova i broju čvorova u svakom sloju. Većina modernih neuronskih mreža organizirana je u slojeve čvorova u kojima se podaci kreću samo u jednom smjeru. Pojedinačni čvor može biti povezan sa više čvorova u donjem sloju iz kojeg prima podatke, i sa više čvorova u sloju iznad kojeg šalje podatke.


    Primjer mrežne obuke

    Za svaku svoju dolaznu vezu, čvor dodjeljuje broj poznat kao "težina". Kada je mreža aktivna, čvor prima drugu stavku podataka od njih, drugi broj i množi ga sa već zadatom težinom, a zatim dodaje vrijednosti primljene od svih ulaza zajedno, dobijajući jedan broj. Ako broj premašuje prag, čvor se "pali", što u modernim neuronskim mrežama obično znači slanje broja - sume ponderisanih ulaza - preko svih svojih odlaznih veza.

    U režimu obuke, sve težine i pragovi neuronske mreže su inicijalno postavljeni na slučajne vrednosti. Podaci o obuci se unose u niži sloj - ulazni sloj - i prolaze kroz sljedeće slojeve, množe se i dodaju dok ne dođu do izlaznog sloja. Tokom treninga, težine i pragovi se kontinuirano prilagođavaju sve dok podaci o treningu sa istim oznakama ne daju slične rezultate.

    Budućnost je već tu

    Impresivni rezultati poboljšanja rada neuronskih mreža i širenja upotrebe tehnologije nisu ograničeni samo na pobjedu AlphaGo i AI laboratorijskih istraživanja. Ako izraz "mašine koje se samouče" još uvijek povezujete sa svijetom naučne fantastike i horora o ustanku robota, onda dobrodošli u budućnost.

    Poslednjih godina najefikasniji sistemi veštačke inteligencije - u oblastima kao što su autonomna vožnja, prepoznavanje govora, kompjuterski vid i automatsko prevođenje - razvijeni su zahvaljujući neuronskim mrežama. Možda to sami ne primjećujemo, ali neuronske mreže koje se samouče već su ukorijenjene u naš svakodnevni život. Tako, na primjer, prijevod koji vam se nudi u Facebook feedu više se ne izvodi automatski traženjem svake pojedinačne riječi u rječniku. Sada je kompanija pokrenula neuronsku mrežu koja prevodi cijele rečenice, proizvodeći sve kompetentniji koherentan tekst. Već sada je tačnost prijevoda na društvenoj mreži porasla za 11%.


    Model neurona obrađen u aplikaciji Prisma

    Poseban val interesovanja za tehnologiju stanovnika Rusije izazvala je pojava aplikacije Prizma, koja obične fotografije pretvara u sličnosti poznatih umjetničkih djela. Nije važno jeste li koristili ovu aplikaciju ili ste, naprotiv, bili zbunjeni zbog zloupotrebe od strane korisnika društvenih mreža - vrijedi napomenuti kreativnost njenih kreatora. Posebnost naizgled običnog alata za obradu fotografija bila je upravo u tome što je program radio na bazi neuronskih mreža, koristeći uzorke različitih slikarskih stilova za stvaranje novih “remek-djela”.

    Međutim, čak i najjednostavnije neuronske mreže zauzimaju mnogo memorije i troše ogromnu količinu energije, pa najčešće rade na serverima u oblaku, gdje primaju podatke sa desktopa ili mobilnih uređaja, a zatim šalju rezultate analize. .

    Kako bi riješili ovaj problem, prošle godine Vivienne Sze, docentica elektrotehnike i računarstva na Tehnološkom institutu u Masačusetsu, i njene kolege predstavile su novi energetski efikasni kompjuterski čip optimizovan za neuronske mreže koji bi mogao da omogući lokalni rad moćnih sistema veštačke inteligencije. na mobilnim uređajima..

    Osim toga, razvili su analitičku metodu koja može odrediti koliko energije neuronska mreža troši kada radi na određenoj vrsti hardvera. Zatim su koristili tehnologiju za procjenu novih metoda za zaobilaženje neuronskih mreža kako bi mogle efikasnije raditi na ručnim uređajima.

    Međutim, Hassabis tvrdi da to nije dovoljno. Cilj koji istraživači sada sebi postavljaju je stvaranje univerzalnog AI sa sposobnošću razmišljanja, razmišljanja i učenja brzo i fleksibilno, umjetnu inteligenciju sposobnu razumjeti stvarni svijet i zamisliti bolji.

    Da bi se to postiglo, potrebno je pažljivije proučiti rad ljudskog uma, jer je to jedini dokaz da je takav inteligentan sistem u principu moguć.

    Problem učenja AI

    U zavisnosti od njihovih specifičnih zadataka, algoritmi mašinskog učenja se prilagođavaju korišćenjem određenih matematičkih struktura. U milion primjera, umjetne neuronske mreže uče da fino podešavaju svoje veze dok ne dostignu idealno stanje koje im omogućava da izvrše zadatak s najvećom preciznošću.

    Budući da je svaki algoritam u potpunosti prilagođen određenom problemu, ponovna obuka za novi problem često briše prethodno uspostavljene veze. Dakle, kada AI nauči novi zadatak, u potpunosti prepisuje prethodni.

    Dilema kontinuiranog učenja samo je jedan od problema u umjetnoj inteligenciji. Drugi još nisu ni tako precizno definirani, ali će možda biti ozbiljniji u stvaranju fleksibilnih, inventivnih umova poput našeg.

    Na primjer, problem utjelovljene spoznaje - kako Hassabis objašnjava, je sposobnost stvaranja znanja i apstraktnih misli zasnovanih na neovisnoj senzornoj interakciji sa svijetom. To je neka vrsta zdravog razuma koji ljudi imaju, intuicija koju je teško opisati, ali je izuzetno korisna za suočavanje sa svakodnevnim problemima sa kojima se suočavamo.

    Još je teže programirati osobine kao što je mašta. Ovdje je umjetna inteligencija, ograničena na jedan specifičan zadatak, zaista loša, kaže Hassabis. Mašta i inovacija temelje se na modelima koje smo već stvorili o našem svijetu - i zamislite nove scenarije iz njih. Ovo su vrlo moćni alati za planiranje, ali njihovo istraživanje AI je još uvijek u povojima.

    Naučnici napominju da se prilikom rješavanja problema rada neuronskih mreža okreću neurobiologiji i fiziologiji živih bića. Dakle, nedavna otkrića pokazuju da hipokampus - dio limbičkog sistema mozga koji je odgovoran za pamćenje - "gubi" naša iskustva i sjećanja u brzom premotavanju unaprijed tokom odmora i spavanja. To omogućava mozgu da "iznova uči iz prošlih uspjeha i neuspjeha", kaže Hassabis.

    Istraživači umjetne inteligencije preuzeli su ovu ideju i inkorporirali rudimentarnu verziju u algoritam - a rezultat su moćne neuronske mreže koje uče iskustvo. Oni uspoređuju trenutne situacije s prethodnim događajima pohranjenim u memoriji i poduzimaju radnje koje su prethodno dovele do uspjeha ili nagrade.

    Ali najbolje tek dolazi

    Pojava alata za snimanje mozga i genetskog bioinženjeringa nudi pogled bez presedana na to kako se biološke neuronske mreže organiziraju i kombiniraju za rješavanje problema. Dok neuroznanstvenici rade na rješavanju "neuralnog koda" - osnovnih proračuna koji održavaju funkcioniranje mozga - istraživači AI imaju sve veći skup alata za proučavanje.

    Vrijedi napomenuti da nije samo umjetna inteligencija ta koja ima mnogo toga da nauči od neuronaučnika – koristi su obostrane. Moderna neuronauka, u svim svojim moćnim alatima za snimanje i opto-genetici, tek je počela da razumije kako neuronske mreže podržavaju viši nivo inteligencije.

    "Neuroznanstvenici često imaju prilično nejasnu ideju o mehanizmima koji stoje iza koncepata koje proučavaju", kaže Hassabis. Budući da je istraživanje umjetne inteligencije zasnovano na rigoroznoj matematici, ono može predložiti načine za pojašnjavanje ovih nejasnih koncepata u hipotezama iz stvarnog života.

    Naravno, malo je vjerovatno da će AI i mozak uvijek raditi na isti način. Ali možemo razmišljati o AI kao primijenjenoj kompjuterskoj neuronauci, kaže Hassabis. Poređenje AI algoritama sa ljudskim mozgom "moglo bi pružiti uvid u neke od najdubljih misterija uma."

    Rečeno je da 47% svih
    poslovi bi mogli biti automatizirani u narednih 20 godina. Glavni pokretač ovog procesa je korištenje umjetne inteligencije, rad sa velikim podacima, kao efikasnija zamjena za osobu.

    Mašine su sada u stanju riješiti sve više procesa koji su ranije bili odgovornost ljudi. Osim toga, oni to rade bolje i u mnogim slučajevima jeftinije. O tome šta to znači za tržište rada govorio je German Gref u julu ove godine, govoreći studentima Baltičkog saveznog univerziteta. Kant:

    „Prestajemo da zapošljavamo advokate koji ne znaju šta da rade sa neuronskom mrežom.<...>Vi ste jučerašnji studenti. Kolege advokati, zaboravite svoju profesiju. Prošle godine je prošlost 450 advokata koji pripremaju tužbe u našoj zemlji, smanjeni su. Naša neuronska mreža priprema tužbe bolje od pravnika obučenih na Baltičkom federalnom univerzitetu. Definitivno ih nećemo zaposliti.”

    Nastavljajući sa pokrivanjem #technofuture, DTI tim je pripremio sve što je potrebno morate znati za prvi uron u neuronske mreže: kako su raspoređeni, zašto sve više kompanija preferira neuronske mreže da žive zaposlenike i kakav potencijal ima ova tehnologija za optimizaciju različitih procesa.

    Umjetna inteligencija, mašinsko učenje i neuronske mreže: u čemu je razlika

    Neuralna mreža je jedan od načina za implementaciju umjetna inteligencija (AI).

    Postoji ogromna oblast u razvoju AI - mašinsko učenje. Proučava metode za konstruisanje algoritama koji mogu sami da uče. Ovo je neophodno ako ne postoji jasno rješenje za bilo koji problem. U ovom slučaju, lakše je ne tražiti pravo rješenje, već stvoriti mehanizam koji će smisliti metodu za njegovo pronalaženje.

    #referenca Mnogi članci sadrže pojam "duboko" - ili "duboko" - učenje. Podrazumijeva se kao algoritmi mašinskog učenja koji koriste mnogo računarskih resursa. U većini slučajeva, može se jednostavno shvatiti kao „neuronske mreže“.

    Kako se ne bismo zbunili u konceptima "umjetne inteligencije", "mašinskog učenja" i "dubokog učenja", predlažemo da pogledate vizualizaciju njihovog razvoja:

    #zanimljivo Postoje dvije vrste umjetne inteligencije (AI): slaba (usko fokusirana) i jaka (opšta). Slaba umjetna inteligencija je dizajnirana da završi usku listu zadataka. Ovo su glasovni asistenti Siri i Google Assistant i svi ostali primjeri koje pružamo u ovom članku. Snažna AI je zauzvrat sposobna da izvrši bilo koji ljudski zadatak. Trenutno je implementacija jake AI nemoguća, to je utopijska ideja.

    Kako funkcionira neuronska mreža

    Neuronska mreža simulira rad ljudskog nervnog sistema, čija je karakteristika sposobnost samoučenja na osnovu prethodnog iskustva. Dakle, svaki put sistem pravi manje grešaka.

    Kao i naš nervni sistem, neuronska mreža se sastoji od zasebnih računskih elemenata - neurona smještenih na nekoliko slojeva. Podaci koji ulaze na ulaz neuronske mreže prolaze kroz sekvencijalnu obradu na svakom sloju mreže. Istovremeno, svaki neuron ima određene parametre koji se mogu mijenjati ovisno o dobivenim rezultatima - to je trening mreže.

    Pretpostavimo da je zadatak neuronske mreže da razlikuje mačke od pasa. Za postavljanje neuronske mreže, napaja se veliki niz potpisanih slika mačaka i pasa. Neuronska mreža analizira karakteristike (uključujući linije, oblike, njihovu veličinu i boju) na ovim slikama i gradi model prepoznavanja koji minimizira postotak grešaka u odnosu na referentne rezultate.

    Na slici ispod prikazan je proces neuronske mreže, čiji je zadatak da prepozna ručno napisan broj poštanskog broja.


    Istorija neuronskih mreža

    Uprkos činjenici da su neuronske mreže nedavno došle u centar pažnje, to je jedan od najstarijih algoritama za mašinsko učenje. Prvu verziju formalnog neurona, ćelije neuronske mreže, predložili su Warren McCulloch i Walter Pitts 1943. godine.

    I već 1958. godine Frank Rosenblatt je razvio prvu neuronsku mrežu. Uprkos svojoj jednostavnosti, već je mogao razlikovati, na primjer, objekte u dvodimenzionalnom prostoru.

    Mark I Perceptron - Rosenblatt mašina

    Prvi uspjesi privukli su sve veću pažnju na tehnologiju, ali onda su drugi algoritmi mašinskog učenja počeli da pokazuju bolje rezultate, a neuronske mreže su izblijedjele u drugi plan. Sljedeći val interesovanja došao je 1990-ih, nakon čega se o neuronskim mrežama malo čulo do 2010. godine.

    Zašto su neuronske mreže ponovo popularne

    Do 2010. jednostavno nije postojala dovoljno velika baza podataka da se kvalitativno osposobe neuronske mreže za rješavanje određenih zadataka, uglavnom vezanih za prepoznavanje i klasifikaciju slika. Stoga su neuronske mreže često griješile: mačku su pomiješale sa psom, ili, još gore, sliku zdravog organa sa slikom organa zahvaćenog tumorom.

    Ali 2010. godine pojavila se baza podataka ImageNet koja sadrži 15 miliona slika u 22.000 kategorija. ImageNet je bio mnogo puta veći od postojećih baza podataka slika i bio je dostupan svakom istraživaču. Sa takvim količinama podataka, neuronske mreže bi se mogle naučiti da donose odluke gotovo bez grešaka.


    Veličina ImageNeta u poređenju sa drugim bazama podataka slika koje su postojale 2010

    Prije toga, još jedan, ne manje značajan, problem stajao je na putu razvoja neuronskih mreža: tradicionalna nastavna metoda bila je neefikasna. Iako broj slojeva u neuronskoj mreži igra važnu ulogu, važan je i način obuke mreže. Prethodno korištena metoda obrnutog šifriranja mogla je efikasno trenirati samo posljednje slojeve mreže. Pokazalo se da je proces učenja predug za praktičnu primjenu, a skriveni slojevi dubokih neuronskih mreža nisu funkcionisali kako treba.

    Rezultate u rješavanju ovog problema u 2006. godini postigle su tri nezavisne grupe naučnika. Prvo, Geoffrey Hinton implementirao je mrežnu pretrening koristeći Boltzmannovu mašinu, trenirajući svaki sloj posebno. Drugo, Yan LeKan je predložio upotrebu konvolucione neuronske mreže za rješavanje problema prepoznavanja slike. Konačno, Joshua Bengio je razvio kaskadni autoenkoder koji je omogućio korištenje svih slojeva u dubokoj neuronskoj mreži.

    Primjeri uspješne primjene neuronskih mreža u poslovanju

    Lek

    Tim istraživača sa Univerziteta u Notingemu razvio je četiri algoritma mašinskog učenja za procjenu rizika pacijenata od kardiovaskularnih bolesti. Za obuku su korišteni podaci od 378.000 britanskih pacijenata. Obučena veštačka inteligencija je efikasnije određivala rizik od srčanih bolesti nego pravi lekari. Preciznost algoritma je između 74 i 76,4 posto (standardni sistem od osam faktora koji je razvio Američki koledž kardiologije pruža samo tačnost od 72,8 posto

    finansije

    Japanska osiguravajuća kompanija Fukoku Mutual Life Insurance potpisala je ugovor sa IBM-om. Prema njemu, 34 radnika japanske kompanije biće zamijenjena IBM Watson Explorer AI sistemom. Neuronska mreža će pregledati desetine hiljada ljekarskih uvjerenja i uzeti u obzir broj posjeta bolnicama, ordinacijama i drugim faktorima kako bi odredila uslove osiguranja klijenata. Fukoku Mutual Life Insurance vjeruje da će korištenje IBM Watsona povećati produktivnost za 30% i isplatiti se za dvije godine.

    Mašinsko učenje pomaže u prepoznavanju potencijalnih slučajeva prijevare u različitim područjima života. Sličan alat koristi, na primjer, PayPal - u sklopu borbe protiv pranja novca, kompanija upoređuje milione transakcija i među njima otkriva sumnjive. Kao rezultat toga, lažne transakcije PayPal-a su na najnižim nivoima svih vremena od 0,32%, dok je standard u finansijskom sektoru 1,32%.

    Nastavak analitičke bilješke dostupan je na linku:

    Još jedno područje istraživanja umjetne inteligencije su neuronske mreže. Dizajnirani su po uzoru na prirodne neuronske mreže ljudskog nervnog sistema.

    Umjetne neuronske mreže

    Pronalazač prvog neurokompjutera, dr Robert Hecht-Nielsen, dao je sljedeći koncept neuronske mreže: „Neuronska mreža je računarski sistem koji se sastoji od niza jednostavnih, visoko međusobno povezanih elemenata za obradu koji obrađuju informacije svojim dinamičkim odgovorom na spoljni uticaji.”

    Osnovna struktura umjetnih neuronskih mreža (ANN)

    Ideja ANN-a temelji se na uvjerenju da je moguće oponašati rad ljudskog mozga stvaranjem potrebnih veza pomoću silicija i žica, poput onih živih neurona i dendrita.

    Ljudski mozak se sastoji od 100 milijardi nervnih ćelija koje se nazivaju neuroni. Oni su povezani sa drugim hiljadama ćelija aksonima. Dendriti primaju stimuluse iz spoljašnje sredine ili signale iz organa čula. Ovi ulazi stvaraju električne impulse koji brzo putuju kroz neuronsku mrežu. Neuron tada može slati poruke drugim neuronima, koji tu poruku mogu slati dalje ili je uopće ne slati.


    Umjetne neuronske mreže sastoje se od nekoliko čvorova koji oponašaju biološke neurone ljudskog mozga. Neuroni su međusobno povezani i međusobno djeluju. Čvorovi mogu uzimati ulaz i obavljati jednostavne operacije nad podacima. Kao rezultat ovih operacija, podaci se prenose na druge neurone. Izlaz za svaki čvor naziva se njegova aktivacija.

    Svaka veza je povezana sa težinom. ANN su sposobne za učenje, što se izvodi promjenom vrijednosti težine. Sljedeća slika prikazuje jednostavnu ANN:

    Vrste umjetnih neuronskih mreža

    Postoje dvije vrste topologija umjetnih neuronskih mreža - feedforward i feedback.

    Protok informacija je jednosmjeran. Blok prenosi informacije drugim jedinicama od kojih ne prima informacije. Nema povratne sprege. Imaju fiksne ulaze i izlaze.


    Ovdje su dozvoljene povratne sprege.

    Kako funkcioniraju umjetne neuronske mreže

    Topologija pokazuje kola, svaka strelica predstavlja vezu između dva neurona i pokazuje put za protok informacija. Svaka veza ima težinu, cijeli broj koji kontrolira signal između dva neurona.

    Ako mreža proizvodi "dobar" i "željeni" izlaz, onda nema potrebe za podešavanjem težine. Međutim, ako mreža proizvede "loš" ili "neželjeni" izlaz ili grešku, tada sistem prilagođava svoje težine kako bi poboljšao naknadne rezultate.

    Mašinsko učenje u umjetnim neuronskim mrežama

    ANN su sposobne za učenje i moraju biti obučene. Postoji nekoliko strategija učenja

    Obuka - uključuje nastavnika koji šalje uzorak obuke mreži za koju nastavnik zna odgovore. Mreža upoređuje svoje rezultate sa odgovorima nastavnika i prilagođava svoje težine.

    Učenje bez nadzora je neophodno kada ne postoji uzorak obuke sa poznatim odgovorima. Na primjer, u problemima klasteriranja, tj. dijeljenje skupa elemenata u grupe prema nekim kriterijima.

    Učenje s pojačanjem je strategija zasnovana na posmatranju. Mreža donosi odluke posmatrajući svoju okolinu. Ako je promatranje negativno, mreža prilagođava svoje težine kako bi mogla donijeti različite potrebne odluke.

    Algoritam propagacije unazad

    Bayesove mreže (BN)

    Ove grafičke strukture služe za predstavljanje probabilističkih odnosa između skupa slučajnih varijabli.

    U ovim mrežama, svaki čvor je slučajna varijabla sa specifičnim ponudama. Na primjer, u medicinskoj dijagnozi, čvor raka je sugestija da pacijent ima rak.

    Rubovi koji povezuju čvorove su vjerovatnoće zavisnosti između ovih slučajnih varijabli. Ako od dva čvora, jedan utiče na drugi čvor, oni moraju biti direktno povezani. Jačina odnosa između varijabli je kvantificirana vjerovatnoćom koja je povezana sa svakim čvorom.

    Postoji samo ograničenje na lukove u BN, ne možete se vratiti na čvor samo prateći smjer luka. Stoga se BNS naziva acikličnim grafom.

    BN struktura je idealna za kombinovanje znanja i posmatranih podataka. BN se može koristiti za učenje uzročno-posledičnih veza i razumijevanje različitih problema i predviđanje budućnosti, čak i u nedostatku podataka.

    Gdje se koriste neuronske mreže

      Oni su u stanju da obavljaju zadatke koji su laki za ljude, ali teške za mašine:

      Vazduhoplovstvo - autopilot aviona;

      Automobili - automobilski sistemi za navođenje;

      Vojska - praćenje cilja, autopilot, prepoznavanje signala/slika;

      Elektronika - predviđanje, analiza kvarova, mašinski vid, sinteza glasa;

      Finansijski – procena vrednosti nekretnina, kreditni savetnici, hipoteke, portfolio trgovačkih kompanija itd.

      Obrada signala – Neuronske mreže se mogu osposobiti za obradu audio signala.

    Mašinsko učenje je širok pojam koji pokriva sve stvari koje pokušavate naučiti mašinu da se sama poboljša. Ovo se posebno odnosi na svaki sistem u kojem se performanse računara u izvršavanju zadatka poboljšavaju samo većim iskustvom sa tim zadatkom. Neuronske mreže su primjer mašinskog učenja, ali nisu jedini način da se obuči računar.

    Na primjer, jedna od alternativnih metoda mašinskog učenja naziva se učenje s pojačanjem. U ovoj metodi, računar izvršava zadatak, a zatim procjenjuje njegov rezultat. Ako, na primjer, kompjuter pobjeđuje u šahu, tada on dodjeljuje pobjedničku vrijednost seriji poteza koje koristi tokom igre. Nakon odigranih miliona partija, sistem može odrediti koji potezi će najvjerovatnije dovesti do pobjede na osnovu rezultata prethodnih partija.

    Dok su neuronske mreže dobre za stvari kao što je prepoznavanje uzoraka na slikama, druge vrste mašinskog učenja mogu biti korisnije za zadatke poput pronalaženja vaše omiljene muzike. Google tvrdi da će vam njegova muzička aplikacija pronaći muziku koju želite da slušate. To radi analizom vaših prethodnih plejlista. Ako vam se ne sviđa rezultat, mašina će to smatrati greškom. Ali ako odaberete neku od predloženih lista, ona će to označiti kao uspjeh i analizirati pobjedničke poteze koji su je doveli do vašeg srca.

    U ovakvim slučajevima nećete imati punu korist od mašinskog učenja ako ovu funkciju ne koristite često. Kada prvi put otvorite aplikaciju Google Music, preporuke će najvjerovatnije biti previsoke. Ali što ga više koristite, ponude će biti bolje. U teoriji, barem. Mašinsko učenje također nije lijek. Strojno učenje je nejasniji koncept od neuronskih mreža, ali također podrazumijeva da će se softver koji koristite oslanjati na vaše povratne informacije kako bi poboljšao svoje performanse.

    Umjetna inteligencija je sve sa prefiksom "pametno"


    Baš kao što su neuronske mreže oblik mašinskog učenja, mašinsko učenje je oblik veštačke inteligencije. Ali kategorija "vještačke inteligencije" toliko je loše definirana do sada da ova fraza nema praktično značenje. Da, dočarava slike tehnološki napredne budućnosti, ali u stvarnosti joj se još nismo približili. Nekada je optičko prepoznavanje znakova bilo previše složeno za mašinu, ali sada aplikacija na vašem telefonu može skenirati dokumente i pretvoriti ih u tekst. Nazvati to podvigom umjetne inteligencije je nekako bezvrijedno.

    Razlog zašto se osnovne mogućnosti telefona mogu smatrati umjetnom inteligencijom je taj što zapravo postoje dvije vrste AI. Slab ili uski AI opisuje svaki sistem dizajniran za obavljanje uske liste zadataka. Na primjer, Google Assistant ili Siri, iako su prilično moćni AI, ipak obavljaju prilično usku listu zadataka. Oni primaju glasovne komande i vraćaju odgovore ili pokreću aplikacije. Istraživanje AI podstiče ove karakteristike, ali se one smatraju "slabim".

    Nasuprot tome, jaka AI - poznata i kao vještačka opća inteligencija, ili "puna AI" - je sistem sposoban da izvrši bilo koji ljudski zadatak. A ona ne postoji. Stoga je svaka "pametna" aplikacija još uvijek slaba umjetna inteligencija.

    I dok značenje može biti vrlo nejasno, praktično istraživanje umjetne inteligencije je toliko korisno da je vjerovatno već dio vašeg svakodnevnog života. Svaki put kada vaš telefon automatski zapamti gdje ste parkirali, prepoznaje lica na vašim fotografijama, dobije prijedloge za pretraživanje ili automatski grupiše sve vaše vikend snimke, na ovaj ili onaj način dodirujete umjetnu inteligenciju. U određenoj mjeri, "vještačka inteligencija" zapravo samo znači da će aplikacije biti malo pametnije nego što smo navikli. Malo je vjerovatno da oznaka "AI" sada znači nešto razumljivo sa praktične tačke gledišta.



    Slični članci