III.

Mitä on tekoäly ja koneoppiminen

Mikä oikeastaan on tekoälyä? Kysymykseen ei ole yksiselitteistä vastausta tai yleisesti hyväksyttyä määritelmää. Tekoälyn määritelmä tulee muuttumaan ajan kuluessa.

Aikanaan tekoälynä saatettiin pitää ennalta määrättyihin sääntöihin perustuvia ratkaisuja. Tällä kurssilla tekoälyllä viitataan ratkaisuihin, jotka hyödyntävät koneoppimista.

Koneoppimisalgoritmit oppivat annetun datan pohjalta ilman erillistä sääntöjen ohjelmointia. Ne siis kykenevät löytämään datasta rakenteita ja yhteyksiä, joita käyttäen ne luovat omat sisäiset sääntönsä. Algoritmit kykenevät näiden sääntöjen avulla tekemään esimerkiksi järkeviä ennusteita tai ryhmittelemään dataa.

Seuraavassa kuvassa on esimerkki konenäköä hyödyntävän rakennusjätteiden lajittelurobotin toimintaperiaatteesta.

Rakennusjätteiden lajittelurobotin toimintaperiaatteet
Rakennusjätteiden lajittelurobotin toimintaperiaatteet

Yllä olevassa kuvassa tekoälyratkaisun tulee tunnistaa konenäön avulla linjalla kulkevat materiaalit ja poimia ne eri koreihin. Ratkaisun kehittämiseksi tarvitaan dataa eli kuvia materiaaleista, joissa materiaalit ovat tunnistettuja. Kuvien perusteella koneoppimisalgoritmi oppii erottelemaan materiaalit toisistaan. Materiaaleja tunnistamaan opetettu algoritmi ohjelmoidaan toimimaan osana ohjelmistosovellusta, joka koordinoi kokonaisuutta – liikuttaen muun muassa robottikättä, joka poimii materiaaleja ja sijoittaa niitä oikeisiin koreihin.

Kiteytys

Mistä tekoäly koostuu?

Tekoälyratkaisuja on monenlaisia, mutta varsinkin liiketoiminnallisessa käytössä ne koostuvat selkeistä pääkomponenteista, jotka ovat:

1) Käyttötapaus, eli mihin tekoälyä tarvitaan

2) Dataa liittyen käyttötapaukseen

3) Koneoppimisen algoritmit

4) Sovellus, joka hyödyntää tuloksia.

Kaikissa edellä esitellyissä tekoälyratkaisuissa on alussa mainitut pääkomponentit. Tutustutaan niihin seuraavaksi hieman tarkemmin.

1) Käyttötapaus

Tekoälyratkaisujen suunnittelu käynnistyy käyttötapausten tunnistamisesta eli selkeästi rajatusta ongelmasta, joka halutaan ratkaista tekoälyn avulla. Hyvä käyttötapaus on yksiselitteinen ja siihen liittyvää dataa on saatavilla.

Yritys voi päätyä tiettyyn ongelmaan tunnistamalla ensin joukon liiketoiminnallisia haasteita, esimerkiksi suuret laatu- tai tuottavuusvaihtelut, ja analysoimalla niiden syitä. Jos parempi ennustaminen tai tiedon automaattinen luokittelu voisivat auttaa ongelman ratkaisemisessa, tekoälyratkaisu on harkinnan arvoinen.

Sopivien käyttötapausten löytäminen on yksi yritysen suurimmista tekoälyn hyödyntämisen haasteista. Liiketoiminnallisissa ratkaisuissa tulee yleensä ottaa huomioon mittava joukko erilaisia tekijöitä, jotka vaikuttavat käyttötapausten hyödyllisyyteen. Tekoälyratkaisuiden tulee olla sekä liiketoiminnallisesti järkeviä että riittävän luotettavia. Nämä ehdot voivat rajata pois monia teknisesti mahdollisia käyttötapauksia.

Myöhemmin tällä kurssilla perehdymme yksityiskohtaisesti käyttötapausten tunnistamiseen ja määrittelyyn liiketoimintaympäristössä.

2) Data

Data on tekoälyratkaisujen raaka-ainetta, jota koneoppimisalgoritmit prosessoivat. Datan määrä, laatu ja rakenne ratkaisevat, kuinka onnistunut lopputulos on.

Koneoppimisalgoritmeille annetun datan tulee sisältää informaatiota ilmiöstä, jota sillä pyritään tutkimaan. Esimerkiksi jos opetusdatana on kuvia kissoista ja koirista, ratkaisu ei opi löytämään kuvista hevosia tai virtahepoja. Mikäli tällaiselle ratkaisulle annettaisiin vaikkapa hevosen kuva, se ennustaisi sen olevan kissa tai koira. Opetusdata siis luo rajat, joiden sisällä kukin tekoälyratkaisu kykenee toimimaan.

Datan laatu on tärkeää lopputuloksen kannalta. Mikäli ratkaisu saa huonolaatuista opetusdataa, se ei tuota huipputuloksia. Huonolaatuinen data voi johtaa tilanteeseen, jossa tekoäly ei toimikaan tuotantokäytössä kuten oletettiin. Se saattaisi esimerkiksi hinnoitella tuotteita väärin, mikä johtaisi ennakoimattomiin tuloksiin.

Toisaalta on hyvä muistaa, että tekoälyratkaisut eivät vaadi opetusdataksi täysin virheetöntä dataa – sellaista on harvoin olemassakaan.

Datan määrällä on myös merkitystä tekoälyratkaisujen opetuksessa. Usein kuulee väitteen, että dataa tarvitaan paljon ja mitä enemmän sitä on, sitä parempia tekoälyratkaisuja saadaan aikaan.

Todellisuudessa asia ei ole noin yksiselitteinen. Kuvitellaan tilanne, että käytössämme on opetusdataa, johon perustuen haluamme tehdä ennustemallin tietyn laitteen huollon tarpeesta. Jos opetusdata ei sisällä huoltotarpeeseen liittyvää informaatiota, datan lisääminen ei paranna lopputulosta.

Paljonko dataa sitten tarvitaan? Valitettavasti kysymykseen ei ole yksiselitteistä vastausta vaan tarvittava datan määrä riippuu useista tekijöistä. Niiden käsittely ei sisälly kurssiimme, mutta yleissääntönä on kuitenkin, että enemmän dataa on parempi.

Opetusdatan valikointi on tärkeä osa tekoälyratkaisujen toteutuksessa. Opetusdataksi valittu aineisto vaikuttaa ratkaisun tuottamiin tuloksiin. Vaikuttaminen voi olla joko tietoista tai tiedostamatonta ja jälkimmäinen saattaa johtaa muun muassa vääristyneisiin tuloksiin käytännön sovelluksissa.

Esimerkki

Ajatellaan esimerkiksi, että haluamme rakentaa tekoälymallin, joka pystyy ennustamaan millä harjoitusmäärällä kuka tahansa juoksuharrastuksen aloittaja pystyisi juoksemaan maratonin neljässä tunnissa. Tekoälymallia varten keräisimme dataa juoksua harrastavien piiristä, koska sieltä saamme parhaimmat ja kattavimmat tilastot.

Jos tekisimme näin, tulokset olisivat todennäköisesti vääristyneitä, sillä juoksua aktiivisesti harrastavat tuskin edustavat koko väestöä tasapuolisesti vaan he todennäköisesti ovat keskimääräistä lahjakkaampia juoksijoita. Ennustemalli voisi siis toimia hyvin aloittelevalle juoksijalle, joka kuuluu lahjakkaiden ryhmään, mutta muille tulokset voisivat olla liian optimistisia.

Tekoälyn etiikka liittyy läheisesti tähän aiheeseen, sillä opetusdatan vääränlainen valikointi voi johtaa erilaisten ihmisryhmien syrjintään esimerkiksi automaattisissa päätöksentekojärjestelmissä.

3) Koneoppiminen

Koneoppiminen on tekoälyn osa-alue, jonka juuret ovat tilastotieteessä. Kuten aiemmin kerroimme, koneoppimismenetelmät oppivat annetun datan pohjalta ilman erillistä sääntöjen ohjelmointia. Lopputulos tallentuu niin sanottuun koneoppimismalliin.

Opi lisää

Esiopetettu koneoppimismalli

Erityisesti ei-rakenteellisen datan tekoälyratkaisuissa (kuva, teksti jne.) voidaan usein hyödyntää esiopetettuja koneoppimismalleja. Niitä on saatavilla esimerkiksi eläinten tunnistamiseksi kuvista. Esiopetettujen mallien etuna on, että emme välttämättä tarvitse omaa dataa koneoppimismallin rakentamiseksi. Toisaalta usein on mahdollista jatko-opettaa näitä malleja omalla datalla.

Tällä kurssilla emme syvenny koneoppimismenetelmiin tarkemmin, mutta on hyvä tietää, että niitä on lukuisia, kuten neuroverkot, logistinen regressio, gradientti tehostaminen (gradient boosting) tai päätöspuut. Mainittakoon myös, että moniin koneoppimismenetelmiin liitetään termi “musta laatikko”, joka viittaa siihen, että emme pysty täsmällisesti kertomaan miten koneoppimismallit päätyivät tiettyyn tulokseen, esimerkiksi ennusteeseen.

Opi lisää

Elements of AI

Mikäli olet kiinnostunut perehtymään tarkemmin koneoppimiseen ja tekoälyyn yleisesti, niin Elements of AI -kurssi on erinomainen johdatus aiheeseen.

Koneoppimisen kategoriat

Koneoppiminen jakaantuu kolmeen pääkategoriaan, jotka kannattaa painaa mieleen, sillä niillä kaikilla on erilainen käyttötarkoitus.

A) Ohjattu oppiminen (supervised learning) on pohjimmiltaan ennustamista. Datassa on selittäviä muuttujia (syötteet, input) ja selitettävä muuttuja (vaste, label). Koneoppimisalgoritmien tehtävä on käyttää selittävien muuttujien arvoja ennustamaan vasteen arvoja.

Esimerkiksi oheisessa kuvassa koneoppimismalli käyttäisi asunnon perustietoja (syötteet) luodakseen mallin, joka pystyy ennustamaan asunnon hinnan (vaste).

Ohjatun oppimisen esimerkki
Ohjatun oppimisen esimerkki

Vastaavasti kuvankäsittelyyn liittyvissä ratkaisuissa syötteinä on kuvia ja vasteina kuvissa olevia objekteja.

Liiketoiminnallisista tekoälyratkaisuista suurin osa perustuu ohjattuun oppimiseen. Tähän kuitenkin liittyy usein haaste; vastemuuttujien arvot eivät ole aina tiedossa. Esimerkiksi ruokaravintolan johto haluaisi mielellään ennustaa hävikin (vaste) määrää, mutta heidän datansa ei kuitenkaan sisällä tietoja jätteeksi päätyvän ruoan määrästä.

Mikäli vastemuuttujien arvot eivät ole tiedossa, voi olla mahdollista annotoida data (annotation, labeling) – eli muodostaa vastemuuttujat jälkikäteen. Esimerkkinä toimikoon yritys, jolla on paljon kuvia tuotantolinjalla kulkevista tuotteista. Kuvissa näkyy, että osassa tuotteita on virheitä pintamateriaalissa. Tässä asiayhteydessä annotointi tarkoittaa, että asiantuntija merkitsee virheelliset kohdat kuvaan esimerkiksi piirtämällä niiden ympärille suorakaiteen, jolloin niistä muodostuu vastemuuttujan arvo “virheellinen”. Mikäli kuvassa ei ole merkintää, niin vastemuuttujan arvo on “virheetön”.

Ohjattu oppiminen jakautuu edelleen kahteen alakategoriaan: luokittelu- ja regressio-ongelmat. Näiden eron ymmärtäminen on tärkeää, mutta onneksi jako on selkeä.

Luokitteluongelmissa ennustamme vastemuuttujaa, joka on luokkamuuttuja. Tässä on siitä kaksi esimerkkiä:

  1. Kaksiluokkainen luokittelu voisi perustua tietoon siitä, ostiko asiakas asunnon näytön jälkeen. Vastausvaihtoehdot ovat "kyllä" ja "ei", joten ne muodostavat ennustettavat luokat.

  2. Moniluokkainen luokittelu tarkoittaa, että ennustettavia luokkia on enemmän kuin kaksi. Tätä on vaikkapa objektien tunnistaminen kuvasta, jolloin jokainen tunnistettu objekti on oma luokkansa. Mikäli kohdan 1 esimerkissä olisi ollut kolmaskin vaihtoehto ”kyllä”- ja “ei”- vastausten lisäksi, niin kyseessä olisi ollut moniluokkainen luokittelu.

Regressio-ongelmissa ennustamme jatkuvaa vastemuuttujaa, esimerkiksi myyntiä, lämpötilaa tai hintaa.

Seuraava kuva havainnollistaa regressio- ja luokitteluongelmien eroa.

Regression ja luokittelun vertailua
Regression ja luokittelun vertailua

Vasemmalla on esimerkki regressiosta, jossa on kolme ennusteskenaariota katkoviivan oikealla puolella. Oikealla on esimerkki luokittelusta, jossa tunnistetaan hihnalla kulkevaa materiaalia.

Regressio-ongelmat on myös mahdollista muuttaa luokitteluongelmiksi, mikä voi tietyissä tilanteissa auttaa paremman ratkaisun toteutuksessa. Jos vaikkapa myyntiennustetta ei tehtäisikään yhtenä numeerisena lukuna vaan luokkina – esimerkiksi myynti kasvaa ”alle 5 %", "5–10 %" tai "yli 10 %”. Numeerisen myyntiennusteen sijasta saisimme ennusteen, joka kertoisi luokkakohtaiset todennäköisyydet myynnille.

B) Ohjaamattomassa oppimisessa (unsupervised learning) käytössä on dataa (syötteet), mutta ei ennustettavaa kohdetta (vaste). Tyypillisesti ohjaamattoman oppimisen tavoitteena on löytää datasta rakenteita, joita voidaan hyödyntää.

Ehkä tunnetuin esimerkki on asiakassegmentointi, jossa ryvästämistä (clustering) hyödyntäen etsitään samankaltaisia asiakasryhmiä datasta. Samaan asiakassegmenttiin kuuluvat asiakkaat ovat siis lähempänä toisiaan ostokäyttäytymiseltään kuin eri segmenteissä olevat asiakkaat.

Liiketoiminnassa käytetyt ohjaamattoman oppimisen ratkaisut ovatkin pääasiassa ryvästämiseen liittyviä, eli datasta halutaan löytää keskenään samankaltaisia joukkoja.

Kaavio ryvästämisestä
Kaavio ryvästämisestä

Ryvästämismenetelmät löytävät datasta samankaltaisia joukkoja.

Oheinen kuva on yksinkertainen esimerkki ryvästämisestä. Siinä algoritmi on löytänyt kolme keskenään samankaltaista joukkoa, jotka eroavat toisistaan. Ihmisen apua tarvitaan tulosten tulkinnassa, esimerkiksi ”Joukko A:n” tulkinta voisi olla, että siihen kuuluvat kalliit asunnot, joiden myyntiaika on kuitenkin lyhyt.

Ohjaamattoman oppimisen alueita on muitakin, mutta niitä emme tällä kurssilla käsittele.

C) Vahvisteoppimisessa (reinforcement learning) tekoäly tekee päätöksiä ja oppii toimimaan päätöksistä saadun palautteen perusteella. Tämän toteuttaminen ei ole aina helppoa, sillä palauteen saaminen voi kestää pitkään. Tyypillisiä esimerkkejä vahvisteoppimisesta ovat mainonnan kohdennus netissä, itseohjautuvat ajoneuvot tai edistyneimmät shakkiohjelmat, jotka oppivat pelaamistaan peleistä yhä paremmiksi.

Liiketoiminnallisia vahvisteoppimisen ratkaisuja on vielä vähän, sillä menetelmän hyödyntäminen on useissa käyttökohteissa haastavaa. Vaikka emme tällä kurssilla perehdy vahvisteoppimiseen syvemmin, se kannattaa kuitenkin pitää mielessä. Tulevaisuudessa siihen perustuvat ratkaisut varsin todennäköisesti yleistyvät.

Next section
IV. Yleinen ja kapea tekoäly