Data, jota luulet omistavasi
Miksi koneoppimisprojektit epäonnistuvat jo ennen mallinnuksen alkua
Kun rakentaa koneoppimisjärjestelmiä teollisuuteen, oppii nopeasti, mihin projektit oikeasti kaatuvat. Harvoin malliarkkitehtuuriin, harvoin ajoympäristöön, harvoin laitteistoon. Ne kaatuvat dataan, tai tarkemmin kuiluun sen välillä, mitä yritys luulee omistavansa ja mikä on oikeasti käyttökelpoista mallin opettamiseen.
Anturit, joiden signaalit tallentuvat jonnekin, tuntuvat datankeruulta, mutta eivät ole sitä. Järjestelmä, joka lokittaa lämpötila- ja painekäyriä, ottaa kuvia tai kerää prosessiparametreja kellon ympäri, tuottaa tallenteita, ei opetusdataa. Näiden kahden ero on kokonaan ihmistyötä: joku katsoo jokaisen näytteen, päättää, mitä se esittää, ja kirjaa sen arvion merkinnäksi, josta malli voi oppia. Ilman sitä työtä rahaa palaa pelkkään levytilaan.
Vaikka merkinnät olisi tehty, ongelmat eivät lopu siihen, sillä merkintöjen laatu merkitsee yhtä paljon kuin niiden olemassaolo. Jos kaksi ihmistä katsoo samaa näytettä ja päätyy eri johtopäätökseen siitä, mitä tapahtui, opetusaineistoon on koodattu erimielisyyttä eikä totuutta. Epämääräiset luokat pahentavat tätä: ”normaali”, ”epänormaali” ja ”epävarma” tarkoittavat eri ihmisille eri asioita, ja malli oppii sen sekaannuksen sen sijaan, että ratkaisisi sen. Merkintäohjeiden pitää olla niin täsmälliset, että järkevät ihmiset päätyvät samaan vastaukseen, ja se vaatii enemmän etukäteisajattelua kuin useimmat projektit saavat.
Ja sitten on lukumäärien ongelma, joka tappaa projekteja, vaikka merkinnät olisivat kunnossa. Merkitsevää ei ole näytteiden kokonaismäärä vaan määrä luokkaa kohden, ja useimmat prosessit tuottavat ylivoimaisesti tavanomaista tulosta. Satatuhatta esimerkkiä normaalista toiminnasta ja viisikymmentä siitä vikatilanteesta, jonka ennustamisella on oikeasti väliä. Se ei ole opetusvalmis aineisto. Se on luokkaepätasapaino, joka tuottaa mallin, joka on erinomainen ennustamaan normaaliutta ja hyödytön siinä, mitä sen piti napata.
Unsupervised learning vaikuttaa ratkaisulta tähän. Merkintöjä ei tarvita, sillä malli löytää rakenteen itse. Anomalioiden tunnistus, klusterointi, dimensioiden vähentäminen. Osoita se merkitsemättömään dataan ja anna sen löytää kuviot. Mutta tämä vaihtaa yhden ongelman toiseen. Anomalioiden tunnistus kertoo, että jokin on epätavallista, ei sitä, onko sillä väliä. Klusterointi ryhmittelee datan, mutta ryhmät pitää yhä tulkita. Ihmisen arviointityö siirtyi putken alusta sen loppuun, ja mallin tuotosten tulkintaan tarvitaan edelleen alan asiantuntemusta. Työ ei katoa; se siirtyy.
Tähän koneoppimisprojektit oikeasti kuolevat: eivät mallinnusvaiheeseen eivätkä käyttöönoton monimutkaisuuteen, vaan kuiluun ”meillä on dataa” -toteamuksen ja aidosti käyttökelpoisen aineiston välillä.
Tähän sisältyy vielä ironinen käänne. Jonain päivänä meillä voi olla menetelmiä, jotka merkitsevät datan ilman ihmistä, ja kaikki tallennetut teratavut muuttuvat yhtäkkiä hyödyllisiksi. Mutta jos järjestelmä pystyy katsomaan näytettä ja päättelemään luotettavasti, mitä se esittää, on pakko kysyä: mihin niitä merkintöjä siinä vaiheessa enää tarvitaan?