Wapputekoäly

Moni on törmännytkin jo Aison toteuttamaan Wapputekoäly-tempaukseen, jossa koulutimme tekoälyn tuottamaan Wappuisia kuvia. Wapputekoälylle syötettiin koulutusmateriaalina kuvia kahdesta kategoriasta: Teekkarikaste ja Doges of Wappu -koirakuvia. Teekkarikastekuvat kerättiin pelkästään TT-kameroiden kuvagalleriasta, ja koirakuvia kerättiin tämän lisäksi pyytämällä ihmisiä lähettämään omia koirakuviaan. Koirakuvia lähetettiinkin noin 150 kappaletta, suuri kiitos kaikille kuvia lähettäneille sekä tietysti myös TT-kameroille!

Tekoälyn tuottamia Teekkarikastekuvia julkaistiin päivittäin koko opiskelijawapun ajan, ja koirakuvia toisesta Wappuviikosta lähtien. Kuvasarjat muodostavat hyvän kuvauksen, miltä tuotetut kuvat näyttävät neuroverkon koulutuksen eri vaiheissa. Kuvasarjat alkavat pelkästä värikkäästä kohinasta ja etenevät kohti tunnistettavia hahmoja.

Alkutarina

Huhtikuun alussa suunnittelimme minkälaisen opettavaisen tekoälytempauksen voisimme tehdä, koska referenssejä tekoälyprojekteista ei voi olla liikaa. Päädyimme nopeasti yhdistämään projektin opiskelijawappuun, joka Tampereelle kesti tänä vuonna yhteensä kaksi ja puoli viikkoa huipentuen yleisemmin tunnistettuun Vappuun. Totesimme että projekti on hauskempi, jos siitä on iloa suuremmalle yleisölle, eikä pelkästään meidän omalle porukalle. Yleisöä pyydettiin osallistumaan tekoälyn koulutukseen koirakuvia lähettämällä, ettei koulutusta tarvitsisi seurata vain sivusta. Yhdessä tekeminen on hauskempaa ja tähän mennessä vielä montaa vastaavaa tilaisuutta kouluttaa tekoälyä porukalla ei ole ollut!

Yhtään huono asia ei ole sekään, että tekemällä projektista mielenkiintoinen ja viihdyttävä saadaan toteutettua yhtä Aison tavoitteista, joka on tekoälytietoisuuden levittäminen. Tekoäly ja tarkemmin sanottuna koneoppiminen ovat tärkeitä teknologioita sekä tulevaisuudessa että jo nykypäivänä. Näitä teknologioita ei kuitenkaan vielä hyödynnetä tarpeeksi, eikä tilannetta saada korjattua ennen kuin yritysten päättäjät ymmärtävät mitä uusilla työkaluilla voi tehdä ja mihin tarpeisiin ne sopivat.

Ideasta projektisuunnitelmaksi

Wapputekoälyn toteutusidea muotoutui muutaman eri vaiheen kautta. Lopullinen Wapputekoäly oli kolmas versio kahdesta aiemmasta ideasta, jotka jouduttiin hylkäämään erinäisten ongelmien takia.

Ensin ajateltiin tehdä “Wappu-Untappd”, johon voisi viivakoodeja lukemalla merkitä virvokkeita ja muita tuotteita. Tämän kerätyn materiaalin pohjalta oltaisiin voitu generoida Wappuisia kuvia jonkin valmiiksi koulutetun neuroverkon avulla. Tämä olisi vaatinut paljon vähemmän prosessointitehoa kuin neuroverkon itse alusta asti kouluttaminen. Tämä vaihtoehto kaatui siihen ettei mistään löydetty kattavaa tietokantaa tuoteviivakoodeista. Tässä myös hieman arvelutti saadaanko ihmiset innostumaan tarpeeksi tempauksesta, että viivakoodeja jaksettaisiin kerätä parin viikon ajan.

Toinen ajatus oli kerätä kuvia Futuricen Whappu-appin striimistä, ja näiden pohjalta generoida Wappuisia kuvia. Whappu-app on aiempina vuosina käytössä ollut applikaatio, jossa on ollut mm. Wappukalenteri, kartta ja keskustelustriimi. Tänä vuonna kuitenkaan Whappu-app ei ollut käytössä, ja vielä suurempana ongelmana ajatus kariutui siihen että täysin sekalaisesta koulutuskuvamateriaalista ei olisi pystytty ainakaan käytettävissä olevana aikana kouluttamaan toimivaa kuvageneraattoria. Kuvat olisivat käytännössä jääneet hyvin abstrakteiksi kuviomössöiksi.

Lopullinen toteutukseen päätynyt idea jalostui toisesta vaihtoehdosta rajaamalla koulutukseen käytettävät kuvakategoriat. Toteutus saatiin hyvin validoituakin kouluttamalla tarkkaan rajattua kuvakokoelmaa yhdellä kuluttajanäytönohjaimella. Ennen valmiin kirjaston käyttöön valitsemista tehtiin myös itse Keras-kirjastolla toteutettu neuroverkko kuvien tuottamiseen. Itse tehty neuroverkko ei kuitenkaan päätynyt lopulta käyttöön, koska sen kyvystä tuottaa järkevän näköisiä kuvia ei voitu olla varmoja ennen kuin monen vuorokauden koulutus olisi ajettu loppuun asti, eikä tähän ollut tarpeeksi aikaa. Aiemmin toimivaksi tiedetyn toteutuksen käyttö olikin huomattavasti turvallisempaa.

Tekoälyn kouluttaminen

Wapputekoälyn kouluttaminen ei ollut kovin helppoa, eikä se ollut myöskään halpaa, voisi jopa sanoa että siihen meni tonnin seteli. Wapputekoälyt koulutettiin Google Cloud -ympäristössä, jossa oli käytössä neljä NVIDIA Tesla P100 -näytönohjainta. Tekoälyn koulutus yleisestikin ottaen vaatii paljon prosessointitehoa, ja tehtävästä riippuen siihen tarvitaan yleensä vähintään yksi tehokas näytönohjain. Erityisesti jos opetusmateriaalina käytetään kuvia, ei koulutus onnistu pelkällä tietokoneen prosessorilla. Näiden näytönohjainten käyttäminen maksoi noin $1.5 / tunti / näytönohjain. Yhtä Wapputekoälyä täytyi kouluttaa useampi vuorokausi neljälläkin tehokkaalla näytönohjaimella. Tällöin saatiin tuotettua 256×256 pikselin kokoisia kuvia, suurempi resoluutio pidentäisi koulutusaikaa merkittävästi.

Tulokset

Wapputekoäly on herättänyt suuresti mielenkiintoa, ja kävimmekin jo Tamperelaisessa opiskelijoiden pyörittämässä Rakkauden Wappuradiossa haastattelussa kertomassa mistä tässä on kyse. Lehtihaastatteluja on vielä tulossa, joten näkyvyyttä saattaa edelleen kertyä lisää.

Projektimielessä Wapputekoäly onnistui täysin suunnitellun mukaisesti. Ainoa huolta aiheuttanut asia oli Google Cloudissa käytettyjen näytönohjainten saatavuus. Näytönohjaimet varattiin käyttöön kun koulutus aloitettiin, eivätkä ne olleet aina saatavissa, kun olisi tarvittu. Välillä jouduimmekin moneen kertaan yrittämään muutaman tunnin välein, josko näytönohjaimia olisi vapautunut muilta käyttäjiltä.

Wapputekoälyn tuottamat kuvat ovat koulutuksen loppuvaiheissa jo varsin selkeitä, vaikkei niistä fotorealistisia tullutkaan. Fotorealistisuus olisi vaatinut vielä homogeenisemmän ja määrällisesti isomman koulutusmateriaalin. Kastekuviin ei koulutuksen valmistuttuakaan muodostunut ihmisille kasvoja, vaikka kuvissa näkyvä vesi on todella yksityiskohtainen. Tämä johtuukin siitä että suurin piirtein samannäköistä vettä oli lähes kaikissa koulutuskuvissa, kun taas kasvot olivat monissa eri asennoissa ja välillä eivät olleet näkyvissä ollenkaan.

Lisätietoa

Lisää tietoa Wapputekoälystä ja sen tuottamat kuvasarjat ovat nähtävissä osoitteessa www.aiso.fi/wappu. Varsinkin tekoälyn toteutuksesta ja tekniikasta on kerrottu linkin takana enemmän.