31.10.2017Blogi

The Hiab Hackathon -tunnelmia: Näin hyödynnät Big Dataa

Osallistuimme syyskuussa Ruotsin Huddiksvallissa järjestettyyn kaksipäiväiseen HIABin CargoHack3 -koodauskilpailuun eli Hackathoniin – ja tiimimme Hii-op! voitti sen! Reissun myötä opittuina tuomisina esitän tässä kirjoituksessa nyt lähestymistavan, kuinka yrityksen suurta datamäärää kannattaisi lähestyä ja kuinka se saadaan parhaiten hyödynnetyksi. Nämä vinkit ovat kokemuksiemme summa. Ne oikeasti toimivat – todisteena tästä on, että joukkueemme ratkaisu valittiin lopulta sekä osallistujien suosikiksi että myös koko kilpailun voittajaksi!

Hii-op!-tiimin kokoonpano: Tomi Lahtinen (vasemmalla), Sami Köykkä (keskellä) ja Mikael Ahonen (oikealla). Lähde: https://www.hiab.com/en/HIAB/highlights/cargohack/

Hackathonin teemana oli ”Aika nousta” (Time for Elevation) ja tavoitteena “Tutkia digitalisaation ja verkon kautta kommunikoivien laitteiden mahdollisuuksia helpomman ja turvallisemman kuormankäsittelyn mahdollistamiseksi”. Hii-op!-tiimimme lähti työstämään laitteiden käyttöajan maksimointia. Tässä katsaus kilpailun myötä oppimiimme asioihin.

Kilpailun lähtökohtana oli hyvin yleinen organisaatioiden kokema ongelma: yrityksillä on paljon dataa, mutta sitä ei osata hyödyntää.

Kilpailussa meidän joukkueen tehtäväksi annettiin esittää ratkaisu siihen, kuinka autolavanostureiden käyttöaikaa voitaisiin maksimoida niistä kerättävän datan avulla.

Lähde: https://www.hiab.com/en/HIAB/highlights/cargohack/

Alussa Hiab-ratkaisusta ei ollut minkäänlaista valmista ideaa

Kuten yleensä dataa läpikäydessä, alkuun on vaikea hahmottaa mitä konkreettisesti hyödyllistä tietoa siitä voidaan saada irti. Meidänkin joukkueelle oli ainoastaan selvää se, että autolavanostureiden sensoreista oli saatavilla valtava määrä dataa ja että halusimme päästä hyödyntämään sitä ratkaisussamme. Oli lähdettävä liikkeelle askel askeleelta.

Olen luetellut alla kolme eri pääperiaatetta, joiden avulla voidaan löytää ratkaisu siihen, kuinka valtavia datamääriä päästään hyödyntämään konkreettisesti. Nämä toimivat lähtökohtana myös joukkueemme aikaansaamalle ratkaisulle:

1. Data ei vastaa, jos siltä ei osaa kysyä oikeita kysymyksiä

Datalla voidaan vahvistaa oletuksia ja vastata esitettyihin kysymyksiin. Data on vain työkalu todellisen ongelman ratkaisemiseen. Ei Googlekaan anna vastauksia, jos ei osaa kirjoittaa oikeita hakusanoja.

Vaikka ajatuksena oli hyödyntää ratkaisussamme nostureista saatavaa dataa, siitä ei missään vaiheessa tullut (eikä saakaan tulla) itseisarvo. Kilpailun aikana monet tulivat kysymään, voidaanko kaikki data vain syöttää syväoppivaan neuroverkkoon, joka etsii automaattisesti säännönmukaisuuksia datasta. Valitettavasti parhaimmatkin algoritmit toimivat vasta sitten, kun ongelma osataan muotoilla niille sopivaan muotoon.

2. Keskustele ja opi

Ennen ongelman ratkaisemista ongelma täytyy ymmärtää syvällisesti. Mikä ongelma on? Onko se ratkaisemisen arvoinen? Miten sitä on yritetty ratkaista ja miksi siinä ei ole onnistuttu?

Sen sijaan että olisimme suoraan syöksyneet koodaamaan, haastattelimme niin montaa yrityksen työntekijää kuin mahdollista. Kyselimme millaisia haasteita he itse, ja toisaalta yrityksen asiakkaat kohtaavat arjessaan. Hiljalleen selvisi, että nostolaitteiden vääränlainen käyttö oli suurin syy ylipäätään laitteiden hajoamiseen.

Kuuntelemalla ja peilaamalla uutta tietoa jatkuvasti jo olemassa olevaan ymmärrykseemme saimme lopulta selville, mikä nosturin kymmenistä sensoreista havainnollisti parhaiten laitteiden vääränlaista käyttöä.

3. Nopeat kokeilut ja palautteen kerääminen

On parempi saada nopeasti valmiiksi ominaisuuksiltaan puutteellinen mutta toimiva ratkaisu kuin keskeneräinen versio täydellisestä ratkaisusta. Yksinkertainen ratkaisu sentään toimii.

Saamiimme tietoihin pohjautuen, meidän oli päästävä kokeilemaan laitteita itse ja keräämään dataa sisäänrakennetuista sensoreista. Teimme erilaisia testejä: hyviä, keskinkertaisia ja huonoja nostoja. Testinostojen perusteella pystyimme profiloimaan laitteen käyttäjiä ja kannustamaan heitä huolellisempaan käyttöön.

Koska hackathonissa on aina rajallinen aika, tavoitteenamme oli tehdä nopeasti jotain valmista ja parantaa ratkaisua, mikäli aikaa vain jäisi. Hyödyt realisoituivat jo heti alussa. Esittelimme ideaamme ja sovelluksen ulkoasua myös jatkuvasti mentoreillemme ja keräsimme palautetta. Ratkaisu jalostui jatkuvan prosessin lopputuloksena.

Lopullinen ehdotuksemme oli laitekäytön pelillistäminen. Laitteet lähettävät dataa, kun nosturia käytetään. Data analysoidaan ja laitteen käyttäjä näkee mobiililaitteeltaan erilaisten palkintojen ja pisteiden muodossa sen, kuinka huolellisesti on laitetta käyttänyt.

Meillä on paljon dataa – miten sitä voi siis hyödyntää?

Vastauksen yksinkertaistamiseksi, ajatellaanpa tilannetta vaikkapa talonrakentajan näkökulmasta. Otsikon kysymyksen voisi muuttaa muotoon “Meillä on kasa tiiliä, miten sitä voisi hyödyntää?”. Jos tavoitteena on tiilitalon rakentaminen, niin ei muuta kuin rakentamaan. Mutta jos talonrakentaja haaveilee hirsimökistä, tiilistä ei paljon iloa ole. Data mahdollistaa asioita, mutta se ei voi olla lähtökohtaisesti itsessään tavoite ja se mistä aloitetaan.

Ennen kuin datasta aletaan edes puhua, täytyy siis määritellä tavoitteet. Toisena askeleena on selvittää taustatietoja ja kolmantena luoda suunnitelma tavoitteisiin pääsemiseksi.

Vasta tässä vaiheessa data tulee mukaan peliin. Voi olla, että tavoitteeseen päästäksesi sinun on vaihdettava ensin rakennusmateriaalia – datasta puhuttaessa esimerkiksi muokattava ja jäsenneltävä sitä uudelleen.

Data mahdollistaa tavoitteeseen liittyvien mittareiden asettamisen ja seuraamisen. Datalla voidaan vahvistaa oletuksia. Sen avulla voidaan optimoida toimintaa, kun tavoitteet ovat selvillä.

Tehdä esimerkiksi autonosturin ohjaamisesta hieman hauskempaa ja säästää omistajalta pari huoltokäyntiä vuodessa.

Solitan Hiiop!-tiimiissä olivat mukana tämän blogikirjoituksen kirjoittajan Mikaelin lisäksi Sami Köykkä ja Tomi Lahtinen. Onnea myös muille kisassa voittosijoille päässeille! Voit lukea lisää täältä. Tsekkaa myös uusi ohjelmistokehittäjille suunnattu koulutusohjelmamme. Tavoitteena on löytää kokeneita ohjelmistokehittäjiä tai -arkkitehtejä, jotka haluavat työnsä osana oppia tulevaisuudessa tarvittavia koneoppimisen ja tekoälyn (Machine Learning & AI) teknologioita ja työkaluja.