Tänä päivänä on tullut varsin tavalliseksi kuulla ihmisten puhuvan nykyaikaisista koneoppimisjärjestelmistä ”mustina laatikoina”. Esimerkkinä mainittakoon Sam Harris -podcastin tuore jakso, jossa hän haastatteli tekoälyn pioneeria Stuart Russellia. Harris kysyy:
”Joten, jos en erehdy, suurin osa, ellei peräti kaikki näistä syväoppimisen lähestymistavoista tai jopa yleisemmin koneoppimisen lähestymistavoista ovat pohjimmiltaan mustia laatikoita, joissa ei voi oikeastaan tarkastaa, miten algoritmi saa aikaan sen, mitä se saa aikaan.”
Vaikka tämä metafora sopii joihinkin erityistilanteisiin, se on itse asiassa melko harhaanjohtava yleisesti, ja se saattaa aiheuttaa huomattavan paljon hämmennystä. Kuten tulemme näkemään, syväoppimisjärjestelmä ei ole musta laatikko; edes tällaisen järjestelmän kehittämisen ei tarvitse olla musta laatikko. Todellinen haaste on kuitenkin se, että nämä molemmat asiat ovat monimutkaisia, eikä niitä välttämättä ymmärretä hyvin. Haluan tässä yrittää selventää joitakin näistä ajatuksista ja samalla pohtia, mitä tarkoitamme selityksillä.
Kuten selitän jäljempänä, uskon hämmennyksen johtuvan ainakin osittain siitä, että ihmisillä on vääriä käsityksiä siitä, miten nämä järjestelmät toimivat. Kun ihmiset turvautuvat mustan laatikon metaforaan, he näyttävät ilmaisevan sitä, että koneoppimismallin eri komponenttien tarkoitusta on vaikea hahmottaa. Vaikka tämä on todellakin vaikeaa, haluan väittää, että se on myös epärealistinen odotus. Matkan varrella yritän selittää mallien eron ja sen, miten niitä koulutetaan, keskustella skenaarioista, joissa mustan laatikon metafora on sopiva, ja esittää, että monella tapaa ihmiset ovat todellisia mustia laatikoita, ainakin mitä tulee koneoppimiseen.
Erittelyt
Aluksi on hyödyllistä pohtia, mitä ihmiset tarkoittavat puhuessaan selityksistä. Tämä ei ole mitenkään triviaali kysymys, mutta näyttää olevan ainakin kaksi erityisen relevanttia tapaa ajatella asiaa.
Kun pyydämme joltakulta selitystä sille, miksi hän teki jotakin (”Miksi teit X:n?”), toimimme tiettyjen taustaoletusten varassa. Kun kyseessä on huolellisesti tehty päätös, oletamme tyypillisesti, että hänellä oli jokin hyvä syy toimia niin kuin hän toimi, ja kysymme periaatteessa päättelyprosessia, jota hän käytti päätöksen tekemisessä. Voimme esimerkiksi olettaa, että he punnitsivat hyviä ja huonoja puolia ja valitsivat toimintatavan sen perusteella, että he odottivat sen johtavan johonkin tiettyyn lopputulokseen.
Kysyessämme, miksi jokin meni pieleen, pyydämme sen sijaan eräänlaista jälkikäteistä selitystä epäonnistumiselle. Esimerkiksi auto-onnettomuuden jälkeen saatamme haluta selityksen sille, mikä onnettomuuden aiheutti. Oliko kuljettaja hajamielinen? Aiheuttiko toinen auto väistämisen? Päättelyprosessin sijaan kysymme enemmän tai vähemmän sitä kriittistä ärsykettä, joka aiheutti tietyn normaalista käyttäytymisestä poikkeavan reaktion.
Kun ihmiset ajattelevat tekoälyä, heillä näyttää tyypillisesti olevan mielessään ensimmäisenlainen selitys. Odotuksena on, että järjestelmä teki harkinnan ja valitsi toimintatavan odotetun lopputuloksen perusteella. Vaikka on tapauksia, joissa tämä on mahdollista, yhä useammin näemme siirtymistä kohti järjestelmiä, jotka muistuttavat enemmän toista tapausta; eli ne saavat ärsykkeitä ja sitten ne vain reagoivat.
Tälle on erittäin hyviä syitä (eikä vähiten siksi, että maailma on monimutkainen), mutta se tarkoittaa, että on vaikeampi ymmärtää syitä siihen, miksi jokin tietty päätös tehtiin tai miksi päädyimme yhteen malliin jonkin toisen sijaan. Tätä silmällä pitäen tarkastellaan, mitä tarkoitamme mallilla ja mustan laatikon metaforalla.
Laatikot ja mallit
Mustan laatikon metafora juontaa juurensa kybernetiikan ja behaviorismin alkuaikoihin, ja sillä viitataan tyypillisesti systeemiin, jonka sisääntuloja ja ulostuloja pystymme havainnoimaan, mutta emme sisäisiä toimintoja. Itse asiassa B. F. Skinner käsitteli mieliä yleisesti ottaen tällä tavalla. Vaikka hän osoitti menestyksekkäästi, miten tietyt opitut käyttäytymismuodot voitiin selittää vahvistussignaalilla, joka yhdisti tietyt sisääntulot tiettyihin ulostuloihin, hän teki sitten tunnetusti sen virheen, että hän luuli tämän teorian voivan helposti selittää kaiken inhimillisen käyttäytymisen, mukaan lukien kielen.
Yksinkertaisempana esimerkkinä mustasta laatikosta, ajatellaanpa Skinnerin tekemää ajatuskokeilua: Annetaan sinulle laatikko, jossa on joukko sisääntuloja (kytkimiä ja painikkeita) ja joukko ulostuloja (valoja, jotka ovat joko päällä tai pois päältä). Manipuloimalla sisääntuloja voit havaita vastaavat ulostulot, mutta et voi katsoa laatikon sisälle nähdäksesi, miten laatikko toimii. Yksinkertaisimmassa tapauksessa, kuten huoneen valokatkaisijan tapauksessa, on helppo todeta suurella varmuudella, että kytkin ohjaa valon määrää. Riittävän monimutkaisessa järjestelmässä voi kuitenkin olla käytännössä mahdotonta määrittää, miten laatikko toimii vain kokeilemalla erilaisia yhdistelmiä.
Kuvittele nyt, että saat avata laatikon ja katsoa sen sisään. Sinulle annetaan jopa täydellinen kytkentäkaavio, josta näkyy, mitä kaikki komponentit ovat ja miten ne on kytketty. Lisäksi yksikään komponentti ei ole itsessään monimutkainen, vaan kaikki on rakennettu yksinkertaisista komponenteista, kuten vastuksista ja kondensaattoreista, joiden jokaisen käyttäytyminen on hyvin ymmärrettävää erikseen. Nyt sinulla on käytettävissäsi järjestelmän kaikkien komponenttien täydelliset spesifikaatiot, ja voit jopa tehdä kokeita nähdäksesi, miten kukin eri komponentti reagoi tiettyihin syötteisiin.
Voisit ehkä ajatella, että kun sinulla on nyt käytössäsi kaikki nämä tiedot, voisit antaa hyvän selityksen laatikon toiminnalle. Onhan jokainen yksittäinen komponentti ymmärretty, eikä mitään piilotettua tietoa ole. Valitettavasti monimutkaisuus syntyy monien yksinkertaisten komponenttien vuorovaikutuksesta. Riittävän monimutkaisessa järjestelmässä on epätodennäköistä, että pystyisit ennustamaan, mikä laatikon ulostulo on tietyllä syötteellä, suorittamatta koetta sen selvittämiseksi. Ainoa selitys sille, miksi laatikko tekee mitä se tekee, on se, että kaikki komponentit noudattavat sääntöjä, jotka säätelevät niiden yksilöllistä käyttäytymistä, ja kokonaiskäyttäytyminen syntyy niiden vuorovaikutuksesta.
Jopa vielä tärkeämpää on, että sen lisäksi, miten järjestelmä toimii, olisit todennäköisesti neuvoton selittämään, miksi kukin komponentti on sijoitettu sinne, minne se on sijoitettu, vaikka tietäisitkin järjestelmän kokonaistarkoituksen. Koska laatikko on suunniteltu johonkin tarkoitukseen, oletamme, että jokainen komponentti on lisätty jostain syystä. Erityisen nokkelassa järjestelmässä kukin komponentti voi kuitenkin päätyä ottamaan useita tehtäviä, kuten DNA:n tapauksessa. Vaikka tämä voi johtaa hyvin tehokkaaseen järjestelmään, se tekee myös hyvin vaikeaksi edes ajatella kunkin komponentin tarkoituksen tiivistämistä. Toisin sanoen järjestelmän ”miten” on täysin läpinäkyvä, mutta ”miksi” on mahdollisesti käsittämätön.
Tämä on, kuten käy ilmi, täydellinen metafora syväoppimiselle. Yleisesti ottaen koko järjestelmä on avoin tarkasteltavaksi. Lisäksi se koostuu kokonaan yksinkertaisista komponenteista, jotka ovat helposti ymmärrettävissä erillisinä. Vaikka tietäisimme koko järjestelmän tarkoituksen, emme kuitenkaan välttämättä voi tarjota yksinkertaista selitystä sille, miten järjestelmä toimii, muuta kuin sen, että kukin yksittäinen komponentti toimii omien sääntöjensä mukaan, vastauksena syötteeseen. Tämä onkin todellinen selitys sille, miten järjestelmä toimii, ja se on täysin läpinäkyvä. Vaikeampi kysymys on tietysti se, miksi kukin komponentti on ottanut sen roolin, joka sillä on. Tämän ymmärtämiseksi tarkemmin on hyödyllistä erottaa toisistaan mallin ajatus ja sen kouluttamiseen käytetty algoritmi.
Mallit ja algoritmit
Voidaksemme todella päästä yksityiskohtiin, meidän on oltava hieman tarkempia siitä, mistä puhumme. Harris viittaa siihen, ”miten algoritmi saa aikaan sen, mitä se saa aikaan”, mutta tässä on oikeastaan kaksi osaa: malli – kuten syväoppimisjärjestelmä – ja oppimisalgoritmi – jonka avulla sovitamme mallin dataan. Kun Harris viittaa ”algoritmiin”, hän oletettavasti puhuu mallista, ei välttämättä siitä, miten se on koulutettu.
Mitä tarkalleen ottaen tarkoitamme mallilla? Vaikka se on ehkä hieman epämääräinen, tilastollinen malli periaatteessa kuvaa oletuksia, joita teemme siitä, miten asiat toimivat maailmassa, ja jonka yksityiskohdat opitaan datasta. Erityisesti malli määrittelee, mitkä ovat syötteet, mitkä ovat tuotokset ja tyypillisesti sen, miten ajattelemme syötteiden olevan vuorovaikutuksessa toistensa kanssa tuotoksen synnyttämisessä.
Klassinen esimerkki mallista ovat Newtonin painovoimaa ohjaavat yhtälöt. Mallin mukaan tuotos (kahden kappaleen välinen painovoima) määräytyy kolmen tuloarvon perusteella: ensimmäisen kappaleen massa, toisen kappaleen massa ja niiden välinen etäisyys. Tarkemmin sanottuna siinä todetaan, että painovoima on verrannollinen kahden massan tuloon jaettuna etäisyyden neliöllä. Kriittisesti ajateltuna siinä ei selitetä, miksi juuri näiden tekijöiden pitäisi olla painovoimaan vaikuttavia tekijöitä; siinä vain yritetään tarjota pelkistetty selitys, jonka avulla voimme ennustaa painovoiman missä tahansa tilanteessa.
Vaikka tämä olisikin täysin oikein, voidaksemme tehdä ennusteen meidän on tietysti tiedettävä myös vastaava skaalautumiskerroin G. Periaatteessa tämä arvo pitäisi kuitenkin pystyä saamaan selville havainnoimalla. Jos olemme olettaneet oikean (tai lähes oikean) mallin siitä, miten asiat todellisuudessa toimivat, meillä on hyvät mahdollisuudet oppia asiaankuuluvat yksityiskohdat datasta.
Painovoiman tapauksessa Einstein tietysti osoitti lopulta, että Newtonin malli oli vain likimain oikea, ja että se epäonnistuu ääriolosuhteissa. Useimpiin olosuhteisiin Newtonin malli on kuitenkin riittävän hyvä, minkä vuoksi ihmiset pystyivät oppimaan vakion G= 6.674×10^(-11) N – (m/kg)² ja käyttämään sitä ennusteiden tekemiseen.
Einsteinin malli on paljon monimutkaisempi, ja siinä on enemmän yksityiskohtia, jotka opitaan havainnoimalla. Useimmissa olosuhteissa se antaa suunnilleen saman ennusteen kuin Newtonin malli antaisi, mutta se on tarkempi ääriolosuhteissa, ja se on tietysti ollut olennainen GPS:n kaltaisten teknologioiden kehittämisessä. Vielä vaikuttavampaa on se, että suhteellisuusteorian toissijaiset ennusteet ovat olleet hämmästyttäviä, sillä ne ovat onnistuneet ennustamaan esimerkiksi mustien aukkojen olemassaolon ennen kuin pystyimme koskaan toivomaan, että voisimme testata niiden olemassaoloa. Silti tiedämme, että myös Einsteinin malli ei ole täysin oikea, sillä se ei sovi yhteen kvanttimekaniikan mallien kanssa vielä äärimmäisemmissä olosuhteissa.
Gravitaatio on luonnollisesti deterministinen (sikäli kuin tiedämme). Koneoppimisessa ja tilastotieteessä sen sijaan ollaan tyypillisesti tekemisissä mallien kanssa, joihin liittyy epävarmuutta tai satunnaisuutta. Esimerkiksi yksinkertainen malli siitä, kuinka kauan tulet elämään, olisi vain ennustaa sen maan väestön keskiarvo, jossa asut. Paremmassa mallissa voitaisiin ottaa huomioon asiaankuuluvat tekijät, kuten nykyinen terveydentilasi, geenisi, kuinka paljon harrastat liikuntaa, poltatko savukkeita vai et jne. Melkein kaikissa tapauksissa ennusteeseen liittyy kuitenkin jonkin verran epävarmuutta, koska emme tunne kaikkia merkityksellisiä tekijöitä. (Tämä on tietysti eri asia kuin näennäinen todellinen satunnaisuus, jota esiintyy subatomisella tasolla, mutta emme huolehdi tästä erosta tässä yhteydessä).
Sen lisäksi, että termi syväoppiminen on uskomattoman menestyksekäs uudelleenbrändäys neuroverkoille ja koneoppimiselle (joka itsessään on luultavasti melko menestyksekäs uudelleenbrändäys tilastotieteelle), termi syväoppiminen (deep learning) viittaa tietyntyyppiseen malliin, jossa tuotokset ovat tuloksien tulosta monien yksinkertaisten syötteisiin sovellettavien muunnosten tulosta, (aivan kuten kytkentäkaavioamme edellä). Vaikka syväoppimisen mallit ovat varmasti monimutkaisia, ne eivät ole mustia laatikoita. Itse asiassa olisi oikeampaa kutsua niitä lasilaatikoiksi, koska voimme kirjaimellisesti katsoa niiden sisälle ja nähdä, mitä kukin komponentti tekee.
Ongelmana on tietysti se, että nämä järjestelmät ovat myös monimutkaisia. Jos annan sinulle yksinkertaisen joukon sääntöjä, joita sinun on noudatettava ennusteen tekemiseksi, niin kauan kuin sääntöjä ei ole liikaa ja säännöt itsessään ovat yksinkertaisia, voisit melko helposti keksiä mielessäsi koko joukon panos-tulos-kuvioita. Tämä pätee, vaikkakin vähäisemmässä määrin, myös lineaarisiksi malleiksi kutsuttuun mallien luokkaan, jossa minkä tahansa syötteen muuttamisen vaikutus voidaan tulkita tietämättä muiden syötteiden arvoa.
Syvällisen oppimisen malleihin sen sijaan liittyy tyypillisesti epälineaarisuuksia ja syötteiden välisiä vuorovaikutuksia, mikä tarkoittaa sitä, että sen lisäksi, että syötteestä ei ole yksinkertaista kartoitusta syötteisiin ja tuotoksiin, yhden syötteen muuttamisen vaikutus voi riippua kriittisellä tavalla toisten syötteiden arvoista. Tämän vuoksi on hyvin vaikea hahmottaa henkisesti, mitä tapahtuu, mutta yksityiskohdat ovat kuitenkin läpinäkyviä ja täysin avoimia tarkasteltaviksi.
Todellinen laskenta, jonka nämä mallit suorittavat ennusteen tekemiseksi, on tyypillisesti melko suoraviivaista; vaikeaksi tilanne muuttuu mallin parametrien varsinaisessa oppimisessa datasta. Kuten edellä on kuvattu, kun oletamme mallille tietyn muodon (tässä tapauksessa joustava neuroverkko); meidän on sitten yritettävä selvittää parametreille hyvät arvot datasta.
Painovoiman esimerkissä, kun olemme olettaneet ”riittävän hyvän” mallin (verrannollinen massaan ja kääntäen verrannollinen etäisyyden neliöön), meidän on vain ratkaistava yhden parametrin (G) arvo sovittamalla mallia havaintoihin. Nykyaikaisissa syväoppimisjärjestelmissä sen sijaan tällaisia opittavia parametreja voi olla helposti miljoonia.
Käytännössä lähes kaikki tällaiset syväoppimismallit koulutetaan käyttämällä jotakin muunnosta algoritmista nimeltä stokastinen gradienttilaskeutuminen (stochastic gradient descent, SGD), joka ottaa satunnaisnäytteitä harjoitteluaineistosta ja säätää vähitellen kaikkia parametreja niin, että ennustettu ulostulos on yhä enemmän haluamamme kaltainen. Sitä, miksi se toimii niin hyvin kuin se toimii, ei vieläkään ymmärretä tarkalleen, mutta tärkeintä on pitää mielessä, että sekin on läpinäkyvä.
Koska se yleensä alustetaan satunnaisilla arvoilla kaikille parametreille, SGD voi johtaa erilaisiin parametreihin joka kerta, kun se ajetaan. Algoritmi itsessään on kuitenkin deterministinen, ja jos käyttäisimme samaa alustusta ja samoja tietoja, se tuottaisi saman tuloksen. Toisin sanoen, malli tai algoritmi ei ole musta laatikko.
Vaikka se on jokseenkin epätyydyttävää, täydellinen vastaus siihen, miksi koneoppimisjärjestelmä teki jotakin, piilee viime kädessä niiden oletusten yhdistelmässä, joita teimme mallia suunnitellessamme, datassa, jolla se koulutettiin, ja erilaisissa päätöksissä, joita tehtiin parametrien oppimisesta, mukaan luettuna satunnaisuus initiaatiossa.
Takaisin mustiin laatikoihin
Miksi tällä kaikella on väliä? No, on ainakin kaksi tapaa, joilla mustien laatikoiden käsite on erittäin merkityksellinen koneoppimisen kannalta.
Ensiksi, on olemassa paljon algoritmeja ja ohjelmistojärjestelmiä (eikä vain koneoppimiseen perustuvia), jotka ovat käyttäjän kannalta mustia laatikoita. Näin on ehkä yleisimmin omistusoikeudellisissa ohjelmistoissa, joissa käyttäjällä ei ole pääsyä sisäiseen toimintaan, ja saamme nähdä vain syötteet ja tuotokset. Tällaisesta järjestelmästä ProPublica kertoi raportoidessaan oikeudellisista tuomioalgoritmeista (erityisesti Northpointen COMPAS-järjestelmästä). Siinä tapauksessa tiedämme syötteet ja näemme tuloksena ihmisille annetut riskipisteet. Meillä ei kuitenkaan ole pääsyä yrityksen käyttämään algoritmiin tai tietoihin, joihin se on koulutettu. On kuitenkin turvallista sanoa, että jollakin on pääsy yksityiskohtiin – oletettavasti yrityksen työntekijöillä – ja se on heille hyvin todennäköisesti täysin läpinäkyvä.
Toinen tapa, jolla mustien laatikoiden metafora on merkityksellinen, liittyy niihin järjestelmiin, joita pyrimme oppimaan, kuten ihmisen näkökykyyn. Jossain mielessä ihmisen käyttäytyminen on epätavallisen läpinäkyvää, sillä voimme itse asiassa kysyä ihmisiltä, miksi he tekivät jotakin, ja saada selityksiä. On kuitenkin syytä uskoa, että emme aina tiedä tekojemme todellisia syitä. Olemme kaukana siitä, että olisimme läpinäkyviä itsellemme, emmekä yksinkertaisesti pääse tietoisesti käsiksi moniin käyttäytymistämme ohjaaviin sisäisiin prosesseihin. Jos meitä pyydetään selittämään, miksi teimme jotakin, pystymme ehkä esittämään kertomuksen, josta ainakin käy ilmi, miltä päätöksentekoprosessi tuntui meistä. Jos meitä sen sijaan pyydetään selittämään, miten pystymme tunnistamaan esineitä, saatamme luulla pystyvämme antamaan jonkinlaisen selityksen (jotakin, johon liittyy reunoja ja värejä), mutta todellisuudessa tämä prosessi toimii huomattavasti tietoisuuden tason alapuolella.
Vaikka on olemassa erityistilanteita, joissa voimme tosiasiallisesti tarkastaa ihmisen tai muiden nisäkkäiden systeemien sisäisen toiminnan, kuten neurotieteellisissä kokeissa, yleisesti ottaen yritämme koneoppimisen avulla jäljitellä ihmisen käyttäytymistä käyttäen vain syötteitä ja tuotoksia. Toisin sanoen koneoppimisjärjestelmän näkökulmasta ihminen on musta laatikko.
Johtopäätökset
Johtopäätöksinä on hyödyllistä miettiä, mitä ihmiset toivovat ajatellessaan systeemejä, jotka eivät ole mustia laatikkoja. Ihmiset tyypillisesti kuvittelevat jotakin sellaista kuin skenaario, jossa itseohjautuva auto on suistunut tieltä, ja haluamme tietää, miksi. Yleisessä mielikuvituksessa odotetaan, että auto on arvioinut mahdollisia lopputuloksia, määrittänyt niille todennäköisyyksiä ja valinnut sen, jolla on parhaat mahdollisuudet maksimoida jokin parempi lopputulos, jossa parempi määräytyy jonkinlaisen siihen ohjelmoidun moraalin mukaan.
Todellisuudessa on hyvin epätodennäköistä, että asiat toimisivat juuri näin. Pikemminkin, jos kysymme autolta, miksi se teki mitä se teki, vastaus on, että se sovelsi läpinäkyvää ja determinististä laskutoimitusta käyttäen parametriensa arvoja, kun otetaan huomioon sen hetkinen syöte, ja tämä määritteli sen toiminnan. Jos kysymme, miksi sillä oli juuri nuo parametrit, vastaus on, että ne ovat seurausta valitusta mallista, datasta, jolla se koulutettiin, ja käytetyn oppimisalgoritmin yksityiskohdista.
Tämä vaikuttaa turhauttavan hyödyttömältä, ja on helppo ymmärtää, miksi ihmiset turvautuvat mustan laatikon metaforaan. Miettikää kuitenkin, että meillä ei todellisuudessa ole tällaista pääsyä järjestelmiin, joita yritämme jäljitellä. Jos kysymme ihmiskuljettajalta, miksi hän ajautui ulos tieltä, hän todennäköisesti pystyy vastaamaan kielellisesti ja antamaan jonkinlaisen selityksen itsestään – että hän oli humalassa tai hajamielinen, että hänen oli väistettävä tai että sää sokaisee hänet – mutta sen lisäksi, että annamme jonkinlaisen kerronnallisen johdonmukaisuuden, emme oikeastaan tiedä, miksi hän teki sen, eivätkä hekään tiedä. Ainakin koneoppimisen avulla voimme luoda saman tilanteen uudelleen ja tutkia sisäistä tilaa. Se voi olla monimutkainen ymmärtää, mutta se ei ole musta laatikko.
Vastaa