Doktoritöö käigus valmis uus meetod masinõppe andmete efektiivsemaks kasutamiseks
Tartu ülikooli arvutiteaduse instituudi doktorandi Kristjan Korjuse lõputöö võib parandada paljude teadusvaldkondade masinõppealgoritmide kasutamise kvaliteeti.
"See on väga interdistsiplinaarne töö," ütleb Kristjan Korjus. "Mu juhendaja on füüsik ja praegu tegeleb neuroteadusega, mu enda taust on matemaatikas ja arvutiteaduses, aga pikka aega on hobiks olnud masinõpe. Doktoritöö viib mingis mõttes kõik need asjad kokku, seal on kriitika klassikalisele statistikale, seal on arvutiteaduse teemasid ning neuroteaduse probleeme."
Masinõpe ehk andmete põhjal ennustusi või otsuseid tegevate algoritmide loomine ja kasutamine on üsna uus eriala ja mõneski mõttes väga eriline. Masinõppe algoritmid, nt sügavad neurovõrgud sisaldavad sageli sadu miljoneid parameetreid, mis muudab kogu protsessi loogikat, võrreldes lihtsamate statistiliste mudelitega.
"Klassikalises statistikas on mudel lihtne ja kui see mudel teeb mingid eeldused andmete kohta, saab ta ka öelda, kas need tulemused on statistiliselt olulised ehk kas andmetes üldse on signaali, mis oleks mürast erinev," kirjeldab Kristjan Korjus. "Ent kui mudelid lähevad järjest keerulisemaks, siis ei tehta enam nii tugevaid eeldusi andmetele, sest võimas mudel suudaks nagunii kõiki andmeid täielikult kirjeldada. Kui sul on sada miljonit parameetrit ja tuhat andmepunkti, siis see mudel suudaks alati need andmed 100% ära kirjeldada. Masinõppe keeles on see ületreenimine."
Kõiki andmeid ei saa kasutada
Seepärast kasutatakse masinõppes statistilise olulisuse mõõtmiseks teistsugust meetodit. Nimelt pannakse osa algandmeid kõrvale, st neid ei kasutata mudeli treenimisel. Kui siis kasutatud andmete põhjal on parim mudel valmis tehtud, testitakse seda varem kõrvale jäänud andmete peal. Tulemuste põhjal saab siis järeldada, kas mudel on selle probleemi lahendamiseks mõistlik või mitte.
"Kui sa jätad kõrvale sada andmepunkti, mis saavad olla kahest eri klassist – nt ravim mõjus või ei mõjunud – siis kui mudel ennustab andmete põhjal neist sajast 80 täppi, siis see on statistiliselt oluline tulemus, sest juhuslikult oleks sellise tulemuse saamine väga vähe tõenäoline," toob Korjus näite.
Probleemiks on aga see, et masinõppe algoritmid vajavad väga palju andmeid ning kõik, mis n.ö kõrvale pannakse, läheb mudeli treenimise mõttes raisku.
"Iga kord, kui jätad tüki andmeid kõrvale, teed oma analüüsi nõrgemaks ja halvemaks,” nendib Korjus. "Lisaandmete kogumine on aga tihti kallis ja raske, eriti bioinformaatikas või ajuteadustes. Seega on sul andmeid vähe, aga kuna need on keerulised, tahaks ikkagi kasutada masinõpet."
Teadlased on ammu otsinud viise, kuidas seda probleemi lahendada ning kasutusele on võetud mitmeid meetodeid, paraku on neil kõigil ka oma puudused.
"Näiteks ristvalideerimise korral saab kõiki andmeid üliefektiivselt kasutada, ent pole võimalik tõlgendada mudeli parameetreid. Ehk me saame küll ennustusjõu, aga kaotame kõik interpreteerimisvõimalused. Samas kui paneme andmeid kõrvale, on meil see info küll olemas, aga mudel ise on vähemefektiivne," kirjeldab Kristjan Korjus probleemi.
Efektiivsem viis andmete kasutamiseks
Isiklikust vajadusest ajendatuna asuski Korjus doktoritöö raames koos kolleegidega välja töötama uut viisi masinõppes andmetega ümber käimiseks.
"Me leiutasime uue viisi, kuidas andmete jagamist teha. Kasutame uuesti kõiki andmeid, aga saavutame ka selle, et parameetrid saavad interpreteeritavaks, nii et me teame lõpuks, kas võitis lineaarne või eksponentsiaalne mudel, kolmekihiline või neljakihiline neurovõrk," ütleb Korjus. "See on kompromiss kahe lähenemise vahel. Keeruliste andmetega loodusteadustes tihti ongi just seda vaja, sest teadusartikli lõpus saaks öelda, milline oli parim mudel. Samas mudeli kaalude kõiki väärtusi polegi tihtipeale vaja. Sellises olukorras on meie meetod praegu maailma kõige efektiivsem ja parem!"
Korjuse meetodi puhul jäetakse samuti algul kõrvale andmete testrühm, seejärel fikseeritakse ristvalideerimist kasutades mudeli parameetrid, neid kõrvale pandud andmete peal testides tehakse seda aga mitmes jaos ning igas jaos üle jäänud andmeid kasutatakse uuesti mudeli treenimiseks.
"Kuna seda tehakse iga kord eraldi, siis iga ükskiku andmepunkti ennustamiseks seal testhulgas me tegelikult ei tee statistilist sohki, vaid leiutasime uue viisi, kuidas jagada andmeid osadeks nii, et see oleks statistiliselt aus, aga kasutaks neid võimalikult efektiivselt," selgitab Korjus.
Kasu seal, kus andmed kallid
Uudsest meetodist võiks Korjuse sõnul kasu olla ennekõike neis valdkondades, kus andmed on kallid või neid on piiratud hulgal.
"See võiks abiks olla näiteks neuroteaduses, kus mõõtmised on tihti päris keerulised – sul on 200 andurit peas, mis salvestavad väga palju andmepunkte. Sotsiaalteadustes jällegi on ajaloolisi andmeid, mida ei ole võimalik juurde koguda või uuesti hankida. Või siis astrofüüsika, kus andmed võivad olla keerulised, ent katsete hulk on piiratud – vaatlusobjekte ei tule juurde ja ei saa panna kaugel olevaid tähti midagi tegema," loetleb Korjus näiteid, kus uus meetod edukaks võib saada.
"Inseneriteadustes üldjuhul sellest meetodist kasu ei ole, sest robot võib maailmast andmeid juurde koguda nii palju kui vaja. Ka tavalisel pildi- või tekstitöötlusel on kasutada lõputult raamatuid ja pilte," nendib Korjus.
Kuigi andmete kogumine läheb järjest odavamaks, tekib üha juurde ka uusi valdkondi, kust andmeid laekub, seega ei usu Korjus, et andmete efektiivne kasutamine lähiajal tähtsust kaotaks.
Kristjan Korjuse doktoritöö tuuma võtab kokku mainekas teadusajakirjas Plos ONE sügisel ilmunud artikkel.