Tekoäly ja koneoppiminen ovat käsitteinä väärinymmärrettyjä ja siksi väärinkäytettyjä

Alkuvuodesta tehdyn selvityksen mukaan tekoäly tai AI (artificial intelligence) löytyy joka kahdennentoista startup-yrityksen arvolupauksesta EU:ssa. Vain 60 prosentissa tapauksista löytyi todisteita siitä, että yritykset oikeasti hyödyntävät tekoälyä toiminnassaan. Monet yritykset haluavat liittää lyhenteen AI nimeensä tai tuotteisiinsa, koska tietävät sen lisäävän kiinnostusta yritystä kohtaan. Osittain ristiriita väitteiden ja toiminnan välillä johtuu todennäköisesti myös siitä, että yleisesti ei tiedetä, mitä tekoäly oikeastaan tarkoittaa.

Mitä on tekoäly ja koneoppiminen?

Tekoäly on yläkäsite, joka kattaa esimerkiksi kuvien sekä luonnollisen kielen prosessoinnin ja koneoppimisen. Tekoälyllä viitataan mihin tahansa ohjelmaan tai järjestelmään, joka kykenee tekemään jotain älykästä. Perinteisesti tekoäly jaetaan heikkoon ja vahvaan tekoälyyn. Nykyiset tekoälysovellukset edustavat heikkoa tekoälyä, jolloin se kykenee toimimaan sille etukäteen määritellyssä rajoitetussa ympäristössä. Vahvalla tekoälyllä viitataan ohjelmaan, joka omaa ihmisen kaltaisen tietoisuuden ja kykenee ratkaisemaan hyvin erilaisia tehtäviä, kuten ymmärtämään kieltä, ajamaan autoa ja hoitamaan kotia. Vahvan tekoälyn määritelmään kuuluu olennaisena osana kyky ajatella, ratkaista ongelmia, tehdä päätöksiä, oppia ja kommunikoida. 

Koneoppiminen on tekoälyn alakategoria, mutta usein näitä termejä käytetään virheellisesti toistensa synonyymeina. Kaikki koneoppiminen on tekoälyä, mutta kaikki tekoäly ei ole koneoppimista. Arthur Samuel, yksi koneoppimisen pioneereistä, määritteli sen seuraavasti: “Machine learning is a field of study that gives computers the ability to learn without being explicitly programmed”. Olennaista on, että koneoppimismalli kykenee oppimaan sille annetusta datasta ilman ihmisen vuorovaikutusta tai suoraa opastusta.

Milloin koneoppiminen soveltuu ongelmaan?

Paremman ymmärryksen siitä, mitä koneoppiminen on ja milloin sitä kannattaa soveltaa ongelmanratkaisuun, saa selittämällä, miten se eroaa ohjelmoinnista. Perinteisessä ohjelmoinnissa ihminen (eli ohjelmoija) määrittelee logiikan, jolla annetusta inputista tulee tietty output. Koneoppimisen tuloksena taas syntyy malli, joka kertoo, miten tietystä inputista päästään sitä vastaavaan outputtiin. On tärkeää ymmärtää, että koneoppiminen ratkaisee tietynlaisia ongelmia ja ohjelmointi toisenlaisia – molemmat ovat työkaluja, jotka soveltuvat erilaisten ongelmien ratkaisemiseen eivätkä siten korvaa toisiaan. 

Hyvänä ohjenuorana kannattaa käyttää sääntöä, että jos ohjelmoija ei pysty kirjoittamaan ylös sääntöjä, joiden perusteella tietystä inputista pitäisi tulla tietty output, koneoppiminen voi olla hyvä lähestymistapa. Jos säännöt riippuvat liian monesta muuttujasta, ohjelmoijan on vaikea kirjoittaa ylös sitä, miten eri muuttujat vaikuttavat vastaukseen. Tällöin perinteinen ohjelmointi ei välttämättä sovellu ratkaistavaan ongelmaan.

Vaikka ohjelmointi ja koneoppiminen soveltuvat erilaisten ongelmien ratkaisemiseen, ne eivät kuitenkaan ole toisiaan poissulkevia vaihtoehtoja. Tosielämän ongelmat ovat usein monimutkaisia. Tällöin on hyödyllistä miettiä, voidaanko osa ongelmasta ratkaista kirjoittamalla tunnettuja sääntöjä valmiiksi ja soveltaa koneoppimista siihen osaan ongelmaa, jossa ihmisen kyvykkyys jäsennellä logiikkaa loppuu kesken. Eri työkalut usein täydentävät toisiaan sen sijaan, että ne kilpailisivat keskenään.

Kuinka paljon dataa tarvitaan koneoppimista varten?

Usein mielletään, että koneoppimista varten vaaditaan aina paljon dataa ja laskennallisia resursseja. Mielikuva johtuu Googlen kaltaisista isoista toimijoista, joilla on käytettävissä valtavat määrät dataa ja palvelinkeskuksia. On totta, että niiden mallien kouluttaminen, joita Google käyttää teksti- ja kuvahakujen tekemiseen, vaativat isoja määriä dataa, jotta oikea lopputulos löytyy annetusta hakusanasta riippumatta. Tarvittavan datan määrä ja mallin kouluttamiseen tarvittavat resurssit ovat kuitenkin tilannekohtaisia. Hyvin määritelty ja rajattu ongelma ei välttämättä tarvitse valtavia määriä dataa, jotta haluttu tarkkuus saavutetaan, vaikka ongelman ratkaiseminen ohjelmoinnin keinoin olisikin vaikeaa.

Koneoppimismallin yleistyvyydellä viitataan sen kykyyn sopeutua uusiin tilanteisiin, joissa käsitellään sellaista dataa, jota ei käytetty mallin kouluttamiseen. Jos mallin kouluttamisvaiheessa on saatavilla vain vähän dataa, ja ratkaistava ongelma on monimutkainen, mallin yleistyvyys saattaa kärsiä. Tällaisissa tilanteissa on olemassa useita eri menetelmiä, joiden avulla koulutukseen käytettävissä olevaa dataa voidaan rikastaa. Rikastusmenetelmiä ovat esimerkiksi erilaiset synteettisen datan generointi- ja täydennysmenetelmät (data augmentation). Myös algoritmien parissa tehtävä tutkimustyö auttaa ratkomaan, miten mallien kouluttaminen onnistuu tehokkaammin ja pienemmällä määrällä dataa.

Miten ja milloin puhua tekoälystä ja koneoppimisesta?

Liiketoiminnan kohtaamia ongelmia ratkottaessa on tärkeää pysähtyä miettimään, mikä on oikea työkalu kyseistä ongelmaa varten. Jos päädytään siihen, että liiketoiminnan tarpeisiin pystytään vastaamaan parhaiten koneoppimisalgoritmeilla, niin mielestäni termi AI pitää varata tilanteisiin, joissa puhutaan oikeasti älykkyyttä omaavasta ohjelmasta. Useimmissa tapauksissa ongelman ratkaisemiseen on käytetty koneoppimista, jolloin siitä pitäisi puhua sen oikealla nimellä väärinkäsitysten välttämiseksi. Oikea terminologian käyttö lisää kaikkien ymmärrystä aiheesta, pienentää kynnystä hyödylliselle keskustelulle ja mahdollistaa oikeiden ratkaisujen löytämisen. Kun puhutaan asioista niiden oikeilla nimillä, päädytään helpommin käyttämään oikeita työkaluja ja saadaan aikaiseksi tehokkaita ja hyvin toimivia ratkaisuja.

Tekoälyn tai AI:n käyttäminen voi olla houkuttelevaa erityisesti mainospuheessa, mutta termejä pitäisi käyttää harkiten. On tärkeää muistaa, että tekoäly tai koneoppiminen eivät ole oikeita työkaluja kaikkiin ongelmiin, mutta niille soveltuvissa tilanteissa ne toimivat erinomaisesti.

Seuraavassa blogitekstissäni kirjoitan tarkemmin tekoälyn ja koneoppimisen rooleista liiketoiminnassa.

Data Scientist

 

 

 

Juho Arjoranta, Data Scientist