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.

2 kommenttia:

Anonyymi kirjoitti...

"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."

Niin juuri! Object-relational mapping, eli olioiden tietokantakytkentä ei sitten ilmeisesti riitä. Voisikin olla fiksumpaa tutkia semanttisen webin omia "triple-tekniikoita" (Jena-projekti), kun aikomani suoriin SQL-kyselyihin perustaminen on aika latteaa.

Anonyymi kirjoitti...

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. Ymmärtääkseni on olemassa tekniikat valmiina tietokantakeskusteluun. On paljon alkeellisia "keskusteluformaatteja" (XML) ja valmiita tietokantaratkaisuja esim varaston hallintaan. Kantoja voi käyttää tavallisesti tai olioina (ORM).

Mutta voisiko sitten lojbankielisellä koko maailmankuvan käsittämällä tietokannalla tehdä oikeasti jotain hyödyllistä? Ja milloin?

-Knowledge-