Tekoälyopas

Mitä tekoäly on, mitä tarkoittaa koneoppiminen ja mitä sillä voidaan saavuttaa?

Mitä tekoäly on?

Tekoälyn voidaan ajatella tarkoittavan tietokoneohjelmaa tai -järjestelmää, joka pyrkii tavalla tai toisella jäljittelemään ihmismielen kykyä havainnoida ympäristöään, oppia kokemuksistaan ja soveltaa oppimaansa ongelmanratkaisuun. Näin se voi suoriutua haastavista tehtävistä, joihin on ajateltu tarvittavan ihmisen kaltaista älykkyyttä, tai pidetty hyvin vaikeina perinteisille tietojenkäsittelyn menetelmille. On tavallista ajatella tekoälyä liikkuvana maalina: usein, kun tekoälymenetelmin ratkaistaan jokin ongelma, kyseistä ongelmaa ei enää pidetä tekoälyn piiriin kuuluvana, vaan se arkipäiväistyy.

Viimeaikainen tekoälyn nousu on usean yhtäaikaisen kehityskulun seurausta. Tietokoneiden laskentateho on jatkanut eksponentiaalista kasvuaan, teorian tutkimuksessa on tehty suuria edistysaskeleita ja järjestelmien opettamiseen käytettävissä olevan datan määrä on kasvanut huomattavasti. Suuret teknologiayritykset ovat panostaneet valtavasti tekoälyn tutkimukseen ja sovellutuksiin. Pienemmät toimijat ovat päässeet osalliseksi menestyksestä jalostuneiden työkalujen avulla ja pilvipalvelujen mahdollistaessa joustavan laskentatehon käytön.

Koneoppiminen

Suurin osa nykypäivän tekoälysovellutuksista perustuu koneoppimisen (ML, machine learning) periaatteeseen. Sillä tarkoitetaan analyyttisiä menetelmiä, jotka perustuvat esimerkkien kautta opettamiseen ja tulosten paranemiseen ”kokemuksen myötä”.

Syöttämällä järjestelmään hyvin valmisteltua, tietynlaista opetusdataa rakennetaan laskennallinen malli tarkasteltavasta ilmiöstä. Malliin perustuen voidaan tehdä ennustuksia, tulkintoja tai päätöksiä ilman, että ohjeita tai sääntöjä ohjelmoitaisiin niihin erikseen.

Esimerkiksi roskapostin suodattaminen voidaan toteuttaa koneoppimisen avulla. Antamalla tarpeeksi esimerkkejä käyttäjien roskapostiksi merkitsemistä viesteistä malli oppii tunnistamaan suurella varmuudella, mitkä viestit ovat roskapostia. Tunnistus perustuu viestin yksityiskohtiin, kuten otsikkoon, tekstissä käytettyihin sanoihin ja lähettäjän tietoihin. Esimerkissä ilmenee myös muutama koneoppimiselle olennainen asia: data on yleensä ihmisen merkitsemää tai rikastamaa, sitä tarvitaan paljon ja sen keräämisessä voidaan hyödyntää palveluiden käyttäjien syötteitä.

Tietokoneelle siis annetaan kyvykkyys oppia uusia asioita datasta, mikä avaa lukemattomia mahdollisuuksia näinä runsaan ja monipuolisen datan keräämisen aikoina. Raakadata on kuin uusi öljy. Sitä voidaan jalostaa koneoppimisen käyttöön ja siitä voidaan tuottaa uutta tietämystä tavoilla, mihin perinteiset tilastolliset menetelmät eivät pysty, ja mittakaavassa, mikä ei ole pelkästään ihmisen suorittamana mahdollista.

Kyllä konekin oppii kun sille rautalangasta vääntää.

Vastasin näin jollekulle, kuka ihmetteli koko sanaa ja aihepiiriä. Kyse ei ole mistään magiasta, vaan se on datan vääntämistä ja kääntämistä.

Ohjattu ja ohjaamaton oppiminen

Edellä jo mainittua lähestymistapaa koneoppimiseen kutsutaan ohjatuksi oppimiseksi (supervised learning). Järjestelmää ohjataan ennalta tunnettujen datanäytteiden avulla tekemään ennustuksia samankaltaisesta, mutta ennalta tuntemattomasta datasta tulevaisuudessa.

Luokittelussa (classification) tavoitteena on arvioida, mihin kahdesta tai useammasta ennalta määritetystä luokasta datanäytteet todennäköisimmin kuuluvat. Esimerkiksi: Roskapostia vai ei? Onko kuvassa kissa/koira/lintu/kala? Onko asiakaspalaute sävyltään positiivinen, negatiivinen vai neutraali?

Jatkuvaluontoisen muuttujan arvoa ennustettaessa kyseessä on regressioanalyysi (regression). Riittävän havaintoaineiston perusteella voidaan selvittää, kuinka syötteenä käytettävät selittävät muuttujat vaikuttavat lopputulokseen. Tällaisten mallien ja menetelmien perusteella voidaan tehdä ennusteita, esimerkiksi arvioida asunnon hintaa sen ominaisuuksien ja sijainnin perusteella; tai suorittaa resurssien optimointia, esimerkiksi vertailla mainonnan tai hinnoittelun vaikutusta myyntilukuihin.

Ohjatussa oppimisessa käytettävä data on valmiiksi luokiteltua; suurelle joukolle esimerkkejä tiedetään oikea vastaus ja pyritään rakentamaan sen perusteella ennustavaan analyysiin kykenevä yleinen malli. Ohjaamattoman oppimisen (unsupervised learning) tavoitteena on puolestaan jäsennellä aineistoa ja löytää datasta merkityksellisiä yhteyksiä. Sisällöltään ja yksityiskohdiltaan ennalta tuntemattomasta datasta voidaan monilla erilaisilla menetelmillä selvittää säännönmukaisuutta, samankaltaisuuksia tai poikkeamia.

Klusterointi (clustering) on yleiskäyttöinen menetelmä ja usein ensimmäisenä sovellettava keino, kun halutaan oppia datasta ohjaamattomasti. Siinä aineiston yksilöitä jaotellaan joidenkin ominaisuuksien mukaan erillisiin ryhmiin, joissa ryhmien jäsenet ovat keskenään samankaltaisia. Käytännön esimerkki tästä on kuluttajien jakaminen ryhmiin mielenkiinnon kohteiden perusteella markkinoinnin kohdentamiseen.

Poikkeamantunnistuksessa (anomaly detection) pyritään löytämään aineistosta epätyypillisiä esiintymiä, asioita jotka eivät sovi toistuviin kaavoihin tai eroavat merkittävästi havaitusta normaalista. Tätä voi hyödyntää esimerkiksi rikollisen toiminnan tai petosyritysten havaitsemiseen maksuliikenteestä.

Usein ohjattua ja ohjaamatonta oppimista myös yhdistellään. Klusteroinnin lopputulosta voidaan käyttää luokitteluperusteena muissa koneoppimismenetelmissä. On tavallista esikäsitellä dataa ohjaamattomilla menetelmillä, poistaa siitä häiriöitä tai tiivistää datasta esille vain olennainen.

Monimutkaisessa ja interaktiivisessa toimintaympäristössä koneoppimismalleja voidaan myös opettaa antamalla positiivista tai negatiivista palautetta uusien havaintojen perusteella prosessin edetessä, minkä mukaan järjestelmä oppii tekemään parempia valintoja. Tällaisella vahvistusoppimisella (reinforcement learning) on sovelluskohteita robotiikassa, automatiikassa ja opetettaessa konetta pelaamaan pelejä.

Case: Virheiden havaitseminen valmistusprosessissa

Teollisten prosessien mittausdata on toiminnan kehittämiselle arvokasta. Aikasarja-analyysin ja koneoppimisen keinoin on mahdollista tehdä tarkempia tulkintoja ja ennustuksia kuin datan visualisointeja katsomalla. Olemme kehittäneet malleja ja menetelmiä virhetilanteiden tunnistamiseen ja luokitteluun puolijohdekomponenttien valmistusprosessista.

Neuroverkot ja syväoppiminen

Keinotekoisilla neuroverkoilla (artificial neural network) tarkoitetaan laskennallisia järjestelmiä, joiden toimintatapa on saanut vaikutteita ihmisten ja eläinten aivojen rakenteesta. Yksinkertaistetusti kyseessä on verkostomainen rakenne, missä verkoston solmukohdat, eli neuronit, saavat sarjan syötteitä verkoston aiemmilta neuroneilta, suorittavat niille laskutoimituksia ja välittävät niiden lopputulokset edelleen seuraaville neuroneille. Kaikilla neuronien välisillä yhteyksillä on painoarvot, jotka kuvaavat eri syötteiden merkitystä neuronien laskutoimituksille. Painoarvojen kasautuva monimutkainen yhteisvaikutus ratkaisee koko laskennan lopputuloksen.

Neuroverkkoa opetetaan syöttämällä sen läpi dataa tietäen, mikä laskennan lopputuloksen kuuluisi olla. Verkoston painoarvoja korjataan vaiheittain lähemmäs oikeaa lopputulosta johtavaa asetelmaa. Prosessia toistetaan, kunnes verkosto on mukautunut tuottamaan halutun lopputuloksen. Pohjimmiltaan yksinkertainen lähestymistapa on osoittautunut erittäin toimivaksi, mutta sen varjopuolena neuroverkon antamien tulosten perusteleminen ja niihin johtaneiden syiden tulkinta on haastavaa. Neuroverkkomallit eivät kuitenkaan ole täysin ”mustia laatikoita”, joiden toimintaa ei voida käsittää. Niiden tulkittavuuden parantaminen on merkittävä tutkimuksen aihe ja keinoja on olemassa.

Alun perin keinotekoisten neuroverkkojen tavoitteena oli ratkaista ongelmia hyvin samaan tapaan kuin ihmisaivojen, mutta alan kehityksen ja tutkimuksen myötä koneoppimisessa käytettävät rakennelmat ovat erkaantuneet biologisista esikuvistaan. Eri sovelluskohteisiin erikoistetut neuroverkkoarkkitehtuurit ovat osoittautuneet tehokkaiksi monissa vaikeissa tekoälyn sovelluskohteissa, mm. esineiden tai ihmisten tunnistamisessa kuvasta ja videosta, puheen tunnistuksessa sekä luonnollisen kielen käsittelyssä ja sen merkityksen hahmottamisessa.

Monien vaikuttavien tekoälysaavutusten yhteydessä on viime aikoina käytetty termiä syväoppiminen (engl. deep learning). Sillä viitataan käytettyjen neuroverkkojen ”syvään” eli monikerroksiseen rakenteeseen ja kehittyneempiin interaktioihin verkoston sisäisessä toiminnassa, minkä tarkoituksena on edesauttaa monimutkaisempien rakenteiden hahmottamista ja pidempien syy-seuraussuhteiden oppimista. Tällaisten neuroverkkojen opettaminen vaatii yleensä suuria datamääriä ja on hyvin laskentaintensiivistä. Grafiikkasuorittimien valjastaminen neuroverkkojen opettamiseen aloitti uuden syväoppimisen aikakauden, kun suurien monimutkaisten mallien laskenta tehostui monikymmenkertaisesti.

Yksi merkittävä rakennetyyppi on kuvadatan hahmottamisen mullistanut konvoluutioneuroverkko (convolutional neural network, CNN), missä tietyt neuronikerrokset on laadittu tunnistamaan kuvista kerroksittain tarkempia ja monimutkaisempia piirteitä tehokkaasti, riippumatta niiden sijainnista kuvassa. Toinen on takaisinkytkeytyvä neuroverkko (recurrent neural network, RNN), missä neuroverkolle käytännössä lisätään pitkäkestoisempi sisäinen muisti, kyvykkyys oppia perättäisrakenteisen datan, kuten vaikka tapahtumien aikajanalla, keskinäisiä yhteyksiä.

Kielen mallintamisessa ja tekstin ymmärtämisessä on päästy viime aikoina parhaisiin tuloksiin rakentamalla suuresta aineistosta (esim. Wikipedia, uutissivustot ja keskustelufoorumit) tehokkaasti rinnakkaislaskettava ns. transformer-malli, mikä tulkitsee tekstiä kokonaisuutena ja kiinnittää huomiota sanojen ja lauseiden asiayhteyksiin. Yksi merkittävimmistä on Googlen hakukonekäyttöön kehittämä BERT, minkä Turun yliopiston tutkijaryhmä on myös opettanut suomenkielisellä tekstidatalla. Samaan ideaan perustuva, vaikuttaviin suorituksiin pystyvä OpenAI:n massiivinen GPT-3 ja sitä seuranneet versiot, jotka ovat osoittaneet, että mallin koon huomattavalla kasvattamisella saatavien hyötyjen raja ei ole tullut vielä vastaan.

Eräs varsin mielenkiintoinen ja uusi idea on laittaa neuroverkot kilpailemaan keskenään; yksi tuottamaan opetusdatan kaltaista uutta materiaalia ja toinen erottamaan, onko kyseessä aito vai keinotekoisesti tuotettu näyte. Tällaiset yleensä kuvien generointiin valjastetut kilpailevat generatiiviset verkot (generative adversarial network, GAN) oppivat rinta rinnan molemmat vähitellen paremmaksi tehtävässään. Lopulta generoiva osapuoli parhaimmillaan oppii tuottamaan hyvin esimerkkimateriaalin kaltaisia, mutta uusia alkuperäisiä kuvia esimerkiksi ihmisen kasvoista, maisemista tai kuvataiteesta.

Malleja, jotka voivat luoda korkealaatuista tekstiä, kuvaa ja muuta sisältöä koulutetun sisällön pohjalta, on alettu kutsumaan generatiiviseksi tekoälyksi.

Case: Haun tarkoituksen ymmärtäminen hakujärjestelmässä

Huonosti toimiva haku turhauttaa. Olemme uudistaneet vanhaan julkishallinnon järjestelmään tekstihakutoimintoja, joihon lisätään myös semanttisen haun ominaisuuksia, eli parempaa ymmärrystä haun tarkoituksesta ja merkityksestä sanojen sekä lauseiden taustalla.

Datan merkitys

Valitettavasti tekoäly ei ainakaan vielä ratkaise kaikkia ongelmia puolestamme. Ihmisälyn kaltaista yleispätevää kaikkeen pystyvää tekoälyratkaisua ei ole olemassakaan, eikä edes suuntaviivoja sellaisen kehittämiseen. Koneoppiminen on kuitenkin erinomainen ja tehokas työkalu ongelmanratkaisuun, kun käytettävissä on runsas, rakenteellinen ja kasvava havaintoaineisto, mikä sisältää ennustusvoimaisia piirteitä.

Koneoppiminen on parhaimmillaan, kun ratkaistava ongelma voidaan pukea ennustuksiksi, joiden perusteella on suoraan tehtävissä päätöksiä. Jos datasta halutaan löytää ”jotain mielenkiintoista” tai saada epämääräisesti ilmaistuja ”oivalluksia”, kannattaa ensin ottaa avuksi tilastolliset menetelmät ja visualisointi, esim. Business Intelligence -työkaluilla.

Lähdettäessä soveltamaan koneoppimista on hyvä varautua epävarmuuteen matkan varrella. Lähtötilanteessa saattaa olla mahdotonta sanoa, voidaanko käytössä olevasta datasta muodostaa hyödyllinen ja tarpeeksi yleiskäyttöinen malli. Ja parhaankaan mallin antamat tulokset eivät ole eksakteja, ennustuksissa pelataan aina todennäköisyyksillä. Koneoppimisella löydetään asioiden välisiä yhteyksiä ja suhteita, korrelaatioita. Pelkästään havaintoluontoiseen dataan perustuvalla analyysillä ei saada selville, onko kyseessä todellinen syy-seuraussuhde; mallien antamat ennustukset kannattaa varmistaa kokeellisesti.

Jos käytettävissä ei ole dataa, koneoppimisesta ei ole apua. Tarvittavan datan määrälle on vaikea sanoa suosituksia, yleisesti mitä enemmän sitä parempi. Tavanomaisessa asioiden luokitteluun tähtäävässä mallissa, käyttäen suoraviivaisempia menetelmiä, olisi suotavaa olla vähintään tuhansia ihmisen merkitsemiä esimerkkejä. Monimutkaisempien neuroverkkojen tapauksessa vieläkin enemmän, riippuen täysin sovelluskohteesta ja datan luonteesta.

Hienoimmat tekoälysaavutukset perustuvat osaltaan siihen, että syväoppimismenetelmiin syötetään valtavat määrät aineistoa ja käytetään opettamiseen sellaiset määrät laskentatehoa, mihin kaikilla ei ole mahdollisuuksia. Näin opetettuja malleja voidaan kuitenkin käyttää uusissa sovelluskohteissa pohjana tai lähtökohtana erikoistamiselle, jos aineistoa ei muuten ole riittävästi. Varsinkin hahmontunnistuksen ja luonnollisen kielen mallintamisen osa-alueilla on paljon potentiaalia oppimisen siirtämiselle (transfer learning).

Nyrkkisääntö: Milloin koneoppimista voi hyödyntää?

Jos sinulla on paljon dataa*, josta yksinomaan kenet vaan voisi ohjeistaa hakemaan vastauksia hyvin määriteltyihiin kysymyksiin, voi koneen todennäköisesti opettaa saman.

* mm. dokumentit, kuvat, verkkosivut, lokitiedostot, tietokantataulukot

Koneoppimisjärjestelmän kehittäminen ohjattuun oppimiseen ja ennustavaan mallintamiseen

Yleisin ja tyypillisin koneoppimisjärjestelmä perustuu ohjattuun oppimiseen ja tähtää ennustavaan mallintamiseen. Käytettävissä oleva data on harvoin sellaisenaan sopivaa mallin opettamiseen. Ensinnäkin siitä etsitään ja siivotaan pois virheitä ja puutteita, epäjohdonmukaisuuksia ja toisteisuutta. Datan laadun parantaminen voi myös vaatia muutoksia siihen, kuinka sitä kerätään tai koostetaan eri lähteistä.

Datan valmistelu

Mallin opettamista varten raakadatasta muodostetaan kokoelma erillisiä tietueita, jotka kuvaavat tarkasteltavan ilmiön esimerkkitapauksia. Ohjatussa oppimisessa kustakin esimerkkitapauksesta täytyy olla tiedossa ennustamisen kohteena oleva asia. Kutakin tapausta kuvaavista piirteistä valitaan joukko ominaisuuksia mallintamisen syötteeksi. Jotta tietokone voi tehdä mallin muodostamiseen tarvittavat laskutoimitukset, täytyy data esittää pelkästään numeroina. Koneoppimismallin syötteet ovat ominaisuusvektoreita, sarja lukuarvoja, jotka esittävät esimerkkitapausten ominaisuuksia. Usein näitä lukuarvoja on myös tarpeen skaalata, niputtaa ryhmiin tai yhdistellä keskenään parhaan lopputuloksen aikaansaamiseksi.

Esimerkki: Asunnon hintaa ennustettaessa raakadata voisi olla arkisto toteutuneista kaupoista, tietueet yksittäisiä kauppatapahtumia, mallintamiseen käytettävät ominaisuudet asuntoa kuvaavia tietoja ja kaikista esimerkeistä tiedossa ennustettava muuttuja eli toteutunut kauppahinta. Asuntoa kuvaavat tiedot ominaisuusvektorina voisi olla pinta-ala neliömetreinä, huoneiden lukumäärä, sijainti maantieteellisinä leveys- ja pituusasteina ja kullakin talotyypillä oma numeronsa.

Muodostettu data-aineisto jaetaan satunnaisesti kahteen osaan. Suurin osa käytetään opetusdatana mallin sovittamiseen ja optimointiin. Loput datasta varataan testidataksi mallin arviointiin; halutaan selvittää, kuinka yleiskäyttöinen mallista tulee ennennäkemättömän datan suhteen, eli välttää mallin ylisovittuminen (overfitting) opetusdatan erityispiirteisiin.

Datan tutkimiseen, parantamiseen ja esikäsittelyyn kannattaa panostaa. Alan vanha viisaus sanoo roskaa sisään, roskaa ulos. Koneoppimismalli voi olla vain niin hyvä kuin sen rakentamiseen käytetty data. Hienoinkin neuroverkkomalli on pohjimmiltaan vain johdannainen sen opettamiseen käytetystä datasta, tiivistetty esitys sen sisältämästä informaatiosta. Näin ollen on syytä kiinnittää huomiota siihen, kuinka kattavasti ja tasapuolisesti käytetty aineisto esittää sovelluskohteen erityispiirteiden koko kirjon ja vaihtelevuuden. Opetusdatan mahdolliset vinoumat (bias) siirtyvät hyvin pitkälti sellaisenaan mallin tuottamiin tuloksiin. Esimerkiksi vain suomalaisten kuvilla opetettu kasvojentunnistusjärjestelmä ei voi toimia optimaalisesti maailmanlaajuisesti. Usein tottumukset, henkilökohtaiset mieltymykset ja ennakkoluulot vaikuttavat tekemiimme päätöksiin, mutta tekoälyn tapauksessa näin ei tarvitse olla.

Mallin opettaminen ja arviointi

On olemassa useita erilaisia koneoppimisalgoritmeja, joihin perustuen malli voidaan muodostaa, alkaen suoraviivaisista päätöspuista ja lineaarisesta regressiosta aina syviin ja monimutkaisiin neuroverkkorakennelmiin asti. Eri algoritmeilla on omat erikoispiirteensä ja vahvuutensa, ei voida yksiselitteisesti sanoa jonkin algoritmin olevan muita parempi kaikissa tapauksissa. Sovelluskohteesta ja syötedatan luonteesta riippuen eri algoritmeilla voidaan päästä erilaisiin tuloksiin, näin ollen on tärkeää kokeilla ja vertailla useampia eri vaihtoehtoja. Sitä varten kannattaa aluksi kehittää infrastruktuuri, koko putki alusta loppuun, opetusdatan syöttämiseen, erilaisten mallien opettamiseen, mallien kyvykkyyden arviointiin ja tulosten tulkintaan sekä havainnollistamiseen.

Mallin opettaminen tarkoittaa yksinkertaistetusti optimaalisten arvojen löytämistä mallin sisäisille parametreille, joiden perusteella malli laskee lopputuloksen. Opettaminen on optimointia, missä pyritään minimoimaan mallin tuottamien ennusteiden tappiofunktio (loss function) kautta koko opetusdatan, mikä kuvaa kuinka kaukana totuudesta mallin tuottamat ennustukset ovat verrattuna opetusdatalle tiedettyihin oikeisiin vastauksiin. Luokittelumallien kyvykkyyttä voidaan mitata erilaisten havainnollisten metriikoiden mukaan testidatalla, yleisimpänä laskea tarkkuus (accuracy), eli oikein luokiteltujen osuus kaikista näytteistä. Epätasapainoisen datan tapauksessa, tunnistettaessa harvinaisia näytteitä suuresta massasta, on syytä kiinnittää huomiota luokkakohtaisesti positiiviseen ennustearvoon (precision, positive predictive value) ja löytyvyysarvoon (recall, sensitivity); tunnistaa kompromissi luokkaan kuuluvien löytämisen ja toisaalta siihen väärien luokittelemisen väliltä. Molempien tasapuolisena mittarina voidaan käyttää niiden harmonista keskiarvoa (F1-score). 

Ensimmäisenä opetettavana mallina kannattaa yleensä käyttää mahdollisimman suoraviivaista ja yksinkertaista mallia, varmistaa sen avulla järjestelmän kaikkien muiden osien toimivuus. Tästä saatuja tuloksia voidaan myös käyttää vertailukohtana monimutkaisempien ja tilanteeseen paremmin sopivien algoritmien kokeilulle. Eri koneoppimisalgoritmien toimintaa ja itse opettamisprosessin kulkua ohjaavat niin sanotut hyperparametrit (hyperparameter), erilaiset säädöt ja perusoletukset, joita täytyy mukauttaa eri käyttökohteisiin. Uuteen sovelluskohteeseen parhaan mallin löytäminen vaatii sekä sopivimman algoritmin että sille sopivimpien hyperparametrien löytämistä. Tämä vaihe on osaltaan järjestelmällistä vaihtoehtojen kartoittamista, osaltaan joskus enemmän taidetta kuin tiedettä. 

Kunhan järjestelmällisen etsinnän, karttuneen kokemuksen, tai yrityksen ja erehdyksen kautta on löydetty hyvin suoriutuva malli, varmistettu sen yleistyvyys testidatan avulla, voidaan mallia alkaa käyttää ennustusten ja päätösten tekemiseen uudesta datasta. On tärkeää syöttää myös uusi data täsmälleen samojen esikäsittelyvaiheiden läpi kuin opetus- ja testausdataa muodostaessa. Tuotannollisen järjestelmän kyvykkyyttä on syytä seurata, tarvittaessa päivittää opetusdataa ja jatkojalostaa mallia, varsinkin datalähteiden ja toimintaympäristön muuttuessa ajan myötä.

Valmiita työkaluja

Avointa lähdekoodia

  • Scikit-learn: Kattava kirjasto perustyökaluja ja koneoppimisalgoritmeja
  • TensorFlow ja PyTorch: Sovelluskehyksiä koneoppimiseen, varsinkin neuroverkkoihin
  • Fast.ai: Käytännöllinen ohjelmakirjasto syväoppimiseen, hyödyntäen valmiita malleja
  • Langchain: Apukirjasto suurten kielimallien (LLM) puolella

Kaupallisia alustoja

  • Amazon SageMaker
  • Google Cloud AI
  • Microsoft Azure Machine Learning

Yhdessä tekeminen ja oivaltaminen

Miksi viimeistään nyt on oikea aika lähteä hyödyntämään tekoälyä liiketoiminnassa, vaikka siitä on puhuttu jo pari vuosikymmentä?

Alan kehitys on johtanut tilanteeseen, missä on mahdollista päästä todella hyviin tuloksiin monissa sovelluskohteissa samalla teknologian ollessa koko ajan helpommin lähestyttävää ja tehokkaampaa. Kustannukset ja riskit ovat paljon pienempiä, kun valmiita ohjelmakirjastoja ja kehittyneitä työkaluja hyödyntäen pääsee pitkälle; jokaiseen sovelluskohteeseen ei tarvitse enää itse kehittää ja toteuttaa uusia algoritmeja alusta alkaen tiedeyhteisön kanssa.

Kynnys on jo matala, riittävä varmuus koneoppimisratkaisun toimivuudesta ja siitä saatavasta hyödystä on mahdollista saada oikealla datalla hyvinkin pienellä vaivalla, ennen kun tarvitsee lähteä investoimaan enemmän.

Me ATR:llä olemme jo käyttäneet koneoppimista hyvällä menestyksellä työajan seurantajärjestelmän datan oikeellisuuden varmistamiseen, merkityksellisen tiedon seulomiseen asiakirjojen tekstimassasta sekä virheiden havaitsemiseen teollisen prosessin mittausdatasta.

Mitä teidän datasta voisikaan saada selville?

Tarve tekoälykumppanille?

Ota yhteyttä myynnissämme työskentelevään Juhaniin.

Kenttä on validointitarkoituksiin ja tulee jättää koskemattomaksi.