Vseh mehanizmov, ki delujejo v človeških možganih, ko le-ti tvorijo spomine, čustva in ideje, še ne poznamo povsem natančno, a smo si o dogajanju v naših glavah med različnimi miselnimi aktivnostmi vseeno ustvarili že zelo dobro predstavo.

Znanstveniki poskušajo že dlje časa znanje o biologiji delovanja možganov uporabiti tudi pri načrtovanju strojev, ki znajo misliti. Prav pristop, pri katerem poskušajo posnemati dejansko delovanje resničnih možganov, ki jih v temelju sestavlja velika množica medsebojno povezanih živčnih celic oziroma nevronov, je zadnja leta omogočil velik napredek na področju razvoja umetne inteligence.

Učenje nevronskih mrež

Enega prvih modelov umetnih možganov, v katerem so za povezave med nevroni uporabili kar medsebojno prepletene žice, je leta 1957 zgradil profesor psihologije na Univerzi Cornell Frank Rosenblatt. S strojem, ki ga je poimenoval perceptron, je želel pokazati, da lahko tudi umetne nevrone v obliki žic nauči prepoznavati preproste vzorce v podatkih.

Poleg sistema umetnih nevronov je zgradil tudi preprosto umetno oko, v katerem je bila mreža s 400 detektorji svetlobe. Ti senzorji so, podobno kot fotoreceptorji v mrežnici našega očesa, ki prek vidnega živca pošiljajo informacije iz oči v možgane, posredovali podatke o vzorcu na sliki v sistem umetnih nevronov. Cilj raziskovalcev je bil, da bi s spreminjanjem jakosti povezav med posameznimi nevroni poskušali sistem nevronov postopoma naučiti, da bi znal v signalih prepoznati preproste oblike. Rosenblattov perceptron velja za enega prvih dejansko delujočih modelov umetne nevronske mreže.

Zelo poenostavljeno rečeno delujejo umetni in naravni nevroni tako, da zbirajo signale, ki jih dobijo od drugih nevronov, in jih prenašajo naprej. Povezav posameznega nevrona z drugimi nevroni v možganih je zelo veliko. Ocenjujejo, da ima vsak od približno sto milijard nevronov v človeških možganih v povprečju sedem tisoč povezav na druge nevrone. Ko dobi nevron v nekem trenutku prek takšnih povezav električni signal, bo informacijo posredoval naprej le, če signali skupaj presežejo neko mejno vrednost, sicer bo potovanje informacije zaustavil. Prav v spreminjanju jakosti povezav med posameznimi nevroni se skriva bistvo učenja tako v naših glavah kot pri umetnih nevronskih mrežah.

Učenje nevronske mreže poteka, poenostavljeno rečeno, tako, da se nastavitve jakosti povezav med posameznimi nevroni postopoma spreminjajo na način, da bi bili rezultati na koncu čim bliže želenemu cilju. Če nevronska mreža posreduje pravilen rezultat, da je na sliki, ki smo jo pokazali umetnemu očesu, denimo krog, in ne kvadrat, se bodo za malenkost ojačale povezave med nevroni, ki so v nevronski mreži pomembno vplivali na to, da je na koncu prevladal pravilen rezultat. Če pa nasprotno mreža posreduje napačen odgovor, se bodo povezane, ki so bile najbolj odgovorne za napako, za malenkost oslabile. Po dolgotrajnem procesu takšnega učenja se nevronska mreža postopoma nauči pravilno prepoznavati tudi vzorce, ki jih pred tem še ni videla.

Kljub razmeroma dobrim uspehom s prvimi umetnimi nevronskimi mrežami so raziskave kmalu zatem zastale, saj računalniki v tistem času žal še niso bili sposobni tako hitro obdelovati podatkov, kot je bilo potrebno pri takšnem učenju. Prav tako se je izkazalo, da se najbolj preproste enoplastne nevronske mreže tudi niso bile sposobne naučiti prav vseh mogočih pravil.

Leta 1969 je profesor računalništva na MIT Marvin Minsky objavil dokaz, da se preprosta enoplastna nevronska mreža nikoli ne more naučiti prepoznati vzorca logične funkcije, imenovane XOR. Kasneje so sicer drugi raziskovalci pokazali, da se lahko več slojev nevronskih mrež nauči prepoznati tudi to logično funkcijo, a je ugotovitev vseeno pomenila, da se je razvoj na področju nevronskih mrež začasno upočasnil. Naslednjih nekaj desetletij se je bistveno bolj aktivno razvijal alternativni simbolni pristop k umetni inteligenci, ki je umetno inteligenco poskušal oblikovati s pomočjo programiranja, in ne s strojim učenjem.

Algoritem za ustvarjanje algoritmov

Dva temeljna pristopa k ustvarjanju umetne inteligence lahko primerjamo z dvema pristopoma k učenju jezika. Otroci se v mladosti materinega jezika naučijo s poslušanjem in ponavljanjem, pri čemer jih odrasli ves čas popravljamo. Povsem drugače se tuje jezike učimo kasneje v življenju, ko si poskušamo zapomniti pomene posameznih besed in pravila, kako se besede povezuje v stavke.

Umetne nevronske mreže so tipičen primer učenja, ki je podoben načinu, na katerega se jezika učijo otroci. Otroci ne poznajo slovnice in pravil, a se vseeno naučijo pravilno govoriti, podobno kot se nevronska mreža nauči prepoznavati vzorce, čeprav nikjer v njej ni zapisano pravilo, kako se denimo krog razlikuje od kvadrata.

Nasprotno pa je simbolni pristop k umetni inteligenci bolj podoben načinu, kako se novega jezika učimo odrasli, ko si poskušamo zapomniti slovnična pravila. Preprosto rečeno so algoritmi, podobno kot slovnična pravila, zaporedja natančnih navodil, ki računalnikom povedo, kaj morajo v posameznem trenutku narediti. Običajno algoritme napišejo programerji, ki poskušajo vnaprej predvideti vse mogoče okoliščine in računalnik pripraviti, da se bo znal nanje pravilno odzvati.

Strojno učenje pa k tvorjenju algoritmov pristopa bistveno drugače, saj ne potrebuje programerjev. Računalnik postopoma sam zgradi algoritem, ki ga proizvede s pomočjo učenja ob podatkih o že rešenih nalogah. Bolj natančno rečeno imamo v primeru strojnega učenja na začetku neki univerzalen algoritem, ki se zna učiti. S pomočjo vedno novih podatkov se nato z učenjem izboljšuje oziroma se preoblikuje v algoritem, ki zna dobro reševati konkretno nalogo.

Ker algoritmov pri strojnem učenju nihče ne ustvari načrtno, ampak se s postopnim izboljševanjem vzpostavijo sami, jih dojemamo kot nekakšne črne škatle, za katere nihče ne ve natančno, kaj v njih pri nekem vstopnem signalu pripelje do določenega odgovora. Tako ustvarjene algoritme lahko primerjamo s človeško intuicijo, ko odgovor na vprašanje preprosto začutimo, ne znamo pa pojasniti, kako smo do odgovora prišli.

Obstaja več različnih pristopov k strojnemu učenju, ki pa jim je skupno to, da se znajo njihovi izvorni algoritmi na podlagi podatkov avtomatsko učiti in izboljševati. V jedru raziskav na področju umetne inteligence in strojnega učenja je zato iskanje čim boljšega univerzalnega algoritma, ki bi se znal hitro in zanesljivo učiti najrazličnejših nalog.

Eden takšnih univerzalnih algoritmov za učenje so večplastne nevronske mreže, ki se jih je prijelo ime globinsko učenje (deep learning). Izkazalo se je namreč, da nevronske mreže za učinkovito učenje potrebujejo razmeroma veliko plasti nevronov, ki so različnih tipov in se ponavljajo v prekrivajočih se vzorcih. Prav tako potrebujejo zelo veliko podatkov, s pomočjo katerih se lahko učijo.

Za hiter napredek umetne inteligence zadnja leta je bil zelo pomemben tudi razvoj grafičnih kartic oziroma sistemov več tisoč procesorjev, ki lahko delujejo vzporedno, se pravi drug ob drugem. Sprva so jih razvili za izračunavanje računalniške grafike recimo v igricah, a se je kmalu izkazalo, da lahko takšni procesorski sistemi zelo pospešijo tudi računanje nevronskih mrež.

Na tekmovanjih zmagujejo nevronske mreže

Od leta 2010 potekajo tekmovanja v strojnem vidu, ki so pomembno vplivala na renesanso umetne inteligence in na preporod raziskovanja umetnih nevronskih mrež. Za sodelovanje na tekmovanju je treba predložiti algoritem, ki ga nato uporabijo za klasificiranje 100.000 slik iz vsakdanjega sveta.

Na tretjem tekmovanju, ki je potekalo septembra 2012, je nevronska mreža SuperVision, ki so jo razvili na Univerzi v Torontu, pravilno prepoznala kar 85 odstotkov slik, kar je bil za tisti čas izjemen uspeh. Ključno za njeno dobro delovanje pa je bilo, da so pri učenju algoritma uporabili novo obliko nevronske mreže, ki je imela kar 30 plasti nevronov. Za nadaljnji hiter razvoj je bilo zelo pomembno tudi to, da je dala zmagovalna ekipa svoje programe v prosto uporabo.

Naslednje leto je isti ekipi uspelo rezultate še izboljšali, saj je bilo napačnih določitev slik le še 11,2 odstotka. Leta 2014 je nato zmagal Googlov algoritem z zgolj 6,6 odstotka napak, leta 2015 pa je Microsoft s kar 152 plastmi nevronov v svojem algoritmu dosegel zgolj 3,5-odstotno napako, kar je menda bolje od povprečnega človeka, ko poskuša hitro prepoznavati podobe na slikah.

Zaradi velikega uspeha nevronskih mrež in globokega učenja na področju umetnega vida so začeli enak pristop z velikimi uspehi uporabljati tudi za prepoznavanje govora, prevajanje, igranje strateških iger in druge podobne veščine, za katere se je dolgo časa zdelo, da jih umetna inteligenca še zelo dolgo ne bo znala izvajati podobno dobro, kot jih znamo ljudje.