Teadlased tegid 8. klassi tasemetöö lahendava tarkvara: tehisintellekt saab väga targaks, aga inimene on mitmekülgsem

Pane tähele! Artikkel on ilmunud enam kui 5 aastat tagasi ning kuulub Geeniuse digitaalsesse arhiivi.
narvivork.jpg

Kaks Eesti arvutiteadlast, kes tegelevad arvuti tehisintellekti arendamisega, saavutasid eelmisel kuulMoskvas toimunud võistlusel "Kaggle Allen AI Science Challenge" 780 meeskonna seast neljanda koha. Nad onTartu ülikooli (TÜ) arvutiteaduse instituudi töötaja Tanel Pärnamaa (fotol vasakul)jainformaatika doktorant Tambet Matiisen, kes lõid võistlusel tehisnärvivõrgu põhimõttel toimiva programmi.

Nende ülesanne: kirjutada tarkvara, mis suudab ära teha8. klassi valikvastustega tasemetöö. Matiisen ja Pärnamaa rääkisid, mida tehisintellekt ja tehisnärvivõrk üldse tähendavad ja kuidasnad neid arendavad.

Kas võistlusel osalemine oli seotud teie igapäevase uurimistööga või tegite seda hobikorras?

Tanel: Igapäevaselt tegelen tehisnärvivõrkude rakendamisega bioloogilistele piltidele. Magistritöös õpetasin närvivõrke inglise keelest eesti keelde tõlkima, teksti meelsust hindama ja pilte eestikeelsete lausetega kirjeldama.

Kuigi automaatse eksami lahendamise süsteemi ehitamine pole minu igapäevane töö, siis masinõppe algoritmide ja seega ka närvivõrkuderakendamisel kanduvad sarnased ideed eri valdkondade vahel (nii ajulainete, bioloogiliste piltide, videode, kui ka teksti mõistmiseks). See aitas edukalt ka võistlusel osaleda.

Tambet: Olen doktorant TÜarvutiteaduse instituudis ja minu uurimisteemaks on tehisintellekt ning tehisnärvivõrgud. Nagu juba öeldud, on tehisnärvivõrgud universaalne meetod, mida rakendatakse paljudes esmapilgul erinevates valdkondades, nagu näiteks objektide tuvastamine piltidelt, kõnetuvastus, masintõlge jne.

Minu kitsam huvi on närvivõrkude rakendamine arvutimängude õppimisel. Arvutimängud pakuvad tehisintellekti uurijatele huvi, sest need on välja mõeldud inimese, mitte arvuti jaoks; need välja mõeldud sellisena, et need oleksid inimesele keerulised; ning lõpuks on nendega lihtne ja odav katseid teha, ei ole tarvis kallist masinavärki nagu robootikas.

Teie võistlusel osalenud tehisintellekt oli loodud tehisnärvivõrgu abil. Seda sõna kuuleb uudistes juba ülepäeviti.Ehk oskate selgitada, millega on tegu ja miks te seda kasutada otsustasite?

Tanel: Paljudele meeldib närvivõrke seostada ajuga ja kuigi need mudelid on algselt ka ajust inspireeritud, siis inimese aju imiteerimisest on asi kaugel.

Tehisnärvivõrk on masinõppe algoritm, mis õpib näidete varal automaatselt ülesandeid lahendama. Näiteks andes ette miljoneid küsimusi ja vastuseid, õpib närvivõrk automaatselt vajalikud statistilised seosed küsimustele vastamiseks, selle asemel, et detailset programmeerida, mis peab küsimus esinema, et teatud vastust tagastada.

Need, kes on ülikooli baaskursuste jooksul kokku puutunud regressioonimudelitega, võivad tehisnärvivõrgust mõelda kui suurest hunnikust pisikestest regressioonimudelitest, mis on kavalalt kombineeritud. Minu jaoks on see statistiline tööriist, millega probleeme lahendada. Teatud juhtudel (kui on palju andmeid) töötavad need paremini ja kui sellise probleemiga on tegemist, võtan selle ka tööriistakohvrist välja.

Tambet: Tehisnärvivõrk koosneb neuronitest, millede vahel on ühendused. Neuronid on võrgus jagatud kihtideks: sisendkiht, üks või mitu peidetud kihti ja lõpuks väljundkiht. Näiteks võib sellise võrgu sisendiks võib olla pilt auto kaamerast ja väljundiks on käsklus roolile – kas keerata vasakule või paremale.

Õppimine seisneb selles, et muudetakse neuronite vaheliste ühenduste tugevusi – kaalusid. Kümmekond aastat tagasi ei osatud hästi treenida selliseid tehisnärvivõrke, kus kihte on rohkem kui 5–7. Tänapäeval saavutavad pildituvastuses parimaid tulemusi 152-kihilised võrgud. Oma osa selles on suurematel andmestikel, kiirematel arvutitel ja veidi parematel algoritmidel, just selles järjestuses.

Andmestike osas on suure panuse andnud internet, enne Facebooki ei suutnud keegi miljonist näopildist koosnevat andmestikku isegi unes näha. Arvutuskiiruse osas tuli murrang, kui algoritmide paralleliseerimiseks hakati kasutama graafikaprotsessoreid, neidsamu millega kodus 3D mänge mängid.

Kuidas teie tehisintellekt tasemetööd lahendas ja kuidas te seda treenisite?

Tanel: Algul uurisime, mis meetodeid kasutas IBM-is arendatud Watson “Kuldvillaku“ küsimustele vastamiseks. Tuli välja, et nad kasutasid kõikvõimalikke keeletehnoloogilised trikke, mille järel mõtlesime, et oleks lahe, kui seda saaks asendada ühe neurovõrguga, mis kodeerib iga küsimuse ja vastuse matemaatilise vektorina, mis hõlmab endas lause mõtet. Küsimuse vastuseks saab variant, kus küsimuse „mõte“ ja vastuse „mõte“ on kõige sarnasemad.

Tambet: Kõige lihtsam viis, mida ka paljud meeskonnad kasutasid, on otsida Wikipediast sellist artiklit, mis sisaldab kõige rohkem küsimuses olnud sõnu. Ja seejärel vaadata, millise vastusevariandi sõnu samas artiklis kõige rohkem esineb – see on siis oletatavasti kõige õigem vastus. Selline meetod töötab üllatavalt hästi, kuigi tehisintellektiga tundub siin vähe pistmist olevat.(See on veel eraldi teema, et mis on tehisintellekt – kui me juba teame kuidas see töötab, siis me reeglina seda enam tehisintellektiks ei pea.)

Selline naiivne meetod läheb agakatki, kui esitada näiteks küsimus "Milline järgnevatest EI OLE taastuvenergia allikas?", vastusevariandid "puit", "tuul", "kütteõli" ja "vesi". Kuigi õige vastus on kütteõli, siis taastuvenergia kohta käivas artiklis seda tõenäoliselt ei mainita, pigem on seal puit, tuul või vesi. Konks on siin selles, et küsimuses on sees eitus.Naiivne algoritm astub selle reha otsa.

Meie kasutatud tehisnärvivõrk modelleerib ka lause struktuuri ja seetõttu on võimeline sellistes olukordades ka õigesti vastama. Treenisime oma algoritmi 5 miljoni küsimuse-vastusega, mille kogusime internetist.

Kas plaanite oma tehisintellekti veel kuidagi edasi arendada? Mis on järgmised sammud?

Tanel: Tegemist oli lühikese hobiprojektiga, mis kulmineerus võistluste lõppemisega ning hetkel plaani seda edasi arendada pole.

Tambet: Tegemist oli jah ühekordse projektiga, hetkel põhjust seda edasi arendada pole. Küll aga võiks sarnast süsteemi rakendada näiteks iseteeninduskeskkonna automatiseerimiseks. Paljude firmade kodulehel on väike chat-aken, kus saab esitada küsimuse teenindajale. Meie loodud süsteemiga saaks vastamist automatiseerida, st lihtsamatele küsimustele vastab tehisintellekt, keerulisemate puhul palub aga abi inimeselt. Ehk siis teisisõnu vajadus inimese järele ei kao küll täiesti ära, aga üks inimene suudaks samaaegselt teenindada kümneid paralleelseid vestlusi ning tehisintellekt õpib tema vastuste põhjal üha paremaks.

Alles hiljuti oli uudis, et Google’i AlphaGo võitis Go mängu meistrit. Kuidas AlphaGo tehisintellekti tehnoloogia teie omast erineb?

Tanel: Lihtsam on rääkida sarnasustest. Mõlemal oli suur hunnik sisendite ja väljundite paare – meil olid küsimused ja vastused, AlphaGo-l olid mänguseisud/-käigud ja mängu tulemus. Mõlemad lahendused kasutasid närvivõrke.

Ühest küljest on automaatselt Go’d mängivat süsteemi lihtsam ehitada, sest kogu maailm ja võimalikud käigud on teada. Selle abil saab tehisintellekti panna mängima enda vastu, et rohkem andmeid koguda ja süsteemi paremaks teha – meil seda võimalust polnud. Teisest küljest on automaatselt Go’d mängivat süsteemi raskem ehitada, sest tagasiside, mis läks ennustustes valesti, tuleb hilinemisega.

Tambet: AlphaGo kombineerib oma lahenduses mitmeid tehisintellekti meetodeid, nagu sügavad närvivõrgud (deep learning), stiimulõpe (reinforcement learning) ja Monte-Carlo otsing (Monte-Carlo tree search).

Võrreldes malega teeb Go eriliseks see, et igal käigul on võimalikke variantekuhu käiavõrratult rohkem kui males. See teeb selle lahendamise traditsioonilisel meetodil, kus arvuti lihtsalt mõtleb mitu käiku ette, võimatuks. Võimalikke käiguvariante on lihtsalt liiga palju, et ka kiireim arvuti jõuaks need läbi vaadata.

AlphaGo põhiline panus oli see, et see kasutas tehisnärvivõrke käikude hindamiseks – millised on potentsiaalselt head ja millised halvad käigud. See võimaldas arvuti poolt kaalutavate käikude arvu märkimisväärselt vähendada. Algselt õppis programm käike ja mänguseise hindama töötades läbi avalikke Go mängude andmebaase.

Stiimulõppe meetod aga võimaldas seejärel panna AlphaGo mängima iseenda vastu, mille tulemusena ta õppis mängima paremini kui inimene. Samas ei tasu unustada, et AlphaGo kasutas treenimisel 48 protsessorit ja 8 graafikakaarti. Treenimise käigus töötas ta läbi miljoneid mängusituatsioone, mille kogemiseks inimesel kuluks terve elu. Samas energiakulu on suurelt inimese kasuks ning inimene suudab lisaks ka mängida tennist, rääkida anekdooti või valmistada salatit.

Foto: Erakogu

Populaarsed lood mujal Geeniuses

Igal argipäeval

Ära jää ilma päeva põnevamatest lugudest

Saadame sulle igal argipäeval ülevaate tehnoloogia-, auto-, raha- ja meelelahutusportaali olulisematest lugudest.