Edistyksellistä uutta vuotta 2009 kaikille lojbanista kiinnostuneille!
Joku on jo saattanut ajatella, että koko Lojban-chatbot-projektini on hyytynyt, kun ei ole mitään kuulunut. Tosi on, että minulla oli loka-marraskuussa 2008 kotona tietokoneeni kanssa teknisiä ongelmia, kone levällään ja viikkojen ajan ei mitään edistymistä projektissa ollut. Sitten joulukuussa oli hieman vaikeaa saada uutta otetta, mutta nyt etenee taas. Olen tosin vasta sillä tasolla, että syntaksitiedoston luku ja tulkkaaminen ajonaikaiseksi parserirakenteeksi on valmis ja alkamassa nyt on tulkki joka lukee lojban-bridejä sekä em. ajonaikaista parserirakennetta käyttäen jäsentää lauseen kerrallaan.
Eli itse pääasia on vasta edessä, mutta hyvin pohjustettuna. Olen ihan optimistinen. Esittelen jonkun lokitiedoston tässä lähiviikkoina, jota näkee sitten miten bridianalyysi PEG-parseria käyttäen etenee.
Opiskelkaa lojbania, ehkä joskus 2010 aikana voitte käydä sen kanssa aitoa keskustelua tietokoneen kanssa!
tiistai 13. tammikuuta 2009
lauantai 6. joulukuuta 2008
Yleisen tekoälyn tilanne
Todellinen ymmärrys yleisen tekoälyn (AGI: Artificial General Intelligence) teknologisesta tilanteesta ja vakavastiotettavuudesta on hyvin puutteelista tekniikan asiantuntijoiden, yhteiskunnallisten päättäjien ja luonnollisesti myös "tavallisten ihmisten" keskuudessa. Onko yleinen tekoäly, AGI jotakin, joka liittyy vain scifi-kirjallisuuden fantasiamaailmoihin tai ehkä todellisuutta joskus satojen vuosien kuluttua? Yleisestä tekoälystä käytetään myös merkitykseltään läheisiä käsitteitä kuten "vahva tekoäly" tai epämääräinen "todellinen tekoäly". Lisäksi yleisen tekoälyn saavuttaminen tunnutaan yhdistettävän ihmisaivojen rakenteen täydelliseen ymmärtämiseen, ilmeisesti myös väärinkäsityksien seurauksena.
Jos AGI on vain kaukainen mahdollisuus, niin siinä tapauksessa siitä kirjoittaminen on vain viihdettä tai akateemista pohdiskelua. Mutta jos tilanne olisi sellainen, että esim. ihmisaivojen suorituskykyä useimmissa kategorioissa lähentelevä AGI voisi olla todellisuutta suhteellisen lähiaikoina, mihin asioihin tällä voisi olla merkittäviä seurauksia? Minä erittelisin kolme merkittävää asiaryhmää:
1. Työllisyys ja maailmantalous
2. AGI:n vaikutus muiden tieteen ja teknologian alojen kehitykseen.
3. AGI:n vaikutus AGI:n itsensä kehitykseen.
Neljäntenä ryhmänä voisi olla AGI:n vaikutus sotateknologiaan ja siihen liittyvät globaalit turvallisuusuhat.
1700-luvulta alkaen tekniikan kehityksen mahdollistama automaatio on, paitsi vallankumouksellisesti parantanut teollisen työn ja pääoman tuottavuutta (ja siten pudottanut lähes kaikkien teollisten tuotteiden reaalihintoja), myös automaatio on vähentänyt materiaalisten hyödykkeiden tuotannosta elantonsa saavien ihmisten suhteellista osuutta, eikä tämä kehitys on mitenkään vielä päättynyt. Siten yhä suurempi osa väestöstä hankkii palkkatulonsa tuottamalla palveluita tai toimimalla erilaisissa informaationkäsittelyammateissa (toimistotyöskentelijät, suunnittelijat, johtajat ym.). Näidenkin alojen tuottavuutta automaatio ja informaatiotekniikka on parantanut, mutta kehitys ei ole ollut yhtä rajua kuin teollisuustuotannossa. Yhä useammat ihmiset ansaitsevat toimeentulonsa tietokoneruudun ja näppäimistön ääressä. Näiden viimeksimainittujen työntekijöiden tehtäville AGI voi tuoda vastaavan, mutta vielä nopeamman kehityksen kuin mitä teollisuusammateille on käynyt. Tämän kehityksen seurauksena myös informaationkäsittelyammattien työllistävyys voi romahtaa hyvinkin nopeasti. Tällainen kehitys voisi laukaista tapahtumaketjun, joka ensin leikkaisi ostovoiman valtavalta joukolta ihmisiä ja sen seurauksena mullistaisi maailmantalouden.
Yleinen tekoäly on työkalu, joka jo hieman vaatimattomammallakin suorituskyvyllä mahdollistaa teknisen tuotekehityksen ja tieteellisen tutkimuksen rutiinitehtävien joustavan automatisoinnin ilman rankkaa erikoistyökalujen tuotekehitysvaihetta, vain opettamalla uudet tehtävät AGI:lle. Seurauksena on todennäköisesti tutkimuksen ja tuotekehityksen merkittävä nopeutuminen.
AGI:n käyttäminen "kehittämään itseään" on mielenkiintoinen ja vaarallinen vaihe. Siinä vaiheessa, kun tavoite- ja arvohierarkiat ovat muutoksen ulkopuolella, vaarat ovat pienempiä, mutta jos projekti ja AGI:n oma arkkitehtuuri ovat kokonaisuudessaan sen itsensä muutettavissa, ollaan hyvin, hyvin vaarallisilla vesillä.
Edellämainituista syistä on tärkeää, että vastuulliset tahot ymmärtävät mihin suuntaan maailma on menossa, jos asia on niin, että yleinen tekoäly on toteutettavissa suhteellisen lähitulevaisuudessa eikä vasta joskus vuosisatojen kuluttua. Jos tilanne on tämä, niin esim. AGI-kehityksen kieltäminen, rajoittaminen tai valvonta ei ole vaihtoehto, koska esim. ydinasekehitykseen verrattuna AGI-kehitys on halpaa ja helposti salassapidettävää, siis mahdotonta valvoa.
Mutta nyt pääasiaan. Mikä on AGI-tutkimuksen ja tuotekehityksen tila? Onko niin, että esim. 60-luvun varhaisten odotusten ja lupausten muuttuminen pettymyksiksi samaan tapaan kuin japanilaisten "viidennen sukupolven tietokone" -hanke 80-luvulla, ovat edelleen päteviä todisteita siitä, että yleinen tekoäly on joko pysyvästi tai pitkään ihmisteknologian tavoittamattomissa? Ovatko vanhat epäonnistumiset todiste tulevaisuuden suhteen? Mielestäni tuollainen päättely olisi hyvin kehittymätöntä analyysia. Vanhat epäonnistumiset voivat kertoa tulevasta vain niillä edellytyksillä, että olosuhteet ja resulssit ovat pysyneet muuttumattomina ja epäonnistumisista ei ole opittu mitään. Mutta näiden edellytysten mukainen tila on hyvin kaukana todellisuudesta. Epäonnistumiset on analysoitu, paljon uutta tietoa ja ymmärrystä on hankittu, sekä laitteistotehot ovat tuhat- tai miljoonakertaistuneet.
Kaksi keskeistä (paljon muitakin olisi helppo luetella) aikaisempien vuosikymmenten virhettä, jotka yleiseen tekoälyyn tähtäävät hankkeet ovat tehneet ovat:
1. Luottaminen yhteen (tai muutamaan) paradigmaan järjestelmäarkkitehtuurissa.
2. Common Sense -tiedon ja -ymmärryksen välttämättömyyden ymmärtämättömyys.
Järjestelmäarkkitehtuurin paradigmoilla tarkoitan keskeisiä käytettyjä menetelmiä ja kognitiivisiä rakenteita, kuten esimerkiksi funktionaalinen ohjelmointi, aksiomaattisiin sääntöjärjestelmiin perustuvat asiantuntijajärjestelmät, semanttiset verkot, sumea logiikka, keinotekoiset neuroverkot ym. Nykyisin ymmärretään, että toimiva AGI-arkkitehtuuri edellyttää useiden, hyvin monien, paradigmojen integrointia toimivaksi kokonaisuudeksi.
Samoin ymmärretään järjestelmän tarvitsevan sen lisäksi, että järjestelmään eksplisiittisesti ohjelmoidaan rajoitettu, vaikka hyvinkin suuri joukko sääntöjä ja faktoja, vielä esim sata-, jopa monituhatkertaisen määrän vaikeasti symbolisesti muodostettavia sääntöjä ja havaintoja, joista suurin osa on epävarmoja, probabilistisia. Tämä "Common Sense" -tietämyskanta, jota tarvitaan luomaan "todellisuuteen maadoitettu" sisäinen malli maailmasta, on mahdollista hankkia ainostaan samankaltaisen oppimisprosessin kautta, jonka ihmislapsi käy läpi. Tätä tietokokonaisuutta järjestelmä käyttää esimerkiksi luonnollisen kielen oppimiseen ja ymmärtämiseen sekä reaalimaailman ilmiöiden ymmärtämiseen.
Mikä on sitten alan tämänhetkinen tilanne, vuoden 2008 lopussa? Verrattuna esim. vuosikymmenen takaiseen tilanteeseen, voidaan todeta, että yleisen tekoälyn tutkimus ja kehitys on vilkastunut merkittävästi, vaikka tehokkaasti rahallisesti tuetut hankkeet puuttuvatkin vielä, ainakin julkisuudesta. AGI-piireissä järjestetään vuosittain useita tapaamisia ja konferensseja, useita aihetta käsitteleviä tasokkaita kirjoja julkaistaan vuosittain ja ennenkaikkea, työn alla on useita suhteellisen tasokkaan kypsyysasteen saavuttaneita projekteja, joiden toteuttajien välillä vallitsee vilkas keskusteluyhteys. Useat näistä projekteista pystyvät esittelemään prorotyyppitasolla vakuutavaa toimintakykyä.
Esimerkkejä (mielestäni) merkittävimmista projekteista:
Novamente Cognition Engine
http://www.agiri.org/wiki/Novamente_Cognition_Engine
LIDA
http://ccrg.cs.memphis.edu/projects.html
SOAR
http://sitemaker.umich.edu/soar/home
CYC
http://www.cyc.com/
SNePS
http://www.cse.buffalo.edu/sneps/
Mikään näistä projekteista ei todennäköisesti ole valmistumassa ihan lähivuosina "kypsäksi AGI-järjestelmäksi". Todennäköisempää on, että moni näistä toimii perustana uusille uusille, seuraavan vuosikymmenen aikana käynnistettävälle projekteille, hyödyntäen hankitun osaamisen ehkä useammasta muustakin projektista. On tietysti mahdollista, jopa todennäköistä, että on olemassa myös täysin salaisia, hyvinkin edistyneitä projekteja.
Lueteltujen konkreettisten projektien ja muiden vastaavien lisäksi kehitetään useita AGI-hankkeita tukevia teknologioita, kuten esimerkiksi Semanttinen Web, jonka piiriin kuuluu olellisesti semanttisen tiedon ja ymmärryksen poimiminen vapaamuotoisesta tekstistä, siis luonnollisen kielen ymmärrys, esimerkkinä tästä esim. Twine-projekti.
http://www.twine.com
Vertaan tilannetta siihen, mikä oli GSM-matkapuhelinteknologialla 30v sitten, 1978. Silloin oltiin rakentamassa sen edeltäjää, analogista NMT-teknologiaa. ARP-verkko edusti Suomessa teknologian käytännön tasoa, mutta digitaalisen matkapuhelintekniikan perusteet olivat samalla tavalla yleisesti ymmärrettynä tietona kuin AGI-järjestelmän perusteet ymmärretään tänään. Mutta kesti neljä vuotta, ennenkuin 1982 perustettiin Groupe Spécial Mobile (GSM) määrittelemään järjestelmää, jonka toteuttaminen kesti vielä yhdeksän vuotta, kunnes 1991 Radiolinja käynnisti maailman ensimmäisen GSM-verkon. Samoin pidän mahdollisena, että esim. n.2012 käynnistyy iso, kaupallinen, suuren rahan projekti, joka yhdistää aikaisempaa AGI-osaamista laajalti, ja hankkeen tuloksena esim. n.2021 on valmiina toimivana yleisen tekoälyn järjestelmä, joka kommunikoi sujuvasti ihmisten kanssa luonnollisia kieliä käyttäen, pystyy omaksumaan uutta osaamista vapaamuotoisista ohjeista, oppii virheistään ja kykenee suoriutumaan useimmista niistä tehtävistä, joista toimistotyöntekijät tänä päivänä suoriutuvat tietokonetta työkalunaan käyttäen. Järjestelmä on siis työntekijänä useimmilta osin ihmisen kykyinen, mutta tuottavampi ja väsymätön. Tietenkään kehitys ei lopu tähän vaan on itseään ruokkivaa.
Tämä on kaikki mahdollista, mutta ei varmaa. Mutta tällaisen lähitulevaisuuden todennäköisyysaste on niin suuri, että päättävässä asemassa olevien olisi jo erittäin kiire alkaa valmistautua siihen, mikä ehkä jo 14v kuluttua (tai aikaisemmin!) voi olla todellisuutta ja muuttaa maailmaa oleellisesti enemmän kuin internet alkaen n.15v sitten.
Jos AGI on vain kaukainen mahdollisuus, niin siinä tapauksessa siitä kirjoittaminen on vain viihdettä tai akateemista pohdiskelua. Mutta jos tilanne olisi sellainen, että esim. ihmisaivojen suorituskykyä useimmissa kategorioissa lähentelevä AGI voisi olla todellisuutta suhteellisen lähiaikoina, mihin asioihin tällä voisi olla merkittäviä seurauksia? Minä erittelisin kolme merkittävää asiaryhmää:
1. Työllisyys ja maailmantalous
2. AGI:n vaikutus muiden tieteen ja teknologian alojen kehitykseen.
3. AGI:n vaikutus AGI:n itsensä kehitykseen.
Neljäntenä ryhmänä voisi olla AGI:n vaikutus sotateknologiaan ja siihen liittyvät globaalit turvallisuusuhat.
1700-luvulta alkaen tekniikan kehityksen mahdollistama automaatio on, paitsi vallankumouksellisesti parantanut teollisen työn ja pääoman tuottavuutta (ja siten pudottanut lähes kaikkien teollisten tuotteiden reaalihintoja), myös automaatio on vähentänyt materiaalisten hyödykkeiden tuotannosta elantonsa saavien ihmisten suhteellista osuutta, eikä tämä kehitys on mitenkään vielä päättynyt. Siten yhä suurempi osa väestöstä hankkii palkkatulonsa tuottamalla palveluita tai toimimalla erilaisissa informaationkäsittelyammateissa (toimistotyöskentelijät, suunnittelijat, johtajat ym.). Näidenkin alojen tuottavuutta automaatio ja informaatiotekniikka on parantanut, mutta kehitys ei ole ollut yhtä rajua kuin teollisuustuotannossa. Yhä useammat ihmiset ansaitsevat toimeentulonsa tietokoneruudun ja näppäimistön ääressä. Näiden viimeksimainittujen työntekijöiden tehtäville AGI voi tuoda vastaavan, mutta vielä nopeamman kehityksen kuin mitä teollisuusammateille on käynyt. Tämän kehityksen seurauksena myös informaationkäsittelyammattien työllistävyys voi romahtaa hyvinkin nopeasti. Tällainen kehitys voisi laukaista tapahtumaketjun, joka ensin leikkaisi ostovoiman valtavalta joukolta ihmisiä ja sen seurauksena mullistaisi maailmantalouden.
Yleinen tekoäly on työkalu, joka jo hieman vaatimattomammallakin suorituskyvyllä mahdollistaa teknisen tuotekehityksen ja tieteellisen tutkimuksen rutiinitehtävien joustavan automatisoinnin ilman rankkaa erikoistyökalujen tuotekehitysvaihetta, vain opettamalla uudet tehtävät AGI:lle. Seurauksena on todennäköisesti tutkimuksen ja tuotekehityksen merkittävä nopeutuminen.
AGI:n käyttäminen "kehittämään itseään" on mielenkiintoinen ja vaarallinen vaihe. Siinä vaiheessa, kun tavoite- ja arvohierarkiat ovat muutoksen ulkopuolella, vaarat ovat pienempiä, mutta jos projekti ja AGI:n oma arkkitehtuuri ovat kokonaisuudessaan sen itsensä muutettavissa, ollaan hyvin, hyvin vaarallisilla vesillä.
Edellämainituista syistä on tärkeää, että vastuulliset tahot ymmärtävät mihin suuntaan maailma on menossa, jos asia on niin, että yleinen tekoäly on toteutettavissa suhteellisen lähitulevaisuudessa eikä vasta joskus vuosisatojen kuluttua. Jos tilanne on tämä, niin esim. AGI-kehityksen kieltäminen, rajoittaminen tai valvonta ei ole vaihtoehto, koska esim. ydinasekehitykseen verrattuna AGI-kehitys on halpaa ja helposti salassapidettävää, siis mahdotonta valvoa.
Mutta nyt pääasiaan. Mikä on AGI-tutkimuksen ja tuotekehityksen tila? Onko niin, että esim. 60-luvun varhaisten odotusten ja lupausten muuttuminen pettymyksiksi samaan tapaan kuin japanilaisten "viidennen sukupolven tietokone" -hanke 80-luvulla, ovat edelleen päteviä todisteita siitä, että yleinen tekoäly on joko pysyvästi tai pitkään ihmisteknologian tavoittamattomissa? Ovatko vanhat epäonnistumiset todiste tulevaisuuden suhteen? Mielestäni tuollainen päättely olisi hyvin kehittymätöntä analyysia. Vanhat epäonnistumiset voivat kertoa tulevasta vain niillä edellytyksillä, että olosuhteet ja resulssit ovat pysyneet muuttumattomina ja epäonnistumisista ei ole opittu mitään. Mutta näiden edellytysten mukainen tila on hyvin kaukana todellisuudesta. Epäonnistumiset on analysoitu, paljon uutta tietoa ja ymmärrystä on hankittu, sekä laitteistotehot ovat tuhat- tai miljoonakertaistuneet.
Kaksi keskeistä (paljon muitakin olisi helppo luetella) aikaisempien vuosikymmenten virhettä, jotka yleiseen tekoälyyn tähtäävät hankkeet ovat tehneet ovat:
1. Luottaminen yhteen (tai muutamaan) paradigmaan järjestelmäarkkitehtuurissa.
2. Common Sense -tiedon ja -ymmärryksen välttämättömyyden ymmärtämättömyys.
Järjestelmäarkkitehtuurin paradigmoilla tarkoitan keskeisiä käytettyjä menetelmiä ja kognitiivisiä rakenteita, kuten esimerkiksi funktionaalinen ohjelmointi, aksiomaattisiin sääntöjärjestelmiin perustuvat asiantuntijajärjestelmät, semanttiset verkot, sumea logiikka, keinotekoiset neuroverkot ym. Nykyisin ymmärretään, että toimiva AGI-arkkitehtuuri edellyttää useiden, hyvin monien, paradigmojen integrointia toimivaksi kokonaisuudeksi.
Samoin ymmärretään järjestelmän tarvitsevan sen lisäksi, että järjestelmään eksplisiittisesti ohjelmoidaan rajoitettu, vaikka hyvinkin suuri joukko sääntöjä ja faktoja, vielä esim sata-, jopa monituhatkertaisen määrän vaikeasti symbolisesti muodostettavia sääntöjä ja havaintoja, joista suurin osa on epävarmoja, probabilistisia. Tämä "Common Sense" -tietämyskanta, jota tarvitaan luomaan "todellisuuteen maadoitettu" sisäinen malli maailmasta, on mahdollista hankkia ainostaan samankaltaisen oppimisprosessin kautta, jonka ihmislapsi käy läpi. Tätä tietokokonaisuutta järjestelmä käyttää esimerkiksi luonnollisen kielen oppimiseen ja ymmärtämiseen sekä reaalimaailman ilmiöiden ymmärtämiseen.
Mikä on sitten alan tämänhetkinen tilanne, vuoden 2008 lopussa? Verrattuna esim. vuosikymmenen takaiseen tilanteeseen, voidaan todeta, että yleisen tekoälyn tutkimus ja kehitys on vilkastunut merkittävästi, vaikka tehokkaasti rahallisesti tuetut hankkeet puuttuvatkin vielä, ainakin julkisuudesta. AGI-piireissä järjestetään vuosittain useita tapaamisia ja konferensseja, useita aihetta käsitteleviä tasokkaita kirjoja julkaistaan vuosittain ja ennenkaikkea, työn alla on useita suhteellisen tasokkaan kypsyysasteen saavuttaneita projekteja, joiden toteuttajien välillä vallitsee vilkas keskusteluyhteys. Useat näistä projekteista pystyvät esittelemään prorotyyppitasolla vakuutavaa toimintakykyä.
Esimerkkejä (mielestäni) merkittävimmista projekteista:
Novamente Cognition Engine
http://www.agiri.org/wiki/Novamente_Cognition_Engine
LIDA
http://ccrg.cs.memphis.edu/projects.html
SOAR
http://sitemaker.umich.edu/soar/home
CYC
http://www.cyc.com/
SNePS
http://www.cse.buffalo.edu/sneps/
Mikään näistä projekteista ei todennäköisesti ole valmistumassa ihan lähivuosina "kypsäksi AGI-järjestelmäksi". Todennäköisempää on, että moni näistä toimii perustana uusille uusille, seuraavan vuosikymmenen aikana käynnistettävälle projekteille, hyödyntäen hankitun osaamisen ehkä useammasta muustakin projektista. On tietysti mahdollista, jopa todennäköistä, että on olemassa myös täysin salaisia, hyvinkin edistyneitä projekteja.
Lueteltujen konkreettisten projektien ja muiden vastaavien lisäksi kehitetään useita AGI-hankkeita tukevia teknologioita, kuten esimerkiksi Semanttinen Web, jonka piiriin kuuluu olellisesti semanttisen tiedon ja ymmärryksen poimiminen vapaamuotoisesta tekstistä, siis luonnollisen kielen ymmärrys, esimerkkinä tästä esim. Twine-projekti.
http://www.twine.com
Vertaan tilannetta siihen, mikä oli GSM-matkapuhelinteknologialla 30v sitten, 1978. Silloin oltiin rakentamassa sen edeltäjää, analogista NMT-teknologiaa. ARP-verkko edusti Suomessa teknologian käytännön tasoa, mutta digitaalisen matkapuhelintekniikan perusteet olivat samalla tavalla yleisesti ymmärrettynä tietona kuin AGI-järjestelmän perusteet ymmärretään tänään. Mutta kesti neljä vuotta, ennenkuin 1982 perustettiin Groupe Spécial Mobile (GSM) määrittelemään järjestelmää, jonka toteuttaminen kesti vielä yhdeksän vuotta, kunnes 1991 Radiolinja käynnisti maailman ensimmäisen GSM-verkon. Samoin pidän mahdollisena, että esim. n.2012 käynnistyy iso, kaupallinen, suuren rahan projekti, joka yhdistää aikaisempaa AGI-osaamista laajalti, ja hankkeen tuloksena esim. n.2021 on valmiina toimivana yleisen tekoälyn järjestelmä, joka kommunikoi sujuvasti ihmisten kanssa luonnollisia kieliä käyttäen, pystyy omaksumaan uutta osaamista vapaamuotoisista ohjeista, oppii virheistään ja kykenee suoriutumaan useimmista niistä tehtävistä, joista toimistotyöntekijät tänä päivänä suoriutuvat tietokonetta työkalunaan käyttäen. Järjestelmä on siis työntekijänä useimmilta osin ihmisen kykyinen, mutta tuottavampi ja väsymätön. Tietenkään kehitys ei lopu tähän vaan on itseään ruokkivaa.
Tämä on kaikki mahdollista, mutta ei varmaa. Mutta tällaisen lähitulevaisuuden todennäköisyysaste on niin suuri, että päättävässä asemassa olevien olisi jo erittäin kiire alkaa valmistautua siihen, mikä ehkä jo 14v kuluttua (tai aikaisemmin!) voi olla todellisuutta ja muuttaa maailmaa oleellisesti enemmän kuin internet alkaen n.15v sitten.
sunnuntai 19. lokakuuta 2008
PEG - kielioppi
Minulla on ensimmäisen vaiheen toteutus hyvässä (rauhallisessa) vauhdissa. Ihan maistiaisiksi esittelen raakile-kieliopin lojban-teksteille. Näen jo, että siinä on puutteita ainakin tiettyjen "terminaattoritapausten" tunnistamisessa. Mutta haluan täydentää ja päivittää sitä iteratiivisesti, koska sen koko kasvaa joka tapauksessa ainakin viisikertaiseksi, ennen kuin se tukee "koko lojban-kieltä". Täydelliseen PEG (Parsing Expression Grammar) -kielioppiin verrattuna on huomioitava, että tämä kielioppi ei etene merkkitasolle asti, vaan teen "tokenizing"-operaation ensin, eli erittelen bridin sanat toisistaan. Lisäksi käytän erikoisfunktiota esim. tunnistamaan gismut.
Toinen kielioppi on edellisen kieliopin "metakielioppi", jonka avulla luen ohjelmallisesti ajonaikaisesti tuon lojban-kieliopin ja alustan "sääntöoliot" metakieliopin suorittaman parsimisen tuloksena. Metakielioppi sen sijaan on C++ -tasolla "kovakoodattu"
Toinen kielioppi on edellisen kieliopin "metakielioppi", jonka avulla luen ohjelmallisesti ajonaikaisesti tuon lojban-kieliopin ja alustan "sääntöoliot" metakieliopin suorittaman parsimisen tuloksena. Metakielioppi sen sijaan on C++ -tasolla "kovakoodattu"
//
// PEG Grammar for a small subset of lojban language
//
// V.0.1
//
// ========= Notation =========
//
// [Symbol] := [Rule]
// &( ) and predicate
// !( ) not predicate
// ( )+ one or more
// ( )* zero or more
// ( )? zero or one
// E1 | E2 ordered choice
// E1 E2 sequence
//
//
// High level syntax
EBridi := (EBridiStart)? EBridiBody (EConnBridi)* // multiple connected bridi
EBridiStart := ".i" | "ni'o" // bridi start cmavo
EConnBridi := EBridiConnective EBridiBody // connected extension
EBridiConnective := ".ije" | "ri'a" | "ki'i" // bridi connectors
EBridiBody := (EBridiComp)+ // multiple
EBridiComp := ESumtiComp | ESelbriComp // Sumti- or selbri-phrase
// Selbri syntax
ESelbriComp := ("cu")? (ESpatiTempAttr)? (EConversCmavo)? EBrivla
EConversCmavo := "se" | "te" | "ve" | "xe"
// Sumti syntax
ESumtiComp := ESumtiPhrase | ESumtiTcita
ESumtiPhrase := ESingleSumtiPhr (EConnectedSumti)?
EConnectedSumti := ESumtiConnective ESingleSumtiPhr
ESumtiConnective := ".e" | ".a" | "joi" | "ce" | "ce'o"
ESingleSumtiPhr := (ESpatiTempAttr)? (ESumtiObject) (EIndirectDescrip)?
ESpatiTempAttr := "mu'o" | "ca" | "pu" | "ba" | "vi" | "va" | "vu" | "ga'u" | "ni'a" | "ca'u" | "ti'a"
ESumtiObject := EProSumti | ENamePhrase | ESelbriPlace | EAbstraction
EProSumti := "ko'i" | "ko'a" | "ko'e" | "fo'a" | "ri"
ENamePhrase := "la" EName (EProSumAssign)?
ESelbriPlace := (EPlaceTag)? EBrivlaEpress (EProSumAssign)?
EBrivlaEpress := EArticle EBrivla
EPlaceTag := "fa" | "fe" | "fi" | "fo" | "fu"
EArticle := "lo" | "le" | "lo'i" | "lei" | "le'i"
EBrivla := EGismu | ELujvo
EProSumAssign := "goi" EProSumti
EAbstraction := EArticlAbstract EAbstrPhrase
EArticlAbstract := "lenu" | "lonu"
EAbstrPhrase := EBrivla | EBridiBody
EIndirectDescrip := EAssosiation | ERelativeClause
EAssosiation := EAssosCmavo ESingleSumtiPhr
EAssosCmavo := "pe" | "po" | "po'e" | "po'u" | "ne" | "no'u"
ESumtiTcita := ESpatiTempAttr ESpatiTempExpr
ESpatiTempExpr := EAbstraction | EBrivlaEpress
ENamePhrase := ExplicitFunction_N
EGismu := ExplicitFunction_G
ELujvo := ExplicitFunction_L
//
// PEG Grammar for the PEG Grammar syntax
// "a meta grammar"
//
// V.0.1
//
// ========= Notation =========
//
// [Symbol] := [Rule]
// &( ) and predicate
// !( ) not predicate
// ( )+ one or more
// ( )* zero or more
// ( )? zero or one
// E1 | E2 ordered choice
// E1 E2 sequence
//
//
EGrammarLine := ECommentLine | ERuleClause
ECommentLine := "//" ECommentText
ERuleClause := ESymbol ":=" ERule (ECommentLine)?
ERule := ESequence | EChoice
ESequence := (ESequenceTerm)+
EChoice := EChoiceTerm EMoreChoice
ESequenceTerm := ESimppelTerm | EOperatorTerm
ESimppelTerm := ESymbol | ETerminal
EOperatorTerm := EZOne | EZMore | EOneMore | ENot | EAnd
EZOne := "(" ESimppelTerm ")?"
EZMore := "(" ESimppelTerm ")*"
EOneMore := "(" ESimppelTerm ")+"
ENot := "!(" ESimppelTerm ")"
EAnd := "&(" ESimppelTerm ")"
ESymbol := ExplicitFunction_S
ETerminal := ExplicitFunction_T
tiistai 14. lokakuuta 2008
Loebner Prize 2008
Loebner Prize 2008 -kisat on saatu päätökseen ja ainakin yhden analyysin mukaan se päivä on lähellä, jolloin joku osanottaja-botti häämää tuomareita riittävästi selviytyen kisan versiossa "Turing testistä".
http://technology.timesonline.co.uk/tol/news/tech_and_web/article4934858.ece
Kisassa siis tuomarit yrittävät selvittää kuka "teletypeyhteyden" päässä olevista on oikea ihminen ja kuka on tietokoneohjelma.
Mutta jos vaikka ensi vuonna joku ohjelma osaa viisi minuuttia hämätä riittävän montaa tuomaria ja voittaa pääpalkinnon, en silti noteeraa tätä "ihmisveroisena älykkyytenä". Olen tätä mieltä siksi, että valitettavasti tällaisessa kilpailussa pärjää paremmin erilaisilla hämäystaktiikoilla kuin yrittämällä luoda oikean kognitiivisen järjestelmän. Luulen, että kilpailun suurin virhe on juuri se, että koneen pitäisi valehdella olevan ihminen. Miksi valehtelu palkitaan? Kuvaako se jotenkin, tahattomasti, kulttuuriamme?
Minusta pitäisi kehittää uusi versio kilpailusta, jossa heti tiedetään kuka on ohjelmisto ja ja kuka oikea ihminen, mutta kaikille teetetään oikeita tehtäviä eikä smalltalk-keskusteluita. Ja jos ohjelmisto selviää luovaa, sponttania verbaalisesti käynnistettyä asiakokonaisuuksien omaksumista ja niihin liittyvää ongelmanratkaisua sisältyvistä monipuolisesta tehtäväjoukosta paremmin kuin inhimillisten referenssikipailijoiden enemmistö, niin ohjelma on kognitiivisilta kyvyiltään ihmisen tasolla. Smalltalk-tasoista (iltapäivälehti-) yleistietoa ei saisi edellyttää, koska se ei voi olla tärkeää. Luonnontieteellinen maailmankuva ja perustiedot ihmisyhteiskunnasta voisi silti olla vaatimuksena. Kysymyksessä olisi siis YO-kirjoitusten reaalikoe-tyyppinen tehtävistö. Tehtäviä voisi olla esim. 30kpl. Helpoimmat olisivat 10v ikäiselle koululaiselle sopivia ja vaikeimmat akateemisen peruskoulutuksen hankkineiden tasoa, vaikeutuen asteittain. Jokaiseen tehtävään kuuluisi laajahko tehtävänanto, asetelman kuvaus, jonka sekä ihmisen että botin olisi ymmärrettävä. Ymmärrystä ja taustatietoja pitäisi sitten osata soveltaa luovalla tavalla annetun tehtävän ratkaisemisessa.
Itse asiassa voisi olla kaksi sarjaa: toinen englannintaitoiselle botille ja toinen sellaiselle, joka osaa vain lojbania...
http://technology.timesonline.co.uk/tol/news/tech_and_web/article4934858.ece
Kisassa siis tuomarit yrittävät selvittää kuka "teletypeyhteyden" päässä olevista on oikea ihminen ja kuka on tietokoneohjelma.
Mutta jos vaikka ensi vuonna joku ohjelma osaa viisi minuuttia hämätä riittävän montaa tuomaria ja voittaa pääpalkinnon, en silti noteeraa tätä "ihmisveroisena älykkyytenä". Olen tätä mieltä siksi, että valitettavasti tällaisessa kilpailussa pärjää paremmin erilaisilla hämäystaktiikoilla kuin yrittämällä luoda oikean kognitiivisen järjestelmän. Luulen, että kilpailun suurin virhe on juuri se, että koneen pitäisi valehdella olevan ihminen. Miksi valehtelu palkitaan? Kuvaako se jotenkin, tahattomasti, kulttuuriamme?
Minusta pitäisi kehittää uusi versio kilpailusta, jossa heti tiedetään kuka on ohjelmisto ja ja kuka oikea ihminen, mutta kaikille teetetään oikeita tehtäviä eikä smalltalk-keskusteluita. Ja jos ohjelmisto selviää luovaa, sponttania verbaalisesti käynnistettyä asiakokonaisuuksien omaksumista ja niihin liittyvää ongelmanratkaisua sisältyvistä monipuolisesta tehtäväjoukosta paremmin kuin inhimillisten referenssikipailijoiden enemmistö, niin ohjelma on kognitiivisilta kyvyiltään ihmisen tasolla. Smalltalk-tasoista (iltapäivälehti-) yleistietoa ei saisi edellyttää, koska se ei voi olla tärkeää. Luonnontieteellinen maailmankuva ja perustiedot ihmisyhteiskunnasta voisi silti olla vaatimuksena. Kysymyksessä olisi siis YO-kirjoitusten reaalikoe-tyyppinen tehtävistö. Tehtäviä voisi olla esim. 30kpl. Helpoimmat olisivat 10v ikäiselle koululaiselle sopivia ja vaikeimmat akateemisen peruskoulutuksen hankkineiden tasoa, vaikeutuen asteittain. Jokaiseen tehtävään kuuluisi laajahko tehtävänanto, asetelman kuvaus, jonka sekä ihmisen että botin olisi ymmärrettävä. Ymmärrystä ja taustatietoja pitäisi sitten osata soveltaa luovalla tavalla annetun tehtävän ratkaisemisessa.
Itse asiassa voisi olla kaksi sarjaa: toinen englannintaitoiselle botille ja toinen sellaiselle, joka osaa vain lojbania...
perjantai 26. syyskuuta 2008
Yhteisöllisyys
Jo blogin ensimmäisessä (muistaakseni..) kirjoituksessa esitin yhdeksi tavoitteistani käynnistää jonkinlainen, vaikka edes suppea, yhteisöllinen lojban-toiminta. Jos ainakin aluksi kriteerit olisivat matalalla, niin kaikille lojbanista kiinnostuneille kevyestä yhteisöllisestä toiminnasta olisi enemmän iloa ja hyötyä kuin vaivaa. Vaivaa tulisi vasta sitten, kun perustettaisiin rekisteröity yhdistys pakollisine kokouksineen ja pöytäkirjoineen. Ja silloinkin kohtuullisesti.
Löysänkin yhteisöllisyyden yksi hyvä tavoite olisi järjestää esim kerran vuodessa yhteistapaaminen, joka sisältäisi lähinnä opetusta, workshoppeja ja vapaata keskustelua. Tiedän (runsaan kuukauden) Google-analyst seurannan tuloksena, että tätä blogia tarkkailee säännöllisesti 4-6 henkilöä ja on todennäköistä, että määrä kasvaa puolen vuoden kuluessa ehkä kaksinkertaiseksi. Tietysti tämä toteutuu sillä (minimi) edellytyksellä, että minä itse pystyn väsäämään uusia kirjoituksia tasaisin välein ja kirjoitukset sisältävät lisäksi riittävän kiinnostavia raportteja projektistani. Olettaisin ehtojen toteutuvan.
Itsekkäät tavoitteet? Oma itsekäs tavoitteeni saavuttaa sellainen asiantuntemus, että voisin sillä esim 3v kuluttua hankkia leipäni ja työllistää itseni eläkeikään asti (siis n. 7v ajan). Liiketoimintamallia ei vielä ole.
Epäitsekkäänä tavoitteena on tuoda "lojban-tietoisuutta" Suomeen. Koska, kuten olen aiemmin esittänyt, pidän lojbania erittäin hyödyllisenä työkaluna monien eri ongelmien ratkaisuissa. Yhteisöllisyys edistäisi tätä tavoitetta kvanttihypyn lailla. Oletan, että lojban työllistäisi monia muitakin.
Mutta yhteisöllisyyden toteutuminen edellyttää pieniä aloitteita muiltakin kuin minulta. Edes ihan pieniä.
Löysänkin yhteisöllisyyden yksi hyvä tavoite olisi järjestää esim kerran vuodessa yhteistapaaminen, joka sisältäisi lähinnä opetusta, workshoppeja ja vapaata keskustelua. Tiedän (runsaan kuukauden) Google-analyst seurannan tuloksena, että tätä blogia tarkkailee säännöllisesti 4-6 henkilöä ja on todennäköistä, että määrä kasvaa puolen vuoden kuluessa ehkä kaksinkertaiseksi. Tietysti tämä toteutuu sillä (minimi) edellytyksellä, että minä itse pystyn väsäämään uusia kirjoituksia tasaisin välein ja kirjoitukset sisältävät lisäksi riittävän kiinnostavia raportteja projektistani. Olettaisin ehtojen toteutuvan.
Itsekkäät tavoitteet? Oma itsekäs tavoitteeni saavuttaa sellainen asiantuntemus, että voisin sillä esim 3v kuluttua hankkia leipäni ja työllistää itseni eläkeikään asti (siis n. 7v ajan). Liiketoimintamallia ei vielä ole.
Epäitsekkäänä tavoitteena on tuoda "lojban-tietoisuutta" Suomeen. Koska, kuten olen aiemmin esittänyt, pidän lojbania erittäin hyödyllisenä työkaluna monien eri ongelmien ratkaisuissa. Yhteisöllisyys edistäisi tätä tavoitetta kvanttihypyn lailla. Oletan, että lojban työllistäisi monia muitakin.
Mutta yhteisöllisyyden toteutuminen edellyttää pieniä aloitteita muiltakin kuin minulta. Edes ihan pieniä.
torstai 18. syyskuuta 2008
Harjoitusmaailman XML-kuvaus
Sain vihdoin laadituksi kuvaksen alla esitetystä 20:stä lojban-bridistä:
http://www.freedrive.com/member/viewfolder/173153
XML-tiedosto on siis esitys lauseiden syntaktisesta rakenteesta. Vääntäessäni tiedostoa löysin paljon virheitä lojban-lauseista. Korjaan virheet. Olen varma, että virheitä on vielä kaikkialla, lojban-tasolla, XML-tasolla ja koko ajattelussani. Seuraavaksi (päivitettyäni virheelliset lauseet) ladattuani sekä suomenkieliset että lojbanikieliset tiedostot XML:n seuraksi, teen neljänneksi esitykseksi PEG-kieliopin (Parsing Expression Grammar), jonka pitäisi olla jälleen yhtäpitävä edellisten kanssa. Sen jälkeen olisin kai valmis alkamaan vääntämään C++-koodia, jonka tietysti myöskin pitäisi olla sopusoinnussa edellisten kanssa. Koodin siis pitäisi lojban-tekstistä PEG-kielioppia käyttäen pystyä työstämään valmiiksi vertailumalliksi väsätty XML-tiedosto. Sitten ensimmäinen vaihe on valmis.
http://www.freedrive.com/member/viewfolder/173153
XML-tiedosto on siis esitys lauseiden syntaktisesta rakenteesta. Vääntäessäni tiedostoa löysin paljon virheitä lojban-lauseista. Korjaan virheet. Olen varma, että virheitä on vielä kaikkialla, lojban-tasolla, XML-tasolla ja koko ajattelussani. Seuraavaksi (päivitettyäni virheelliset lauseet) ladattuani sekä suomenkieliset että lojbanikieliset tiedostot XML:n seuraksi, teen neljänneksi esitykseksi PEG-kieliopin (Parsing Expression Grammar), jonka pitäisi olla jälleen yhtäpitävä edellisten kanssa. Sen jälkeen olisin kai valmis alkamaan vääntämään C++-koodia, jonka tietysti myöskin pitäisi olla sopusoinnussa edellisten kanssa. Koodin siis pitäisi lojban-tekstistä PEG-kielioppia käyttäen pystyä työstämään valmiiksi vertailumalliksi väsätty XML-tiedosto. Sitten ensimmäinen vaihe on valmis.
lauantai 13. syyskuuta 2008
Kehollisuuden vaatimus
Tekoälykeskustelussa, eteenkin filosofisessa sellaisessa, on eräs aihealue, joka on tavalla tai toisella jatkuvasti ajankohtainen. Se on kysymys "kehollisuuden" (embodiment) tarpeellisuudesta. On eräs koulukunta, jonka mielestä vain robotiikka voi johtaa aitoon, vahvaan, yleiseen tekoälyyn (AGI), koska vain robotin sensomotorinen toiminta "maadoittaa" robotin sisäisen tietämysrakenteen reaaliseen maailmaan. Kehityskykyinen robotti havainnoi todellista ulkomaailmaa aisteillaan ja osallistuu siihen motorisilla kyvyillään esim liikkumalla, navigoimalla ja liikuttelemalla ulkoisia objekteja. Täten robotin sisäinen malli ulkomaailmasta kypsyy oppimalla vastaamaan todellisen maailman hienojakoista hierarkista rakennetta.
AGI-keskustelusivuilla käytiin n. viikko sitten tähän asetelmaan liittyvä keskustelu, joka pohjautui Pei Wangin edellä kuvattuun väitteeseen kriittisesti suhtautuvaan mielipidekirjoitukseen.
http://www.mail-archive.com/agi@v2.listbox.com/msg13298.html
Vaikka em. robotiikkaa puoltava väite on uskottava ja looginen, sen "vain" -sisältö on epäilyttänyt Pei Wangin lisäksi myös minua. Olen ehdottomasti samaa mieltä, että pelkästeen omaan sisäiseen maailmaansa nojaava järjestelmä on kehityskyvytön ja vakavasti rajoittunut. Kehittyvän järjestelmän on oltava interaktiivisessa suhteessa ulkomaailmaan. Mutta epäilen vahvasti sellaista ehdottomuutta, että vain robotin sensomotorinen suhde ulkomaailmaan olisi ainoa mahdollisuus tarjota AGI-tasoiseksi älyksi pyrkivälle järjestelmälle toiminta- ja kehityskentän.
Onhan robotinkin kokema maailma aina jotenkin rajoittunut. Sillä ei ole täydellisiä aisteja ja sen toimintaympäristö on mahdollisesta monipuolisuudestaan huolimatta aina pieni vain pieni osajoukko kaikesta kuviteltavissa olevasta. Miksi siis tällainen "robotin leikkikenttä" olisi ainoa mahdollinen kehittävä "leikkikenttä"? Voisin kuvitella muitakin mahdollisuuksia.
Kuten Pei Wang, minäkin olen pohdiskellut (jo vuosien ajan) mitä rajoituksia ja mahdollisuuksia olisi sellaisella AI-järjestelmällä, joka toimii pelkästään "ASCII-maailmassa" eli näppäimistöltä kirjoitettavissa olevien merkkien rajoittamassa todellisuudessa. Tällainen todellisuus olisi täysin erilainen kuin esim huonetiloissa operoivan, näkevän, kuulevan ja tuntevan (kosketusaistin kautta) humanoidirobotin maailma. Mutta olisiko ASCII-maailma liian suppea tai muuten huonompi?
Ben Goerzelin näkemyksen mukaan (em. keskustelu) tällainen "humanoidiaisteihin" ja motorisiin ulottuvuuksiin perustuva maailma tarjoaa hahmoja, joiden tilastolliset ominaisuudet eroavat radikaalisti edukseen, sopien paremmin esimerkiksi ihmislapsen tai muun kehittyvän mielen kehitysympäristöksi, kuin vaihtoehtona yksipuolisesti symbolinen maailma. Mutta hän itse myöntää, että hän ei voi todistaa väitettään vaan se perustuu puhtaasti intuitioon. Benin näkemys on ilmeisen totta, kun kysymys on biologisten aivojen oppimiskyvystä. Tämä siksi, että biologiset aivot ovat vuosimiljoonien kuluessa erikoistuneet juuri tällaiseen ympäristöön. Mutta entä jos aivojen perustana on tavallisten tietokoneiden "von-Neuman-arkkitehtuuri"? Minä ja Pei emme ole siinä tilanteessa varmoja tilanteesta. Ainakin näiden vaihtoehtoisten "leikkikenttien" laadullinen ero on kaventunut ja symboolimaailmalla on joitakin etujakin. Näitä etuja ovat ainakin sensomotorisen järjestelmäarkkitehtorisen kerroksen suhteellinen yksinkertaisuus ja laskentakapasiteetin pienempi tarve verrattuna audio-visuaaliseen aistidataan ja fyysisen maailman liikeballistiikan hallinnan vaatimuksiin.
Minun esimerkkini tekstibotin opettavaksi leikkikentäksi voisi olla C++ ohjelmointi. Maailma muodostuisi kausaalisesta "tuotantoketjusta": botin tuottama lähdekoodi - käännöstyökalut - debug-ympäristö - vaativampi testiympäristö - ohjelman tulosteet. Samoin kuin fyysisellä robotilla, myös tekstibotilla olisi ulkoa annetut toiminnat tavoitteet ja arvohierarkia. Molemmilla järjestelmillä olisi mahdollisuus muodostaa kausaalisen toiminnan kautta tuntemus oman "itsen" olemassaolosta ensimmäisenä vaiheena kohti "reflektiivistä itsetitetoisuutta" ja "vapaan tahdon kokemusta". Käännös- ja testiympäristö sekä "valvojan" (ihminen) liittymä muodostavat tekstibotin kausaalisen "ulkomaailman". Tällainen ympäristö tarjoaa ihmisohjelmoijalle kovatasoisia ja monipuolisia haasteita, niin miksei tekstibotillekin?
Pei Wangin mukaan kehollisuuden tärkeimmät kriteerit ovat, ei robotiikka, vaan se kokemus ja vuorovaikutteisuus, jota järjestelmä ulkomaailman suhteen harrastaa.
Mutta älköön kukaan kuvitelko, että minä tässä vaiheessa rakentelen mitään edelläkuvatun kaltaista. Olen lähempänä maanpintaa.
AGI-keskustelusivuilla käytiin n. viikko sitten tähän asetelmaan liittyvä keskustelu, joka pohjautui Pei Wangin edellä kuvattuun väitteeseen kriittisesti suhtautuvaan mielipidekirjoitukseen.
http://www.mail-archive.com/agi@v2.listbox.com/msg13298.html
Vaikka em. robotiikkaa puoltava väite on uskottava ja looginen, sen "vain" -sisältö on epäilyttänyt Pei Wangin lisäksi myös minua. Olen ehdottomasti samaa mieltä, että pelkästeen omaan sisäiseen maailmaansa nojaava järjestelmä on kehityskyvytön ja vakavasti rajoittunut. Kehittyvän järjestelmän on oltava interaktiivisessa suhteessa ulkomaailmaan. Mutta epäilen vahvasti sellaista ehdottomuutta, että vain robotin sensomotorinen suhde ulkomaailmaan olisi ainoa mahdollisuus tarjota AGI-tasoiseksi älyksi pyrkivälle järjestelmälle toiminta- ja kehityskentän.
Onhan robotinkin kokema maailma aina jotenkin rajoittunut. Sillä ei ole täydellisiä aisteja ja sen toimintaympäristö on mahdollisesta monipuolisuudestaan huolimatta aina pieni vain pieni osajoukko kaikesta kuviteltavissa olevasta. Miksi siis tällainen "robotin leikkikenttä" olisi ainoa mahdollinen kehittävä "leikkikenttä"? Voisin kuvitella muitakin mahdollisuuksia.
Kuten Pei Wang, minäkin olen pohdiskellut (jo vuosien ajan) mitä rajoituksia ja mahdollisuuksia olisi sellaisella AI-järjestelmällä, joka toimii pelkästään "ASCII-maailmassa" eli näppäimistöltä kirjoitettavissa olevien merkkien rajoittamassa todellisuudessa. Tällainen todellisuus olisi täysin erilainen kuin esim huonetiloissa operoivan, näkevän, kuulevan ja tuntevan (kosketusaistin kautta) humanoidirobotin maailma. Mutta olisiko ASCII-maailma liian suppea tai muuten huonompi?
Ben Goerzelin näkemyksen mukaan (em. keskustelu) tällainen "humanoidiaisteihin" ja motorisiin ulottuvuuksiin perustuva maailma tarjoaa hahmoja, joiden tilastolliset ominaisuudet eroavat radikaalisti edukseen, sopien paremmin esimerkiksi ihmislapsen tai muun kehittyvän mielen kehitysympäristöksi, kuin vaihtoehtona yksipuolisesti symbolinen maailma. Mutta hän itse myöntää, että hän ei voi todistaa väitettään vaan se perustuu puhtaasti intuitioon. Benin näkemys on ilmeisen totta, kun kysymys on biologisten aivojen oppimiskyvystä. Tämä siksi, että biologiset aivot ovat vuosimiljoonien kuluessa erikoistuneet juuri tällaiseen ympäristöön. Mutta entä jos aivojen perustana on tavallisten tietokoneiden "von-Neuman-arkkitehtuuri"? Minä ja Pei emme ole siinä tilanteessa varmoja tilanteesta. Ainakin näiden vaihtoehtoisten "leikkikenttien" laadullinen ero on kaventunut ja symboolimaailmalla on joitakin etujakin. Näitä etuja ovat ainakin sensomotorisen järjestelmäarkkitehtorisen kerroksen suhteellinen yksinkertaisuus ja laskentakapasiteetin pienempi tarve verrattuna audio-visuaaliseen aistidataan ja fyysisen maailman liikeballistiikan hallinnan vaatimuksiin.
Minun esimerkkini tekstibotin opettavaksi leikkikentäksi voisi olla C++ ohjelmointi. Maailma muodostuisi kausaalisesta "tuotantoketjusta": botin tuottama lähdekoodi - käännöstyökalut - debug-ympäristö - vaativampi testiympäristö - ohjelman tulosteet. Samoin kuin fyysisellä robotilla, myös tekstibotilla olisi ulkoa annetut toiminnat tavoitteet ja arvohierarkia. Molemmilla järjestelmillä olisi mahdollisuus muodostaa kausaalisen toiminnan kautta tuntemus oman "itsen" olemassaolosta ensimmäisenä vaiheena kohti "reflektiivistä itsetitetoisuutta" ja "vapaan tahdon kokemusta". Käännös- ja testiympäristö sekä "valvojan" (ihminen) liittymä muodostavat tekstibotin kausaalisen "ulkomaailman". Tällainen ympäristö tarjoaa ihmisohjelmoijalle kovatasoisia ja monipuolisia haasteita, niin miksei tekstibotillekin?
Pei Wangin mukaan kehollisuuden tärkeimmät kriteerit ovat, ei robotiikka, vaan se kokemus ja vuorovaikutteisuus, jota järjestelmä ulkomaailman suhteen harrastaa.
Mutta älköön kukaan kuvitelko, että minä tässä vaiheessa rakentelen mitään edelläkuvatun kaltaista. Olen lähempänä maanpintaa.
Tilaa:
Blogitekstit (Atom)