Kognitiivinen mallintaminen Neuraalimallinnus 1.12. Nelli Salminen nelli.salminen@tkk.fi
Tänään ohjelmassa autoassosiaatio, Hopfieldin verkko attraktorin käsite ajan esittäminen hermoverkoissa esimerkkitapaus: kolme eri tapaa mallintaa kategorista havaitsemista neuroverkkomallien rinnastaminen aivotoimintaan
Autoassosiaatio verkko jonka tehtävänä on syötteen perusteella tuottaa tuo syöte itse verkko voi olla käyttökelpoinen jos esim. verkko voi olla käyttökelpoinen jos esim. halutaan kohinaisen tai osittaisen kuvion perusteella löytää virheetön kuvio tai epätyypillisen esimerkin perusteella löytää prototyyppi
Hopfieldin verkko takaisinkytketty verkko (recurrent) kaikki solut ovat yhteydessä toisiinsa kaikki solut ovat samassa kerroksessa (eli kaikki solut ovat samassa kerroksessa (eli käytännössä verkossa ei ole kerroksia)
Hopfieldin verkko toinen tapa piirtää neuronit ja niiden väliset yhteydet Hopfieldin verkossa w jk = w kj
Hopfieldin verkko syöte annetaan kaikille verkon neuroneille syöte toimii neuronien aktiviteetin alkuarvoina tämän jälkeen aktiviteetti muuttuu tämän jälkeen aktiviteetti muuttuu painokertoimien määräämällä tavalla
Hopfieldin verkko aktiviteetti etenee ajassa, saman solun aktiviteetti lasketaan moneen kertaan vaihtoehto 1: lasketaan kaikkien solujen aktiviteetti kerralla vaihtoehto 2: päivitetään aktiviteetti yhdelle satunnaisesti valitulle solulle kerrallaan tätä jatketaan kunnes aktiviteetti ei enää muutu
Hopfieldin verkko solun j aktiviteetti: a j = w j a
Hopfieldin verkko oppimissääntö jolla verkko saadaan tekemään autoassosiaatiota: w jk = in j in k eli w jk = a j a k
Hopfieldin verkko w jk = a j a k miksi tämä toimii? tarkastellaan tilannetta jossa a:t ovat 1 tai 1 1 1 = 1 ja -1 (-1) = 1, eli solut joilla on syötteessä sama aktiviteetti saavat positiivisen yhteyden eli yhteys pyrkii pitämään solujen aktiviteetit samoina 1 (-1) = -1 ja -1 1 = -1, eli solut joilla on syötteessä eri aktiviteetti saavat negatiivisen yhteyden eli yhteys pyrkii pitämään solujen aktiviteetit vastakkaisina
Hopfieldin verkko samaan verkkoon voidaan tallettaa useita kuvioita laskemalla keskiarvo kutakin kuviota vastaavista painokertoimista verkon kapasiteetilla on rajansa, kun kuvioita talletetaan liikaa ne häiritsevät toisiaan
Demo: Hopfieldin verkko talletetaan Hopfieldin verkkoon kuvia yksi pikseli vastaa verkon yhtä solua määritetään painokertoimet virheettömillä määritetään painokertoimet virheettömillä syötteillä ja katsotaan miten verkko toimii kohinaisella tai puutteellisella syötteellä
Demo: Hopfieldin verkko verkko palauttaa virheettömän kuvion kohinaisen syötteen pohjalta
Demo: Hopfieldin verkko verkko palauttaa virheettömän kuvion puutteelisen syötteen pohjalta
Demo: Hopfieldin verkko verkko palauttaa aina jonkun siihen talletetun kuvion vaikka sen syöte olisi mitä tahansa
Demo: Hopfieldin verkko verkko saattaa epämääräisellä syötteellä palauttaa myös sinne talletetun kuvion vastakohdan
Attraktorit verkon vakaita tiloja kutsutaan attraktoreiksi kun aktiviteetti päätyy attraktoriin se ei enää muutu Hopfieldin verkossa päädytään lopuksi attraktoriin, aktiviteetin alkuarvot ratkaisevat mihin niistä
Attraktorit mahdollisten alkuarvojen joukko on jaettavissa osiin sen mukaan mihin attraktoriin ne lopulta johtavat
Attraktorit verkkoon talletetuista kuvioista tulee verkon attraktoreita talletettujen kuvioiden vastakohdista (eli 1 kertaa talletettu kuvio) tulee myös attraktoreita esimerkin verkossa oli siis neljä attraktoria, kaksi kuviota ja niiden vastakohdat verkon kapasiteetin ylittyminen saattaa ilmetä ylimääräisinä attraktoreina
Muita tapoja tehdä autoassosiaatiota takaisinkytketyn autoassosiatiivisen muistin voi opettaa myös virheeseen (halutun ja saadun aktiviteetin erotukseen) perustuvalla oppimissäännöllä autoassosiatiivisen muistin voi tehdä myös backpropagation verkolla (esimerkki tulee kategorisen havaitsemisen yhteydessä)
Ajan esittäminen syötemateriaali saattaa olla ajallista mallinnettava ilmiö saattaa olla ajallinen tämänastisissa verkoissa syötteet ovat olleet kuitenkin ajallisesti staattisia myös verkoissa aktiviteetti on ollut ajallisesti staattista (Hopfieldin verkkoa lukuunottamatta)
Ajan esittäminen syötteessä tähänastisille verkoille voidaan antaa ajallisesti etenevää syötettä koodaamalla eri ajanhetket aina uudella joukolla syöte-neuroneilla kaikki syötteet esitetään samanaikaisesti
Simple recurrent network tavallinen feedforwardverkko ei muista edellisten esityskertojen syötteitä lisätään joukko neuroneita lisätään joukko neuroneita joihin tallentuu tietoa edellisen kerran aktiviteetista, context units
Simple recurrent network piilokerroksen aktiviteetti määrää kontekstineuronien aktiviteetin seuraavalla kierroksella kontekstineuronien aktiviteetti on osa piilokerroksen saamasta syötteestä
Simple recurrent network tällaisen verkon opetuksessa voidaan käyttää backpropagation-sääntöä yhteydet kontekstineuroneista piilokerrokseen muodostetaan samoin kuin piilokerroksen ja syötteen välillä yhteydet piilokerroksesta kontekstineuroneihin jätetään usein satunnaisiksi
Takaisinkytketyt verkot takaisinkytketty = recurrent (vs. feedforward) verkko on takaisinkytketty jos siinä on yksikin mahdollisuus kulkea verkon yhteyksiä pitkin neuronista takaisin neuroniin itseensä takaisinkytketyn verkon aktiviteettia ei voi laskea vaiheittain kertaalleen jokaiselle neuronille kuten feedforward-verkossa takaisin kytkennät tekevät aktiviteetista ajallisesti etenevää (kuten Hopfieldin verkossa), saman neuronin aktiviteettia päivitetään useaan kertaan
Takaisinkytketyt verkot ajallisesti etenevää aktiviteettia takaisinkytketyssä verkossa kuvataan differentiaaliyhtälöillä takaisinkytketty verkko on dynaaminen systeemi
Takaisinkytketyt verkot takaisinkytketyn verkon opetus on haastavaa takaisinkytketyille verkoille voi soveltaa itseorganisoituvia sääntöjä ja niille on myös oma backpropagation-sääntö käytännössä nämä toimivat usein kuitenkin huonosti verkoihin voidaan soveltaa yleisempiä opetusmenetelmiä
Evolutiiviset ja geneettiset algoritmit sukua ajatukselle että kokeillaan paljon eri vaihtoehtoisia painokertoimia, verkon rakenteita tms. ja katsotaa mikä niistä suoriutuu parhaiten evolutiivinen ja geneettinen algoritmi ohjaavat vähän fiksummin mitä vaihtoehtoja kokeillaan soveltuu muihinkin tarkoituksiin kuin neuroverkkojen rakenteluun
Evolutiivinen algoritmi 1. Luodaan populaatio satunnaisia malleja 2. Arvioidaan kuinka hyvin mallit suoriutuvat tehtävästä (fitness) 3. Valitaan malleista paras, joka jää henkiin 4. Luodaan parhaan mallin pohjalta uusi populaatio aiheuttamalla mutaatioita eli satunnaisia muutoksia parhaaseen malliin, palataan kohtaan 2.
Geneettinen algoritmi 1. Luodaan joukko satunnaisia malleja 2. Arvioidaan kuinka hyvin mallit suoriutuvat tehtävästä 3. Valitaan malleista parhaat, jotka pääsevät lisääntymään 4. Luodaan parhaiden mallien pohjalta uusi populaatio risteyttämällä parhaita malleja, palataan kohtaan 2.
Esimerkkitapaus: Kategorisen havaitsemisen mallintaminen katsotaan miten samaa havaintopsykologista ilmiötä on mallinnettu erityyppisillä verkoilla 1. attraktori-verkko 2. backpropagation-verkko 3. hebbiläinen kilpaileva verkko muitakin malleja samasta ilmiöstä on olemassa
Kategorisen havaitsemisen määritelmä (tässä yhteydessä) otetaan joukko stimuluksia jotka jonkin fyysisen ominaisuutensa perusteella ovat tasavälein toisistaan (esim. neliön koko tai kirkkaus, puheäänessä voice onset time) tutkitaan ovatko nämä stimulukset myös koehenkilön kokemuksen mukaan tasavälein mitataan siis havaittuja etäisyyksiä ja verrataan niitä todellisiin etäisyyksiin etäisyyden mittana toimii yleensä erottelukyky
Kategorisen havaitsemisen määritelmä (tässä yhteydessä) kategorioiden rajojen ja erottelukyvyn välinen suhde lähekkäin olevat lähekkäin olevat stimulukset erotetaan toisistaan paremmin jos ne kuuluvat eri kategorioihin kuin jos ne kuuluvat samaan kategoriaan
Kategorisen havaitsemisen määritelmä (tässä yhteydessä) todellisuudessa kategorioiden ja erottelukyvyn suhde ei ole näin jyrkkä erottelu onnistuu kategorioiden sisällä erottelukyky muuttuu asteittain
Kategorinen havaitseminen stimuluksille altistumisen tuloksena puheäänten kategoriat opitaan puhetta kuulemalla puheen havaitseminen on eniten puheen havaitseminen on eniten kokeellisesti tutkittu kategorisen havaitsemisen tapaus
Kategorinen havaitseminen laboratoriossa tuotettuna kategorista havaitsemista voidaan tuottaa myös uusille stimuluksille kokeissa koehenkilö opetetaan ensin kokeissa koehenkilö opetetaan ensin kategorisoimaan stimuluksia ja sen jälkeen mitataan tämän kategorisoinnin vaikutusta stimulusten erottelukykyyn
Vaihtoehto 1: attraktorit Hopfield-tyyppisen verkon attraktorit voidaan ajatella kategorioiden prototyypeiksi aktivaatiolle annettavat arvot ovat verkon syöte = koehenkilölle esitetty stimulus aktivaatiolla on jokin lopputila = koehenkilön havainto
Attraktorit eri kategorioihin kuuluvat syötteet johtavat eri attraktoreihin eri eli havaintoihin erottelu on mahdollista samaan kategoriaan kuuluvat syötteet johtavat samaan attraktoriin eli identtisiin havaintoihin erottelu ei ole mahdollista
Attraktorit Hopfield-tyyppinen verkko jossa kolme solua jotka ovat kaikki yhteydessä toisiinsa syötteet koodataan kolmen solun aktiviteeteiksi opetetaan verkko kuvioilla joissa aktiviteetit ovat ääriarvoissa, kahdeksan mahdollista ääriasentoa, näistä tulee kahdeksan attraktoria kun verkko saa syötteeksi jotain muuta se päätyy aina näihin opetettuihin ääritiloihin
Attraktorit verkon eri tilat voidaan kuvata pisteiksi kuution sisällä, kukin ulottuvuus vastaa yhtä neuronia verkossa attraktorit ovat tämän kuution kulmissa tästä tulee mallin nimi brain-state-in-a-box
Vaihtoehto 2: backpropagation opetetaan backpropagation-säännöllä verkko luokittelemaan syötteet kahteen ryhmään, tässä tapauksessa eri mittaiset viivat pitkiin ja lyhyisiin katsotaan miten kategorioiden opetus vaikuttaa viivojen pituuden edustukseen verkossa
Backpropagation muodostetaan ensin autoassosiatiivinen verkko syötteet ovat samat kuin halutut tulosteet piilokerroksessa on vähemmän soluja kuin syöte- piilokerroksessa on vähemmän soluja kuin syöteja tulostekerroksissa
Backpropagation lisätään tuloste-kerrokseen kaksi kategoria-solua, solun 1 tehtävä on aktivoitua lyhyille, solun 2 pitkille viivoille jatketaan opetusta
Backpropagation opetuksen jälkeen tutkitaan miten kategorisoinnin opetus vaikutti autoassosiatiiviseen osaan tulosteesta tulosteessa lyhyet viivat lähellä kategorioiden rajaa lyhenevät syötteeseen verrattuna, samoin pitkät viivat lähellä rajaa pidentyvät rajan läheisyydessä olevat syötteet ovat tulosteessa kauempana toisistaan
Vaihtoehto 3: kilpaileva verkko kilpaileva verkko on itseorganisoituva eli se on herkkä sille kuinka usein mitäkin stimulusta esitetään opetetaan verkkoa niin että sille esitetään ainoastaan prototyyppejä eli kategorioiden tyypillisimpiä jäseniä
Kilpaileva verkko tällä opetuksella syntyy verkko jonka neuronit ovat erikoistuneet jollekin tietylle prototyypille kuvassa kukin piste vastaa yhden neuronin painokertoimia eli syötettä joka aktivoi neuronin parhaiten
Kilpaileva verkko verkon havainto muodostuu siten että neuronit äänestävät siitä mikä syöte oli kyseessä neuronin vaikutusvalta on sitä suurempi mitä suurempi on sen aktiviteetti havainto = keskiarvo(neuronin aktiviteetti*neuronin suosikkisyöte) tästä seuraa että havainnot keskittyvät lähelle prototyyppejä prototyyppien läheisyydessä havainnot lähenevät toisiaan, prototyyppien puolivälissä etäisyydet kasvavat
Attraktori-malli + verkon rakenne melko realistinen + opetus ei vaadi virhe- tai ohjaussignaaleja + verkon tuottama tuloste helposti tulkittava aktivaatio päätyy aina prototyyppiin eli havaitaan ainoastaan mihin kategoriaan syöte kuuluu, kaikki muu informaatio katoaa, todellisuudessa kategorinen havaitseminen ei ole näin äärimmäistä opetuksessa esiintyy ainoastaan prototyyppejä
Backpropagation-malli + verkon tuottama kategorinen havaitseminen vastaa melko hyvin todellisuutta + tuloste on helposti tulkittava backpropagation on oppimissääntönä epärealistinen
Kilpaileva oppiminen + oppimismekanismi on realistinen + mitään ulkoisia opetussignaaleja ei tarvita tulosteen tulkinta on hankalaa
Neuronista voi rakentaa monenlaisia malleja tähänasti käytössä ollut hyvin yksinkertainen (MacCulloch-Pitts) malli yksityiskohtaisuuden tasoja löytyy paljon yksityiskohtaisuuden tasoja löytyy paljon sekä solun rakenteen että aktiviteetin ajallisen etenemisen osalta
Yksityiskohtaisia malleja yksittäisistä neuronista malleja yksittäisistä ionikanavista ja synapseista malleja yksittäisistä dendriitin haaroista
Compartmental modeling rakennetaan soluja pienistä kaapelin pätkistä (jokainen pätkä on compartment) multi-compartmental modeling jokaisen osaston konduktanssi lasketaan erikseen jokaiselle aikapisteelle solu voi koostua esim. viidestä osastosta, yksi sooma, yksi aksoni ja kolme dendriittiä
Single compartment mallit neuroni koostuu vain yhdestä palasta eli konduktanssi on sama koko neuronissa pisteneuroni
Mass-models mallinnetaan yhdellä yksiköllä kokonaista neuronipopulaatiota esim. aivokuoren pylvästä voi mallintaa kahdella neuronilla joista yksi on eksitatorinen ja toinen inhibitorinen
Ajan kuvaus integrate and fire neuroni, kuvataan muuten konduktanssi tarkkaan mutta aktiopotentiaalin syntyessä ei kuvata sen dynamiikkaa tarkalleen vaihtoehtoisesti voidaan kuvata keskimääräistä aktiopotentiaalien taajuutta
Mallinnustyökaluja neuraalimallinnukseen tarkoitettuja: NEURON, Genesis, PDP, jne. yleiskäyttöiset työkalut myös kovassa yleiskäyttöiset työkalut myös kovassa käytössä: Matlab, C
Riittävä yksityiskohtaisuuden taso? ihmisiltä ei yleensä voi mitata yksittäisiä aktiopotentiaaleja/soluja sopiva taso riippuu siitä millaiseen aivodataan mallia aiotaan verrata PET/fMRI: synaptinen aktiviteetti ~ kaikkien solujen kaikki input merkistä riippumatta EEG/MEG: pyramidisolujen aksonien eksitaatio ~ kaikkien solujen eksitoiva output