Deus Ex AI

Tietokoneiden tiedonkäsittely verrattuna ihmisajatteluun
Sitä miten tietokone "ajattelee" voi olla vaikeaa kuvitella, tosin vielä vaikeampaa on kuvitella koneen ajattelevan ylipäätään. Nykypäivän tietokoneet eivät suorastaan tuo mieleen Ritariässän Knight Industries Two Thousandia (tutummin Kittiä) tai Avaruusodysseija 2001:n neuroottista HAL 9000-tietokonetta. Molemmat esimerkkikoneet puhuivat ja ajattelivat itsekseen. Ne edustivat tyyliltään "täydellisesti" ajattelevaa konetta joka matemaatiikan avulla kykeni täysin päättelemään miten jokin tilanne kehittyy, hieman samaan tapaan kuin ihmisen oletettiin ajattelevan ”täydellisesti” vanhentuneen ihmiskäsityksen mukaan.

Ajattelumalli jossa kaikki vaihtoehdot käydään läpi ei ole mitenkään mahdollinen toteuttaa minkään tietokoneen laskentateholla, sillä loputtomiin vaihtoehtoihin tarvitaan loputtomasti laskentatehoa. Tästä huolimatta elokuvatietokoneet perustuivat oletukselle jossa tietokone kävi läpi kaikki vaihtoehdot ja valitsi parhaan. Tämä ei ole uskottava malli, mutta se oli monen käsitys tietotekniikan ja tekoälyn tulevaisuudesta vielä vuosikymmen sitten: tietokoneita visioitiin ihmismäisiksi puhuviksi laatikoiksi joilla ei ollut huumorintajua (ennen kuin joku opetti niille sellaisen, onhan aina oleellista saada tuhokone toteamaan luontevasti Hasta la Vista). Näissä visioissa tietokoneet ja robotit olivat oikeasti hyvin inhimillisiä jos verrataan siihen miten tietokoneiden ajattelu "oikeasti" toimii.

Tutustutaampa tietokoneiden tiedon käsittelyyn ja verrataan sitä hieman ihmisen vastaavaan.



Periaatteita tietokoneiden "ajattelusta"
Tietokoneen toiminta riisuttuna yksinkertaisimmilleen on juuri binäärimuotoisten numeroiden siirtämistä paikasta toiseen erilaisten logiikkarakenteiden avulla. Toki tämä on todellisuudessa huomattavasti monimutkaisempaa ja sisältää paljon monimutkaisempia rakenteita, esimerkiksi tulevien käskyjen ennaltakäsin arvaaminen joka on yksi nykyisten prosessorien logiikkarakenteiden ominaisuuksia. Käytännössä tietokoneen prosessori (tai prosessorit) saa tietoa (input) tietokoneeseen eri tavoilla kytketyistä laitteista ja sitten prosessoi sen ja palauttaa takaisin oman palautteensa (output).

Tietokoneen muistirakenteet muistuttavat hieman myös ihmisen muistin perusrakennetta: muisti on jaettu keskusmuistiin (käyttömuisti, RAM) ja kovalevytilaan (tai muihin medioihin). Keskusmuistissa oleva data on saatavilla nanosekunneissa, sillä tietokone lukee keskusmuistia huomattavasti nopeammin kuin kovalevyä, josta tietoa täytyy etsiä huomattavasti hitaammin. Keskusmuistissa oleva data on sitä dataa mikä on milläkin hetkellä käsittelyssä, kuten ihmisen työmuistillakin, jonne tärkeä tieto tallentuu lyhytaikaisesti. Suurin ero näissä kahdessa on se, että ihmisellä työmuistin sisältö ei siirry suoraan pitkäkestoiseen muistiin, vaan vaatii enemmän työtä jäädäkseen pysyväksi tiedoksi. Lisäksi tietokoneen keskusmuistissa ja kovalevyllä oleva tieto säilyy identtisenä ja täten siirrettäessä muistista toiseen tallentuu kaikki se mitä haluttiin tallentaa. Ihmisellä tieto tallentuu subjektiivisemmaksi ja siihen vaikuttaa merkittävästi yksilön senhetkinen olotila ja asenteet – kaikki muovaavat sitä millainen lopullinen muistijälki kyseisestä kokemuksesta saadaan.

Erikoistuminen
Ihmisen aivorakenteista ollaan tietokoneiden rakenteeseen otettu jo monia piirteitä ja yksi "uusimpia" piirteitä on erikoistuminen. Vanhat tietokoneet toimivat vain yhden prosessorin varassa ja tämä prosessori teki kaiken. Tämä on varsin tehoton tapa työskennellä, sillä prosessorin ollessa kuormitettu, ei muiden toimenpiteiden suorittamiseen jää tehoa. Kolmiulotteisen peligrafiikan laskenta on yksi hyvä esimerkki: Vaatii suuren määrän laskentaa tuottaa kolmiulotteinen grafiikka, laskea geometria, valaistustehosteet, puhumattakaan tekoälyn ohjaamien hahmojen toimien päättäminen, äänen pakkaus ja avaaminen ja vielä verkossa pelatessa tiedonsiirrännän huolehtiminen muille pelaajille. Kaiken tämän toteuttaminen yhdellä yksiköllä (prosessorilla) onnistuu tietenkin, mutta ei kovin hyvin. Nykypäivän ratkaisu on erikoistuneet yksiköt.

Yksi esimerkki erikoistuneesta laskennasta on näytönohjaimen käyttö tietokoneen keskusprosessorin kuormaa purkamaan. Tietokoneen näytönohjain keventää prosessorin taakkaa tekemällä omalla (tai omilla) prosessoreillaan raskaat grafiikkaan liittyvät laskutoimitukset. Myös uusimmat äänikortit sisältävät oman prosessorinsa kolmiulotteisten äänten simuloimiseen. Tämänkaltainen laskenta tehdään yksiköillä, jotka ovat erikoistuneet omaan alaansa, ja täten esimerkiksi grafiikkakortilta ei vaadita samanlaista laskentatehoa kuin keskusprosessorilta, vaikka grafiikkakortti kykeneekin tuottamaan huomattavasti parempaa grafiikkaa. Grafiikkakortti on rakennettu grafiikan piirtämiseen ja polygonien laskemiseen siinä missä keskussuoritin on tavallaan yleisyksikkö joka voi laskea mitä tahansa, mutta ei yhtä tehokkaasti kuin yhteen asiaan tarkoitettu kortti.

Ihmisen tiedonkäsittelyssä tällainen toiminta on viety jo hyvin pitkälle. Aivot sisältävät alueita, jotka on tarkoitettu hyvin spesifejä asioita varten. Ihmisillä on jopa tiettyjen muotojen ja liikesuuntien havaitsemiseen erikoistuneita soluja.

Yhteistyö

Heaven lasts long, and Earth abides
What is the secret of their durability?
Is it because they do not live for themselves
That they endure so long?
-- Lao Tzu


Suurimpia eroja tietokoneiden ja aivojen välillä ovat yhteydet eri osien välillä. Tietokoneessa yhteyksiä on yksi: Laite - emolevy - muut laitteet. Kaikki laitteet yhdistyvät emolevyyn ja sitä kautta toisiin laitteisiin. Yhdistystavat kylläkin vaihtelevat. Kortit yhdistyvät tietokoneeseen monilla tavoin. En edes harkitse, että luettelisin eri muistityypit, erinäiset pc-kortit ja sarjakaapelit millä laitteita saa yhdistettyä, joka tapauksessa rakenne on sama, eli laite - emo - laite.

Ihmisen aivorakenne poikkeaa tästä. Monet eri osat yhdistyvät suoraan toisiinsa ilman välissä olevaa keskusvirastoa (emolevyä) ja tämä on monin tavoin tehokkaampaa, kun viesti saadaan osasta toiseen ilman hidastavaa välikättä. Tätä on harkittu ja käytetty joissain erikoisemmissa laitteissa, kuten esimerkiksi monissa nykylaitteissa tietyt komponentit yhdistyvät konsolin emolevyn vastineeseen ja suoraan toisiin osiin, mikä nopeuttaa prosessointia merkittävästi. Ihmisen neuroverkko on muutenkin huomattavasti monimutkaisempi kuin mikään emolevyrakenne.

Aivoista ja ajattelusta
Without sensibility no object would be given to us, without understanding no object would be thought. Thoughts without content are empty, intuitions without concepts are blind.
-- Immanuel Kant,
"Puhtaan järjen kritiikki"


Ihminen käsittelee tietoa vähemmän konkreettisella tavalla kuin tietokone. Data ei ole ehdottomassa muodossa, vaikka se tallentuukin sähkökemiallisesti. Data on tilanteeseen suhteutettua, epäpysyvää ja tunteiden värittämää. Ympäristö jossa tieto on omaksuttu vaikuttaa vahvasti siihen millainen tiedonjyvä mieleen jää, mutta lisäksi merkittävä vaikuttaja on myös ympäristö jossa tietoa haetaan! Tunnetila jossa tieto on omaksuttu vaikuttaa kuten myös tunnetila jossa tietoa haetaan. Tieto ei ole eksaktia.

Tämä on yhtäaikaa vahvuus ja heikkous. Vahvuus on ihmisen tiedontallennuksen käytännöllinen rajattomuus. Neuroverkkoja voi muodostua käytännössä miten monimutkaisiksi tahansa ja tiedontallentuminen näihin ei vähennä niiden kapasiteettia tai hidasta toimintaa. Tämä tallentuminen tekee neuroverkosta vain tehokkaamman ja automatisoituneemman omalla alallaan. Tietokoneen muistissa tieto on tallentunut rajatun kokoiseen tilaan ja mitä enemmän sitä on, sitä kauemmin tietyn tiedon hakeminen kestää. Epätarkan tallentumisen heikkoudet lienevät itsestäänselviä.

Työmuistin toiminta on hyvin erilainen kuin keskusmuistin kun tarkastellaan muutakin kuin tarkoitusta. Keskusmuisti on tarkkaan rajatun kokoinen siinä missä työmuistin koko on "rajattu" n. seitsemään epäeksaktiin muistiyksikköön, joista jokainen kykenee tallentamaan sisäänsä käsitteen. Yksi käsite on niin suuri kuin mitä ihminen on kyennyt itse opiskelemaan, eli asiantuntijalla yksi käsite voi olla koko alan perusteet, siinä missä aloittelijalla yksi käsite on ehkäpä yksi kaava. Keskusmuistissa yksi kaava on aina yksi kaava, mutta toisaalta keskusmuistin kokoa voidaan kasvattaa fyysisesti hankkimalla tehokkaampaa muistia tai vain enemmän muistikampoja.

Logiikkarakenteista
There are only two ways in which we can account for a necessary agreement of experience with the concepts of its objects: either experience makes these concepts possible or these concepts make experience possible.
-- Immanuel Kant,
"Puhtaan järjen kritiikki"


Tietokoneet käsittelevät tietoa erilaisten logiikkarakenteiden mukaan. Uusimpiin prosessorimalleihin on lisätty omia käskykantojaan ja monimutkaisempia ennalta-arvaavia struktuureja ja käskyjä. Joka tapauksessa, tietokone käsittelee tietoa tavalla jonka pystyy aina tiivistämään loogiseen muotoon. Esimerkiksi jos a=1 tehdään x TAI  jos a=2 tehdään y JA tehdään Z kun edellinen on tehty. Tehdään jotain TAI tehdään jotain muuta, EI tehdä jotain, tehdään jotain TAI jotain muuta ja niin edespäin. Ihminen ajattelee varsin monimutkaisemmin. Ihmisen ajattelu on käsitteiden läpikäymistä käsitteestä siihen käsitteeseen johon siitä on voimakkain yhteys. Yhteydet tiedoista toisiin muodostavat jättimäisen käsitteiden verkon jossa tiedoista yhteydet kulkevat mallia kulta -> hopea.

Tietokoneessa yhteydet ovat toimintamalleja AND, OR , NOT, XOR ja NAND rakenteilla siitä, mitä tehdä missäkin tilanteessa. Nämä mallit ovat myös ekstensiivisiä verkkoja mutta varsin rajattuja. Tietokoneiden mallit eivät tarjoa yhtä paljon vaihtoehtoja kuin ihmisen konseptipohjainen ajattelu. Toisaalta tekoälytutkimuksessa on kyetty soveltamaan erilaisia "vähemmän laskelmoivia" malleja (kuten sumeaa logiikkaa) jotka käyttävät hyväkseen näennäistä satunnaisuutta. Nämä mallit soveltuvat varsin huonosti perinteiseen tietokoneen käyttöön, joka taas edellyttää eksaktia ja täysin tarkkaa logiikkaa (kolmiulotteinen mallinnus tai äänen ja videon dekoodaus esimerkiksi vaativat tarkkaa laskentaa eivätkä salli pientäkään satunnaisuutta).

Vuonna 1996 kehitettiin japanilaisvoimin tietokoneohjelmisto, joka osasi tietystä kulmasta otetuista valokuvista päättelemään onko metroasema lähempänä täyttä, tyhjää vai puolityhjää. Kun tietokonetta oli "opetettu" niin, että se tunnisti aseman oikein yli 99%:sesti, ja kuvakulmaa vaihdettiin, osasi tietokone vain pienellä lisäopilla saavuttamaan saman onnistumistason kuin edellisestä kuvakulmasta.

Lienee tarpeetonta sanoa, että ihminen joka osaa sanoa yhdestä kuvakulmasta onko metroasema kuinka täysi, osannee tehdä sen muistakin kuvakulmista. Tämä johtuu nimenomaan ihmisen tavasta havaita todellisuutta. Yhtä ihmistä ei prosessoida ja käydä läpi, vaan huomataan paljon ihmisiä jolloin koko joukko tulkitaan ihmisiksi ellei jotain todella merkittävää todistusaineistoa päinvastaisesta ole näkyvillä.

Ihmisellä on yksi sisäinen malli "ihmisestä" ja nähtäessä jotain ihmisentapaista ympäristössä, jossa odottaa näkevänsä ihminen, näkee ihmisen varsin vähällä aivokapasiteetin käytöllä. Tietokone ei omaa tällaista, sillä tietokonemalli tulkitsee kuvan aivan toisella periaatteella ja on kykenemätön tai vähintään huono tulkitsemaan kaksiulotteista kuvaa. On hyvin vaikeaa kirjoittaa AND, OR , NOT, XOR ja NAND rakenteilla ohjelmistoa, joka kykenisi tunnistamaan tummemman alueen varjoksi ja täten päättelemään missä asennossa henkilö on. Kuvatun mukainen tummempi alue voi olla arpi tai paransänki tai vain tummempaa pigmenttiä ja tietokoneen on hankala tunnistaa eroa. On hyvin vaikeaa  ohjelmoida mallia joka osaa ottaa kaikki tällaiset yksityiskohdat huomioon jos kaikki eri tilanteet täytyy prosessoida ja käydä läpi. Ihmisellä tällaisia ongelmia ei ole, sillä ihminen havaitsee kokonaisuuden tiettyjen tunnisteiden perusteella, koostaa  muutamista piirteistä kokonaisuuden ja mitä tutumpi tämä kokonaisuus on, sitä vähemmän pieniin yksityiskohtiin kiinnitetään huomiota. Mitä vähemmillä tuntomerkeillä kohde tunnistetaan, sitä vähemmän "konetehoa" se vie ja sitä enemmän resursseja jää muuhun käyttöön.

Kommentit