Tensorflow.js – tekoäly käytännössä

Yleisimmät keskustelut tekoälyn ympärillä liittyvät työpaikkojen menetykseen tai ratkaisumallien eettisyyteen. Monesti kuulostaa siltä että tekoäly on jo itsestään rakentuva epämääräinen kokonaisuus. Näin ei kuitenkaan vielä ole, vaan toteutukset tehdään ainakin osittain ohjelmoimalla kuten perinteisempiin algoritmeihinkin perustuvat ratkaisut.

Tekoälyä voidaan opettaa kerätyllä datalla

Tekoäly on yleistermi koneiden älykkäille toiminnoille. Yksi näistä älykkäistä toiminnoista on koneoppiminen, jossa tekoäly opetetaan päätymään haluttuun ratkaisuun ilman ennalta määriteltyä kaavaa. Järjestelmän opettaminen tapahtuu syöttämällä sille valmiiksi kerättyä dataa. Tämän jälkeen sovellus pyrkii löytämään kaavoja annetusta datasta. Tekoälyn kasvava käyttö on lisännyt erilaisten data analyytikkojen tarvetta IT-alalla.

Maailmalla on useita kaupallisia sekä avoimen lähdekoodin ratkaisuja, joilla tekoälyä voidaan kehittää. TensorFlow on yksi tunnetuimmista avoimen lähdekoodin ratkaisuista koneoppimisen alueella. Se on Googlen alunperin sisäiseen käyttöön kehittämä kirjasto, joka julkaistiin yleiseen käyttöön vuonna 2015.

Lähtökohtaisesti TensorFlow on palvelimella käytettävä ohjelmointikirjasto, jota voidaan käyttää verkon yli eri sovellusten apuna. Haluttaessa käyttää sitä esimerkiksi asuntojen hintojen ennustamiseen, sille syötetään hinnan kehitys menneiltä vuosilta sekä muuta asunnon arvoon vaikuttavaa tietoa. Tämän jälkeen sovellus on valmis ennustamaan tulevia hintoja opetetun tiedon pohjalta.

TensorFlow.js toimii käyttäjän selaimessa

Viime vuosien kasvavana trendinä on ollut suorittaa sovellusten toimintoja selaimessa palvelimen sijaan. Maaliskuussa 2018 Deeplearn.js -nimellä kulkenut projekti sai uudeksi nimekseen TensorFlow.js. Se on ratkaisu, jolla voidaan ohjelmoida käyttäjän selaimessa toimivia tekoälytoteutuksia, eikä se tarvitse palvelinta laskennan suorittamiseen.

Koneoppimissovelluksen koulutus vaatii melko paljon tehoa riippuen käytettävästä datasta, eikä sitä kannata tehdä uudelleen jokaisen käyttäjän koneella. Opettaminen voidaan suorittaa etukäteen ja siirtää valmiiksi opetettu malli TensorFlow.js toteutukseen. Näin pienennetään tarvittavia vaatimuksia koneen tehon osalta koska sovellus toimii kevyemmin. Nykyään on olemassa useampia palveluita, joista voi ladata valmiiksi koulutettuja malleja käyttöönsä. Yksi näistä on kaggle.com.

Tekoälyä voi kehittää monin eri tavoin. Tarpeesta riippuen on mahdollista valita ilmaisia tai maksullisia ympäristöjä sekä avointa tai itse kerättyä dataa. Valinta tehdään yleensä tiedon monimutkaisuuden ja käyttötarpeen mukaan. Tulevaisuudessa ympäristöt tulevat olemaan yhä pidemmälle vietyjä ja avointa dataa on yhä enemmän saatavilla. Jossain vaiheessa tekoäly osaa ehkä jo rakentaa itse tarvittavan kokonaisuuden.