Tagged: koneoppiminen

Kelan viisi haastetta koneoppimisessa

Katsoin YouTube-videon Machine Learning for Kela, jossa Kelan Ari Vähä-Erkkilä kertoo Alexander Jungin opettaman koneoppimiskurssin opiskelijoille Kelan koneoppimisprojekteista. Tiivistän tässä blogiartikkelissa keskeiset haasteet algoritmisessa päätöksenteossa Kelan kannalta.

Kelan viisi koneoppimishaastetta

HAASTE 1: Tarkkuuden vaatimus on suuri: jokaisen numeron takana on ihminen, siksi varaa virheisiin ei ole (ja on annettava valitusmahdollisuus, jonka käsittelee ihminen). Tyypillisesti mikään algoritmi ei kuitenkaan anna 100% tarkkuutta. Voi tapahtua kahdentyyppisiä virheitä: vääriä positiivisia ja vääriä negatiivisia, eli malli antaa myönteisen tukipäätöksen vaikka ei pitäisi antaa, tai malli antaa kielteisen päätöksen, vaikka tuki olisi pitänyt myöntää. Tarkkuuden ongelma on suurin este tukipäätösten automaatiossa.

RATKAISU: Pitää olla ”ihminen luupissa” (eng. human in the loop), eli mahdollista päätöksestä valittaminen ja sen käsittely Kelan asiantuntijan toimesta. Tämä on tärkeää, koska lain soveltamiseen voi liittyä tulkintaa, ja kaikki Kelan päätökset perustuvat lakiin.

HAASTE 2: Lait eivät ole yhteensopivia koodin kanssa.

RATKAISU: Tukia koskevat lait pitäisi kirjoittaa eri tavalla, niin että niissä huomioidaan siirtäminen koneoppimisjärjestelmiin (laki ==> koodi).

HAASTE 3: Lait muuttuvat, jolloin malli joka toimii vanhalla lailla ei välttämättä toimi uudella järjestelmällä. Koneoppiminen toimii tässä ympäristössä huonommin kuin sääntöpohjainen päätöksenteko.

RATKAISU: Sovella sääntöpohjaisia malleja, ei koneoppimista.

HAASTE 4: Tietojärjestelmät eivät ole täysin kitkattomasti yhteydessä — esim. oppilaitoksilta saadaan tieto hyväksytyistä opiskelijoista, mutta kaikilla edunsaajilla ei ole pankkitiliä, joten maksatusta ei voida automatisoida.

RATKAISU A: Sovella manuaalisia prosesseja silloin kun ei voida automatisoida.

RATKAISU B: Julkisten API-rajapintojen kehittäminen.

HAASTE 5: Väärinkäyttö. Automaattisesta päätöksenteosta (kuten manuaalisestakin) voi löytyä virheitä, joita ihmiset hyväksikäyttävät saadakseen aiheettomia tukia. Esimerkiksi jos päätöksen saa heti koneelta, tuenhakijat voivat negatiivisen päätöksen saadessaan alkaa kokeilla eri arvoja saadakseen positiivisen päätöksen koneelta.

RATKAISU: Valvo väärinkäytöksiä automaattisesti ja manuaalisesti.

Muita haasteita

Muita Arin mainitsemia haasteita ovat:

  • kymmenien erilaisten mallien hallinta ja testaaminen
  • datan hallinta, niin että se on kätevästi eri mallien käytössä
  • koneoppimisen ja sääntöpohjaisten mallien yhdistäminen,
  • mahdollinen puolueellisuus ihmisten ja koneiden toimesta
  • suomen kielen erityisluonteisuus (parhaat mallit ovat englannin kielelle)
  • henkilökohtaisen datan arkaluonteisuus ja sen tuomat rajoitukset partnerien hyödyntämiseen
  • ja organisaation muutosjohtaminen (uudet roolit ja koneoppimista tukevat toimintatavat pitää luoda).

Johtopäätös

Vaikka automaattinen päätöksenteko saattaa vaikuttaa helpolta vaihtoehdolta Kelalle (”annetaan tekoälyn hoitaa”), ongelmat ovat käytännön yksityiskohdissa. Pienet kitkatekijät tekevät täydellisen automaation Kelan käyttöön mahdottomaksi.

Paras ratkaisu on soveltaa automaatiota kahdella tavalla: (a) Kelan työntekijöiden ongelmien ratkaisuun eli työprosessien tukemiseksi ja (b) tarkoin rajattujen teknisten ongelmien ratkaisuun (esim. paperihakemusten muuttaminen automaattisesti tekstiksi, jolloin kenttien tiedot voidaan automaattisesti syöttää tietokantaan).

Automaattinen päätöksenteko ei ole riskitöntä, joten varasuunnitelmia ja valvontaa tarvitaan. Päätöksiin voi myös liittyä tulkintaa, jota kone ei missään tapauksessa voi tehdä. Tämän vuoksi tukien käsittelijöitä ei voi korvata algoritmilla.

Koneppimisteknologiat, joista Kela voi hyötyä:

Mielestäni etenkin seuraavat teknologia voivat olla hyödyllisiä:

  • syväoppiminen (eng. deep learning) — tekstintunnistus, chatbot-järjestelmät
  • päätöspuupohjaiset mallit (esim. RandomForest), koska nämä antavat tulkinnan jokaiselle päätökselle

Kuten Kelan analyysi osoittaa, koneoppiminen ei ole ratkaisu päätöksenteon täydelliseen automatisointiin. Sen sijaan se voi olla hyödyllinen työkalu osaprosessien tehostamiseen.

Reilua koneoppimista: Keskeisiä kysymyksiä algoritmisen päätöksenteon eettisestä ulottuvuudesta

Heinäkuussa 2018 pidettiin Tukholmassa viides FATML-työpaja kansainvälisen koneoppimiskonferenssin yhteydessä (International Conference on Machine Learning, ICML2018).

FATML tulee sanoista Fair (reilu), Accountable (vastuullinen), Transparent (läpinäkyvä), Machine Learning (koneoppiminen), eli kyseessä on Reilu, Vastuullinen ja Läpinäkyvä Koneoppiminen (RVLK näin suomeksi).

Tiivistän tässä artikkelissa työpajan keskeiset kysymykset [1] suomen kielellä.

REILUUS

Kuinka määritellä, mitata ja käsitteellistä koulutusdataa koneoppimismalleille? Keskeisenä tavoitteena on suunnitella tiedonkeruumenetelmiä, jotka rajoittavat (mahdollisesti puolueellisten) ennustusten vaikutusta. Jatkokysymys: Miten voimme käyttää lisätietolähteitä mallin koulutukseen liityviä ongelmia? Juhanin (toinen algoritmitutkimuksen tutkija) kanssa olemme aiemmin määritelleet, että ”hyvä koneoppiminen on reilua koneoppimista”, liittyen koulutusdatan tasapainottamiseen (epätasapainoinen data on yksi keskeinen syy mallien mahdolliseen puolueellisuuteen).

Mitkä ovat mielekkäitä formaaleja oikeudenmukaisuuskriteerejä? Mitkä ovat niiden rajoitukset? Klassinen vastaus, kun kysytään ”Onko koneelle mahdollista opettaa moraalia” on: Kyllä, jos osaat määritellä moraalin matemaattisesti. Sanana koneoppiminen on harhaanjohtava, koska ihmiset mieltävät koneen oppimisen samanlaiseksi kuin ihmiset oppiminen, johon liittyy abstraktioiden, käsitteiden ja sosiaalisten suhteiden mieltämistä. Kone ei opi mitään tällaista, vaan se ainoastaan ratkaisee matemaattisia kaavoja.

Kone ei ole älykäs eikä se opi, vaan se laskee tehokkaammin kuin ihminen. Tällöin moraalin ratkaisemiseksi ongelma pitää asettaa matemaattiseen muotoon. Koska tässä ei vielä ainakaan toistaiseksi ole onnistuttu, toiseksi paras ratkaisu on rajoittaa koneen päätöksentekovaltaa — kriittisissä päätöksissä ihmisen pitää niinsanotusti ”painaa nappia”, koska päätöksentekoon liittyvät abstraktiot ovat koneelle vieraita. Tekoäly (tarkemmin: koneoppiminen) on siis enemmänkin päätöksenteon tukijärjestelmä (eng. Decision Support System) kuin itsenäinen päätöksentekijä.

Pitäisikö meidän johtaa oikeudenmukaisuuden määritelmät laista? Ovatko muodolliset oikeudenmukaisuuskriteerit yhteensopivia lain kanssa? Kuten oikean ja väärän kanssa, koneella ei myöskään ole minkäänlaista ymmärrystä laittomasta tai laillisesta toiminnasta, ellei sitä erikseen ohjelmoida. Eri maiden oikeusjärjestelmät eroavat merkittävästi toisistaan, mikä vaikeuttaa yleismaailmallisen järjestelmän kehittämistä. Lähinnä koneoppimista on kirjoitettujen lakien järjestelmät (eng. code law), jossa eri rikoksille on luotu suhteellisen tarkat määritelmät ja rangaistukset. Kuitenkin lakien soveltamiseen liittyy lähes aina keskeisenä osana tulkinta, ja on hankala kuvitella, että päätöksentekoa uskallettaisiin antaa koneelle.

Soveltaen aikaisempaa ajattelua päätöksentekojärjestelmästä, koneoppiminen voisi kuitenkin toimia oikeusjärjestelmän osana esimerkiksi niin, että se antaisi puolueettoman suosituksen koodatun todistusaineiston ja aikaisempien päätösten perusteella. Lakien soveltamisessa on havaittu puolueellisuutta, jota kone voisi paikata. Kuitenkin viime kädessä koneen päätöksentekoa ei voi pitää esimerkiksi rikoslain alaisena, sillä kone tai algoritmi ei ole oikeustoimikelpoinen. Sen sijaan oikeussubjektit, esimerkiksi algoritmeja kehittävät suuryritykset, ovat hyvinkin vastuussa teoistaan, ja niiden tuleekin kiinnittää huomiota algoritmisen päätöksenteon lainmukaisuuteen.

Kuinka voimme käyttää syy-seuraamusanalyysin keinoja koneoppimisen oikeudenmukaisuuden arviointiin? Voiko syy-seuraussuhde johtaa toimiviin suosituksiin ja toimenpiteisiin? Nämä kysymykset liittyvät keskeisesti koneoppimisen merkittävään rajoituksen – järkeilyn ja logiikan puutteeseen. Niinsanottu kausaalinen järkeily (eng. causal reasoning) ei edusta koneoppimisen valtavirtaa, vaikka viime aikoina tutkimus sitä kohtaan on jälleen kasvanut (järkeily nähtiin tekoälyn alkuvaiheen tutkimuksessa yhtenä kehityspolkuna, mutta se ei ole toistaiseksi realisoitunut toimiviin algoritmeihin). Syy-seuraussuhteet edellyttävät ymmärrystä maailmasta, jota tyypillisillä koneoppimismalleilla ei ole.

Voimmeko kehittää syrjinnän määritelmiä, jotka ylittävät datajakaumiin liittyvät rajoitukset, kuten väestörakenteen pariteetin tai voimajakaumat? Tämä kysymys liittyy aiemmin mainitsemaani datan tasapainottamiseen. Lääketieteen alalla koneoppimismalleja on sovellettu ehkä järkevimmin tässä suhteessa, sillä niissä populaation segmentointi on perinteisesti ollut tärkeää. On kehitetty keinoja arvioida tiettyjen piirteiden vaikutusta mallin antamiin ennustuksiin (esim. SHAP– ja LIME-menetelmät) sekä useita menetelmä tasapainottamiseen (esim. SMOTE, ADASYN), ja lisäksi mallin ennustuksia voi tarkastella luokkakohtaisesti. Kuitenkin juuri RVLK-kontekstissa näiden tekniikoiden sopeuttaminen ja soveltaminen on tärkeää, ja siitä on suhteellisen vähän käytännön esimerkkejä.

Kenen pitäisi päättää, mikä on oikeudenmukaista, jos oikeudenmukaisuus tulee koneoppimistavoitteeksi? Etenkin nykyisessä sosiaalisen median ”toksisessa” eli vihamielisessä ympäristössä jokainen ryhmä kokee olevansa oikeassa. Kysymyksenä on silloin, voimmeko määritellä universaalisti pätevät oikeudenmukaisuuden kriteerit, vai omaksummeko arvorelativismin? Jälkimmäisessä tapauksessa oikeudenmukaisuuden soveltamisesta tulee toisaalta haasteellisempaa, koska näkemykset siitä vaihtelevat, mutta toisaalta, mikäli löydämme päällekkäisyyttä eri arvokäsitysten välillä, sovellettavasta moraalikoodistosta saattaa tulla helpommin toteuttava.

Onko olemassa vaaraa oikeudenmukaisuuden alistamisessa laskennalliseksi ongelmaksi? Aiemmin mainitsin haasteet moraalin eksaktissa määrittelyssä, mutta on myös aiheellista pohtia koko tavoitteen järjellisyyttä. Mikäli kuvittelemme määrittelevämme koneoppimisen eettiset säännöt täydellisesti, saattaa se johtaa algoritmien vallan merkittävään lisäykseen. Jos olimmekin väärässä, olemme nyt antaneet vallan toimijalle, joka noudattaa virheellistä kaavaa.

Mitkä ovat algoritmisten kokeiden ja etsinnän yhteiskunnalliset vaikutukset? Miten voimme hallita haittapuolia, joita tällainen kokeilu voi aiheuttaa yksilöille? Niinsanotut sosiaaliset eksperimentit ovat tärkeitä, jotta algoritmien vaikutusta reaalimaailmaan voidaan mitata. Tunnettu esimerkki on tutkimus, jossa Facebook manipuloi käyttäjien uutisvirtaa näyttämällä negatiivisempia tai positiivisempia julkaisuja. Tämä tutkimus tehtiin vuonna 2014, eikä se nykyisessä ilmapiirissä välttämättä läpäisisi monenkaan yliopiston IBR-prosessia (Institutional Review Board). Kuitenkin tällaisia tutkimuksia, vaikka ne saattavat aiheuttaa mielipahaa tai muita väliaikaisia haittapuolia, tarvitaan algorimien ja käyttäjien välisen vuorovaikutuksen ymmärtämiseksi. Väittäisin, että kyseisenkaltaisia tutkimuksia tarvitaan paljon lisää, jotta voidaan puhkaista algoritmien kehittäjien omat sisäiset kuplat ja harhakuvitelmat käyttäjien käyttäytymisestä.

VASTUULLISUUS

Mitä ihmisen toteuttama arviointi sisältäisi, jos mallit olivat käytettävissä suoraan tarkastukseen? Tämä kysymys koskee koneoppimisen auditointia reiluuden varalta. Ei ole lainkaan selvää, mitkä ovat tällaisen analyysin ohjenuoria. Aiemmin olen tässä blogissa määritellyt, että koneoppimisen reiluuteen liittyvät haasteet saattavat johtua joko (a) niiden kehittäjien puolueellisista valinnoista, (b) algoritmin eli matemaattisen kaavan mallista, tai (c) epätasapainoisesta datasta. Käyttäen näitä seikkoja perusperiaatteena koneoppimisen reiluuden auditointi varmasti sisältäisi algoritmin lähdekoodin arviointia, sen kehittäjän antaman eettisen lausunnon (”ethical statement”) läpikäynnin sekä algoritmin testiajon epätasapainoisella datalla, joka olisi synteettisesti tuotettu puolueellisuuksien paljastamiseksi. Toistaiseksi tällainen arviointi on vasta visio, sillä alalla ei ole vakiintuneita standardeja tai käytäntöjä sen toteuttamiseen.

Voimmeko todistaa, että algoritmi käyttäytyy jollakin tavalla ilman algoritmin paljastamista? Voimmeko saavuttaa vastuullisuutta ilman avoimuutta? Nämä kysymykset ovat kriittisiä yritysten näkökulmasta. Yrityspuolen algoritmit ovat tyypillisesti liikesalaisuuksia, joita ei haluta paljastaa koko maailmalle. Niiden tekemien päätösten tai suositusten eettinen tarkastelu on kuitenkin tärkeää. Eräänä vaihtoehtona on luoda julkisia tai kolmannen sektorin toimijoita, jotka salassapitosopimuksia noudattaen auditoivat algoritmisia päätöksentekojärjestelmiä.

Kuinka pystymme tekemään luotettavia empiirisiä mustan laatikon analyysimenetelmiä? Tämä kysymys voi olla edessä, vaikka lähdekoodiin olisikin pääsy. Etenkin neuroverkkojen tulkinta on monimutkaista, sillä niiden päätösten tarkka jäljittäminen on lähes mahdotonta. On kuitenkin kehitetty erinäisiä keinoja, jotka pyrkivät tähän mm. visualisoimalla neuroverkon tasojen aktivointeja, arvioimalla neuronipainojen tilastollisia suhteita, tai muuttamalla ei-lineaaristen algoritmien antamat tulokset lineaarisen mallin muotoon, jonka tulkitseminen on triviaalia.

LÄPINÄKYVYYS

Miten voimme kehittää tulkittavia koneen oppimismenetelmiä, jotka tarjoavat tapoja hallita mallin monimutkaisuutta ja / tai tuottaa mielekkäitä selityksiä? Selitettävyys on yksi keskeinen tutkimuskohde algoritmisessa päätöksenteossa tällä hetkellä. Järjestelmiin koitetaan luoda käyttöliittymiä, jotka tarjoavat lisätietoa esimerkiksi siitä, miksi kyseinen mainos on näytetty juuri tietylle käyttäjälle. Keskeistä näissä malleissa on käyttökokemus – tapa esittää selitykset käyttöä hankaloittamatta, pitämällä niiden yksinkertaisuus oikealla tasolla, ja valitsemalla tietoa joka vastaa käyttäjän informaatiotarpeisiin ovat osa-alueita, jotka vaihtelevat sovelluksittain ja täten vaativat empiiristä testaamista.

Voimmeko käyttää synteettista dataa oppiaksemme algoritmien sisäisestä toiminnasta? Voimmeko oppia tavoista, joilla ne epäonnistuvat reunatapauksissa? Ensimmäinen kysymys liittyy standardiaineistojen luomiseen, joilla koneoppimismalleja voitaisiin testata. Käytännössä näitä ei juuri löydy, paria poikkeusta lukuunottamatta. Koska käytännössä muuttujat eli koneoppimismallin piirteet vaihtelevat sovellusalueittain, pitäisi olla työkalu, jonka avulla voitaisiin helposti luoda epätasapainoisia datasettejä algoritmien testaamiseen eri konteksteissa. Toinen kysymys liittyy mallien kouluttamiseen silloin, kun ne epäonnistuvat eli antavat epäreiluja suosituksia. Käytännössä pitäisi pystyä osoittamaan virheet syöttämällä uutta dataa vahvistetun oppimisen (eng. reinforcement learning) muodossa. Selkeä analogia tässä on tapa, jolla lapsi oppii oikean ja väärän: väärän tekemisestä seuraa rangaistus.

Kuinka voimme käyttää peliteoriaa ja koneen oppimista rakentaaksemme läpinäkyviä, mutta kestäviä malleja, joissa käytetään palkkioita ja kustannuksia toiminnan seurauksista? Edellä mainitun vahvistetun oppimisen lisäksi rankaisun ja kannustinten vaikutusta on matemaattisesti mallinnettu peliteorian saralla jo vuosikymmeniä. Peliteoriassa agentit eli päätöksentekijät tekevät päätöksiä, joiden tulokset (eng. payoffs) määrittävät strategisen optimin. Väärällä päätöksellä on siis kustannus. Tämä analogia toimii hyvin, koska myös koneoppimismallit toimivat minimoidakseen ”kustannuksen”, joka on tyypillisesti ennustuksiin liittyvä tarkkuusvirhe.

Alaviite:

[1] 5th Workshop on Fairness, Accountability, and Transparency in Machine Learning (FAT/ML 2018)
https://www.fatml.org/schedule/2018/page/call-for-papers-2018

Algoritmien läpinäkyvyyden ja vastuullisuuden ohjenuorat

Kari Haakana (@Karde) piti esityksen Kone Säätiön ja Kaute-säätiön järjestämässä ”Algorytmittyvä elämä” -tilaisuudessa Helsingissä (12.5.2017). Kari mainitsi USACM:n (Association for Computing Machinery US Public Policy Council) julkaiseman ohjeistuksen algoritmien läpinäkyvyydelle ja vastuullisuudelle. Tietääkseni sitä ei ole vielä käännetty suomeksi, joten päätin kääntää sen. Alla ohjeistus.

Miksi algoritmien salaisuuksia ei paljasteta?

ACM kirjoittaa, että algoritmien läpinäkymättömyyteen on olemassa useita syitä, kuten 1) tekniset syyt (algoritmin toimintaa ei ole helppo selittää), 2) taloudelliset syyt (liikesalaisuudet estävät algoritmien toiminnan paljastamisen), ja 3) sosiaaliset syyt (tietojen paljastaminen voi rikkoa odotuksia yksityisyydensuojasta). Lisään tähän neljännen: 4) tietojen paljastaminen voi rikkoa lakeja yksityisyydensuojasta tai palvelun itse määrittelemiä käyttöehtoja. Lisäksi on huomioitava, että monet algoritmiset edistysaskeleet on julkaistu joko avoimissa konferenssi- tai journaalijulkaisuissa (ks. arxiv.org) tai avoimen lähdekoodin alla (esim. Google, Facebook, Airbnb).

Algoritmien läpinäkyvyyden ja vastuullisuuden ohjenuorat

  1. Tietoisuus: Analyyttisten järjestelmien omistajien, suunnittelijoiden, rakentajien, käyttäjien ja muiden sidosryhmien tulisi olla tietoisia mahdollisista ennakkoluuloista, jotka liittyvät niiden suunnitteluun, käyttöönottoon ja käyttöön sekä potentiaalisiin haittoihin, joita niiden puolueellisuus voi aiheuttaa yksilöille ja yhteiskunnalle.
  2. Pääsy ja oikeussuojakeinot: Lainsäätäjiä olisi kannustettava sellaisten mekanismien käyttöönottoon, jotka mahdollistavat koneellisten päätösten kyseenalaistamisen ja oikeussuojan antamisen yksilöille ja ryhmille, joita koneelliset päätökset mahdollisesti haittaavat.
  3. Vastuullisuus: Organisaatioiden tulisi olla vastuussa käytettävien algoritmien tekemistä päätöksistä, vaikka ei olisikaan mahdollista selittää yksityiskohtaisesti, miten algoritmit tuottavat tuloksensa.
  4. Selitys: Algoritmista päätöksentekoa käyttäviä järjestelmiä ja organisaatioita kannustetaan tuottamaan selityksiä sekä algoritmin suorittamista toimenpiteistä että yksittäisistä päätöksistä. Tämä on erityisen tärkeää julkishallinnon yhteydessä.
  5. Tietojen alkuperä: Algoritmien kehittäjien tulisi dokumentoida, kuinka koneoppimismallien harjoitteluaineisto kerättiin, sekä arvioida ihmisen tai koneellisen tiedonkeruuprosessin aiheuttamia mahdollisia vääristymiä. Tietojen julkinen tarkastelu tarjoaa mahdollisuuden korjata mallien aineistosta johtuvia virheitä. Kuitenkin huoli yksityisyyden suojasta, liikesalaisuuksien suojelemisesta tai sellaisten toiminnallisuuksien paljastamisesta, jotka voivat antaa pahaa tarkoittaville toimijoille mahdollisuuden hyväksikäyttää järjestelmää, voivat oikeuttaa rajoittamaan pääsyn päteviin ja luotettaviin henkilöihin.
  6. Tarkastettavuus: Mallit, algoritmit, tiedot ja päätökset on dokumentoitava siten, että ne voidaan ulkopuolisen tahon toimesta tarkastaa tapauksissa, joissa haittaa epäillään.
  7. Validointi ja testaus: Organisaatioiden tulee käyttää uskottavia menetelmiä malliensa vahvistamiseen ja dokumentoida nämä menetelmät ja tulokset. Erityisesti niiden tulisi tasaisin väliajoin suorittaa testejä arvioidakseen ja määrittääkseen, aiheuttaako malli yhteiskunnallisia haittoja. Koneellista päätöksentekoa soveltavia organisaatioita kannustetaan tekemään tällaisten testien tulokset julkiseksi.

Alkuperäinen lähde: https://www.acm.org/binaries/content/assets/public-policy/2017_usacm_statement_algorithms.pdf

Digitalisaation perussanastoa

Avaan muutaman tärkeän käsitteen, jotka eivät vaikuta olevan aivan selviä kaikille digitalisaatiosta kiinnostuneille.

Algoritmi. Algoritmi on tietokoneohjelma, joka tekee asioita tietyssä järjestyksessä. Kuuluisia algoritmeja ovat esimerkiksi Googlen PageRank, joka vaikuttaa hakutulosten järjestykseen, ja Facebook EdgeRank, joka vaikuttaa kunkin käyttäjän uutisvirran sisältöön. Algoritmit voivat tuottaa lopputuloksia, joita ihmiset eivät osaa ennustaa – esimerkiksi syväoppimisessa käytetyt neuroverkot ovat niin monimutkaisia, että niiden toiminta ei ole enää jäljitettävissä.

Alusta. Alusta tarkoittaa digitaalista paikkaa, jossa ihmiset ja järjestelmät ovat vuorovaikutuksessa keskenään. Sosiaalisessa alustassa vuorovaikutuksen tarkoitus on luonteeltaan sosiaalista, kuten keskustelu ja omasta elämästä kertominen. Vaihdanta-alustassa taas myyjät ja ostavat asioivat keskenään. Alustoja on erityyppisiä, mutta kaikissa korostuu eri osapuolten välinen enemmän tai vähemmän vapaa vuorovaikutus ja kyseisen vuorovaikutuksen itseohjautuvuus (esim. ostajat valitsevat myyjät omien preferenssiensä mukaan).

Asioiden Internet (IOT). Asioiden internet tarkoittaa sitä, että laitteet kytketään Internetiin. Tällöin niistä voidaan kerätä sensoridataa ja esimerkiksi ennustaa vikaantumista. Tällä on merkitystä vaikkapa koneiden huollossa ja korvaamisessa. Asioiden Internet voi näyttäytyä myös kuluttajien elämässä; esimerkiksi jääkaappi . tai kodin valvontajärjestelmä, saunan voi lämmittää etäyhteyden kautta, ja niin poispäin.

Digitalisaatio. Digitalisaatio on yleinen termi, jolla viitataan vähän kaikkeen. Sillä voidaan esimerkiksi liiketoiminnassa viitata disruptiivisiin innovaatioihin, joissa uudet liiketoimintamallit syrjäyttävät vanhat. Esimerkiksi Google on leikannut suuren osan perinteisten mediatalojen, kuten Sanoman, mediamyyntikakusta. Monet perinteiset yritykset kuolevat, kun niiden liiketoiminnan ottaa haltuun yritys, jolla on ylivoimainen teknologinen kilpailuetu. Mutta monet perinteisten alojen yritykset myös hankkivat kilpaa koneoppimisosaamista pysyäkseen mukana kehityksessä.

Koneoppiminen. Koneoppiminen tarkoittaa algoritmeja, jotka käyttävät tilastollista päättelyä parantaakseen toimintaansa. Koneoppiminen on tärkeää, koska yhä useammat järjestelmät tekevät päätöksiä itsenäisesti ympäröivästä maailmasta keräämänsä aineiston perusteella.

Robotisaatio. Robotit ovat tärkeässä roolissa valmistavassa teollisuudessa, jossa automatisaatio on korvannut ihmistyövoimaa. Robotisaatio on käynnissä myös Kiinassa, joten tulevaisuudessa valmistavan teollisuuden työpaikat voivat kadota tai marginalisoitua globaalissa mittakaavassa. Tällä on laajoja yhteiskunnallisia vaikutuksia, jotka edellyttävät työelämän ja yrittäjyyden uudelleenstrukturointia.

Kuten huomataan, digitalisaation käsitteillä on laajoja kytköksiä eri teemoihin, kuten politiikka, talous, liiketoiminta, kansalaisuus, ja ihmisten välinen kanssakäynti. Tämän vuoksi aihetta kannattaa lähestyä poikkitieteellisesti.

Koneoppimisen jämähtämisongelma

Kone oppii kuin ihminen: empiirisen havaintoaineiston (=datan) perusteella.

Tästä syytä samoin kuin ihmisen on hankala oppia pois huonoista tavoista ja asenteista (ennakkoluulot, stereotypiat), on koneen vaikea oppia nopeasti pois virheellisestä tulkinnasta.

Kysymys ei ole poisoppimisesta, mikä lienee monessa tapauksessa mahdotonta, vaan uuden oppimisesta, niin että vanhat muistirakenteet (=mallin ominaisuudet) korvataan tehokkaasti uusilla. Tehokkaasti, koska mitä kauemmin vanhat epäpätevät mallit ovat käytössä, sitä enemmän koneellinen päätöksenteko ehtii tehdä vahinkoa. Ongelma korostuu laajan mittakaavan päätöksentekojärjestelmässä, jossa koneen vastuulla voi olla tuhansia tai jopa miljoonia päätöksiä lyhyen ajan sisällä.

Esimerkki: Kone on oppinut diagnosoimaan sairauden X oireiden {x} perusteella. Tuleekin uutta tutkimustietoa, jonka mukaan sairaus X liitetään oireisiin {y}, jotka ovat lähellä oireita {x} mutta eivät identtisiä. Koneelta kestää kauan oppia uusi assosiaatio, jos sen pitää tunnistaa itse eri oireiden yhteydet sairauksiin samalla unohtaen vanhoja malleja.

Miten tätä prosessia voidaan nopeuttaa? Ts. säilyttää koneoppimisen edut (=löytää oikeat ominaisuudet, esim. oireyhdistelmät) ihmistä nopeammin, mutta ihminen voi kuitenkin ohjatusti korjata koneen oppimaa mallia paremman tiedon varassa.

Potentiaalinen ratkaisu: Spesifien kytkösten opettaminen

Teknisesti ongelman voisi mieltää ns. bandit-algoritmin kautta: jos algoritmi toteuttaa sekä eksploraatiota että eksploitaatiota, voisi ongelmaa pyrkiä ratkomaan rajoittamalla hakuavaruutta. Koneelle voisi myös syöttää tarpeeksi evidenssiä, jotta se oppisi suhteen nopeasti – ts. jos kone ei ole löytänyt samaa asiaa kuin tietty tieteellinen tutkimus, tämän tieteellisen tutkimuksen dataa voisi käyttää kouluttamaan konetta niin paljon (jopa ylipainottamalla, jos se suhteessa hukkuu muuhun dataan) että luokittelumalli korjautuu.

Koneellisen päätöksenteon hyvät ja huonot puolet

Marc Andreessenin kuuluisan software eats the world –lausahduksen (so. ohjelmat syövät maailman) mukaisesti ihmisresursseja korvataan jatkuvasti ohjelmallisilla ratkaisuilla. Tämä ilmiö näyttäytyy kaikilla yhteiskunnan alueilla, mutta yksi merkittävimmistä alueista on päätöksenteon koneellistuminen ja automatisointi. Tässä artikkelissa kartoitan lyhyesti koneelliseen päätöksentekoon liittyviä mahdollisuuksia ja riskejä.

 Mahdollisuudet  Riskit
 puolueeton  tunteeton
 nopea  arvaamaton
 skaalautuva  manipulaatioaltis

Taulukko 1 Koneellisen päätöksenteon mahdollisuudet ja riskit

Mahdollisuudet

Teoreettisesti koneelliseen päätöksentekoon liittyy merkittäviä tehokkuushyötyjä johtuen koneiden ylivertaisesta laskentakapasiteetista, loogisten virhepäätelmien vähäisyydestä ja ihmisille ominaisen asenteellisuuden puutteesta. Koneet suorittavat saamansa ohjeet täsmällisesti ja tyypillisesti virheettä, kun taas ihmiset tekevät usein loogisia ja tilastollisia virheitä. Ihmiset ohjautuvat suurelta osin viettien, tunteiden ja alitajuisen intuition varassa, kun taas koneet noudattavat jäljitettävissä olevia toimintareseptejä, jotka pohjautuvat ennalta määrättyihin käskyihin ja numeeriseen dataan. Tästä syystä koneiden päätöksentekoprosessin voidaan sanoa olevan puolueeton [1].

Miksi puolueettomuus on niin tärkeää? Itse näen sen niin, että parhaimmillaan algoritminen päätöksenteko voisi ratkaista inhimillisen käyttäytymisen ”ikuisuusongelmia”, kuten viheliäät ongelmat (Rittel & Webber, 1973) ja yhteismaan ongelman [1] (Hardin, 1968). Puolueeton algoritmi voisi olla myös tehokas sovittelija poliittisissa konflikteissa (Miorandi ym., 2014) ja lainsäädännön soveltajana (Stray, 2016). Edellä mainittujen ongelmien nähdään olevan perimmäistä laatua, eli johtuvan ihmisluonnon synnynnäisistä vajavaisuuksista. Sen vuoksi niiden korjaaminen ihmispäätöksenteolla on äärimmäisen vaikeaa.

Poliittiset ongelmat ja muut sosiaaliset konfliktitilanteet voidaan usein mallintaa peliteoreettisina tilanteina, joiden ainoa ratkaisu on kompromissi eli palkkion maksimoinnista (ts. omasta edusta) tinkiminen. Historia ja myös nykypäivän globaali tilanne osoittavat, että ihmiset eivät tähän maailmanlaajuisessa mittakaavassa pysty. Teoriassa kompromissitasapaino on erittäin helppo rikkoa yhdenkin opportunistisen tai epäloogisen [3] agentin toimesta. Mikäli päätöksenteko luovutetaan koneelle, joiden toimintalogiikan tiedetään olevan neutraali ja jonka päätäntävalta siitä syystä hyväksytään, koneen tuottama kompromissiratkaisu voisi saavuttaa kestävän tasapainon.

Koneet kykenevät myös tekemään miljoonia päätöksiä sekunnissa – etenkin klustereissa tai hajautetuissa järjestelmissä tehokkuus moninkertaistuu ja päätökset voidaan myös rajapintojen kautta panna toimeen välittömästi. Esimerkiksi mainoshuutokauppa-algoritmi kierrättää mainosnäytön  200 millisekunnissa kymmenien verkostojen ja data-alustojen läpi, ja mainosvaihdanta tapahtuu jo ennen kuin sivu on latautunut loppukäyttäjälle. Tällainen huutokauppa ei luonnollisesti olisi mahdollinen ihmisten toteuttamana.

Riskit

Kaikista mahdollisuuksista huolimatta algoritmit sisältävät myös erilaisia riskejä. Algoritmit ovat ensinnäkin ihmisten luomia, joten niiden toimintaan saattaa ajautua epäsuotuisia elementtejä. Koska ihmiset ovat ajattelultaan epätäydellisiä, myös ihmisten luomien koneiden ja algoritmien voidaan ajatella ”perivän” tätä epätäydellisyyttä. Ohjelmissa voi olla sekä suoria koodausvirheitä (bugeja) että epäsuoria suunnitteluvirheitä, joiden vuoksi koneen tekemät päätökset eivät muodostu halutun kaltaisiksi.

Lisäksi datapohjaiset algoritmit ovat alttiita väärinkäytöksille, kuten järjestäytyneelle manipuloinnille. Tästä esimerkkinä on etenkin 2000-luvun alun hakukoneoptimointi, joka pyrki kaikin keinoin nostamaan tiettyjen sivujen sijoitusta hakutulossivuilla. Sittemmin hakukoneoptimoinnista on tullut eettisempää toimintaa, mutta vain koska manipulointiin on aikoinaan määrätietoisesti puututtu esimerkiksi Googlen toimesta (ja puututaan yhä). Algoritmien tietoinen manipulointi on yleistä toimintaa eri verkkoalustoilla, mutta koneellinen päätöksenteko voi vääristyä myös tahattoman toiminnan tuloksena. Googlen algoritmi saattaa esimerkiksi oppia yhdistämään afrikkalaisamerikkalaiset nimet rikoksiin, koska niitä mainitaan useammin rikosten yhteydessä. Tällöin algoritmi voi leimata kyseisen ryhmän rikolliseksi. Toisin sanoen datalähteet saattavat olla vääristyneitä tai sisältää puolueellisuutta, jolloin myös koneen tulkinta vääristyy. Kuitenkin kyseessä on koneen näkökulmasta ainoastaan tilastollinen yleistys, eli looginen lopputulos. Ainoastaan ihminen voi tulkita lopputuloksen olevan jollain tavalla kyseenalainen.

Aikaisemmin mainitsin, että koneiden virhealttius on ihmisiä matalampi. On kuitenkin tehtäviä, joissa ihmisen ”luokittelutarkkuus” on toistaiseksi konetta parempi. Esimerkiksi äänen tulkitsemisessa kone voi saavuttaa 80 % tarkkuuden, kun ihminen saavuttaa lähes poikkeuksetta 100 %:n tarkkuuden äidinkielensä ymmärtämisessä. Vastaavanlaisia tilanteita on useita. Ihmiset esimerkiksi tunnistavat tunteita konetta tehokkaammin, ymmärtävät käsitteiden kontekstit syvällisemmin, ja keskimäärin kykenevät arvioimaan päätösten moraalisia seurauksia, ja sen vuoksi välttää kollektiivisesti haitallisia toimintamalleja. Koska kone on arvoneutraali ja tunteeton, se ei välitä niistä lopputulemista, joita ei olla kvantifioitu negatiivisen painon omaavina muuttujina. Kone pitäisi siis tutustuttaa moraaliin ja etiikkaan, mitä ei ainakaan toistaiseksi olla onnistuttu tekemään. Asia ei myöskään ole aivan yksioikoinen, vaikka keksittäisiinkin keino arvojen ja normien koneelle opettamiseksi – törmäämme silloin nimittäin universaalien ja subjektiivisten arvojen dilemmaan [4].

Aikaisemmin mainitsin myös, että koneet noudattavat määriteltyjä reseptejä päätöksiä tehdessään, ts. niiden toimintalogiikka tunnetaan hyvin ja sitä voidaan tarvittaessa muokata. Tämä seikka ei välttämättä enää päde ns. syväoppimisen (deep learning) kohdalla. Nämä oppimismallit pohjautuvat monikerroksisiin neuroverkkoihin, joiden toiminta ei ole enää tarkalleen mallinnettavissa. Kone voi siis antaa arvaamattomia tuloksia, joita algoritmin kehittäjä ei pysty ennustamaan. Esimerkiksi Googlen käännösalgoritmi kehitti oman metakielen; tarkalleen ei osata sanoa kuinka se sen teki. Lienee selvää, että mikäli päätösten laatua ei kyetä ennustamaan tarkasti, arvaamattomuus muodostaa erilaisia yhteiskunnallisia ja sosiaalisia riskejä. Tämän vuoksi koneiden päätöksentekoa täytyy valvoa ja pyrkiä kehittämään eri tilanteisiin sopivaksi.

Kone Ihminen
puolueeton  puolueellinen
 nopea  hidas
 looginen  epälooginen

Taulukko 2  Kone vs. ihminen – koneen edut

Ihminen Kone
empaattinen tunteeton
oikeudenmukainen arvoneutraali
 suhteellisuudentajuinen  naiivi

Taulukko 2 Kone vs. ihminen – ihmisen edut

Sekä kone että ihminen ovat manipuloitavissa, ja jopa samankaltaisella tavalla. Ihmiselle voidaan syöttää väärää tietoa (vrt. propaganda) ja koneelle harhaanjohtavaa dataa, ja lopputuloksena kummankin päätöksenteko vääristyy. Näiden kahden olion välillä on kuitenkin ratkaiseva ero: kritiikki ja kyseenalaistaminen. Ihmiselle on ominaista vallitsevien totuuksien kyseenalaistaminen ja toisinajattelu, kun taas koneet uskovat kaiken mitä niille kerrotaan. Klassinen esimerkki tästä on Microsoftin tekoälybotti Tay, joka lyhyen ajan sisällä käännytettiin kohteliaasta botista rasistisia vihailmaisuja viljeleväksi psykopaatiksi. Tay kuitenkin suoritti juuri sitä johon se oltiin ohjelmoitu: ihmisiltä oppimiseen. Tätä voidaan kutsua Candide-ongelmaksi – nimi tulee Voltairen vuonna 1759 kirjoittamasta kirjasta, jonka päähenkilö joutuu matkoillaan toistuviin ongelmiin lapsenuskonsa vuoksi.

Mikäli Candide-ongelma halutaan ratkaista, laajalle keinoälylle on kyettävä kehittämään suhteellisuudentajua. Sosiaalisissa ympäristöissä tämänkaltaiset ongelmat korostuvat, koska ne eivät ole lineaarisesti mallinnettavissa olevia matemaattisia yhtälöitä, kuten esimerkiksi Internet-mainonnan optimointi. Voidaan missä määrin sosiaalisten ilmiöiden redusointi algoritmisiin malleihin onnistuu, ja missä määrin joudutaan yhä turvautumaan ihmisiin algoritmisen päätöksenteon kaitsijana. Juuri tällä hetkellä näiden kahden olion yhdistäminen tuottaa parhaan lopputuloksen [5].

Viittaukset:

[1] Huomaa, että puolueeton prosessi ei tarkoita etteivätkö päätökset olisi puolueellisia, ts. jonkin ryhmän edun vastaisia.
[2] Yhteisten resurssien eettinen ja tehokas käyttö.
[3] En käytä perinteistä termiä ”rationaalinen” tai ”epärationaalinen”, koska peliteoriassa rationaalinen pelaaja pyrkii nimenomaan maksimoimaan omaa hyötyään, ja sen vuoksi pattitilanteisiin päädytään. ”Looginen” tässä yhteydessä tarkoittaa konfliktin ratkaisuun pyrkivää strategiaa.
[4] Kenen arvot ovat oikeat? Ovatko esimerkiksi liberaalit aina oikeassa ja konservatiivit aina väärässä?
[5] Kutsun tätä kone-ihmispäätöksenteon hybridimalliksi.

Mikä on neutraali algoritmi?

Päätöksentekoalgoritmin neutraalius voidaan ymmärtää eri tavoin, esimerkiksi erottamalla toisistaan päätöksentekoprosessin ja tuloksen neutraalius (Stray, 2016). Mikäli algoritmin toimintaperiaate on läpinäkyvä ja yleisesti hyväksytty, voidaan sen katsoa olevan prosessin puolesta neutraali. Se voi kuitenkin yhä tuottaa puolueellisia tuloksia, erityisesti koneoppimisen kautta. Monet ongelmat liittyvätkin koneiden tapaan oppia, joka tapahtuu tilastollisen tulkinnan kautta (mm. Dwork, 2014). Esimerkiksi Sweeney (2013) tutki Googlen mainosjärjestelmää ja havaitsi, että järjestelmä liitti henkilöiden nimiin useammin rikoksia kuvaavia aputermejä, kun suoritettiin hakukyselyjä rotuvähemmistön suosimilla nimillä. Toinen esimerkki koneoppimisen haittapuolista on Microsoftin Tay-tekoäly, joka oppi nopeasti käyttämään rasistisia ilmauksia Twitter-trollaajien opettamana (Vincent, 2016).

Voidaan sanoa, että koneoppimiseen perustuvia algoritmeja ei yleensä tehdä tahallisen puolueelliseksi, vaan ne heijastavat ympäröivän yhteiskunnan asenteita analysoimalla saamaansa aineistoa. Tästä voidaan vetää mielenkiintoinen analogia ihmisten oppimiseen, joka myös tapahtuu omaksumalla asenteita ympäristöstä (Piaget, 1928). Eettisestä näkökulmasta voidaan väittää, että algoritmi on neutraali kun se heijastelee oikeaoppisesti (tarkasti) yhteiskunnan tilaa ilman relativistia arvopäätöksiä (Felten, 2014). Toisaalta voidaan väittää, että päätösten pitäisi olla yhteensopivia yhteiskunnallisten arvojen tai ainakin lakien kanssa, koska koneiden tekemät päätökset vaikuttavat konkreettisesti yksilöiden hyvinvointiin (Feldman ym., 2014). Neutraaliuden määritelmästä ei siis tällä hetkellä vallitse yksioikoista yhteisymmärrystä, vaan sitä tulkitaan eri lähtökohdista.

Koneellisessa päätöksenteossa voidaan erottaa ainakin kolme puolueellisuuden lähdettä (Zafar ym., 2015). Ensinnäkin 1) algoritmit ovat ihmisten suunnittelemia, joten algoritmin kehittäjän puolueellisuus saattaa tietoisesti tai tiedostamatta siirtyä sen toimintaperiaatteisiin. Toiseksi etenkin informaatioalgoritmit ovat alttiita 2) käyttäjien hyväksikäytölle, kuten järjestäytyneelle manipuloinnille. Kolmanneksi 3) datalähteet saattavat olla vääristyneitä tai sisältää puolueellisuutta, jolloin myös koneen tulkinta vääristyy ja tehdyt päätökset voivat olla epäreiluja.

Keinoja ehkäistä algoritmien puolueellisuutta ovat tarkastelleet ainakin Culotta (2014); Dwork (2014); Feldman ym. (2014); Jelveh & Luca (2015); ja Fish ym. (2015). Usein ratkaisukeinojen nähdään sisältävän valintatilanne tarkkuuden ja puolueettomuuden välillä (Feldman ym., 2014). Äärimmäisissä tapauksissa edes algoritmin kehittäjä ei kykene ennustamaan sen toimintaa, jolloin tulokset voivat olla arvaamattomia. Tällainen kaoottisuus liitetään etenkin syväoppimisessa käytettyihin neuroverkkoihin (Littmann & Ritter, 1997) ja toisaalta yleisesti ei-valvottuun koneoppimiseen, jossa luokittelu tapahtuu vapaasti aineiston pohjalta (Ngufor & Wojtusiak, 2013).

Algoritmien neutraalius ja puolueellisuus on monimutkainen ongelmavyyhti, jonka ratkaisuyrityksissä tarvitaan niin poikkitieteellistä osaamista. Läheisiä aihepiirejä ovat ainakin tietojenkäsittelyoppi (algoritmien suunnittelu), tilastotiede, sosiologia (ryhmädynamiikan ilmiöt), psykologia (vuorovaikutus), ja etiikka (päätösprosessien ja lopputulosten moraalinen hyväksyttävyys). Pelkkä tekninen osaaminen ei riitä koneellisen päätöksenteon kehittämisessä, koska sen vaikutukset ovat luonteeltaan moniulotteisia ja koskettavat koko yhteiskuntaa.

Lähteet:

Culotta, A. (2014) Reducing Sampling Bias in Social Media Data for County Health Inference. In Joint Statistical Meetings Proceedings.

Dwork, C. (2014) Can we Learn to be Fair? Fairness, Accountability and Transparency in Machine Learning (FAT ML, 2014).

Feldman, M., Friedler, S., Moeller, J., Scheidegger, C., & Venkatasubramanian, S. (2014). Certifying and removing disparate impact. Working paper.

Fish, B., Kun, J., Lelkes, A. (2015) Fair Boosting: A Case Study. Fairness, Accountability and Transparency in Machine Learning (FAT ML, 2015).

Jelveh, Z., Luca, M. (2015) Towards Diagnosing Accuracy Loss in Discrimination-Aware Classification: An Application to Predictive Policing. Fairness, Accountability and Transparency in Machine Learning (FAT ML, 2015).

Littmann, E., & Ritter, H. (1997) Adaptive color segmentation-a comparison of neural and statistical methods. IEEE Transactions on Neural Networks, 8(1), 175–185.

Ngufor, C., & Wojtusiak, A. (2013) Unsupervised labeling of data for supervised learning and its application to medical claims prediction. Computer Science, 14.

Piaget, J. (1928) La causalité chez l’enfant. British Journal of Psychology. 18: 276–301.

Stray, J. (2016) Sometimes an algorithm really is (politically) unbiased. http://jonathanstray.com/sometimes-an-algorithm-really-is-politically-unbiased

Vincent, J. (2016) Twitter taught Microsoft’s AI chatbot to be a racist asshole in less than a day. http://www.theverge.com/2016/3/24/11297050/tay-microsoft-chatbot-racist

Zafar, M., Martinez, I., Gomez Rodriguez, M., Gummadi, K. (2015) Fairness Constraints: A Mechanism for Fair Classification. Fairness, Accountability and Transparency in Machine Learning (FAT ML, 2015).