30.3.2021
Tekoäly / Koneoppiminen

Tekoälyn asiantuntija osaa valita sovelluksellesi parhaan ratkaisun

Tekoälyn, tai koneoppimisen, hyödyntäminen on yleistynyt viime vuosina hurjasti. Tämä kuluvan vuosikymmenen megatrendi ottaa haltuunsa yhä uusia käyttötapoja ja muuttuu pikkuhiljaa jännittävästä tavallisen tylsäksi. Tekoälyn kehitys houkuttelee mukaan yhä uusia toimijoita hyödyntämään sen mahdollisuuksia. Siihen liittyviä kehitysprojekteja suunniteltaessa onkin hyvä pysähtyä pohtimaan, millainen tekoälytoteutus juuri kyseessä olevaan projektiin kannattaisi valita. Hyvin tehdyt tekoälyyn liittyvät valinnat tarkoittavat yleensä myös merkittäviä säästöjä euroissa.

Perfektion ohjelmistokehittäjä Pinja Kuosmanen jakaa tyypilliset toteutustavat tekoälyyn liittyvissä kehitysprojekteissa ylätasolla kolmeen: räätälöityyn tai erikoistuneeseen tekoälyyn, pilvipalvelun muodossa ostettavaan tekoälyyn sekä jatkojalostettuun tekoälyyn. Pinja kiinnostui tekoälystä jo opiskellessaan Tampereen teknillisessä yliopistossa, jolloin "myös yritykset olivat jo niin kiinnostuneita tekoälystä että sain rahoituksen koneoppimista käsittelevälle dippatyölleni", hän ilakoi. Koneoppiminen oli Pinjan mielestä kiinnostavaa, sillä hän on opiskellut sekä matematiikkaa että koodaamista ja koneoppiminen yhdisti hyvin molempia.

Tekoälyyn perehtyminen kannatti, sillä Kuosmanen työllistyi heti alalle ja sai aluksi tehdä erityisesti chattibotteja. Myös Perfektiolla Pinja on saanut eri tavoin koneoppimista hyödyntäviä projekteja työpöydälleen. "Yksi tyypillinen tapaus ovat erilaiset sovellukset ja palvelut, joissa on hyötyä tekoälystä, joka osaa lukea kuvista tekstiä", hän kertoo. "Tekoälyä voidaan soveltaa todella monenlaisiin tarkoituksiin. Uuden asiakasprojektin alussa onkin hyvä selvittää, minkälainen ratkaisu soveltuu juuri kyseisen asiakkaan tarpeisiin".

Erityiseen tarpeeseen kehitetty tekoäly on kallis ratkaisu

Ohjelmistokehityksessä yleisesti räätälöidyt ja alusta asti tiettyyn tarpeeseen kehitetyt ratkaisut voivat olla todella hyviä, tekoälyn kohdalla Kuosmanen harkitsisi tarvetta kuitenkin kahdesti: "epävarmuus ja selvitystyön kesto ovat niitä syitä, miksi räätälöidyn ratkaisun kustannuksia on vaikea arvioida”. Kun koneoppimismallia aletaan tehdä alusta asti, se ensinnäkin vaatii, että aihe on ymmärretty todella syvällisesti. Koneoppimismallin koulutukseen tarvitaan paljon dataa sekä sopiva tilastollinen menetelmä, jotta malli saadaan opetettua. Opetusdatan perusteella haluttua asiaa voidaan ennustaa, kun kone alkaa ymmärtää datassa olevia säännönmukaisuuksia. Tämä vie kuitenkin paljon aikaa ja ennalta on vaikea tietää, mikä tilastollinen malli toimii mihinkin tapaukseen. Koneoppimisen muotoja on todella paljon regressioista luokitteluihin ja klusterointiin, esimerkiksi", Pinja kertoo.

Räätälöityjen ratkaisujen haasteita ovat siis, että ennen kuin varsinaiseen sovelluksen kehittämiseen edes päästäisiin, tulisi läpikäydä mahdollisesti pitkä alkuvaihe, jossa selvitetään mikä toimii ja mikä ei. "On olemassa joitakin yleisesti hyväksi havaittuja ohjenuoria ja sääntöjä, joiden perusteella voidaan lähteä valitsemaan sopivia menetelmiä. On kuitenkin ennalta arvaamatonta, miten hyvin kehitetty malli lopulta toimii tietyissä tilanteissa. Lisäksi käytetyn datan tulee olla laadukasta ja hyvää. Ihminen ei pysty juurikaan vaikuttamaan siihen mitä malli oppii muuten kuin opetusdatan eli esimerkkien avulla. Voidaan vain kokeilla eri asioita ja katsoa minkälaisia tuloksia saadaan aikaan. Vaihdetaan tarvittaessa menetelmää ja muokataan dataa erilaisin esikäsittelyn ja augmentoinnin menetelmin", Pinja kuvailee räätälöidyn koneoppimisen kehittämisen prosessia.

Räätälöidyn ratkaisun kohdalla on siis jopa riski, että kokeillaan paljon erilaisia asioita, ja todetaan lopuksi, ettei mikään toimi. "Räätälöity ratkaisu voi tulla asiakkaalle todella kalliiksi. Lisäksi niihin liittyviä tarjouksia on vaikea laatia, sillä on hyvin hankala etukäteen tietää, kuinka kauan toimivan mallin löytämiseen menee aikaa. Asiakas maksaisi jo siis pelkästä tutkimuksesta merkittävästi - ja siksi tällaista alusta asti tapahtuvaa kehitystä tehdäänkin lähinnä tuotetaloissa ja tutkimuksen yhteydessä", Pinja toteaa. Hänen mielestään räätälöity ratkaisu kannattaa tekoälyn kohdalla toteuttaa vain, mikäli valmista tilanteeseen soveltuvaa ratkaisua ei ole jo kehitetty. "Kun malli on valmis, niin loppuhan on vain tavanomaista sovelluskehitystä. Sen työmäärän arviointi on paljon helpompaa", hän summaa.

Valmis tekoälyratkaisu on edullinen mutta ei välttämättä riittävä

Googlella ja muilla teknologian jättiläisillä on valtavat tiimit ja osastot, jotka työskentelevät keskittyen vain tiettyihin koneoppimisongelmiin. Heillä on pääsy valtaviin määriin hyödyllistä dataa, jolla voidaan opettaa koneita sekä resursseja palkata tilastollisiin malleihin erikoistuneita ammattilaisia testaamaan eri algoritmejä ja muuntamaan dataa, kunnes kehityksessä oleva tekoäly suoriutuu halutuista tehtävistä riittävän hyvin.

"Valmiiden ratkaisujen käyttö on järkevää, sillä yksikään yksin työskentelevä Pinja ei pysty samaan kuin tiimillinen Googlelaisia", Kuosmanen nauraa ja muistuttaa, että onneksi näitä Googlen ja muiden teknologiajättien kehittämiä tekoälyratkaisuja voi ostaa pilvipalveluina. "Pilvipalvelut mahdollistavat muillekin tekoälyn hyödyntämisen kohtuullisin kustannuksin".

Geneeriset pilvipalveluina ostettavat tekoälyratkaisut esimerkiksi tunnistavat kasvoja videokuvasta tai tekstiä PDF:stä. "Jos alkaisi itse tekemään näitä alusta asti, olisi vaikea luvata samaa toimintavarmuutta, kuin näissä on jo saavutettu. Pilvipalveluja ostamalla saa siis toimintavarmuutta valmiissa paketissa", Pinja avaa valmiiden palvelujen hyötyjä.

Yksi Pinjalle tutuksi tullut palvelu on Amazonin Textract, joka on erikoistunut parsimaan kuvamuotoisesta dokumentista ulos sen sisältämät tekstit. "Textract ja vastaavat palvelut ovat on todella käteviä. Pystyt ottamaan palvelun käyttöön ja maksat käytöstä, eli kuvien määrän perusteella samaan tapaan kuin muistakin pilvipalveluista", hän avaa palvelun toimintaa.

Miinuspuolena valmisratkaisuihin liittyen Pinja näkee sen, että ne on kuitenkin aina tehty jokin tietty käyttötapaus mielessä, mikä voi olla ongelmallista, jos asiakkaan tarve on yhtään erityisempi. "Jotkut käyttötapaukset ovat niin uusia, tai erikoistuneita, että siihen ei ole suoraan tehtynä valmiita ratkaisuja tai rajapintoja, joita voisi suoraan hyödyntää. Jos oma ratkaisu ei osu valmiiden ratkaisujen piiriin niin ne eivät sellaisenaan palvele", hän kertoo.

Kun valmista ratkaisua ei ole, se voidaan kehittää

Pinjan mielestä usein paras ratkaisu onkin ns. jatkojalostettu tekoälyratkaisu. "Kun valmista ratkaisua ei ole, se voidaan kehittää", hän sanoo Perfektiolaisille tuttua lausetta käyttäen. "Voidaan ajatella, että valmiit tekoälyratkaisut eivät sittenkään ole valmiita. Valmiissa paketissa on se vaikein osuus, eli tekoälyn osuus, joka ei sellaisenaan sovi kaikkiin käyttötarkoituksiin hyödynnettäväksi. Sitä voidaan kuitenkin jatkojalostaa asiakkaan erityistä liiketoiminnan ongelmaa ajatellen, ja valmiita ratkaisuja voidaan myös yhdistellä. Tällöin valmiiden palveluiden päälle luodaan asiakkaan erityiset tarpeet huomioiva räätälöity logiikkaa". Esimerkiksi tällaisista ratkaisuista Pinja mainitsee myynti- tai ostolaskut. "Valmis tekoälyratkaisu osaa erotella laskulta tekstin, mutta ei välttämättä sitä, minkä tyyppisestä tekstistä on kulloinkin kyse. Jatkojalostamalla valmista ratkaisua sitä voidaan kehittää eteenpäin niin, että se osaa erottaa toisistaan esimerkiksi tilinumeron ja puhelinnumeron. Tämä voi olla hyvin hyödyllistä dataa asiakkaalle".

Pinja kertoo että hän kartoittaa projektien aluksi asiakkaan kanssa yhdessä, mitkä ovat parhaat työkalut asiakkaan ongelman ratkaisemiseksi ja onko mahdollisuuksia ja edellytyksiä hyödyntää jotain olemassa olevaa tekoälypalvelua. Kun tekoälyn osuudesta on päätetty, voidaan itse sovellukset tehdä alusta alkean. "Asiantuntijasta on hyötyä, kun tehdään valintoja eri valmiiden tekoälyratkaisujen välillä. Kaikki chattibotit esimerkiksi eivät suinkaan ymmärrä ihmisiä, vaan etsivät tekstistä vain avainsanoja. Jokin toinen taas saattaa hyvinkin oppia muodostamaan lauseita myös itse", Pinja kertoo. "Jos asiakkaan tarpeeseen sopivaa ratkaisua ei ole aiemmin kehitetty, niin sitten sellainen tehdään itse".

Ota yhteyttä

Mikäli suunnitelmissasi on kehittää tekoälyä hyödyntävä sovellus, ole yhteydessä Perfektioon. Autamme sinua löytämään ongelmaasi parhaiten palvelevan ratkaisun ja kehittämään sitä tarvittaessa eteenpäin, mikäli valmista ratkaisua ei vielä ole.

Jaana Laitinen

Jaana Laitinen

Operatiivinen johtaja