Näköjärjestelmän mallintamisesta Cog241 Kognitiivinen mallintaminen I 16.11.2010 Henri Kauhanen
Muistutus: mallinnusparadigmat Symbolinen, konnektionistinen, dynamistinen Marrin (1982) tasot yksi keino ymmärtää näiden välisiä suhteita: 1. Komputationaalinen taso 2. Representaation ja algoritmin taso 3. Implementaation taso Kassakone-esimerkki (Marr 1982) ks. Cog203, Kognitiotieteen historia & klassikot II
Marrin tasot Näköjärjestelmän mallintamisen kannalta olennaiset kysymykset ovat: 1. Mikä on se ongelma, jonka näköjärjestelmä kohtaa eli jonka sen on ratkaistava? Mitä rajoitteita maailma asettaa järjestelmälle? 2. Kuinka em. ongelma voidaan esittää ja kuinka tässä esityksessä voidaan operoida, ts. millaisia ovat prosessit ja miten ne riippuvat rajoitteista? 3. Kuinka tämä kaikki tehdään neuraalisessa hardwaressa?
Marrin tasot Marrin pluralistinen metodologia: Tutkimusta on tehtävä kaikilla tasoilla yhtä aikaa Monenlainen evidenssi on olennaista: psykofyysinen, matemaattis-mallinnuksellinen, fysiologinen, neuropsykologinen, tietojenkäsittelytieteellinen, jne. Nämä eri teoriat eri tasoilla asettavat toisilleen rajoitteita, joiden ansiosta teorioiden valinta on ylipäätään mahdollista tehdä (muuten olisi liian paljon evidenssin kanssa yhteensopivia teorioita; teorioiden alideterminaatio)
Projektin historiallinen tausta Antiikin atomistit (500 400-l. eaa.): maailma sinänsä ja havaintojen maailma kaksi eri asiaa, primäärikvaliteetit vs. sekundäärikvaliteetit Kant (1724 1804): ymmärrys asettaa ennakkoehtoja maailman kokemiselle. Avaruus ja aika eivät ole maailman sinänsä ominaisuuksia vaan esteettisen intuition apriorisia muotoja. Helmholtz (1821 1894): kompleksinen näköhavainto täytyy rakentaa yksinkertaisemmista aistimuksista. Tämä rakentaminen on tiedostamatonta päättelyä (modularismi: tietoiset prosessit eivät pääse käsiksi tähän päättelyyn ).
Keskeiset oletukset Aistipinnalla olevan informaation esitys on yksinkertainen, järjestymätön. Esim. retinalla on vain intensiteettimatriisi : jokaiseen pikseliin (x,y) liittyy lukuarvo I(x,y). Mutta informaatio on hyödyllistä vain, jos se on esitetty sopivalla tavalla. Retinan informaatio on muunnettava (prosessit) käyttökelpoisempaan muotoon: korkeamman tason esityksiksi, jotka kuvaavat joitakin ulkomaailman (oletettuja) invariantteja piirteitä. Esim. kappaleiden rajoja, kulmia, muotoja.
Keskeiset oletukset Marr (1982): tämän esitysten muovaamisen eli informaation prosessoinnin voidaan nähdä etenevän vaiheittaisesti seuraavasti: 1. Varhainen luonnos ( primal sketch ): haetaan intensiteettimatriiseista joitakin yksinkertaisia piirteitä, kuten ääriviivat 2. 2½D-luonnos ( 2½D sketch ): esitys, joka kuvaa objekteja mutta kuvaa ne katsojan näkökulmasta (koordinaatisto on retinakeskeinen ) 3. 3D-esitys ( 3D representation ): objekteja kuvaava esitys, koordinaatisto objektikeskeinen
Keskeiset oletukset Kuvan pikseleiden intensiteetteihin vaikuttavat ainakin seuraavat tekijät: Ympäristön geometria Pintojen reflektanssifunktiot (kuinka pinnat heijastavat valoa) Ympäristön yleinen valaistus Katselukulma
Keskeiset oletukset Usein intensiteettimatriisit säilyttävät informaatiota näistä maailman piirteistä. Aina näin ei kuitenkaan ole, vaan informaatiota katoaa. Ainakaan maailman piirteet eivät ole missään helpossa yksi yhteen-vastaavuudessa pikseleiden kanssa. Tarvitaan lisätietoa tai rajoitteita, joiden avulla on mahdollista muodostaa järkevä representaatio maailmasta.
Keskeiset oletukset The purpose of these representations is to provide useful descriptions of aspects of the real world. The structure of the real world therefore plays an important role in determining both the nature of the representations that are used and the nature of the processes that derive and maintain them. An important part of the theoretical analysis is to make explicit the physical constraints and assumptions that have been used in the design of the representations (Marr 1982, 43).... have been used in the design of the representations by Marr by evolution/god/whatever
Esimerkkiongelmia Kuinka kappaleiden reunat löydetään? Kuinka kappaleiden etäisyyksiä arvioidaan? (Mistä tulee kolmas ulottuvuus?) Kuinka liike havaitaan?
Reunat Varhaisen luonnoksen generoimisessa tärkeää on löytää kuvista kohdat, joissa intensiteetti muuttuu. Nämä ovat usein (mutteivät aina) kappaleiden reunoja. Voidaan kutsua nollanleikkauksiksi (zerocrossings), sillä intensiteetin toinen derivaatta leikkaa nollan:
Reunat Marr & Hildreth (1980): Järkevin operaattori reunantunnistukseen on Laplacen operaattori: 2 2 I I I x, y = 2 2 x y 2 Operaation tulos on siis intensiteetin toisten osittaisderivaattojen summa, jolloin operaatio paljastaa nollanleikkaukset.
Reunat Laplacen operaattorin soveltamisen jälkeenkin matriisi sisältää liikaa kohinaa, jotta yksityiskohdat olisi mahdollista erottaa kaikesta ylimääräisestä. Ennen Laplacea kuvaa kannattaakin sumentaa esim. Gaussin jakauman avulla. Idea: pikselin (x,y) uusi arvo I'(x,y) asetetaan riippumaan vanhasta arvosta I(x,y) sekä pikselin naapureiden vanhoista arvoista eräänlaisena keskiarvona.
Reunat Mitä leveämpi Gaussin jakauma on (mitä suurempi sen standardipoikkeama on), sitä sumeammaksi kuva muuttuu. Kapeammalla jakaumalla pikseli riippuu pääasiassa itsestään.
Reunat Kun Laplacen operaattoria sovelletaan sumennettuun kuvaan, saadaan kuvasta irti jossakin mielessä korkeamman tason piirteitä. Tarkoituksena on siis poistaa kuvasta sellainen informaatio, joka todennäköisesti ei paljasta ympäristön kappaleiden reunoja. Tämän jälkeen Laplacen filtteri etsii nollanleikkaukset. (Oikeastaan: muuntaa intensiteettimatriisin toiseksi derivaatakseen, jolloin nollanleikkaukset tulevat näkyviin ääriviivoina.)
Reunat Gaussin sumennus on esimerkki konvoluutiosta. Konvoluution idea: uuden kuvan pikselin (a,b) arvo I'(a,b) on arvojen I(x,y) lineaarikombinaatio, missä x ja y käyvät läpi jonkin (a,b):n naapuruston. Sen, kuinka monta naapuria otetaan huomioon ja millä tavalla, määrää konvoluution ydin (kernel), joka on intensiteettimatriisia pienempi matriisi. Ydin kuljetetaan yli intensiteettimatriisin.
Reunat I11 I21 I31 I41 I51 I61 I12 I22 I32 I42 I52 I62 I13 I23 I33 I43 I53 I63 I14 I24 I34 I44 I54 I64 I15 I25 I35 I45 I55 I65 I16 I26 I36 I46 I56 I66 K11 K12 K13 K21 K22 K23 K31 K32 K33 Esim. pikselin I44 uudeksi arvoksi tulisi I44' = K11*I33 + K12*I34 + K13*I35 + + K21*I43 + K22*I44 + K23*I45 + + K31*I53 + K32*I54 + K33*I55.
Reunat Merkitsemme konvoluutio-operaatiota K*I, missä I on syötematriisi ja K on konvoluution ydin. Voidaan osoittaa, että 2 2 G I = G I, joten Gaussin sumennus ja Laplacen operaatio voidaan yhdistää yhdeksi konvoluutioytimeksi.
Reunat Suinkaan kaikki nollanleikkaukset eivät edusta fysikaalisen maailman kappaleiden reunoja. Intensiteetin muutos (ja sitä kautta nollanleikkaus) voi johtua esimerkiksi kappaleen tavasta heijastaa valoa. Esim. raitiovaunun tangot.
Reunat Jos samat nollanleikkaukset kuitenkin toistuvat useilla eri resoluutioilla tehdyissä konvoluutioissa (ts. varioidessa Gaussin jakauman leveyttä eli standardipoikkeamaa), on syytä olettaa, että nollanleikkaukset edustavat kappaleiden ääriviivoja.
Fysiologinen tulkinta Marr & Hildreth (1980): nollanleikkausfiltterit voidaan tulkita retinan ja polvitumakkeen (LGN) on off-tyyppisiksi soluiksi (reseptiivinen kenttä muodostuu kahdesta sisäkkäisestä ympyrästä).
Fysiologinen tulkinta
Varhainen luonnos: primitiivit Marrin (1982) mukaan varhainen luonnos (tarkalleen ottaen sen raakaversio ) koostuu seuraavanlaisista primitiiveistä: Reunat (edges) Palkit (bars) Laikut (blobs) Päätökset (terminations) sekä näiden attribuuteista, kuten suunta, kontrasti, pituus, leveys, sijainti.
Varhainen luonnos: primitiivit Primitiivit ovat siis tietorakenteita (deskriptioita) tietyssä representaatiossa (tässä: varhaisen luonnoksen raakaversio). Niillä voidaan operoida, ja niinpä esim. 2½D-luonnos saadaan konstruktiivisesti varhaisen luonnoksen primitiiveistä. Marrin (1982) mukaan on hyödyllistä, että varhainen luonnos sisältää eksplisiittisinä esityksinä primitiivien olennaiset attribuutit (sijainti, pituus, jne.), koska näitä tarvitaan useissa komputaatioissa.
Varhainen luonnos: primitiivit Komputaatiot ovat kuitenkin usein lokaaleja (riippuvat vain paikallisesti läheisistä pikseleistä tai primitiiveistä), jolloin esityksen kannattaa olla kartan (ei esim. listan) kaltainen. Tämä on myös biologisesti motivoitua. Vrt. hebbläinen oppiminen vs. esim. vastavirta-algoritmi.
Linkkejä Tietoa konenäöstä, kuvankäsittelystä ja piirreilmaisimista sekä interaktiivisia sovelluksia: http://homepages.inf.ed.ac.uk/rbf/hipr2/hipr_top.htm Imagemagick työkaluja kuvankäsittelyyn ja esim. reunantunnistukseen: http://www.imagemagick.org/
Neuroverkkomallintaminen: lyhykäinen kertaus
Formaali neuroni Yksinkertainen malli hermosolusta, joka pyrkii toistamaan ne biologisten neuroneiden fysiologiset ominaisuudet, joita pidetään tietojenkäsittelyllisesti olennaisina McCulloch-Pitts-neuroni, perseptroni Kokonaissyötteen laskeminen pistetulona, aktivaatiofunktio usein porrasmuotoinen Perseptroni on lineaarinen luokittelija
Yleinen neuroni Luovutaan aktivaatiofunktion porrasmuotoisuuden vaatimuksesta Jos aktivaatiofunktio lineaarinen, päädytään lineaarisiin yksikköihin, joilla perustavia komputationaalisia rajoituksia Usein käytetty ja hyvä aktivaatiofunktio on sigmoidi, joka on epälineaarinen mutta säilyttää kuitenkin neuronin saamassa syötteessä piilevän informaation
Opettaminen Opetus- tai oppimisalgoritmit voidaan karkeasti jakaa kahteen luokkaan: Ohjatut algoritmit: verkko/solu saa tiedon siitä, miten painokertoimia tulee muuttaa. Esim. perseptronin oppimisalgoritmi, vastavirta-algoritmi. Ohjaamattomat algoritmit: verkko/solu ei saa tällaista tietoa. Esim. hebbiläinen assosiatiivinen oppiminen. Perseptronin oppimisalgoritmille pätee konvergenssitulos.
Opettaminen Käytännössä verkko opetetaan jollakin syötejoukolla A, jonka jälkeen verkon toimintaa testataan jollakin syötejoukolla B (A B = Ø). Jos verkko toimii myös testimateriaalilla, sen voidaan usein katsoa oppineen yleistämään opetusvaiheessa oppimansa asian. Ongelmaksi voi muodostua ylioppiminen: verkko oppii luokittelemaan opetussyötteet täydellisesti, mutta painokertoimista tulee niin spesifit, että toiminta ei yleisty testijoukon syötteille.
Opettaminen Montako kerrosta, montako solua? Riippuu tilanteesta; usein laskennalliset rajoitukset ratkaisevat. Vrt. esim. Rumelhartin ja McClellandin Wickel-piirteet kurssilla Cog203. Kolmogorovin superpositiolause : kaikki voidaan tehdä kolmikerroksisella verkolla. Periaatteessa siis kolme kerrosta riittää Ks. Hecht-Nielsen (1990) Vrt. lineaarisia yksiköitä koskeva tulos
Representaatio ja prosessointi Rinnakkaista, hajautettua prosessointia. (PDP, parallel distributed processing) Prosessointi tapahtuu rinnakkaisesti, ei (ainoastaan) sarjallisesti Esitykset ovat hajautettuja joko hajautettuja useamman yksikön yli tai useamman painokertoimen yli
Representaatio ja prosessointi Neuroverkko sietää erilaisia virheitä ja anomaalisia tilanteita usein hyvin: Yksittäisiä soluja voidaan poistaa verkon käyttäytymisen siitä kärsimättä Syöte voi olla kohinaista ja verkko voi silti toimia Graceful degradation : ei tapahdu yhtäkkistä toimintakyvyn katoamista, vaan kyky heikkenee asteittaisesti Filosofisesti mielenkiintoista: muisti sijaitsee verkon painokertoimissa, ei missään erityisessä muistilokerossa
Kirjallisuutta Hecht-Nielsen, R. (1990). Neurocomputing. Reading, MA: Addison-Wesley. Marr, D. (1982). Vision: A computational investigation into the human representation and processing of visual information. New York, NY: Freeman. Marr, D. & Hildreth, E. (1980). Theory of edge detection. Proceedings of the Royal Society of London B, 207, 187 217. Stevens, K. A. (1978). Computation of locally parallel structure. Biological Cybernetics, 29, 19 28.