Foto: Pixabay

V zadnjih nekaj letih se povsod okoli nas pojavljajo izrazi, kot so strojno učenje, globoko učenje, nevronske mreže in podobno. Umetna pamet hitro napreduje. Širi področja, kjer je od človeka boljša. Že dolgo namesto nas računa, digitalni kalkulatorji so z nami že več kot pol stoletja. Človeške igralce prekaša v številnih igrah: šah je padel že davno tega, zdaj se majejo poker in zahtevne spletne igre, kot sta League of Legends in Starcraft. Umetna inteligenca trguje na borzah, proučuje rentgenske posnetke v iskanju znakov bolezni, odgovarja na vprašanja ...

Za vsem tem dogajanjem stoji množica programerjev. Bedijo nad algoritmi, jih popravljajo, usmerjajo, včasih pa tudi odprtih ust gledajo, česa so njihovi "varovanci" sposobni. Med njimi je Joe Dumoulin, ki poučuje strojno učenje in programiranje na dveh ameriških univerzah ter razvija algoritme umetne inteligence v zasebnem sektorju.


Še pred kratkim, recimo do leta 2014, je bila umetna inteligenca skorajda obrobna tema. Nato je v samo nekaj letih eksplodirala in je danes ena najbolj vročih tem sploh. Podjetja vznikajo kot gobe po dežju, preroki nam rišejo utopije in distopije prihodnosti. Kaj je vzrok tej eksploziji, kaj se je spremenilo v zadnjih nekaj letih?
Zame je relevantnejše leto 2010, ko je prišlo do "eksplozije" globokega učenja. Na področje splošne javnosti – o slovenski sicer ne morem soditi – pa je umetna inteligenca res prodrla nekaj let pozneje. Kateri so razlogi? Precej jih je; najdemo jih v hitrem, sočasnem napredku na številnih področjih, povezanih z globokim učenjem.

Dogaja se tudi neke vrste demokratizacija tehnologije. Tako za podjetja kot za vlade je postalo enostavno najeti strokovnjake in jim naložiti razvoj nekaj uporabnega na področju umetne inteligence. Recimo, analitična orodja, ki pripomorejo k učinkovitosti.
Dober primer je Googlov prevajalnik. V zadnjih letih so prevajalske tehnologije precej napredovale. Zdaj lahko obiščete nemško spletno stran in jo hipoma prevedete v angleščino ali kaj drugega. In dandanes so takšni prevodi večinoma slovnično pravilni, prevedene besede večinoma prave. Prevod seveda ni popoln, a če ga primerjate s tistim pred petimi leti, je neverjetno boljši. In vse to je omogočilo globoko učenje, ki ni več nekaj abstraktnega, temveč ima neposreden vpliv na vsakodnevno življenje ljudi.

Pri interpretaciji IQ-ja veliko manipulacije

Lahko pojasnite, kaj točno pomeni strojno učenje?
Pojem umetne inteligence je zelo širok in ohlapen. Že če pogledamo sami besedi umetna inteligenca, ne vemo točno, kaj zaobjameta. In kako se sploh lotiš takšnega slabo definiranega pojma? Znanstveniki so ubrali svojo pot. Poskušali so si predstavljati, kaj izraz pomeni, in ga zdrobiti na manjše sestavne dele, te pa na neki način zapisati. Tako pač znanost deluje. Zgrabiš zelo zapleten, odprt problem, ga sesekljaš na manjše koščke in jih poskušaš modelirati. Eden izmed sestavnih kosov inteligentnosti je učenje in mi ga poskušamo modelirati. Ugotoviti hočemo, kako lahko vzameš stroj in ga navdaš z zmožnostjo učenja, pa naj bo to učenja postopka ali napovedovanja. Poenostavljeno, hočemo, da se stroj lahko sam priuči nekega vzorca.

Vzorci pa so tradicionalni zelnik računalniškega programiranja, kjer pač vzameš neki vzorec in ga poskušaš preleviti v nekaj, kar lahko stroj ponavlja. To je pač ... računalniški program. In pri strojnem učenju ga želimo naučiti, da lahko sam napiše majhen program, omejen algoritem, ki mu rečemo model. Model zaobjema neko predstavo o svetu.

Odličen primer je ravno prevajanje. Prevajanje temelji na nekem postopku, ki ga ne razumemo dobro. Tudi tisti, ki govorimo tri, štiri jezike, prevajanja zares ne poznamo, in bolje kot obvladamo neki jezik, manj je tega ... slabo poznanega postopka. Ko se začneš učiti jezika, moraš aktivno tuhtati, kaj točno pomeni neka beseda, in stavke tvoriš z visoko stopnjo miselne dejavnosti. Sčasoma je tega vedno manj. Besede začneš tkati skupaj s pomočjo ponotranjenih vzorcev. O njih ne razmišljaš.

Težko je napisati jasen algoritem za prevajanje. Računalniški programerji so se dolgo ukvarjali s pisanjem jasno zastavljenih programov za npr. prevajanje med angleščino in nemščino. Ampak to je nemogoče, resnično nemogoče! Na koncu dobiš zmešnjavo. Ker lahko zaobjameš vso slovnico, vključiš vse besede, ampak pravila se spreminjajo. Beseda spreminja pomen glede na okoliščine in vseh enostavno ne moreš zapisati.

Pri globokem učenju smo se s tem sprijaznili. Naš postopek je drugačen. Vzamemo kopico primerov, npr. stavek in njegov ekvivalent v drugem jeziku, in jih vtaknemo v naše orodje za učenje. Teh orodij je cel kup, globoko učenje je eno izmed njih. No, več primerov kot damo v naše orodje za globoko učenje, boljše postane. Več jezikov kot prejme, več izkušenj kot ima z njimi, bolj se izbrusi. Na koncu izdaja takšne prevode, da jih lahko ljudje berejo in razumejo. To je učenje. Ideja, da se lahko računalniški sistem nečesa nauči skozi podatke.

Kakšna pa je razlika med strojnim učenjem in globokim učenjem?
Globoko učenje je metodologija za ustvarjanje modela v kontekstu, ki sem ga pravkar opisal.

Pri vsakem strojnem učenju vnašaš podatke in ustvarjaš model. Eden izmed načinov, kako to početi, je globoko učenje. Je dokaj sodobno in učinkovito, a obenem se od preostalih načinov ne razlikuje preveč. Večina metod strojnega učenja je enostavnih in lahko razumljivih, če se le malo ukvarjaš z njimi. A imajo eno težavo: koristno lahko obdelajo le omejeno količino podatkov. Modele strojnega učenja smo v preteklosti hranili s podatki, a na neki točki so se prenehali izboljševati. Če smo jih še kar dodajali, so se lahko celo poslabšali.

Globoko učenje je drugačno. Več podatkov kot natrpaš, boljše se uči. Še in še dodajaš, vedno bolje mu gre. Daš mu milijon primerov in lepo teče, daš milijardo, še lepše. In to drži za veliko večino aplikacij, ki uporabijo globoko učenje.

Ampak v samem temelju se globoko učenje od drugih metod bistveno ne razlikuje. Ima tudi nekaj negativnih strani, in lahko jih naslovimo, če želite.

Z veseljem, ampak najprej me zanima, v čem je razlika? Zakaj globoko učenje bujno uspeva na veliki množici podatkov, medtem ko se "navadno" strojno učenje lahko zadavi?
Inženirska orodja, na katerih temelji globoko učenje, so ustvarili v 80. in 90. letih prejšnjega stoletja. Z nami so torej že dolgo. Lahko jih najdeš v kakšnih starih knjigah, bolj verjetno v zaprašenih akademskih člankih, ker so bila dokaj nepopularna tema. Predvsem zato, ker je bilo vse skupaj nerealistično. Rekli so, češ, saj je vse skupaj videti zanimivo, ampak nikoli ne bo izvedeno, ker tega noben računalnik ne zmore. In tu je bistvena razlika. Sodobni računalniki so zelo, zelo močnejši od preteklih. Tako zelo, da so metode prešle iz teoretiziranja, iz sfere reševanja nekih hipotetičnih problemov v realni vsakdan.

Druga velika sprememba se nanaša na količino podatkov, ki jih zberejo o nas ali o svetu. Eksponentno se povečuje. Spomnite se, koliko ljudi je pred desetimi leti imelo prenosne telefone. Veliko. Danes praktično vsak. Nosim ga s seboj dan za dnem, povsod me spremlja in zbira podatke. Kje sem in kam grem. Koga kličem. Koliko ljudi je priključenih na določeno mobilno anteno ... Informacije o vseh področjih življenja. Katere spletne strani si obiskal, kakšne informacije iščeš, vse to o nas zbirajo. Naj bo to dobro ali slabo, dogaja se. In največ se uporablja za oglaševanje. Za oblikovanje vsebin, ki nam jih prikazujejo. To je tudi ena od isker, ki je sprožila eksplozijo globokega učenja.

Na univerzi poučujem globoko učenje. Skorajda vsi so zelo razočarani, ko ugotovijo, kako deluje, kako banalno in obvladljivo je vse skupaj. Problem je predvsem, kako dobiti zadostno količino podatkov. In v kontekstu oglaševanja je podatkov ogromno. Veliko jih je tudi na področju jezika in prevajanja.

Da povzamem, računska moč in količina dostopnih podatkov sta pognali napredek.

Je glede na to, koliko podatkov zberejo, neizogibno, da nas bodo nekoč Kitajci prehiteli na področju umetne inteligence?
Menim, da je to neizogibno. K problemu pristopam s statističnega vidika, in to z dobrim razlogom. Poglejmo, kako je populacija segmentirana in kdo se lahko izobražuje in kdo ne. Če 0,1 odstotka populacije Kitajske dobi diplomo iz inženirstva in 0,01 odstotka Slovenije dobi to diplomo, koliko inženirjev ima Slovenija? Morda jih ima dva tisoč. Kitajska jih ima 1,3 milijona. To je pomembna razlika. 1,3 milijona ljudi pač lahko opravi precej več inženirskega dela, in če se osredotočajo na umetno inteligenco, precej več razvoja umetne inteligence. Njihova prednost je več redov velikosti, ne le od Slovenije, tudi od ZDA.

Veliki kitajski brat: prva digitalna diktatura

To je en pristop. Drugi je: več kakovostnih vhodnih podatkov kot imaš, boljšo umetno inteligenco lahko natreniraš. In Kitajska ima precej več podatkov o svojih državljanih, enostavno zato, ker ji je manj mar za človekove pravice. Bomo zaostali, ker ščitimo zasebnost?
To je dobra ugotovitev. Res je. Če so tako zagnani pri zbiranju podatkov – in videti je, da so – potem bodo tudi hitreje razvijali orodja, ki na teh podatkih temeljijo. In če nas zanima zbiranje podatkov na teh področjih, potem bodo Kitajci pač imeli boljša orodja od nas. Izpostavljam predvsem področji oglaševanja in družbenega nadzora, ker menim, da se prekrivata v tipu podatkov, ki jih potrebujeta. In zato nas lahko telefoni, ki neprestano prisluškujejo, naredijo živčne.

Če strnem, orodja za zbiranje podatkov v nadzorovalne namene že obstajajo. So ista orodja kot za oglaševanje. Zato menim, da jih lahko vse skupaj priženejo na še precej višjo raven, zberejo resnično ogromne količine podatkov o ljudeh in uporabijo tehnike globokega učenja za še boljše rezultate.

Na daleč je videti, kot da samo spustite algoritme na delo in se potem sami razvijejo. V resnici pa se morate ves čas z njimi veliko ukvarjati, jih popravljati, usmerjati. Pri tem ste kot pastirji, ki spustite čredo na pašo, ji pustite, da nekoliko vandra okoli, a ves čas držite oko na njej in ponekod popravljate smer. Umetno inteligenco v bistvu vzgajate.
Na neki način smo res pastirji [smeh]. Ampak mislim, da smo bolj primerljivi z avtomobilskimi inženirji z začetka stoletja. V zgodnjih dneh avtomobilizma si kupil vozilo in šel naokoli, pa ponoči nisi imel nobenih uličnih svetilk. Vsi so se ti morali umikati, na ulici je bilo ogromno konjev, no, takšne stvari. In kdor je avtomobil načrtoval in izdeloval, se je spopadal s številnimi dodatnimi izzivi. Nihče ti ni povedal, kakšen je pravilen vrstni red nalog pri izdelavi, vozilo je bilo občutljivo na tresljaje ... Pa še vožnja po dežju je bila najbrž grozljiva. Veliko je vidikov. No, danes smo prilezli do udobnih avtomobilov, ki so proizvedeni na skoraj avtomatiziran, industrijski način. Tudi umetna inteligenca bo nekoč prišla do te točke. Algoritme bodo prinegovali v skorajda industrijskem okolju. Morda boš najel nekaj analitikov, ki si bodo ogledali konkreten problem in ga malo pretuhtali, in nato bodo prišli na dan s spolirano rešitvijo, ki jo bodo še vzdrževali. Tako da, v tem smislu smo še pastirji, ampak bolj inženirji. Imamo svoje algoritme in jih popravljamo, brkljamo in bezamo vanje, da vidimo, kaj je bolje in kaj škodljivo. In ... ko to počneš mesece in mesece, postane kar dolgočasno. Morda kot pastirjem. Heh, na tak način še nisem razmišljal o svojem poslu.

Pri svojem poslu iščete konkretne uporabnosti umetne inteligence za naročnika. Hipotetično, kako bi lahko pomagali novinarju ali medijem?
Hja, ne vem, moral bi se poglobiti v vaše delovne procese. Navadno ne začenjamo kar z umetno inteligenco, temveč poiščemo probleme. Potožite, da imate dovolj takšnega načina dela, to me stane veliko denarja in časa, in podobne zadeve, ki se pojavljajo v poslovanju. Države pa potožijo, da imajo težave z implementacijo neke politike, in iščejo način, kako zvišati učinkovitost. To so vse skupaj zelo odprti problemi. Potem fokus zožimo in poskušamo poiskati konkretno rešitev. Če imamo pomanjkanje sredstev, se osredinimo tja, kjer so zaposleni trošili veliko denarja, na primer za najemanje prevoza. Kako lahko to izboljšamo? Dajmo optimizirati, kdaj ljudje potujejo? Ne vem točno, česa bi se lahko lotil pri vas novinarjih, ker ne vem, s katerimi težavami se spoprijemate. Problem lahko opredelimo kot nekaj, kar se ponavlja in kar vas prisili, da se sredi dela ustavite in se mu posvetite s svojim časom vred. Kaj pa, če vam ne bi bilo treba, če bi ta proces potekal nekje za vaših hrbtom, ko se posvečate drugemu delu? To iščemo. Enolične, dokaj preproste naloge, pri katerih moraš razmišljati sekundo ali dve in potem nekaj izvesti. To je dober material za strojno učenje.

Nam lahko predstavite en dober primer?
Seveda. V našem podjetju med drugim izdelujemo klepetalne bote. Pogosto delamo za klicna središča. Operaterji imajo širok nabor stvari, ki jih lahko storijo. Res širok. Izkaže se, da večina ljudi od njih želi le nekaj specifičnih storitev. Tako lahko postaviš bota, ki najprej pobara za teh nekaj zadev, in če ne sovpadajo s poizvedbo, potem gre klic naprej do pravega človeka. To je en izmed načinov, kako podjetje prihrani čas in denar. Zaposlenim je prihranjeno odgovarjanje na ponavljajoča se, enostavna vprašanja, npr. ali lahko spremenim geslo, kakšno je moje stanje na računu. Obenem morajo biti pametnejši, saj se spopadajo z bolj kompleksnimi problemi. Klicno središče tako opravi več dela in podjetje je bolj učinkovito.

Tudi pri zapletenejših zadevah je lahko UI v pomoč. Posluša klicatelja in delavcu namigne, v kateri smeri lahko išče informacije. Podjetje ima lahko cel kup nekih notranjih dokumentov in politik, ki so obsežne, morda zmedeno sestavljene. UI ima pregled nad njimi in delavcu z namigom, češ, poglej v navodilo E16, prihrani veliko časa. Gre torej za neke vrste notranji iskalnik po podjetju, ki boljši od Googla, saj je ta namenjen splošnemu iskanju, medtem ko je bot prilagojen notranjim potrebam družbe.

Človek prihodnosti med fikcijo in realnostjo

Ob vsem tem se zdi, da umetna inteligenca hitro napreduje in je zelo lucidna. Potem pa te strokovnjak za umetno inteligenco opomni, da ne more razumeti enega samega odstavka iz Rdeče kapice.
Tako je.

Zakaj je razumevanje besedila za umetno inteligenco tako težko?
To je odlično vprašanje. Zakaj je tako težko razumeti jezik? Iskreno, o tem lahko razpravljava cel dan!

O, torej ste tudi košček jezikoslovca?
Tovrstni izzivi so mi izjemno zanimivi. Naredimo en korak nazaj in se vprašajmo, kaj je razumevanje? Recimo, da nas profesor posede enega po enega in nam da nalogo, naj zapišemo definicijo razumevanja, en odstavek ali mini esej. Prepričan sem, da bi vsak zavil nekoliko po svoje. Če nam profesor poprej razloži svojo definicijo, se bo to do neke mere poznalo na naših, a enotne ne bo.

Za nas ljudi je razumevanje tiste vrste koncept, ki ga prepoznamo, če ga vidimo. Ne znamo pa ga lepo opisati. In če ga ne moreš dobro definirati, ga tudi ne moreš preliti v matematični jezik, ne moreš zgraditi neke matematične teorije okoli njega. Posledično ne moreš napisati nekega učinkovitega računalniškega programa. Na koncu se ne sprašujem več, kaj v resnici in točno pomeni razumeti, temveč v tem sodobnem digitalnem svetu želim le izvedeti, kaj vi mislite, ko nekaj rečete.

Tako na primer posedemo skupino ljudi in jih prosimo, naj naročijo pico. Želim pico, naročam pico; hočem pico, prosim; naročam ananasovo pico. Hočem slišati vse, kar ljudje povedo, ko naročajo pico, in nato računalnik naučiti, da izvede potrebna dejanja. Ampak to ni pravo razumevanje. Le računalnik, ki ob določeni povedi odda določen element.

Morda bi tudi temu lahko rekli razumevanje.
Ampak kaj je v resnici razumevanje? V tem primeru pomen označuje človek, ne program. Računalnik pa bo na podlagi podatkovnega pristopa in strojnega učenja postavil sistem pravil, ki pripeljejo do odgovora.

Če rečem, da vadim pico ali da hočem sladoled, računalnik ne bo vedel, kaj storiti. Odziv bo napačen. To smo doživeli vsi, ko smo govorili s takšnimi sistemi. Poveš nekaj malo drugačnega in te računalnik ne bo razumel, pozval te bo, če lahko poveš na drug način.
Takole pač stvari stojijo in bodo ostale še lep čas, vsaj po mojem mnenju. Razumevanje in algoritmi vsak na svojem bregu.

Se spomnite primera klepetalnega bota, ki se je pretvarjal, da je 14-letno dekle in marsikoga tudi pretental, s tem pa na nek način prestal Turingov test?
Se spomnim, dobil je Loebnerjevo nagrado.

Pa je vas prepričal?
Ne. Sploh ne. Ker se sploh ni tako težko poigrati z ljudmi. Ko postavljaš klepetalnega bota, še posebej, če imaš Loebnerjevo nagrado v mislih, je tvoj namen izpeljati zanimiv klepet in pri tem človeka spodbujati, da ostane znotraj omejenih okvirjev. To se včasih lepo posreči. Vprašaš vprašanje, bot odgovori, vprašaš še nekaj, bot odgovori in namigne na prejšnje vprašanje.

Zame, navadnega smrtnika, je zelo čudno, da računalnik premaga človeka v šahu in pokru, in celo v nekaterih kompleksnih medmrežnih videoigrah, a hkrati ne more razumeti nekaj preprostih povedi.
Strojno učenje pač ne deluje tako kot človeško učenje. To je odgovor na vaše vprašanje v najširšem smislu. Pri strojnem učenju pogosto dobimo rezultate, ki so nam znani, ki so na neki način človeški, a predvsem zato, ker je neki človek zastavil pravila in označeval relevantne elemente. In stroj se potem uči na temeljih, ki jih je izdelal človek. Tu je veliko priložnosti, veliko prostora za alternative.

Raziskovalci se precej ukvarjajo z razliko med človeškim in strojnim učenjem. Kaj je drugače? Ena izmed razlik se lepo pokaže pri vizualni prepoznavi predmetov na sliki. Veliko raziskav je že bilo objavljenih na to temo, dobrih raziskav, kako algoritmi vidijo stvari. Recimo, da želim model, ki razlikuje med psi in mačkami. Lahko ga na neki način učim proti nazaj. Pokažem mu podobo naključnih barv in on gleda, ali je na njej pes ali mačka. To je vse, kar zna, po možnosti kar slabo. Izboljšam ga lahko skozi prepoznavo količine napak na sliki, možnosti napak, torej skozi neko prilagojeno številko, ki jo nato pošljem skozi mrežo v nasprotni smeri in postopek nekajkrat ponovim, vse dokler ne model na fotografiji v 99 odstotkih primerov vidi psa. Modela sploh ne spreminjam, temveč uporabljam način, kako se uči, za spreminjanje slike. Isti sistem, le da teče v nasprotno smer.

Na koncu dobiš sila zanimivo podobo, ki niti približno ni videti kot pes. Ugotoviš, da tisto, kar sistem razume kot psa ali mačko, niti približno ne ustreza našemu videnju psa. Sistem prepozna druge značilnosti kot mi. To je neverjetno zanimiv rezultat, ki ima občutne posledice, med drugim na to, kako mi razumemo in uporabljamo produkte globokega učenja. Jim res lahko zaupamo? Ko rečejo 'da', ne mislijo iste stvari, kot mi, ko rečemo 'da'. Na tej ravni imamo nekaj čisto filozofskih težav.

Morda so ti algoritmi šele na začetku krivulje učenja. Če bi jih dali na drevo življenja, bi padli nekje med bakterije in arheje. Mi, živa bitja, imamo za seboj milijarde let evolucije, strašno dolg čas, v katerem je evolucija lahko vtisnila lekcije v dednino, v način, kako deluje naša zavest. Na kratko, v nas so odtisnjene milijarde let učenja, ki jih umetna inteligenca, pa naj se uči še tako hitro, ne bo mogla kar tako nadomestiti. Za to bodo najbrž potrebna desetletja, če ne še precej več časa.
Bi rekel. Za pravo umetno inteligenco bi verjetno potreboval robota, ki se desetletja uči kot mi. Od otroka do odraslega. Ta tema me zelo zanima, veliko tuhtam o njej, opazujem moja dva vnuka in analiziram, kako se učita. Opazujeta, preizkušata, poskušata ... Ampak, če se v zadevo zares poglobiš, vidiš, da otrok zares potrebuje drugo osebo, s katero vzpostavi odnos. In takrat se učenje resnično začne. Odnos je pomemben temelj inteligentnosti, in inženirji to preradi pozabimo. Družina je odnos, šola je odnos, prijateljstvo je odnos, vse to vpliva na naše učenje. Kakšna vprašanja postavljamo mami, kakšna prijateljem, pa družici? Različna. Naša inteligentnost je do neke mere sestavljanka izkušenj, ki smo jih pridobili skozi različne odnose.

Računalniki tega nimajo. Prav ničesar takega nimajo. Vse, kar lahko naučimo računalnik, je na matematičen način, tisto, kar se lahko pove skozi jezik matematike. Mi si lahko predstavljamo vstop v svet računalnikov. Računalnik pa težko pride k nam. Družbeni vidiki, psihosocialni vidiki učenja, vse to je resnično španska vas za računalnik. Vsaj za zdaj. Družbenega jaza nima. Tudi iz tega lahko sklepam, da bo inteligentnost v računalnikih počasi rasla.

Torej menite, da bi morali računalniki vzpostaviti svojo družbo [smeh]? No, saj imamo medmrežje ...
... haha, morda. Kot ste dejali o evoluciji, razvili smo se kot družbena bitja. Takšni smo. Včasih si tega nočemo priznati, ker se hočemo počutiti močni, biti vase zaverovani posamezniki. A ne moremo mimo tega, da je družbena interakcija daleč najpomembnejši vidik življenja, vsaj kar se tiče učenja. Tvoje sebstvo je nekaj, kar se razvije v možganih. V računalnikih pa je vse precej mehansko. Naučijo se samo tistega, kar jim naložimo, in učijo se samo toliko, kolikor jim ukažemo.

Vrniva se za trenutek na ono misel, da če programu strojnega učenja damo neko količino podatkov, se lahko učinkovito uči, če pa mu daš preveč, se mu zaleti in se neha učiti. Mi se ne učimo tako, niti v današnjem podatkov polnem svetu. Skozi čas postajamo vse boljši in na neki točki strokovnjaki v nečem. Kaj pa pomeni biti človeški strokovnjak? Na neki način je to sposobnost iskati ne samo pravila, ampak izjeme. Nenavadne, robne primere, ki pritegnejo našo pozornost, ki jih proučimo in ponotranjimo. Kot znanstvenik proučujem različne vidike tega procesa in jih vgrajujem v svojo teorijo. Računalniku lahko medtem pokažeš dva podatka in ne vidi nobene prave razlike. Ne ve ničesar, samo to, kar mu ti poveš.

Ko ste že nekoliko zajadrali v modroslovne vode ...
... haha, nemogoče se jim je izogniti.

Predpostavimo, da bi lahko možgane razbili na različne sestavne dele, module. Različna čustva, racionalnost, podzavestni fizični odzivi in druge kognitivne funkcije. A obstaja kakršna koli konceptualna ovira, da ne bi mogli vsakega od teh modulov simulirati v računalniku?
Hmmm ... Modularni pristop je bistven za znanost. Vedno hočemo razbiti problem na kosce. A to ni nujno vedno prav, to ni nujno vedno res. Znani statistik George Box je avtor izreka, ki ga lahko pogosto vidimo na medmrežju: vsi modeli so napačni, nekateri so uporabni. In vemo, da to drži. Takoj ko poskušaš ustvariti model sveta, moraš izpuščati stvari.

Ustvarjaš približek.
Točno tako. Približek je uporabna zadeva, ni pa resnica v polnem pomenu. Najbrž je to pomembno pri razmisleku o možganih. Morda bi jih lahko razbili na številne elemente, jih morda celo uspeli emulirati in rešiti marsikateri problem. Ampak dejstvo je, da so možgani ena velika zmeda, kjer vsi ti moduli nenehno vplivajo drug na drugega. Če si enega izpustil, si izpustil bistvo, bistvo tega, kaj pomeni biti oseba in ... ne bom rekel človeštvo, ampak inteligentnost in razumevanje sta tudi globoko vtkana v vse to.

Saj, mogoče bi lahko najprej simulirali vse te module, nato pa jih staknili skupaj. Morda, iščem samo odgovor, ali je kakšna neobhodna ovira že na teoretični ravni, da računalnik tega nikakor ne bi zmogel. Potem bi lahko počeli marsikaj. Recimo, če bi vzeli simuliran čelni reženj človeka, kjer opravimo večino naših racionalnih operacij, in jih posadimo na virtualne možgane mačke. Kako bi potem dojemala svet?
Veliko se sprašujem, kaj pomeni biti inteligenten in kako lahko inteligentnost ločimo od našega sebstva. Ne vem, če to lahko kot ljudje storimo. Inteligentnost je sicer zelo zmedena zadeva, pa nočem nič slabega s tem, le zelo je slabo definirana. Je skoraj pesniški koncept, ne pa nekaj, kar bi lahko izpraskali iz človeka v neko ločeno škatlico.

Ste že slišali za Fransa de Waala? Danec je, ki proučuje prvake (primate). Napisal je zelo zanimivo knjigo z naslovom Bonobo in ateist. Marsikdo misli, da je altruizem izključno človeška lastnost, on pa je to našel v skupinah bonobov. Ko je eden poškodovan, sledita pomoč in nega. Njihove družbe so strukturirane, imajo pravila, ne sicer enaka kot naša, ampak nekaj je podobnosti, kar je smiselno, saj smo si v sorodu. Precej čustev in na čustvih utemeljenih ravnanj izkazujejo, ki bi jih navadno pripisali ljudem. Vse spodbujam k branju te knjige, pa še nekaj podobnih je napisal. Zanimive so tudi razlike med šimpanzi in bonobi. Ne predstavljam pa si, kako bi lahko kombinirali različne možganske module teh živih bitij. Možgani so nastali skozi dolgo evolucijo in so izjemno zapletena zmeda.

Torej lahko predpostavim, da se ne strinjate s Kurzweilovo napovedjo, da bomo v nekaj desetletjih lahko simulirali delovanje možganov v laboratoriju, posledično lahko priklopili svoje v stroj in se podvrgli izkušnjam in svetovom, ki se nam bodo zdeli resnični?
Absolutno se ne strinjam. Ne v 20 letih. To je stoletni problem, ker po mojem mnenju ne bo uporabno razrešen v času nikogar od danes živečih. Po tem razdobju pa je nemogoče z gotovostjo napovedati kar koli.

Mogoče imamo ali pa bomo relativno kmalu imeli rešitve za manjše podmnožice inteligentnosti. Ampak postaviti koncept inteligentnosti, kot ga človek danes razume, v računalnik ... to je še zelo daleč.

Ena bistvenih razlik med današnjimi oblikami umetne inteligence in človekom je v prenosu spoznanj. Človek lahko veščine in lekcije z enega področja učinkovito prenaša na druga, računalnik pa ne. Ali pač? In kako daleč smo tukaj?
Do neke mere se to dogaja že danes. Obstaja zadeva, ki se imenuje prenosno učenje (ang. transfer learning). Vzemimo en primer globokega učenja: imam stotine milijonov vrstic besedila za prevajalni sistem. Nato ta sistem izvežbam do precej visoke ravni. Kar pa zares hočem, je, da se ta sistem še posebej dobro izuči za dokumente mojega podjetja, ali pa vladne dokumente. Recimo v kakšni dvojezični državi, kot je Kanada.
Torej ne vežbam sistema za splošen jezik, temveč za jezik vladnih dokumentov, kar sta dve različni zadevi. Zato vzamem ta splošen sistem in ga nahranim s svojimi podatki, da se izboljša na želenem področju. In to je dejansko zelo zahteven problem, zato iščemo lažji način.

Ideja prenosnega učenja gre takole: ustvariti želimo jezikovni model na podlagi sistema globokega učenja, ki mu odvzamem odločevalski del, ohranim pa samo interno logiko sprejemanja odločitev kot neki model jezika. In potem na koncu dodam svoje stvari in na začetku nove podatke. Nato uporabim zamrznjen jezikovni model, ki predstavlja splošni jezik, da izpopolnim jezik sistema.

A sem vsaj približno razumljivo povedal?

Zelo se trudim ...
Vse skupaj je precej abstraktno. Vzemimo en primer. Imamo sistem, ki mu daješ fotografije, in sposoben je na njih prepoznati morda dva tisoč različnih zadev. Takšen sistem se dolgo trenira in potrebuje ogromno podatkov. Potem vzamem ta sistem in želim, da je specifično sposoben prepoznati mačko ali psa. Odvzamem mu odločevalski modul z dva tisoč stvarmi, ki jih meri. Na konec vtaknem košček s psom ali mačko. In nato na začetnem delu dodajam ogromno fotografij psov in mačk. Osrednji del se nič ne spreminja in se nič novega ne nauči. Ampak tistih nekaj posameznih plasti, ki sem jih dodal na koncu, ti se lahko spreminjajo, in to zelo podobno navadnemu učenju, le da je vse skupaj zelooo hitrejše, kot da bi od začetka treniral to ogromno omrežje. Vežbam samo ta majceni košček. To dejansko deluje in je dejansko še učinkoviteje, kot če bi šel po navadni, dolgi poti. To je prenosno učenje, prenašanje lekcij z ene naloge na drugo. To so izumili šele pred kakšnim letom. Zdaj to uporabljajo za jezik in je zelo pomembno za t. i. ekstrakcijo entitete, na primer, učenje, kako izbrskati predmete iz besedila, ideje in podobno. Prenaša se tudi na področje, na katerem delam sam, in sem zelo navdušen.

Resnično ste pastir algoritmom.
To bo moj nov uradni naziv na delu [smeh].