S-114.381 Laskennallinen Neurotiede Projektityö 30.1.007 Heikki Hyyti 60451P
Tehtävä 1: Virityskäyrästön laskeminen Luokitellaan neuroni ensin sen mukaan, miten se vastaa sinimuotoisiin syötteisiin. Syöte luodaan kaavalla 1 tiettyyn kulmaan, θ, tietyllä paikkataajuudella, ω, ja taajuudella, ω : S x, y, t) = cos( xω cos( θ ) + yω sin( θ ) + tω ) (1) ( t Tällä kaavalla tehtyjä stimuluksia on esitelty kuvassa 1. Siinä vasemmassa reunassa on esitetty kymmenen kuvan mittainen stimulus eri kulman, θ, arvoilla. Keskellä kuvassa on sama stimulus kun vain paikkataajuutta, ω, on muutettu. Viimeisenä oikealla on esitetty taajuuden, ω t, muutoksien vaikutus stimulukseen S. t Kuva 1: Kymmenen aikajakson mittaisia esimerkkisyötteitä yhtä parametria muutettaessa Etsitään neuronille optimaalinen stimulus eli stimulus, jolle neuroni laukoo eniten. Aloitin haun suurin piirtein keskeltä taajuuden ja paikkataajuuden alueita ja lähdin haarukoimaan kulmaa, φ. Tiesin, että V1 alueen neuroni on erittäin herkkä vain tietyn suuntaiselle stimulukselle, joten hain ensimmäisenä oikean kulman. Laskin kuvassa näkyvän neuronin aktiivisuuden kulman funktiona niin, että taajuus ja paikkataajuus olivat alkuarvoissaan. Huomasin, että kuvassa on tarkka piikki erään kulman kohdalla. Valitsin kulmaksi sen ja aloin hakea paikkataajuutta samalla periaatteella. Löysin ensimmäisellä laskentakierroksella jonkinnäköiset arvot kulmalle, taajuudelle ja paikkataajuudelle. Kuitenkin tarkat optimit määritin iteroimalla kuvassa 3 näkyvän virityskäyrästön avulla. Laskin siis aina virityskäyrästön ja määritin kaikkien kolmen muuttujan arvot maksimiinsa ja toistin tätä muutamia kertoja. Näin lopulta sain suhteellisen hyvät arviot optimaaliselle neuronin syötteelle. Kuvan 3 virityskäyrästöön on lisäksi merkitty punaisilla ruuduilla määrittämäni optimiarvot. Ne ovat kulmalle θ = 7π / 4, paikkataajuudelle ω = 0. 75 ja taajuudelle ω = 1. 3. t
Kuva : Neuronin aktiivisuuden haku kulman perusteella Kuva 3: Neuronin aktiivisuuden virityskäyrästö 3
Seuraavaksi piti määrittää neuronin reseptiivisen kentän koko. Sen onnistuu tekemällä keskelle kuvaa R säteinen pyöreä maski, niin että maski ei päästä reunoille tulevaa kuvaa lävitseen, vaan nollaa sen. Stimulus on siis seuraavan kaavan mukainen: ( ( x x0 ) + ( y y0 ) ) cos( xω cos( θ ) + yω sin( θ ) + tωt ) S( x, y, t) = F () Kaavassa F saa arvon 0, jos sen argumentti on suurempi kuin R, ja muulloin arvon 1. Laskin erikokoisista maskeista läpi menneitä stimuluksia ja piirsin käyrän, jossa saatujen piikkien lukumäärä on esitetty maskin säteen funktiona. Se on esitetty kuvassa 5. Siihen on lisäksi merkitty punaisella ruudulla valitsemani kohta, jossa aukon kasvattaminen ei enää juurikaan kasvattanut piikkien lukumäärää. Säteeksi R saatiin siis 3.67. Kuva 4: Neuronin aktiivisuus maskin säteen funktiona Kaavalla () luotua stimulusta on esitetty yhden ajallisen syklin verran kuvassa 5, kun R = 3.67, θ = 7π / 4, ω = 0. 75 ja ω = 1. 3. t Kuva 5: Yksi sykli optimaalista stimulusta 4
Tehtävä : Reseptiivisen kentän arviointi STA:n avulla Tässä tehtävässä piti laskea LNP -malli neuronillemme. Valkoista Gaussista kohinaa, jonka varianssi on 0.5 ja keskiarvo 0, sisältävää syötettä generoitiin satatuhatta aikayksikköä pitkä näyte. Yhden aikayksikön pituus on 60ms, joten pituutta stimulukselle tuli 100 minuuttia. Vasta näin pitkällä näytejonolla saatiin laskettua siedettäviä piikin laukaisuun johtaneita keskiarvoja, (spike triggered average, STA). STA:n laskemiseksi siirrettiin jokaisen aikayksikön aikana tulleet piikit omaan laatikkoonsa histogrammin avulla. Tämän jälkeen laskettiin erikseen 0,1,, viivästettyjen Stimulusten keskiarvo laatikossa olevien piikkien määrällä kerrottuna. Havaittiin, että viivästykset 0-5 riittivät hyvin, koska sitä seuraavat STA:n kuvat olivat enää pelkkää kohinaa. Valittiin STA:ksi 6 perättäistä keskiarvokuvaa viiveillä 0-5, jotka on myös esitetty kuvassa 6. Kuva 6: Piikin laukaisuun johtaneet keskiarvot eri viivästyksillä (STA) Seuraavaksi nauhoitettiin neuronilta samasta stimuluksesta sadan kerran piikit ja laskettiin siitä histogrammi niin, että jokaista aikayksikköä vastasi yksi laatikko. Seuraavaksi suodatettiin sama stimulus STA:lla ja saatiin näin keskiarvot jokaista kuvaa kohti STA -mallin ennustamasta laukomistaajuudesta. Kuvassa 7 on piirretty päällekkäin lyhyt osa nauhoitetusta ja keskiarvostetusta laukomistaajuudesta sekä STA-mallista saadusta laukomistaajuudesta. 5
Kuva 7: Neuronin laukomistaajuus ja STA-mallin estimaatti Nämä kaksi arvoa näyttäisivät korreloivan ainakin jotenkin. Seuraavaksi kuvaan 8 on laskettu näiden kahden arvon korrelaatio niin, että pystyakselilla on oikea neuronista nauhoitettu laukomistaajuus ja vaaka-akselilla on STA-mallista saamani estimaatti. Kuvaan on piirretty korrelaatiopisteiden lisäksi sigmoid-funktio punaisella värillä. Funktio arvoineen on kirjoitettu kuvan oikeaan alalaitaan. Kuva 8: Neuronin laukomistaajuuden ja STA-mallin estimaatin korrelaatio 6
Tehtävä 3: Gabor-funktion sovittaminen reseptiiviseen kenttään Tehtävässä piti valita STA:sta sellainen aikaikkuna, jossa on pinnanmuodot parhaiten näkyvillä. Valitsin kuvassa 6 vasemmalla keskellä olevan aikayksikköä viivästetyn STA-kuvan. Tähän kuvaan piti sovittaa Gabor-funktio: (, ) xr yr G x y = C cos( ωx φ) σ σ r (3) x y x y r r = x cos( θ ) + y sin( θ ) = y cos( θ ) x sin( θ ) (4) Ensiksi Gabor-funktiolle annettiin tehtävässä 1 määritetyt arvot. Saatiin kuvan 9 tulos, jossa on piirretty rinnakkain oikea STA-mallista otettu kuva ja Gabor-funktiolla tehty kuva. Kuva 9: Ensimmäisen tehtävän arvoilla määritetty Gabor-funktio Kuvasta 9 on lisäksi laskettuna neliöllinen virhetermi STA-kuvan ja Gabor-funktion välillä. Havaitaan että se on erittäin suuri. Lisäksi käyrän muodosta voidaan päätellä, että Gabor-funktio on muuten hyvin lähellä oikeata, mutta keskihajonnat, σ ja σ, ovat aivan liian isot. Pienennetään ne arvoon 1.5 ja piirretään sama kuva uudelleen kuvaan 10. Virhetermi määritellään kaavalla: E = x, y ( S x, y) G( x, y) ) x ( (5) Kaavassa S(x,y) on STA-mallin kuva ja G(x,y) on Gabor-funktio. y 7
Kuva 10: Gabor-funktio hieman muokatuilla ensimmäisen tehtävän arvoilla Kuvassa 10 virhe on jo todella pieni. Kuitenkin minimoitaessa virhettä Matlab:n avulla, saadaan kuvassa 11 näkyvä tilanne, jossa virhe on vielä dekadin pienempi ja kuvat näyttävät 3D-pintana jo aivan samalta. Intensiteettikuvissa yllä voi havaita, että Gabor-funktion kuvaajasta puuttuu pieni röpöisyys reunoista. Optimoimalla pienintä virhettä saatiin siis paljon tarkempi kuva kuin ensimmäisen tehtävän arvojen perusteella. Kuva 11: Gabor-funktio, kun virhe STA-mallin kuvaan nähden on minimoitu 8
Tehtävä 4: Neuronin mallin simuloiminen Viimeisessä tehtävässä tekemääni neuronin mallin vastetta verrattiin oikean neuronin vasteeseen, kun stimuluksena käytettiin luonnollista videota. Luonnollinen video on kokonaisuutenaan piirretty pikkukuvina kuvaan 1. Kuva 1: Luonnollinen Snat -stimulus kokonaisuudessaan, kesto 6s, 60ms/kuva Kuvan 1 stimulus syötettiin neuroniin ja tallennettiin. Seuraavaksi sama stimulus suodatettiin STAmallillamme. Sen jälkeen saadut tulokset kerrottiin kuvassa 8 määritetyllä sigmoid-funktiolla, jolloin saatiin oikeata neuronin laukomistaajuutta vastaava estimaatti. Tästä estimaatista tehtiin seuraavaksi homogeenisten Poissonnin prosessien avulla piikkejä, jotka piirrettiin kuvaan 13 yhdessä neuronin antamien piikkien kanssa. Kuva 13: Neuronin vaste ja STA-mallin estimaatista tehty stokastinen vaste 9
Kuvasta 13 nähdään, että piikit ovat sattuneet ajallisesti melko samoihin aikoihin. Tiheimmät kohdat ovat molemmissa samoissa paikoissa ja muutenkin piikit vastaavat melko hyvin toistensa paikkoja. Malli on siis onnistunut suhteellisen hyvin. Ainoa puute on mallin alusta puuttuvat 5 aikayksikköä ja niiden aiheuttamat vaikutukset. Ne jäävät suodatuksessa huomiotta. Alkuperäistä neuronia ja laskemaani mallia on hyvä myös verrata histogrammikuvina. Kuvassa 14 on ylimpänä esitettynä neuronin vasteen histogrammi, jossa on jokaista kuvaa kohti saatujen piikkien lukumäärä. Keskimmäisenä kuvassa on Luomani mallin antaman vasteen histogrammi, jossa on samoin saatujen piikkien lukumäärä kuvaa kohti. Alimpana kuvassa on mallini laukomistaajuuden estimaatti ennen stokastista Poissonnin prosessia. Havaitaan, että jokainen kuva eroaa lähes yhtä paljon toisistaan. Tällöin voidaan päätellä että Poissonnin prosessiksi muuttaminen muuttaa kuviota niin paljon, että tätä paremmaksi mallia on jo todella vaikea saada. Kuva 14: Neuronin vasteen vertailua rakentamaani malliin ja mallin sisäiseen laukomistaajuuteen ennen piikit luovaa stokastista Poissonnin prosessia 10