Mitä tekoäly on
Neuroverkko selitettynä ilman matematiikkaa ja hypeä
Neuroverkko ei muistuta aivoja. Näin neuroni, painot, kerrokset ja vastavirta-algoritmi toimivat, ja miksi valmis verkko jää musta laatikko.
Lyhyt vastaus
Neuroverkko on pino yksinkertaisia laskutoimituksia. Yksi keinotekoinen neuroni kertoo syötteensä painoilla, laskee tulokset yhteen ja päästää summan läpi taivuttavan funktion, ja verkko koostuu tuhansista tai miljoonista tällaisista yksiköistä kerroksittain. Opetuksessa painoja säädetään vastavirta-algoritmilla niin, että verkon virhe pienenee. Yksittäisen painon arvo ei tarkoita mitään, ja siksi valmiin verkon päätöstä ei voi lukea sen sisältä.
Sisällys
- Neuroni on painotettu summa ja yksi taivutus
- Painot ovat ainoa asia, jota opetus muuttaa
- Kerrokset: miksi syvyys auttaa
- Aktivointifunktio: pieni yksityiskohta, jolla on iso seuraus
- Vastavirta-algoritmi: virhe kulkee takaperin
- Miksi verkko on musta laatikko
- Mitä selitettävyys tarkoittaa käytännössä
- Kolme tapaa, joilla neuroverkko menee pieleen
- Mitä tästä seuraa käyttäjälle
- Usein kysytyt kysymykset
- Lähteet ja lisälukemista
Neuroverkko on pino hyvin yksinkertaisia laskutoimituksia, joita on paljon. Yksi yksikkö kertoo saamansa luvut painoilla, laskee ne yhteen ja päästää summan läpi funktion, joka taivuttaa tuloksen. Siinä on koko idea. Kaikki muu on toistoa, mittakaavaa ja tapoja säätää painot niin, että lopputulos on hyödyllinen.
Nimi on peräisin 1940-luvulta, jolloin mallia perusteltiin karkealla yksinkertaistuksella hermosolun toiminnasta. Vertaus on jäänyt elämään ja se johtaa harhaan. Verkon toiminnan ymmärtämiseen ei tarvita biologiaa eikä matematiikkaa, vain kärsivällisyys käydä läpi neljä osaa: neuroni, kerros, aktivointifunktio ja tapa korjata virhe. Tausta koneoppimisen käsitteisiin löytyy artikkelista koneoppiminen selitettynä.
Neuroni on painotettu summa ja yksi taivutus
Kuvitellaan yksikkö, joka saa kolme lukua: asunnon pinta-alan, rakennusvuoden ja etäisyyden keskustaan. Jokaisella syötteellä on oma paino, joka kertoo kuinka voimakkaasti se vaikuttaa. Yksikkö kertoo jokaisen syötteen sen painolla, laskee tulot yhteen ja lisää vielä yhden vakioluvun, jota kutsutaan biasiksi ja joka siirtää yksikön kynnystä.
Tulos ei kuitenkaan mene sellaisenaan eteenpäin. Se ajetaan aktivointifunktion läpi. Yleisin niistä on yksinkertainen sääntö: negatiiviset arvot muuttuvat nollaksi ja positiiviset menevät läpi sellaisenaan. Yksikkö siis joko vaikuttaa tai ei vaikuta, ja vaikuttaessaan sen voimakkuus riippuu summasta.
Yksi tällainen yksikkö osaa hyvin vähän. Se voi vetää aineiston läpi yhden suoran rajan. Kiinnostavaksi asia muuttuu vasta, kun yksiköitä on rinnakkain ja peräkkäin.
Painot ovat ainoa asia, jota opetus muuttaa
Kun puhutaan siitä, että mallissa on miljardeja parametreja, tarkoitetaan juuri näitä painoja ja biaseja. Ne ovat opetuksen tuotos. Ennen opetusta ne ovat satunnaisia lukuja, opetuksen jälkeen ne ovat lukuja, jotka tuottavat hyviä vastauksia opetusaineiston kaltaisiin syötteisiin.
Painot eivät ole sääntöjä eivätkä faktoja. Yksittäisestä painosta ei voi lukea mitään, samoin kuin yhdestä kirjaimesta ei voi lukea kirjan juonta. Verkon osaaminen on hajautettuna painojen yhteisvaikutukseen, mikä on syy siihen, miksi mallista ei voi poistaa yhtä opittua asiaa tai korjata yhtä virhettä muuttamatta kaikkea muuta.
Verkon rakenne, kerrosten määrä ja aktivointifunktion valinta ovat sen sijaan ihmisen tekemiä päätöksiä. Niitä kutsutaan hyperparametreiksi, ja ne valitaan kokeilemalla, ei laskemalla.
Kerrokset: miksi syvyys auttaa
Neuronit järjestetään kerroksiksi. Ensimmäinen kerros ottaa syötteen, viimeinen antaa vastauksen, ja niiden välissä on piilokerroksia, joiden tuloksia kukaan ei suoraan katso.
Syvyyden hyöty on siinä, että jokainen kerros voi rakentaa käsitteitä edellisen kerroksen tuottamien käsitteiden päälle. Kuvantunnistuksessa jako on tutkittu ja havainnollinen.
| Kerrostaso | Mitä siellä muodostuu | Esimerkki |
|---|---|---|
| Alimmat kerrokset | Yksinkertaiset paikalliset kuviot | Reunat, kulmat, väripinnat |
| Keskikerrokset | Osien yhdistelmät | Silmä, rengas, tekstuuri |
| Ylimmät kerrokset | Kokonaiset kohteet ja tilanteet | Kasvot, auto, katunäkymä |
Kukaan ei ole ohjelmoinut tätä jakoa. Se syntyy siitä, että virheen pienentäminen onnistuu tehokkaimmin, kun välituloksia kootaan asteittain. Sama periaate toistuu kielimalleissa, joissa alemmat kerrokset käsittelevät sananmuotoja ja ylemmät pidempiä riippuvuuksia. Tarkempi kuvaus siitä, miten tämä toteutuu tekstin kanssa, on artikkelissa miten kielimalli toimii.
Syvyydellä on hintansa. Mitä useampi kerros, sitä vaikeampi opetussignaali on kuljettaa alimpiin kerroksiin asti, ja sitä enemmän laskentaa ja esimerkkejä tarvitaan.
Aktivointifunktio: pieni yksityiskohta, jolla on iso seuraus
Aktivointifunktio kuulostaa tekniseltä koristeelta, mutta ilman sitä koko rakenne romahtaa.
Jos yksiköt vain kertoisivat ja laskisivat yhteen, koko verkko olisi matemaattisesti sama asia kuin yksi ainoa kerros. Sata kerrosta kertolaskuja voidaan aina supistaa yhdeksi kertolaskuksi. Vasta epälineaarinen taivutus jokaisen kerroksen jälkeen tekee kerroksista aidosti eri asioita.
Käytännön seuraus on tämä: verkon kyky mallintaa mutkikkaita ilmiöitä ei tule laskutoimitusten määrästä vaan siitä, että väliin on ripoteltu kohtia, joissa suora katkeaa. Tavallisin valinta on yksinkertainen nollaus negatiivisille arvoille, koska se on nopea laskea ja kuljettaa opetussignaalia hyvin.
Vastavirta-algoritmi: virhe kulkee takaperin
Opetuksen ydin on kysymys, joka kuulostaa mahdottomalta: kun verkon lopputulos oli väärä, mikä miljoonista painoista oli syyllinen ja kuinka paljon?
Vastavirta-algoritmi (backpropagation) vastaa siihen. Verkon läpi ajetaan ensin syöte eteenpäin ja lasketaan virhe. Sitten virhe kuljetetaan takaisin kerros kerrokselta ja jokaiselle painolle lasketaan, mihin suuntaan ja kuinka voimakkaasti sen muuttaminen olisi pienentänyt virhettä. Lopuksi kaikkia painoja siirretään pieni askel siihen suuntaan.
Kolme asiaa kannattaa huomata. Askel on tarkoituksella pieni, koska laskelma pätee vain aivan lähellä nykyistä arvoa. Toimenpide toistetaan miljoonia kertoja eri esimerkeillä. Ja algoritmi ei etsi parasta mahdollista ratkaisua vaan riittävän hyvän: opetus päättyy kohtaan, jossa virhe ei enää laske, eikä kukaan tiedä, olisiko jossain toisaalla parempi.
Menetelmä on 1980-luvulta. Se, mikä muuttui 2010-luvulla, ei ollut algoritmi vaan kolme muuta asiaa: aineistoa oli verkossa valtavasti, näytönohjaimet osoittautuivat sopiviksi tähän laskentaan, ja arkkitehtuureihin keksittiin ratkaisut, jotka pitivät opetussignaalin elossa syvissä verkoissa. Tästä yhdistelmästä syntyi syväoppiminen, joka on koneoppimista monikerroksisilla neuroverkoilla.
Miksi verkko on musta laatikko
Mustan laatikon ongelma ei johdu salailusta. Verkon painot voi tulostaa kokonaan näkyviin, ja silti kukaan ei osaa lukea niistä, miksi malli hylkäsi juuri sinun hakemuksesi.
Syitä on kolme. Tieto on hajautettu: yhtä käsitettä ei säilytetä yhdessä paikassa vaan se on tuhansien painojen yhteisvaikutus. Laskenta on valtava: vastaus syntyy miljardeista kertolaskuista, joita ei voi tiivistää perusteluksi. Ja verkko ei muodosta perustetta lainkaan, joten sellaista ei ole mistä lukea. Perustelu on jotain, mitä ihminen lisää jälkikäteen.
Kielimallien kohdalla tämä on erityisen harhaanjohtavaa, koska malli osaa pyydettäessä kirjoittaa perustelun. Teksti on kuitenkin tuotettu samalla tavalla kuin muukin vastaus, eikä se ole raportti verkon laskennasta. Sama ilmiö selittää osan siitä, miksi tekoäly keksii asioita itsevarmaan sävyyn.
Mitä selitettävyys tarkoittaa käytännössä
Selitettävyys (explainability) on kokoelma menetelmiä, joilla mustasta laatikosta yritetään saada irti jotain tarkistettavaa. Ne eivät avaa verkkoa vaan tutkivat sitä ulkoapäin.
| Menetelmä | Mitä se kertoo | Mitä se ei kerro |
|---|---|---|
| Piirteiden tärkeys | Mitkä syötteen osat vaikuttivat tulokseen eniten | Vaikuttiko piirre syynä vai vain seuralaisena |
| Vastaesimerkit | Miten syötteen pitäisi muuttua, jotta päätös kääntyisi | Onko muutos oikeasti mahdollinen tai kohtuullinen |
| Lämpökartat kuvissa | Mihin kohtaan kuvaa malli reagoi | Mitä mallin sisällä tapahtui |
Menetelmät ovat hyödyllisiä virheiden etsimisessä. Ne paljastavat esimerkiksi, jos malli katsoo kuvasta vesileimaa eikä kohdetta. Ne eivät kuitenkaan ole todiste päätöksen oikeellisuudesta, ja eri menetelmät voivat antaa samasta tapauksesta eri selityksen. NIST:n julkaisu NISTIR 8312 esittää neljä periaatetta, jotka selityksen pitäisi täyttää, ja toteaa samalla, ettei mikään nykyinen menetelmä täytä niitä kaikissa tilanteissa.
Sääntely lähestyy asiaa toisesta suunnasta. EU:n tekoälyasetus ei vaadi, että verkon sisältö olisi luettavissa, vaan että korkean riskin järjestelmän toiminta on dokumentoitu, lokitettu ja ihmisen valvottavissa. Käytännössä vastuu siirretään prosessille, koska mallille sitä ei voi siirtää.
Kolme tapaa, joilla neuroverkko menee pieleen
Verkon virheet eivät ole satunnaisia. Ne noudattavat kolmea toistuvaa kaavaa, jotka seuraavat suoraan rakenteesta.
Oikoreitit. Verkko ei etsi ilmiön syytä vaan mitä tahansa signaalia, joka pienentää virhettä. Jos opetuskuvissa kaikki sudet sattuivat olemaan lumisessa maastossa, verkko oppii tunnistamaan lumen. Tulos näyttää opetusaineistossa erinomaiselta ja pettää heti, kun oikoreitti katoaa. Tämä on tavallisin syy siihen, että laboratoriossa toimiva malli epäonnistuu käytössä.
Herkkyys pienille häiriöille. Neuroverkon vastaus voi kääntyä täysin, kun syötteeseen lisätään ihmissilmälle näkymätön kohina. Näitä kutsutaan vastustaviksi esimerkeiksi (adversarial examples), ja ne ovat tunnettu tutkimusalue, jolle ei ole yleistä ratkaisua. Käytännön merkitys on siinä, että kuvien tai äänen automaattista tunnistusta voi harhauttaa tarkoituksella, mikä koskee myös tekoälysisällön tunnistamiseen tarkoitettuja työkaluja.
Itsevarmuus tuntemattomassa tilanteessa. Verkon uloskäynnistä saatava luku näyttää todennäköisyydeltä, mutta se on kalibroitu opetusaineiston kaltaisiin syötteisiin. Selvästi aineiston ulkopuolelta tulevalle syötteelle verkko antaa usein yhtä korkean arvon kuin tutulle. Verkko ei siis tunnista tilannetta, jossa se on eksyksissä, ellei sitä ole erikseen rakennettu tunnistamaan sitä.
Kaikkia kolmea vastaan on olemassa keinoja: aineiston monipuolistaminen, opetus häiriöillä ja varmuuden erillinen kalibrointi. Yksikään niistä ei poista ongelmaa vaan pienentää sitä, ja tulokset vaihtelevat tehtävittäin. Tästä syystä valvonta käytön aikana on osa toteutusta eikä valinnainen lisä.
Mitä tästä seuraa käyttäjälle
Kolme päätelmää kestää mallien vaihtumisen.
Verkon vastaus on aina arvio, ei laskelma, ja arvion tarkkuus riippuu siitä, kuinka lähellä syöte on opetusaineistoa. Sujuva tai yksityiskohtainen vastaus ei kerro varmuudesta mitään, koska sujuvuus syntyy eri mekanismista kuin oikeellisuus. Ja koska verkon perustetta ei voi lukea, tärkeissä päätöksissä olennaista ei ole mallin selitys vaan se, että ihminen tarkistaa lopputuloksen riippumattomasta lähteestä.
Epävarmuudet on syytä sanoa ääneen. Selitettävyyden tutkimus on kesken, eikä alalla ole yksimielisyyttä siitä, mitä hyvä selitys tarkoittaa. Väitteet siitä, että jokin uusi menetelmä avaisi mustan laatikon lopullisesti, kannattaa lukea varauksella. Käsitteet löytyvät tiiviisti myös digisanastosta.
Usein kysytyt kysymykset
Toimiiko neuroverkko kuten ihmisen aivot?
Ei. Nimi ja perusidea ovat peräisin 1940-luvun yksinkertaistetusta aivomallista, mutta yhtäläisyys loppuu siihen. Keinotekoinen neuroni on painotettu summa ja yksi funktio, ja opetus tapahtuu virheen taaksepäin kuljettamisella, jolle ei tunneta vastinetta aivoissa. Aivovertaus on havainnollinen mutta johtaa harhaan, jos siitä päätellään mitään verkon kyvyistä.
Mitä painot ja biasit oikeasti ovat?
Paino on luku, joka kertoo, kuinka voimakkaasti yksi syöte vaikuttaa yhden neuronin tulokseen. Bias on erillinen vakioluku, joka siirtää neuronin kynnystä. Kun sanotaan, että mallissa on miljardi parametria, tarkoitetaan näiden lukujen yhteismäärää. Ne ovat opetuksen tuottamia säätöjä, eivät sääntöjä tai faktoja.
Miksi syvä verkko on parempi kuin leveä?
Syvyys antaa verkolle mahdollisuuden rakentaa käsitteitä kerroksittain: ensin reunoja, sitten muotoja, sitten kokonaisia kohteita. Sama ilmaisuvoima olisi teoriassa saavutettavissa yhdellä hyvin leveällä kerroksella, mutta se vaatisi epäkäytännöllisen määrän yksiköitä ja esimerkkejä. Syvyydellä on rajansa: liian syvä verkko on vaikea opettaa ilman erillisiä rakenteellisia apukeinoja.
Voiko neuroverkon päätöstä selittää?
Osittain. Käytössä olevat menetelmät kertovat, mitkä syötteen osat vaikuttivat lopputulokseen eniten ja miten tulos olisi muuttunut toisenlaisella syötteellä. Ne eivät kerro verkon perustetta eivätkä takaa, että selitys vastaa verkon todellista laskentaa. NIST kuvaa selitysten periaatteet ja niiden rajat julkaisussa NISTIR 8312.
Kuinka monta kerrosta neuroverkossa on?
Määrä vaihtelee tehtävän mukaan muutamasta useisiin satoihin. Kuvantunnistusverkoissa kymmenet kerrokset ovat tavallisia ja suurissa kielimalleissa kerroksia on tyypillisesti kymmeniä. Tarkat luvut vaihtelevat malleittain ja muuttuvat nopeasti, eikä kerrosten määrä yksinään kerro mallin laadusta juuri mitään.