O čem sanjajo umetni možgani

Matej Huš

20. jun 2015 ob 20:31:13

Google je eno izmed vodilnih podjetij na področju prepoznavanja slik in govora ter strojnega prevajanja. Vsem trem problemom je skupno dejstvo, da niso rešljivi z enostavnimi sekvenčnimi algoritmi, ker ne moremo predvideti vseh možnih vhodnih podatkov. Največ na tem področju obljubljajo umetne nevronske mreže (ANN). Google je v zadnji objavi pokazal nekaj fantastičnih slik, ki dajejo vpogled v delovanje ANN.

Kot tolikokrat v zgodovini je tudi zamisel ANN navdahnila narava, ki je imela milijarde let časa, da poišče rešitve za probleme. Te niso vedno optimalne, so pa v okviru možnosti in potreb zelo dobre. Kjer bi se s klasičnim zaporednim algoritmom zaleteli v zid, so se ozrli po bioloških nevronskih mrežah oziroma možganih. To je zelo logična poteza, saj so človeški možgani izjemno dobri pri reševanju problemov, za katere jih je evolucija optimizirala - npr. prepoznavanju obrazov in govora, produkciji koherentnega govora ter približnem reševanju parcialnih diferencialnih enačb za premikanje po prostoru. Slednje je za računalnike rešljiv, dasi zelo težak problem, medtem ko je prepoznavanje slik bistveno trši oreh.

Človeški možgani niso le izvrstni, ko morajo izluščiti bistvo s slike (princip izkorišča CAPTCHA), temveč avtomatično izvedejo kup popravkov. Če se omejimo na zaznavanje svetlobe, torej gledanje, možgani prejeto sliko obdelajo, pri čemer se naslanjajo na izkušnje in predznanje. Kadar jih silimo v interpretacijo nepoznanih, manj verjetnih ali drugih situacij, za katero ji ni izurila niti evolucija niti trening za časa življenja, vidimo optične prevare. Pri računalniškem prepoznavanju slik pa smo za zdaj zadovoljni že s tem, da loči hamburger od pleskavice.

Od simulacije možganov smo še daleč. Povprečni človeški možgani imajo okrog 1011 nevronov in 1014-1015 povezav med njimi, po katerih signali potujejo s frekvenco do 100 Hz. Če ima posamezen signal nekaj bitov, bi bilo 1017-1018 operacij na sekundo zadosti za simulacijo možganov. Simulacija možganov je umetna inteligenca po definiciji. Tej meji pravimo zgornja Moravčeva meja, medtem ko je spodnja Moravčeva meja pri okrog 1015 operacijah na sekundo. Najhitrejši superračunalniki trenutno dosegajo okrog 30 petaflops (3 x 1016 operacij s plavajočo vejico na sekundo). Njihova arhitektura je seveda povsem drugačna kakor v nevronskih mrežah, a vsaj surova moč se že približuje tudi zgornji Moravčevi meji. Transhumanist Nick Bostrom je leta 1998 to napovedal za leto 2015-2024, deset let pozneje pa je dopisal, da pred letom 2035 umetne (super)inteligence verjetno ne bo.

A po drugi strani superračunalniki že diagnosticirajo bolezni, zmagujejo na kvizih in svetujejo kupcem. V tem primeru gre sicer za sorazmerno omejen nabor sposobnosti superračunalnika in vprašati se moramo, ali je cilj izdelati prilagodljivo in vsestransko superinteligenco po vzoru človeka ali zgolj orodja za kopanje po gorah podatkov in sprejemanje zaključkov. Z drugimi besedami gre za to, ali želimo opraviti Turingov test ali zgolj dobiti najboljše možne rezultate na določenem problemu. Če želimo tisto prvo, bo treba še počakati, a pot je prava. Že pred tremi leti so uspeli modelirati bakterijo Mycoplasma genitalium.

Če se vrnemo k umetnim nevronskim mrežam, so te še vedno precej oddaljene od kompleksnosti možganov, a že dajejo zelo dobre rezultate. Pri nevronskih mrežah se sistem uči sam na primerih, zelo podobno kot človek. Otrok ne naučimo vseh možnih slovničnih pravil preden začnejo govoriti, prav tako si ne pogledamo vseh modelov stolov na svetu, pa bomo za nepoznan stol še vedno vedeli, da gre za - stol. Nevronske mreže delujejo podobno.

Umetni nevroni imajo več vhodov, ki so različnih uteženi, ter en izhod. Odvisno od podatkov na vhodu nevron signal pošlje naprej ali pa ne. Oblike, povezave in vzdražni pragovi v nevronskih mrežah so različni. Preproste imajo en sloj, zapletenejše jih imajo več. Nevronske mreže se učijo na primerih, tako da mreži damo vhodni podatek (recimo sliko čolna) ter povemo pričakovan odziv (npr. čoln), nato pa treniramo na več primerih. Mreža se sčasoma samouglasi; pravimo, da je naučena.

Problem je, da ne moremo točno vedeti, kaj se dogaja v njej, četudi so odzivi pravilni. Google je domiselno pogledal vanjo. Običajno damo mreži vhodne podatke in želimo odziv. V Mountain Viewu so proces obrnili in so nevronski mreži dali sliko - bodisi naključni šum bodisi dejansko fotografijo - ter od mreže zahtevali, naj ojači, kar ustreza določenemu pojmu, ki ga mreža prepoznava Dejansko so s tem pogledali, kako si nevronska mreža predstavlja posamezen pojem. Rezultati so zelo nenavadni, domala domišljijsko sanjski.

V drugem delu pa so vzeli fotografijo in posameznemu nivoju mreže naročili zgolj, da ojači, kar vidi. Tako lahko vizualizirajo, kaj posamezen del mreže išče. Nižji sloji prepoznavajo robove, zavoje, krivulje in oblike, medtem ko višji sloji sliko razstavijo na abstraktne pojme. Na ta način je Google dobil zelo dobro informacijo o tem, kaj počne določen del nevronske mreže in česa se je naučil.

Nevronske mreže so uporabne na mnogoterih področjih, kjer problemi nimajo lepo definirane poti do rešitev. Tudi v kemiji pri načrtovanju zdravil in analitiki se uporabljajo, pri reševanju določenih matematičnih problemov, v financah itd.

Sanjajo torej še o marsičem, ne le električnih ovcah.