Koneoppimisen kehitysympäristöt
Siipola, Antti (2017)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017121120615
https://urn.fi/URN:NBN:fi:amk-2017121120615
Tiivistelmä
Tekijä: Siipola Antti
Työn nimi: Koneoppimisen kehitysympäristöt
Tutkintonimike: Insinööri (ylempi AMK), teknologiaosaamisen johtaminen
Asiasanat: koneoppiminen, tekoäly, pilvipalvelut, lisenssit, avoin lähdekoodi
Tässä opinnäytetyössä lähdettiin selvittämään eri tekoälyalustojen soveltuvuutta Bittiumin tarpeisiin, taustalla Bittiumin 2016 aloittamat panostukset tekoälyosaamisen kasvattamiseen. Tavoitteena oli ymmärtää markkinoiden tarjontaa, minkä tyyppisiä, kuinka kypsiä ja millä ehdoilla hyödynnettäviä eri teknologiat ovat. Miten eri teknologioita voisi vertailla keskenään?
Tutkimuksen tekeminen aloitettiin miettimällä käyttötapauksia jotka olisivat Bittiumin kannalta oleellisimpia. Käyttötapauksia tunnistettiin runsaasti ja ne organisoitiin toimintaympäristön ja tiedonkäsittelyn vaatimusten perusteella. Tämän pohjalta lähdettiin valitsemaan analysoitavia teknologioita.
Valituista teknologioista kerättiin tietoja ja analysoitiin niiden soveltuvuutta käyttötapauksiin. Analyysin tuloksista tehtiin väliraportti Bittiumin tekoäly-koulutusohjelman jäsenille. Jo tässä vaiheessa oli nähtävissä, että markkinoilla on hyvin runsaasti tarjontaa ja myös selvästi kaupalliseen käyttöön kelpaavia järjestelmiä. Alustat myös jakautuivat eritasoisiin pilvipalveluihin ja kirjastoihin.
Lopuksi tehtiin käytännönkokeiluita kolmella eri alustalla: Microsoft Azure Machine Learning, Scikit-learn ja Google TensorFlow sekä yhdellä käyttötapauksella. Alustat valikoitiin analysoidusta joukosta edustamaan eri abstraktiotasoja. Tarkoitus oli saada kokemusperäistä tietoa alustan käyttöönotosta, käytettävyydestä ja rajoitteista kehittäjän kannalta. Käyttötapauksen toteutuksena käytettiin valmista datasarjaa, ”A Public Domain Dataset for Human Activity Recognition Using Smartphones” (Anguita;Ghio;Oneto;Parra;& Reyes-Ortiz, 2013), joka tarjosi sensoridataa käyttäjän liikkeistä erilaisissa aktiviteeteissa.
Tutkimustuloksien perusteella voitiin havaita, että Microsoftin Azure ML tarjosi helpoimmin lähestyttävän alustan, jolla sai tuloksia aikaan hyvin nopeasti. Azuren ja muiden pilvipalveluiden suurin ongelma liittyy datan kontrollin menettämiseen, läheskään kaikkea dataa ei haluta tai voida ladata pilveen. Googlen TensorFlow osoittautui hankalimmaksi käyttää ja ymmärtää, mutta toisaalta tarjoaa eniten vapauksia kehittäjälle sekä tuen hajautetulle laskennalle sekä kovokiihdyttimille. TensorFlowta pystyy ajamaan myös pilvipalvelussa ja toisaalta halutessaan myös sulautetussa järjestelmässä. Scikit-learn asettui näiden väliin tarjoten miellyttävän ympäristön opiskeluun ja nopeiden kokeilujen tekoon valmiiden mallien myötä, ilman datan siirtämistä pilveen.
Työn nimi: Koneoppimisen kehitysympäristöt
Tutkintonimike: Insinööri (ylempi AMK), teknologiaosaamisen johtaminen
Asiasanat: koneoppiminen, tekoäly, pilvipalvelut, lisenssit, avoin lähdekoodi
Tässä opinnäytetyössä lähdettiin selvittämään eri tekoälyalustojen soveltuvuutta Bittiumin tarpeisiin, taustalla Bittiumin 2016 aloittamat panostukset tekoälyosaamisen kasvattamiseen. Tavoitteena oli ymmärtää markkinoiden tarjontaa, minkä tyyppisiä, kuinka kypsiä ja millä ehdoilla hyödynnettäviä eri teknologiat ovat. Miten eri teknologioita voisi vertailla keskenään?
Tutkimuksen tekeminen aloitettiin miettimällä käyttötapauksia jotka olisivat Bittiumin kannalta oleellisimpia. Käyttötapauksia tunnistettiin runsaasti ja ne organisoitiin toimintaympäristön ja tiedonkäsittelyn vaatimusten perusteella. Tämän pohjalta lähdettiin valitsemaan analysoitavia teknologioita.
Valituista teknologioista kerättiin tietoja ja analysoitiin niiden soveltuvuutta käyttötapauksiin. Analyysin tuloksista tehtiin väliraportti Bittiumin tekoäly-koulutusohjelman jäsenille. Jo tässä vaiheessa oli nähtävissä, että markkinoilla on hyvin runsaasti tarjontaa ja myös selvästi kaupalliseen käyttöön kelpaavia järjestelmiä. Alustat myös jakautuivat eritasoisiin pilvipalveluihin ja kirjastoihin.
Lopuksi tehtiin käytännönkokeiluita kolmella eri alustalla: Microsoft Azure Machine Learning, Scikit-learn ja Google TensorFlow sekä yhdellä käyttötapauksella. Alustat valikoitiin analysoidusta joukosta edustamaan eri abstraktiotasoja. Tarkoitus oli saada kokemusperäistä tietoa alustan käyttöönotosta, käytettävyydestä ja rajoitteista kehittäjän kannalta. Käyttötapauksen toteutuksena käytettiin valmista datasarjaa, ”A Public Domain Dataset for Human Activity Recognition Using Smartphones” (Anguita;Ghio;Oneto;Parra;& Reyes-Ortiz, 2013), joka tarjosi sensoridataa käyttäjän liikkeistä erilaisissa aktiviteeteissa.
Tutkimustuloksien perusteella voitiin havaita, että Microsoftin Azure ML tarjosi helpoimmin lähestyttävän alustan, jolla sai tuloksia aikaan hyvin nopeasti. Azuren ja muiden pilvipalveluiden suurin ongelma liittyy datan kontrollin menettämiseen, läheskään kaikkea dataa ei haluta tai voida ladata pilveen. Googlen TensorFlow osoittautui hankalimmaksi käyttää ja ymmärtää, mutta toisaalta tarjoaa eniten vapauksia kehittäjälle sekä tuen hajautetulle laskennalle sekä kovokiihdyttimille. TensorFlowta pystyy ajamaan myös pilvipalvelussa ja toisaalta halutessaan myös sulautetussa järjestelmässä. Scikit-learn asettui näiden väliin tarjoten miellyttävän ympäristön opiskeluun ja nopeiden kokeilujen tekoon valmiiden mallien myötä, ilman datan siirtämistä pilveen.