(toiminnot)

hwechtla-tl: Nettipäiväkirja 22.03.2013

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Eräällä IRC-kanavalla puhuttiin geneerisestä tekoälystä ja siitä, millainen on ennakkotiedon vaikutus tekoälyn oppimisprosessiin. Geneerinen tekoäly on sellainen, jonka teot, havainnot ja palkinnot koodataan ennakkomerkityksettömiksi symboleiksi ajallisesti etenevään jonoon, ja tekoäly pyrkii valitsemaan sellaiset teot, jotka maksimoivat palkinnon ennusteen.

Siinä mielessä tällainen tekoäly ei ole täysin itsenäinen, että sen toiminta ja menestys riippuu olennaisesti siitä, miten sen havainnot ja teot koodataan symbolijonoksi. Itse asiassa mikä tahansa ymmärrys ympäristöstä (eli ennakkotieto ratkaistavasta ongelmasta) voidaan ilmaista muuttamalla syötettä "rakenteisemmaksi". Jos esimerkiksi tekoälyn on tarkoitus väistellä esineitä, se pärjää huomattavasti paremmin, jos annamme sille syötteeksi tietoa esineiden lähestymisestä kuin jos annamme sille kohinaista tietoa siitä, minkä väristä valoa mistäkin suunnasta tulee. On mahdotonta kehittää sellaista syötteenantotapaa, ettei siinä olisi jonkinlaista "tulkintaa" mukana; mutta jotkin tulkinnat ovat päättelyn kannalta selkeästi hyödyllisempiä kuin toiset.

Tämän symbolijono-lähestymistavan ansio on ainakin siinä, että se antaa rajapinnan, jonka kautta voidaan kokeilla erilaisia geneerisiä tekoälyjä: voidaan katsoa, miten hyvin erilaiset symbolijonoja "optimoivat" tekoälyt ratkaisevat saman ongelman. Tylsää kyllä, on olemassa yksi geneerinen tekoäly (AIXI), joka pärjää todistettavasti vähintään yhtä hyvin kuin mikä tahansa muu geneerinen tekoäly samoihin ongelmiin kiinnitettynä.

Kyseisessä IRC-keskustelussa jotkut edustivat kantaa, että kaikki ennakkotieto on sellaista, että tarpeeksi suurella aineistolla geneerinen tekoäly osaa päätellä sen: siis esimerkiksi, että yllä mainittu esineitä väistelevä tekoäly oppii tekemään sen sisään tulevan valon perusteella yhtä hyvin kuin rakenteistetun esinedatan perusteella, jos sen annetaan opetella hommaa tarpeeksi pitkään. Minä en usko tähän. Jos geneerinen tekoäly ei koskaan saa aloittaa ongelmaa "alusta" ja siten tutkiskella erilaisia mahdollisuuksia, vaan joutuu koko ajan söheltämään ongelmassaan ja arvailemaan, mistä tekemisistä mikin rangaistus johtuu, ei hankitun informaation määrä mielestäni saa koskaan "kiinni" tarvitun informaation määrää: siinä, kun symbolijonon sisältämä tieto kasvaa lineaarisesti, siinä olevien erilaisten testattavien hypoteesien määrä kasvaa eksponentiaalisesti.

Tämä ei ole kovin formaali argumentti, mutta eipä ole sekään, että todetaan vain ykskantaan AIXIn selviävän syötteen kryptauksesta tai muusta obfuskoinnista ajan mittaan. Päätin konstruoida ongelman, jossa olisi mahdollisimman selvää, ettei AIXI koskaan opi yhdellä syötteenantotavalla yhtä hyväksi kuin toisella.

Ongelma on tällainen: agentti on rajatussa kaksiulotteisessa ruudukossa, jossa on pakko liikkua koko ajan. Mennessään ruudusta pois agentti jättää jälkeensä miinan. Kun agentti astuu ruutuun, häntä palkitaan, jos se on miinaton, ja rangaistaan, jos siinä oli miina (mutta peli ei lopu, eikä miina häviä, vaan pelaaja jatkaa samasta tilanteesta rangaistuksen saatuaan). Jos agentti menee päin alueen rajaa, hän jää paikoilleen (ja astuu heti jättämäänsä miinaan). Jos pelaaja jättää miinan paikkaan, jossa on jo miina, se siirtyy ensimmäiseen vapaaseen ruutuun, kun seurataan pelialueen rivejä vasemmalta oikealle ja ylhäältä alas. Pelaajan jättämät miinat siis pikku hiljaa täyttävät aluetta, siten että yhä useammassa ruudussa odottaa rangaistus. Kun alueesta 95% on täynnä miinoja, sitä laajennetaan jokaiseen suuntaan yhdellä rivillä (joissa ei ole miinoja).

Tätä peliä on mahdollista pelata täydellisesti eli osumatta koskaan miinaan. Kun miinaan osuu, syy voi olla mielivaltaisen pitkällä menneisyydessä, tavalla, joka johtuu pelialueen topologiasta. Agentin pitäisi siis pärjätäkseen päätellä pelialueen topologia kaikista mahdollisista, ja niitä on äärettömän paljon. Peli ei palaa koskaan aiempaan tilaansa. Idea on konstruoida ongelma, jossa ei pääse koskaan "rauhassa tekemään kokeita". Voitte myös itse kuvitella, miten hyvin itse pärjäisitte, jos kyseessä ei olisikaan tasareunainen ruudukko vaan mielivaltaisia madonreikiä ja silmukoita sisältävä avaruus, ettekä näkisi mitään.

Kaksi ehdottamaani syötteenantotapaa (eli ennakkotietoa) ovat:

  1. Tekoäly valitsee joka vuorollaan teokseen suoraan jatkamisen, kääntymisen vasemmalle tai kääntymisen oikealle. Eteenpäin meno on implisiittistä. Ainoa palaute on se, astuiko pelaaja miinaan seuraavassa ruudussa.
  2. Muuten sama, paitsi että miinaan astumisen lisäksi tekoälylle annetaan joka askeleen jälkeen jono symboleja, joka kertoo pelaajasta lähtien, mitä on ympärillä (seiniä/miinoja/tyhjää).

En tiedä, pärjääkö geneerinen tekoäly tässä ollenkaan spesifille, mutta jos AIXI pannaan molemmissa tapauksissa puikkoihin, se ehkä demoaa ennakkotiedon merkitystä paremmin.


kommentoi (viimeksi muutettu 22.03.2013 15:25)