TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se
1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida de empiriska data i Figur 1 som låg till grund för ett experiment utfört av Posner et al; Solso and Short[2] kunde modelleras. Experimentet hade som tes att reaktionstider är korrelerade med mängden träning som försökspersonen haft på att utföra uppgiften. Uppgiften var i det här fallet att matcha en färg mot färg, färg mot namnet på färgen eller färg mot ett ord som associerades med en färg. Genom att mäta reaktionstiden försökspersoner hade när de utförde testerna så skulle man då kunna se att det man fått mest träning på att göra skulle ha kortast reaktionstid, detta dock inom ett visst intervall av träning, i början innan nog mycket träning fåtts borde matchningstiderna vara lite mer stokastiska och mot slutet när nog mycket träning fåtts inom alla områden borde de konvergera mot en viss svarstid. Denna tes stämde bra överens med vad vi kom fram till genom vårt experiment. 2. Inledning Vi har försökt undersöka hur objekt priming med visuell stimuli kan modelleras. Uppgiften är att matcha en färg mot antingen en färg-, namn- eller associations-enhet. Med hjälp av data från tidigare experiment ska vi undersöka om vi i vår modell kan komma fram till samma resultat. En tidigare modell som gjordes av Posner et al; Solso and Short[2] och som berört kognitiva koder har beskrivits i Figur 2. Modellen försöker visa hur lång tid det tar för ett stimuli från det att det presenteras tills det att vi får ett svar. Deras experiment hade följande tillvägagångssätt: Försökspersoner fick uppgiften att svara med en knapp om färgen som presenterades matchade antingen färg, namn eller med en association. Efter att stimuli presenterats så visades antingen den färgade enheten, namnet eller associationen. Mellan vissa omgångar så lades det till en fördröjning mellan stimuli och presentationen. Figur 1 visar de empiriska resultaten. Slutsatsen som kunde dras var att visuell kod matchades snabbare än namn och associationer. Resultatet antyder på att behandling av information är mer storskalig än man trodde. Vi har i vår modell antagit att det måste vara den tid det tar för uppgiften att stabiliseras, vilket för oss betyder att output har nått en specifik nivå under ett visst antal cykler. Det vi försöker belysa med vår modell är hur det kommer sig att det ofta går det snabbare att matcha mot en färg följt av namn och hur det kommer sig att associationer ofta behandlas med längre tid. Det vi vill ha fram är en tydlig indikation av stroop effekten enligt våra antaganden. Vårt främsta antagande är, liksom i Solso and Short experiment, att färger representeras i minnet av minst tre distinkta koder. 3. Översikt av modelldesignen Tanken med modellen är att den ska påvisa och ge liknande resultat som det experiment som gjordes av Solso och Short[2] vilket behandlar hur information behandlas i korttidsminnet och hur lång tid det tar att reagera på stimuli. Vad vi har försökt göra i projektet är att matcha färg-färg, färgnamn samt färg-assoc och mäta reaktionstiderna för att göra denna matchning. De empiriska data vi utgått ifrån kommer från Solso and Short[2] och presenteras i Figur 1. Modellen har gjorts i PDP++ med Leabra++ och består av ett nät i 3 nivåer. Nivå 1 är inputnivån, här har vi 4 lager, stimuli, color, word samt assoc. På nivå 2 ligger Hidden-lagret samt FC-lagret, FC står för Frontal Cortex och det hjälper till genom att öka aktiveringen som kommer från det lager på nivå 1 som tränats mest, detta lager är kopplat mot hidden-lagret med dubbelriktade kopplingar[1]. På nivå 3 ligger Outputlagrena, vi har två stycken, Output säger sant om stimuli matchar den av color/word/assoc som är aktiv och falskt om det inte matchar. Output2 säger vilken färg som stimuli har. Vi har även två stycken environments, en för att träna nätet och en för att testa det. Den vi använder för att träna nätet är en FrequencyEnvironment, detta är för att vi ska kunna påvisa vad den skeva träningen har för inverkan på reaktionstiderna, denna är även satt att välja ut sina events permuted och med frequency-level satt till event. För att testa nätet använder vi sedan en vanlig Environment där vi bara har tre events och vi väljer ut events som Sequential, detta för att det ska vara lättare att se i utdatat om träningsfrekvens matchar tiden det tar för nätet att stabilisera sig. Vad gäller processerna så är de inställda så att nätet bara lär sig medan träningsprocessen kör. En bild på testnätet finns i Figur 3. 4. Historik Under byggandets gång så har vi ändrat modellen ett par gånger. Den första ändringen vi gjorde var att krympa storleken på input. Vi hade från början inputs i storleksordningen 2x2 vilket vi då ändrade till 2x1. Anledningen var att det skulle vara enklare att träna nätet då vi fick färre antal möjliga permutationer av data då vi matade in dessa events för hand. Förutsatt antagandet att vår abstraktion av input är tillräckligt god så påverkade den förändringen inget annat än antalet möjliga kombinationer som vi kunde visa. Vi antog från början att stimuli inte skulle behövas som input. Misstaget vi gjorde var att vi tänkte oss modellen som en modell av försökspersonen snarare än en modell för experimentet i stort. Därför så tillförde vi en input för stimuli i vilket output skulle visa [10] för ja och [01] för nej beroende på matchingen. Vi har haft ett par hypoteser under modellutvecklingen. Den första var att om vi tränar data med olika frekvenser
så kommer vi kunna simulera att pathways sätts med olika styrka vilket resulterar till att färg-enheter, som tränas med en frekvens på 80%, kommer att ha större chans att uppkomma vid träningen och därför ge snabbare responstider. Dessa responstid kan fås fram genom att undersöka antalet cykler det tar för ett nät att stabilisera sig i Settle fasen. Antal cykler har dock visat sig att skala dåligt mot den responstid vi hade tänkt få fram. Därför får man inte se cykler som en exakt mappning gentemot svarstid utan mer som en riktlinje. Att titta på tidsenheter var också ett problem då vi från början hade tänkt undersöka hur modellen påverkades om vi precis som i Solso and Short presenterade input med fördröjning. Vi har dock funnit att sådan mätningar är väldigt svårt att modellera i Leabra++. En lösning som vi har diskuterat är användningen av ett kontextlager. Kontext- Lagret skulle ha som uppgift att mappa från det gömda lagret. På så sätt skulle en viss aktivitet finnas kvar efter varje körning, men det hade krävt att vi matade in events enligt en specifik ordningsföljd och att vi på så sätt kunde få aktiviteten att klinga av mellan varje epok. Vi lämnar därför möjligheten som en tänkbar och möjlig förbättring av modellen. Vi hade stora problem med att få output att alltid stämma överens med den empiriska datan vi försökte matcha efter. Problemet var att antalet cykler uppkom slumpvis gentemot den ordning vi hade tänkt oss. Vår hypotes är att initieringsvikterna på det gömda lagret är slumpvis initierade och att det påverkar vår modell även om vi presenterar events med en vis frekvens då dessa kan komma i olämplig ordning. Om vi tränar nätet riktigt lång tid så kommer dock den effekten att klinga bort och antalet cykler kommer att stabilisera sig runt samma MIN värde. Vilket torde svara mot att försökspersonen i experimentet har lärt sig att tyda input så snabbt som personen klarar. I ett försök att minska den slumpvisa effekten gjorde vi en modifikation där vi skar vidare input till ett annat lager om de är av typen name eller association4. Därför gav vi name ett lager till och association två lager till. Resultatet blev att vi, med lämplig träning, får den ordning på antalet cykler oavsett eventuella initeringsvärden. En möjlig hypotes som motiverar en sådan användning skulle kunna vara att olika koder är olika komplexa och aktiverar olika områden i hjärnan vilket skulle kunna svara mot vår modifierade modell. Dock så har vi inte hittat någon referens som klart tyder på detta. Om vi tränar det modifierade nätet mycket så kommer det liksom det föregående att stabilisera sig mot en MIN värde för samtliga inputs. 5. Detaljerad beskrivning av modellen Vi har försökt att inte gå för mycket från de variabler vi har blivit givna som standard när vi har satt upp ett nät i Leabra++, vi har testat oss fram till de variabler vi tyckte gav störst inverkan på vårt näts beteende De variabler vi har valt och/eller ändrat på, hur vi har ändrat dem samt vad de påverkar i vårt nät står beskrivet i listan här nedan. Environment, vi använder oss av två olika environments, en för att träna och en för att testa. Generellt om events: vi har tränat vårt nät med ganska få events för att det ska vara lite mer överskådligt, vi tänkte lite på hur nätet kan bli olika beroende på antal events som det tränas med men vi kom fram till att det antagligen går bra att göra denna förenkling utan att det ska komma att ge felaktiga resultat. TrainEnvironment - Vi valde att träna med FrequencyEvents för att kunna träna nätet olika hårt på olika områden. Detta är en viktig sak för att kunna påvisa det beteende vi beskrivit i inledningen. FrequencyEnvironment är satt att låta frekvensen påverka enskilda Events (standard är att ha den att påverka GroupEvents). TestEnvironment - Vi valde att testa med vanliga Events, vi ansåg att det inte skulle spela någon roll om vi hade FrequencyEvents här eftersom att vi inte tillåter nätet att lära sig under test-fasen och att då låta events komma med olika frekvens skulle bara innebära att vi skulle få ha fler events med för att garantera att vi fick se ett event av varje sort. Specs: För att få nätet att inte vara för effektivt och för att det ska vara lite mindre stokastiskt innan det lärt sig allt så har vi ändrat en parameter här, vi lade märke till att learningrate och threshold gränserna inte spelade så stor roll för att vi skulle få fram önskat beteende så vi lämnade dem på deras ursprungliga värden LeabraUnitSpec - ändrat gain från 600 till 60 för att den ska uppdateras långsammare och mer enhetligt 6. Validering av modellen Vår modells input/output-mönster stämmer ganska bra överens med empiriska data, vårt problem ligger i att vi inte lyckades dämpa slumpvikterna som nätet initierades med nog mycket i jämförelse med det utslag ett mönster matchade mot så slumpen spelade för stor roll i hur snabbt den skulle känna igen olika mönster. Detta går att undvika genom att göra flera test-runs och ta ett medelvärde. En annan möjlighet vi kom fram till genom lite testande var att använda den alternativ modell som syns i Figur 4. Denna kunde vi få att ha ett stabilt utfall i fler fall, även om vi är
lite osäkra på dess biologiska plausibilitet. Vår ursprungliga modell tror vi är biologiskt plausibel, dock bör man vara medveten om att detta mest är en känsla av att det borde vara så samt med tillit till att ett nät i Leabra++ utan ändrade variabler är biologiskt plausibelt. 7. Lärdomar Vi skulle behöva verifiera om modellen verkligen visar ett bra beteende då beteendet är helt bundet till träningen och antagandet att events med olika frekvenser är det som påverkar responstiderna. Bakom det ligger antagandet från teorin att fysiska enheter svarar snabbare än namn och associationer. Styrkan ligger i enkelheten men den stora svagheten är att vi bland annat inte exakt kan säga vad input består utav och därför är det svårt att simulera någonting annat i vår modell än på det gömda lagret. Problemet ligger blanda annat i vår teoribildning då vi endast utgått från ett experiment utan att söka eller haft möjligheten att hitta full data om det. I ett liknande projekt så skulle vi behöva samla mer data innan vi kan göra en modell. Dessutom så skulle vi behöva finna en metod för experimentet som vi också kan använda till att verifiera modellen med. Den nuvarande verifieringen av modellen är sådan att vi jämför de outputs som vi får med den empiriska datan och försöker hitta ett logisktsamband vilket är att enheterna växer åt samma håll. Vi utgår från antagandet att den bästa approximation vi kan få är att titta på antalet cykler vid testningen som det tar för värdena att stabilisera sig över en vis aktiveringsnivå. Om vi ser till resultatet och jämför empiriska data vid intervall 0ms så får vi en kurva som matchar i den bemärkelsen att de har samma ordning. En intresant iaktagelse är att intervallet mellan presenterad stimuli och antalet träningsronder matchar förvånadsvärt bra mot varandra vilket möjligtvis kan vara ett samband. I en framtida modell skulle vi kunna undersöka den frågan. Dock så visar den empiriska datan på en nedgång för färg-enheten som vi i vår modell inte kan uppnå. De experiement vi kan göra med vår modell, förutom utbyggnad, är alla relaterade till att modifiera de lager som används. t.ex. lägga till brus för att simulera någon egenskap mellan något lager. De slutsatser vi kan dra är att det går att göra ett nät och räkna med att responstider är ett resultat av att events kommer med olika frekvens vid inlärning, vilket möjligtvis svarar mot att man vid inlärning tränat olika saker olika mycket. Teorin tyder dock på att det finns mer att göra, men som är svårt med det modelleringsverktyg vi använder, eftersom vi inte kan räkna med tidsskillnader så lätt. Det fanns också ett observerbart beteende som tyder på att intervall och antalet träningsrundor är relaterade, men det finns också data som kanske tyder på att modellen inte är så komplett. Som ett resultat av dessa två iaktagelser så blir det svårt att dra några andra slutsatser. 8. Slutsats Typisk output från modellerna efter n antal lyckade träningsrundor är: n(epoker) Färg(cykler) Namn(cykler) Assoc(cykler) 50 25 37 46 100 21 28 36 150 17 25 31............ 1000 15 16 18 2500 15 15 16 Problemet är i första versionen av modellen att få ett antal lyckade träningsrundor. Med lyckade menar vi sådana där den första rundan har rätt ordning efter träningen, vilket påverkar. De empiriskdata har följande värden efter intervall: Interval(ms) Färg(ms) Namn(ms) Assoc(ms) 0 600 700 850 500 400 500 690 1500 490 500 550
9. Appendix Figur 2. Solso and Short modell Figur 1. Solso and Short resultat Figur 3. Vårt nät Figur 4. Ett annat möjligt nät
Referenser [1] Y. M. Randall C. O Reilly. Computational Explorations in Cognitive Neuroscience. A Bradford Book., 2000. [2] R. L. Solso. Cognitive Psychology, P205-207. A Pearson Education Company, 2001.