Koneoppiminen on ennen kaikkea teko?lyn (AI) toimintaa vahvistava ja mahdollistava teknologia. T?m? artikkeli kertoo tarkemmin mink? tyyppisest? teknologiasta on kyse.
Mit? koneoppiminen (ML) tarkoittaa?
Koneoppiminen (eng. Machine Learning) on teko?lyn (AI) alaluokka, joka rakentaa algoritmisia malleja datan kuvioiden ja erilaisten suhteellisuuksien tunnistamiseksi. T?ss? yhteydess? sana ‘kone’ on synonyymi tietokoneohjelmalle ja sana ‘oppiminen’ kuvaa kuinka ML-algoritmit tarkentuvat sit? mukaa, kun ne saavat lis?? tietoa.
Koneoppimisen k?site on itse asiassa jo melko vanha, sill? se on ensimm?isen kerran mainittu jo vuonna 1959. Mutta sen soveltaminen k?yt?nn?ss? esimerkiksi liiketoiminnassa ei ollut taloudellisesti mahdollista ennen Internetin tuloa. Lis?ksi viimeaikaiset kehitysaskeleet big data-analytiikan ja pilviteknologian saralla ovat tehneet ML:st? k?yt?nn?nl?heisemm?n ilmi?n.
T?m? johtuu siit?, ett? ML-algoritmin kouluttaminen siihen, ett? se kykenee l?yt?m??n tiettyj? malleja ja kuvioita kaiken tiedon joukosta vaatii paljon laskentaresursseja ja p??sy? massadataan (Big Data).
Termej? teko?ly ja koneoppiminen k?ytet??n joskus synonyymein?, koska viime aikoihin asti useimmat teko?lyhankkeet ovat olleet hyvin kapeita. Lis?ksi useimmat ML-mallit rakennettiin suorittamaan vain yht? teht?v?? kerralla, joten ne k?yttiv?t ohjattua oppimista ja vaativat suuria, ennalta merkittyj? tietojoukkoja koulutukseen.
Nyky??n robottiprosessiautomaation (RPA) avulla voidaan automatisoida tietojen esik?sittelyprosessia ja n?in ollen nopeuttaa koneoppimisalgoritmien koulutusta huomattavasti.
Techopedia selitt?? koneoppimisen (ML)
Laadukkaat koneoppimismallit edellytt?v?t korkealaatuista koulutusdataa ja p??sy? suuriin tietojoukkoihin, joista voidaan poimia tiettyihin liiketoiminnan tavoitteisiin sopivimpia ominaisuuksia, ja n?in paljastaa merkityksellisi? assosiaatioita. Koneoppiminen voi siis toimia ennen kaikkea liiketoimintaa tehostavana teknologiana.
Koneoppimismallit
Koneoppimismalli on yksinkertaisesti datalla ajetun ML-algoritmin tulos. Jos aikeissasi on kokeilla koneoppimismallin rakentamista itse, siihen liittyv?t vaiheet ovat seuraavat:
- Ker?? haluamasi harjoitustiedot.
- Sitten valmistele tiedot harjoittelua varten.
- P??t?, mit? oppimisalgoritmia haluat k?ytt??.
- Sy?t? oppimateriaalit algoritmille.
- Arvioi oppimisalgoritmin tulokset.
- S??d? tarvittaessa algoritmin muuttujia (hyperparametrej?), jotka ohjaavat koulutusprosessia tulosten parantamiseksi.
Tyypillisess? ML-algoritmin kehitt?misess? valvotut koneoppimisalgoritmit vaativat tietojoukon, joka koostuu esimerkeist?, joissa jokainen esimerkki koostuu sy?tteest? ja l?hd?st?. N?in ollen ML-algoritmin koulutuksen tyypillinen tavoite on p?ivitt?? ennustavan mallin parametrit sen varmistamiseksi, ett? mallin p??t?spuut tuottavat johdonmukaisesti haluttuja tuloksia. Koneoppiminen ei ole viel? valmis, vaan t?ss? kohtaa kuvaan astelee mukaan entropia.
Entropia on matemaattinen kaava, jota k?ytet??n h?iri?iden ja satunnaisuuden kvantifiointiin suljetussa j?rjestelm?ss?. Koneoppimisprojekteissa t?rke? tavoite on varmistaa, ett? entropia pysyy mahdollisimman alhaisena, koska t?m? mitta m??ritt??, kuinka mallin p??t?spuut valitsevat datan jakamisen.
Koneoppimisen koulutus
Koneoppimismallien kouluttamiseen k?ytet??n kolmea algoritmien p??tyyppi?: ohjattu oppiminen, ohjaamaton oppiminen ja vahvistusoppiminen.
- Ohjattu oppiminen tarkoittaa, ett? algoritmille annetaan m??ritelty koulutusdata (sy?te) ja n?ytet??n oikea vastaus (tulos). T?m?n tyyppinen oppimisalgoritmi k?ytt?? historiallisten tietojoukkojen tuloksia ennustaakseen l?ht?arvoja uusille, saapuville tiedoille.
- Ohjaamaton koneoppiminen on sit?, kun algoritmille annetaan koulutusdataa, jota ei ole m??ritelty. Sen sijaan, ett? sit? pyydett?isiin ennustamaan oikea tulos, t?m?n tyyppinen oppimisalgoritmi k?ytt?? opetusdataa havaitakseen kuvioita, joita voidaan sitten soveltaa muihin tietoryhmiin, jotka k?ytt?ytyv?t samaan tapaan.
- Joissakin tilanteissa voi olla tarpeen k?ytt?? pient? m??r?? m??ritelty? tietoa suuren m??rittelem?tt?m?n datan m??r?n tukena harjoituksen aikana. T?llaista koulutusta kutsutaan usein puoliohjatuksi koneoppimiseksi.
- Vahvistusoppiminen on sit?, ett? harjoitustietojen sijaan algoritmille annetaan palkkiosignaali ja se etsii tiedoista malleja, jotka antavat sille palkkion. T?m?n tyyppisen oppimisalgoritmin sy?te on usein johdettu oppimisalgoritmin vuorovaikutuksesta fyysisen tai digitaalisen ymp?rist?n kanssa.
Mik? voi johtaa koneoppimisessa harhaan?
Suuri yleis? haluaa, ett? teko?ly – ja erityisesti koneoppimisalgoritmit – ovat l?pin?kyvi? ja selkokielell? selitett?vi?. Mutta todellisuudessa koneoppimisen algoritminen l?pin?kyvyys voi olla monimutkaisempaa kuin vain sen tiedon jakaminen, mit? algoritmia k?ytettiin tietyn ennusteen tekemiseen.
Monet ML:n uudet k?ytt?j?t ovat olleet yll?ttyneit? huomatessaan, etteiv?t matemaattiset algoritmit olekaan salaisia. Itse asiassa useimmat nyky??n k?ytetyt suositut algoritmit, joita koneoppiminen k?ytt??, ovat vapaasti kaikkien saatavilla. Kyse on harjoitustiedosta, jolla on oma arvo, ei itse k?ytetyst? algoritmista.
On kuitenkin huomoitava, ett? koska ihminen valitsee oppimisalgoritmin kouluttamiseen k?ytetyt tiedot, t?m? voi vahingossa aiheuttaa erilaista harhaa ja ennakkoluuloisuutta rakennettavassa ML-mallissa. Oppimisalgoritmien iteratiivisuus voi my?s vaikeuttaa ML-insin??rien kyky? palata taaksep?in ja j?ljitt?? tietyn ennusteen takana olevaa logiikkaa, jos siin? huomataan korjattavaa.
Siin? tapauksessa, kun datatieteilij? tai ML-insin??ri pystyy selvitt?m??n, miten tietty ennuste tehtiin, ML-mallia voidaan kutsua selitett?viss? olevaksi teko?lyksi. Mutta kun ei ole mahdollista paljastaa, kuinka tietty ennuste tehtiin – joko siksi, ett? matematiikasta tulee liian monimutkaista tai harjoitusdata on jonkun omistamaa – ML-mallia voidaan kutsua black box AI:ksi.
Koneoppiminen ja MLOp:it
Koneoppiminen on ilmi?, johon liittyvi? projekteja valvovat yleens? datatieteilij?t ja koneoppimisinsin??rit. Datatieteilij?n ty?h?n kuuluu tyypillisesti hypoteesin luominen ja koodin kirjoittaminen, joka toivottavasti todistaa hypoteesin olevan totta. ML-insin??rin ty? taas keskittyy koneoppimistoimintoihin (MLOps).
Koneoppimistoiminta on tapa hallita koneoppimismallin koko elinkaarta – mukaan lukien sen koulutusta, virityst?, jokap?iv?ist? k?ytt?? tuotantoymp?rist?ss? ja mahdollista el?kkeelle siirtymist?. T?st? syyst? ML-insin??reill? on oltava ty?tiedot tietojen mallintamisesta, ominaisuussuunnittelusta ja ohjelmoinnista. Ja kaikki t?m? sen lis?ksi, ett? heill? on vahva matematiikan ja tilastotieteen tausta ja tuntemus.
Ihannetapauksessa datatieteilij?t ja ML-insin??rit tekev?t samassa organisaatiossa yhteisty?t? p??tt?ess??n, mink? tyyppinen oppimisalgoritmi toimii parhaiten tietyn liiketoimintaongelman ratkaisemisessa. Joillakin aloilla ML-insin??rin ty? kuitenkin rajoittuu siihen, mit? tietoja tulisi k?ytt?? koulutukseen ja miten koneoppimismallin tulokset validoidaan, jotta koneoppiminen olisi optimaalisella tasolla.