lauantai 26. heinäkuuta 2008

Mitä tarkoitetaan ymmärtämisellä?

Tämä on vanha minua vaivannut kysymys, johon Marvin Minsky antoi aikoinaan minulle suhteellisen riittävän selityksen: "Jokin asiantila tai käsite ymmärretään, jos osataan yhdistää se kaikkiin siihen liittyviin muihin käsitteisiin tai riippuvaisuuksiin." Tämä riitti minulle pitkän aikaa.
Viime aikoina olen alkanut ajatella, että selitys ei aivan riitä. Viitaten pariin aikaisempaan kirjoitteluuni, olen sitä mieltä, että ymmärtämistä on (ainakin) kahta täysin erilaista. Lojbanin käsite:
jimpe X1 ymmärtää totuuden X2, X3:sta
Tarkoittaa "semanttista ymmärtämistä". Semanttinen ymmärtäminen tapahtuu semanttisen, käsitemuistin, kielen tasolla. Se on sitä ymmärämistä, johon "kiinalaisen huoneen" sanakirja, tulkitsija-yhdistelmä pystyy.
http://erin.mit.jyu.fi/pako/kurssit/AI2001/l1/lect1/node9.html

Mutta toinen ymmärtämisen taso, joka kytkee ymmärtäjän reaalimaailmaan, on "common sense -ymmärtäminen". CS-ymmärtäminen on tietoisuuden alapuolella tapahtuvaa ymmärtämistä, joka hyvin monipuoleisten linkkien ja suhteisen avulla liittää ymmärrettävän asian aistein havaittavaan reaalimaailmaan. Kiinalainen huone ei tähän pysty. Mutta esimerkiksi vasta 2v ikäinen lapsi pystyy jo hyvin suuressa määrin CS-ymmärrykseen. Todennäköisesti yksikään tietokonejärjestelmä ei vielä vuonna 2008 pysty 2v ikäisen lapsen tasoiseen CS-ymmärrykseen, vaikka semanttisessa ymmärryksessä olisikin valtavan paljon parempi, jopa luonnollisen kielen ymmärryksessä.

Mutta voiko tekoälyjärjestelmä olla oikeasti toimintakykyinen, joustava, oppiva, luova, vaikka sillä ei olisi mitään (aisti-)kontaktia reaalimaailmaan, siis ei myöskään CS-ymmärrystä? Monien mielestä ei voi. Minä en ole asiasta aivan varma. Olen taipuvainen ajattelemaan, että on mahdollista olla aidosti älykäs tekoälyjärjestelmä, jolla on vain oma, suppea, rajattu (sisäinen) toimintamaailmansa ja vaikkapa pelkkä sarjamuotoinen tekstiyhteys, chatti, ulkomaailmaan, mutta kaikki muu järjestelmän kokema todellisuus on tietokoneen muistin datarakenteita.

Voiko joku selittää, miksi olen väärässä?

Ps. Niiden kahden ymmärtämisen lisäksi voi olla hieman spekulatiivisempiä ymmärtämisen lajeja, esim. "emotionaalinen ymmärtäminen" tai "spirituaalinen ymmärtäminen". Mutta en halua jatkaa niistä. Ne eivät ole tämän blogin tonttia.

perjantai 25. heinäkuuta 2008

Lojban thesaurus

Huomasin tänään, että jbovlaste sanakirjasta voi tulostaa lyhyeen lojban/lojban-sanakirjan, jossa siis lojban-sanat selitetään toisten lojbankieleisten sanojen avulla. No mitä siitä?
No sitä, että hieman sisältöä ja esitysmuotoa siivoamalla, kunhan meillä on toimiva parseri/semanttinen mäpperi-ohjelma, niin tämä lojban-thesaurus voidaan mäpätä jonkinlaajuiseksi valmiksi lojban-ontologiaksi. Siis merkittävä osa työtä on tehty, kunhan sanakirja laajenee täysmittaiseksi.

Thesaurukseski kutsuttuja, aiheenmukaisia sanalistoja on muita, mutta niissä sisältöä ei määritellä toisten sanojen kanssa.
http://shavian.org/lojban/gismu-jap.html

Mutta tässä silmukka umpeutuu:
http://jbovlaste.lojban.org//

.i ki'ecai do xorxes .ui

tiistai 22. heinäkuuta 2008

Mikä on lojbanin juju?

Edellisen kirjoituksen kommentista:

"Niin no tarkemmin sanoen en ymmärrä miten lojban-kieli oikein soveltuu agentin ohjaamiseen. Ison tavallisen tietokannan käyttämisessä on riittävästi työtä. Siihen voidaan luoda lukemattomia matemaattisia sääntöjä jotka eivät ole mitenkään triviaaleja. Ehkä Bayesin laskennat ovat joillekin huippukoodaajille. Minulle nekin kaaviot ovat outoja."

"Harvalla on aikaa määritellä sääntöjä jotka muistuttaa kovakoodausta. Visioisin että suuret tietokannat tulevat viestittämään toisilleen ja Semanttinen web pysyy käyttäjältä piilossa."

"..miten lojban-kieli oikein soveltuu agentin ohjaamiseen."
Ei, ei agenttia, ainakaan aluksi, ohjata lojbanilla. Ollakseen oikeasti älykäs, agentin on joustavasti sopeuduttava vieraaseen ympäristöön, esim vieralle nettisivulle tai langattomaan lähiyhteyteen tuntemattoman laitteen kanssa. Semantic-Web-ajattelu lähtee siitä, että agentit, sivut ja laitteet vaihtavat semanttista tietoa keskenään ja kognitiivisen neuvottelun tuloksena löytävät yhteisen sävelen: ymmärtävät toisiaan: tietävät mihin viitekehykseen toisen tahon sisältö ja palvelut liittyvät ja miten niitä käytetään.

Suuri ongelma on se, miten tätä semanttista tietoa tuotetaan. Ilmeisesti tästä oli tässä kysymys: "Harvalla on aikaa määritellä sääntöjä jotka muistuttaa kovakoodausta..", vaikka kovakoodaukseen ei tietenkään pitäisi mennä. Tässä lojban tulee mukaan kuvioihin. Lojbanin ensimmäinen ja arvokas mahdollisuus on toimia tuottavana työkaluna semanttisen tietämyskannan (tekisin jyrkän eron semantisten tietämyskantojen ja perinteisten tietokantojen välillä) laatimisessa. Lojban mahdollistaa kaksi tärkeää toiminnallisuutta:
  1. Interaktiivisuuden, vuorovaiheisen keskustelun, kuin ihminen toiselle, työkalun kanssa. Lojban on ensikädessä ihmiskieli.
  2. Lojbankielisen sisällön yksiselitteisen mäppäämisen semanttiseksi datarakenteeksi ja edelleen muiden "trippelistandardien" mukaisiksi esitystavoiksi.
Jotta nämä kaksi lupausta voitaisiin pitää, tarvitaan vielä paljon työtä, mutta suurin työ, eli lojbanin 50v kestänyt tuotekehitys on jo tehty. Nyt tarvitaan kaksi-kolme puuttuvaa lenkkiä:
  1. Interaktiivinen työkalu, joka keskustelee sovellusasiantuntemusta edustavan ihmisen kanssa sujuvasti lojbaniksi.
  2. Koulutusjärjestelmä, jolla voidaan kohtuullisin ajallisin investoinnein kouluttaa tällainen lojbania sujuvasti osaava "losbonomi". Kuvittelisin itse lojbania parhaillaan opiskelevana, että n. kuusi viikkoa intensiivikoulutusta sirotettuna puolen vuoden ajalle ja tehoviikkojen välillä omatoimista työharjoittelua työkalun kanssa mm. sanastoa opiskellen ja oman alan erikois-lujvoja ja ontologioita kehitellen, voisi olla riittävää, kunhan homma on optimoitu.
  3. Kolmas tarve on tavallista SW-projektia vastaava muunnostyökalun kehittely: lojban-kannasta esim. OWL-kielelle.
Minä työskentelen harrastuspohjalta 1. ja 2. hankkeiden kanssa. Olisin valmis vaihtamaan homman täyspäiväiseksikin. Mutta olen varma, että vastaavaa roadmäppiä noudattaa moni muukin näkymätön projekti maailmassa. Viittaan tuolla aikaisemmin esittämiini linkkeihin ja lojban-yhteisön keskusteluihin sekä siihen, että ongelma tiedostetaan laajalti.

keskiviikko 16. heinäkuuta 2008

Mielen rakenteesta


Jatkan hieman kesäisiä, utuisia ajatuksia edellisen ajatelman jatkoksi. Mielen, ihmismielen, voisi siis ajatella kerrokselliseksi. Tätä rakennetta ei voi kylläkään yleistää neuroanatomiseksi rakenteeksi sellaisenaan. Lisäksi esitys on erittäin yksinkertaistettu, viittellinen, tukien vain tätä keskustelua. Erityisesti tästä kaaviosta puuttuvat esimerkiksi episodaalinen muisti, tunteeseen ja motivaatioon liittyvät rakenteet. Samoin "aistit" on kohtuuttomasti yksinkertaistettu yhdeksi laatikoksi. Mutta yksinkertaistuksen on tarkoitus tuoda esiin ne asiat, jota nyt on puhe.

Ylimpänä ja pinnallisimpana kerroksena on tietoisuus. Tietoisuus ohjaa kielellistä ilmaisua, mutta ei käytännön tilanteessa (tuttu kieli ja sujuva ilmaisu) rakenna lauseita, vaan tietoisuuden alapuolella toimiva "Common Sense-muistin" toiminnallisuus tekee sen käyttäen hyväksi semanttisen tiedon muistia.

Kuvatun laillla muisti muodostuu semanttisesta, käsitteellisestä muistista, jonka sisältö ikäänkuin ankkuroituu ei-käsitteelliseen, kooltaan valtavaan CS-muistiin. Suurimmalla osalla, ellei kaikilla, semanttisen muistin käsitteillä on vastaavuutensa CS-muistissa. Jonkun yksittaisen asiantilan tietoinen ymmärtäminen tarkoittaa sitä että:
  1. Asiantilaan liittyvien käsitteiden yhteydet riippuvuuksiin muista käsitteistä aktivoituvat.
  2. Käsitteiden yhteydet niitä vastaaviin CS-hahmoihin aktivoituvat.
  3. Tietoisuus tulee tietoiseksi näistä yhteyksistä.

Muistaminen ja oppiminen tarkoittaa molempien muistin osien, semanttisen muistin ja CS-muistin sisältöjen päivittymistä ja synkronoitumista (vastaavuuksien vahvistumista). Sekä semanttinen muisti, että CS-muisti ovat organisaatioltaan hierarkisia HTM-periaatteen mukaisesti.

Sekä ihmislapsen, että lähitulevaisuuden AGI-tekoälyn oppiminen tapahtunee siten, että käsitteet ankkuroidaan reaalisesta havaintomaailmasta johdettuihin CS-muistin hahmoihin, eikä niinkään toisiinsa, kuten tekoälytekniikan alkuvaiheessa oli yrityksenä. Oppimistapahtuman on oltava interaktiivinen. Seuraavassa Ben Goerzelin näkemys haasteesta:

"UItimately, I suspect the only practical way to solve the semantics problem is via experiential interactive learning -- i.e. embody your AI system in an environment, interact with it in this environment & talk to it about what it's doing and seeing.... Not via induction on examples of *language*, but via induction on examples of *socially deployed, pragmatically relevant
language*."

Edellä sanottu ei tarkoita sitä, että pelkkä semanttiseen tietoon perustuva järjestelmä, josta CS-muisti puuttuu, olisi arvoton. Se vaan ei ole vahvaa tekoälyä, eikä se minun käsitykseni mukaan voi tulla oikeasti itsetietoiseksi. Semanttinen, esim lojban-käsitteisiin perustuva interaktiivinen tietämyskanta on arvokas työkalu parannettaessa älykkäiden agenttien toiminnallisuutta, kykyä olla hyödyllisisä ja joustavia muuttuvissa olosuhteissa ilman kovakoodattua ohjelmointia.

tiistai 1. heinäkuuta 2008

Sapir-Whorf-hypoteesi ja Wittgenstein

Kun James Cooke Brown, JCB, alkoi kehittää lojbanin edeltäjää ja alkumuotoa, loglania, hänen motiivinaan oli tutkia Sapir-Whorf-hypoteesiä. Sapir- Whorf- hypoteesi heijastaa 1900-luvun alkupuoliskon ajattelua esittäen, että henkilön käyttämän kielen, ennen kaikkea äidinkielen, rakenteet vaikuttavat myös ajattelun rakenteisiin. Kielen ilmaisun mahdollisuudet muodostavat rajoituksia ajattelun mahdollisuuksiin.

Sapir-Whorf- hypoteesi on selvästi sukua Wittgensteinin Tractatuksen tunnettuun ja lainatuun 5.6 lauseeseen: "Kieleni rajat merkitsevät maailmani rajoja." Tätä lausetta on mielestäni tulkittu väärin sisältämään väitteen, että kielellinen ajattelu on ihmisen ainoaa ajattelua. Kuitenkin tätä edeltävä ja sitä seuraava teksti tuovat selväksi ilmi, että Wittgenstein kirjoittaa tässä yhteydessä logiikan maailmasta ja loogisen, symbolisen ajattelun rajoista: "Logiikka täyttää maailman. Maailman rajat ovat myös logiikan rajoja. Siksi emme voi sanoa logiikassa: Maailmassa on sitä ja sitä, muttei tätä tai tuota." Ja: "Mitä emme voi ajatella, sitä emme voi ajatella, joten emme voi myöskään sanoa, mitä emme voi ajatella" Tämä ei suinkaan tarkoita: "Mitä emme voi sanoa, sitä emme voi ajatella". Siis voimme tiedostaa mielessämme (eli ajatella) monenlaisia mielikuvia, jotka eivät ole symbolisella logiikalla, kielellä ilmaistavissa. Mutta ovat mahdollisia välittää esim musiikin ja muiden taiteiden avulla

Minä jaan ajattelun karkeasti kielelliseen eli symboliseen, loogiseen ajatteluun, joka on ilmeisesti aina tietoista ajattelua, sekä "muuhun ajatteluun". Käsitykseni mukaan tämä ei-symbolinen, muu ajattelu on koko ajattelun perusta. Se on sitä mielen toimintaa, joka muodostaa kielelliset ajatukset. Kielelliset ajatukset eivät ilman tämän ajattelun valtavirran apua pysty muodostamaan uusia symbolisia ajatuksia.

Näistä ei-symbolisista ajatuksista osa on tietoisia mielikuvia, mutta suurin osa "tajunnan alapuolella" tapahtuvaa mielen toimintaa, jonka minä luokittelen silti ajatteluksi. Sen sisältönä on neuraalinen hahmontunnistus ja assosiaatiot, mielikuvien opitut yhteydet, jotka muodostavat edelleen korkeamman hierarkiatason mielikuvia.

Toisen maailmansodan jälkeen Sapir-Whorf-hypoteesi joutui pois suosiosta, koska se yhdistettiin rasistiseen ajateluun. Arveltiin, että hypoteesillä voisi perustella kulttuurien eriarvoisuutta. Siksi JCB päätteli, että hypoteesia olisi mielekkäintä (ja kulttuuripoliittisesti korrekteinta) tutkia käyttäen kieltä, joka olisi (jos suinkin mahdollista) täysin kultturineutraali ja jonka rakenteet, eivät perustuisi mihinkään tunnettuihin puhekieliin vaan symbolisen logiikan hyvin hallittuihin elementteihin. Näin alkoi vuosikymmeniä kestänyt tuotekehitys, ensin loglanin nimellä, ja edelleen jatkuen esim lojbanin sanaston hiomisen muodossa.