|
mei 2000
Eindopdracht C: Leren is Kohonen Repareren
A. Het serial lesion effect
Medici was het al lang geleden opgevallen dat een langzame beschadiging aan de hersenen minder effect heeft op gedrag dan een snelle beschadiging – zelfs als de langzame beschadiging uiteindelijk resulteerde in een net zo grote schade. Een goed voorbeeld hiervan is de groei van een hersentumor: pas als de tumor een enorme omvang heeft bereikt en veel weefsel heeft vernietigd, begint de patiënt klachten te ontwikkelen. Dit effect is vertaald naar een experimentele opzet, waarbij snelle en langzame laesies bij dieren worden vergeleken. De snelle beschadiging wordt gerepresenteerd door één grote laesie, de langzame door een serie van kleine laesies. Vandaar de naam ‘Serial Lesion Effect’. Voor de vergelijkbaarheid moeten de kleine beschadigingen samen natuurlijk wel evenveel hersenweefsel omvatten als de ene grote laesie.
Het Serial Lesion Effect is in verschillende hersengebieden voor verschillende dieren gevonden. Bijvoorbeeld bij de rat in de somatosensorische cortex, hippocampus, reticulaire formatie, frontale cortex en amygdala, en bij delen van de visuele cortex, somatosensorische cortex van de aap. Van verschillende variabelen is bekend dat ze het Serial Lesion Effect beïnvloeden. Dit zijn leeftijd (hoe jonger hoe groter het effect; , tijd tussen de verschillende laesies (hoe langer de tussenperiode, hoe groter effect; , de hoeveelheid van sensorische stimulatie waar een subject aan is blootgesteld gedurende de tijd tussen de laesies -hieronder valt ook training , het type hersendeel , temperatuur (proefdieren met seriële laesie presteren slechter onder koude omstandigheden; Bell et al., 1981) en de volgorde van beschadiging van de verschillende hersendelen .
Er zijn verschillende verklaringen voor het Serial Lesion effect. Twee prominente zijn de ‘reduced deficit’- en ‘serial recovery’-hypothese. De eerste houdt in dat de eerste kleine laesie de hersenen al voorbereidt op een volgende laesie, ongeveer zoals een inenting voorbereid tegen bijvoorbeeld een virusinfectie. De virussen in de prik zijn dood of kreupel en maken je niet ziek, maar ze bereiden het immuunsysteem wel voor op het echte virus. Volgens de reduced-deficit hypothese zal een tweede laesie daarom minder effect hebben op gedrag dan een eerste laesie. De tweede verklaring legt de nadruk op herstel dat plaatsvindt tussen de verschillende laesies, waarbij herstel makkelijker wordt geacht als de laesies kleiner zijn.
Bepaalde hemisferische lesies, waarbij een regio in één van beide hemisfeer wordt beschadigd en niet in de ander, hebben onafhankelijke contralaterale effecten (bij een unilaterale laesie in de motorische cortex valt bijvoorbeeld een deel van de spieren aan de andere kant van het lichaam uit). Als nu eerst een regio in de ene hemisfeer wordt beschadigd, en na enige tijd dezelfde regio in de andere hemisfeer, blijken de gevolgen van beide laesies aanvankelijk even ernstig te zijn. Na een gegeven periode verminderen de effecten van beide laesies echter . De reduced deficit hypothese voorspelt dat een tweede laesie, in vergelijking met de eerste laesie, minder grote gevolgen zou hebben, en is dus inconsistent met dit resultaat. Het resultaat is niet inconsistent met de andere verklaring; dat er pas na enige tijd herstel optrad, duidt net op die serial-recovery hypothese.
We zullen er verder vanuit gaan dat de serial recovery hypothese de juiste is. Wat dan interessant wordt, is uit te zoeken wat voor mechanismen tijdens de tijd tussen de operaties ten grondslag liggen aan herstel.
B. Voorgesteld mechanisme
Leren is repareren
Wat zou dat herstel tussen twee operaties kunnen veroorzaken waar de ‘serial recovery’-hypothese van uit gaat? Stel, voor het gemak, dat het gedrag dat getest wordt afhangt van 1 bepaalde representatie (of 1 conglomeraat van representaties). Bij een grote laesie is die representatie geheel verloren, en dat is waarom het dier niet meer de taak kan volbrengen. Als we twee kleine laesies maken die samen even groot zijn als de grote laesie, zou de hele representatie ook weg moeten zijn. Toch kan het dier het gedrag nog vertonen. Kennelijk gebeurt er iets tussen de twee kleine laesies, herleren, reorganisatie, dat ervoor zorgt dat de representatie niet helemaal verdwenen is. De representatie moet gedeeltelijk verhuisd zijn naar een niet geledeerd deel van de cortex.
Hoe gebeurt dat ‘verhuizen’? De vaakst genoemde verklaring is dat representaties continu herleerd worden – en is de oude plek niet meer aanwezig dan worden ze herleerd in een ander deel van de cortex . Het herleren veroorzaakt, in zo’n geval, het repareren van de representatie (‘leren is repareren’ is zelfs de slogan van een AiO-project aan deze faculteit). De representatie kan herleerd worden omdat het organisme opnieuw blootgesteld wordt aan de situatie waar de oorspronkelijke representatie in ontstond, of weer het gedrag vertoont dat in de representatie gecodeerd was. In dat geval kunnen we spreken van training. Het kan ook dat het herleren gebeurt vanuit het brein zelf: dat het brein zelf de representatie activeert, en gedurende deze reactivatie de representatie herleerd wordt. In dat geval wordt meestal gesproken van consolidatie. Consolidatie wordt meestal geassocieerd met slaap: vaak wordt gehypothetiseerd dat herinneringen in slow-wave-sleep of gedurende droomslaap gereactiveerd worden, en dan geleerd.
Knopen vs. verbindingen
Je kunt in een netwerk knopen lederen, en je kunt verbindingen lederen. Het herleren van patronen, boven beschreven en cruciaal voor het verklaren van het serial-lesioneffect, betekent verschillende dingen afhankelijk van of knopen dan wel verbindingen geledeerd worden.
Bij de laesie van verbindingen is het makkelijk wat telt als het herleren van het patroon: dit betekent het herstellen van verbindingen tussen knopen binnen het patroon.
Het ligt moeilijker bij de laesie van knopen. Knopen laten ‘herontstaan’ gaat in tegen het biologisch gegeven dat neuronen in volwassenen maar heel beperkt aangroeien, en als er al nieuwe knopen zouden ontstaan, dan nog zouden ze niet resurrecties zijn van de oude, geledeerde knopen. Daarom bestaat het herleren van een representatie uit het recruteren door de representatie van nieuwe knopen. Als die nieuwe knopen verbonden raken met dezelfde input-en outputpatronen als de oude representatie, is er niets tegen om deze nieuwe knopen te beschouwen als deel van de representatie. Het recruteren bestaat er dus uit dat de nieuwe, te recruteren knopen actief zijn tegelijk met de representatie en zijn input- en outputpatronen. Zo kunnen verbindingen ontstaan tussen de nieuwe knopen en de representatie en, nog belangrijker, tussen de nieuwe knopen en de input- en outputpatronen.
Trainen vs. consolideren
Net werd er al gezegd dat het leren wat repareren veroorzaakt twee dingen kan betekenen: trainen of consolideren. Trainen is leren zoals dat meestal gebeurt in connectionistische netwerken: je zet het gewenste patroon in het netwerk (door knopen in het patroon actief te maken), en je past de gewichten aan het patroon aan. Zo gebeurt ook het ‘initieel leren’, het aan het begin van de simulatie leren van de patronen; initieel leren is dus gewoon het eerste trainen.
Consolidatie is ingewikkelder: de bedoeling bij consolideren is dat het netwerk zelf het patroon genereert dat geleerd moet worden. Meestal wordt in het netwerk een willekeurig patroon ingebracht. Vervolgens mag het netwerk een aantal iteraties lang vrij itereren (activatie updaten). Na de ‘vrije’ iteraties wordt het patroon dat dan actief is geleerd . De hoop is dat het netwerk zich ondertussen naar een attractor toe heeft bewogen, en dat die attractor één van de geleerde patronen is. Met andere woorden, dat één van de bestaande patronen extra geleerd wordt zonder dat inmenging van buitenaf nodig is.
D. Opdracht
Het netwerk dat je moet gebruiken
Voor de eindopdracht moet je een Kohonen-netwerk gebruiken zoals je dat ook in opdracht 4 hebt gebruikt, bestaande uit een inputlaag en een Kohonenlaag.
De simulaties die je moet doen
De simulaties moeten uit de volgende vier fases bestaan:
- de fase van het aanmaken van het netwerk: zorg dat je een netwerk aanmaakt in overeenstemming met de aanwijzingen hierboven.
- de fase van het initieel leren: in deze fase wordt het model inputpatronen aangeleerd en de map gevormd
- de fase van de lesies en het herleren: in deze fase worden 1 of meerdere lesies aangebracht, en zijn er tussen de lesies en na de lesies ‘herleertrials’ waarin het model de patronen opnieuw kan leren.
- de testfase: alle patronen worden getest (je kunt ook na elke lesie testen, maar in ieder geval moet je de patronen aan het eind van de simulatie testen).
Het verschil tussen consolideren en trainen heeft in het Kohonen-netwerk weinig zin, aangezien er maar 1 soort leren mogelijk is. Wel zinnig is het onderscheid tussen het lederen van verbindingen en het lederen van knopen – voor beiden dien je vast te stellen of er een serial-lesioneffect is. Een tweede variabele die je moet onderzoeken is de ‘leeftijd’ waarop de eerste lesie wordt gemaakt: is dat als de map al helemaal gevormd is, of is dat als de map nog maar in zijn beginstadium is?
In totaal moet je minstens acht simulaties uitvoeren:
- na een heel aantal leertrials, genoeg om de map te formeren, een grote verbindingenlesie
- na een heel aantal leertrials, genoeg om de map te formeren, een grote verbindingenlesie
- na een klein aantal leertrials, waarna de map nog maar half af is, een grote verbindingenlesie
- na een klein aantal leertrials, waarna de map nog maar half af is, een grote verbindingenlesie
®
De vorige 4, maar nu met knopenlesies.
Om de simulaties vergelijkbaar te houden moeten er in totaal evenveel leertrials zijn in alle condities. De lesies ‘vroeg’ in de ontwikkeling gemaakt worden moeten dus gevolgd worden door meer herleertrials dan de lesies die ‘laat’ in de ontwikkeling van de map gemaakt worden.
Met de 8 simulaties moet je zowel voor knopen- als gewichtenlesies de volgende vragen kunnen beantwoorden:
1. Is er sprake van een serieel-lesie-effect zo dat 1 enkele grote lesie een zwaarder effect heeft dan een aantal kleine lesies die samen even veel hersenmateriaal omvatten?
2. Maakt het, voor de uiteindelijke toestand van de map, iets uit of de lesies ‘vroeg’ of ‘laat’ in de ontwikkeling van de map plaatsvinden?
De macro die je moet schrijven
Omdat dit de eindopdracht is moet je nu de macro geheel zelf schrijven. Het enige wat wij leveren is een frame dat de workspace opent. Verder staan er, als voorbeeld, de aanroepen voor de diverse subprocedures die we voor jullie geschreven hebben. Die subroutines zijn de trainroutine en testroutines die ook al in opdracht 4 zaten, en verder twee lesieroutines, waarvan eentje verbindingen ledeert en eentje knopen.
- In de verbindingenledeerroutine wordt het gewicht van een aantal willekeurige verbindingen gelijk gezet aan 0 (waarna de verbinding ‘verbroken’ is). De aanroep van de subroutine is als volgt:
LesionConnections workspace.tracts(kohonenLyr, inputLyr), nrConnectLesion
waarbij ‘workspace.tracts(kohonenLyr, inputLyr)’ de ‘tract’ (bundel verbindingen) is waarin verbindingen verbroken worden, en ‘nrConnectLesion’ het aantal verbindingen dat verbroken wordt. Er worden echter niet echt een ‘nrConnectLesion’ aantal verbindingen verbroken: de subprocedure controleert niet of dezelfde verbinding 2 keer verbroken wordt of niet. Vooral als je grote aantallen verbindingen ledeert zal het vaak voorkomen dat je eenzelfde verbinding twee keer te pakken hebt, en zullen er dus in totaal een stuk minder dan het door jou opgegeven aantal verbindingen verbroken wordt. Dit is nodig om te garanderen dat er na twee kleine lesies waarin 500 gewichten worden geledeerd, gemiddeld even veel gewichten kapot zullen zijn als na één lesie van 1000 gewichten (deze methode introduceert overigens weer een andere oneerlijkheid, die je je na enig denken wel zult realiseren).
- De knoopledeerroutine werkt anders dan in opdracht 4. Hier wordt geen vierkant geledeerd, maar een gedeelte van eerst de bovenste helft van de Kohonenlaag, daarna van de onderste helft van de Kohonenlaag. Als argument geef je het aantal knopen mee dat geledeerd moet worden. Dat wordt eerst afgerond, vervolgens gaat hij kijken hoeveel van de bovenste helft geledeerd moet worden. Als een aantal knopen groter dan de helft van de laag geledeerd moet worden, ledeert hij eerst de gehele bovenste helft, en vervolgens een deel van de onderste helft. Check een aantal waardes voor het aantal te lederen knopen om te zien hoe dit werkt. De aanroep van de subroutine is als volgt:
LesionNodes kohonenLayer, nrNodesLesioned
waarbij kohonenLayer the laag is waaruit knopen geledeerd moeten worden, en nrNodesLesioned het aantal knopen dan moet vallen.
De aanroepen voor de subroutines moet je op de juiste plaats zetten, vergezeld van de juiste argumenten. Het spreekt voor zich dat je voor het schrijven van het script veel uit opdracht 4 kunt kopieren (daarom worden er 8 simulaties gevraagd). Als je klem komt te zitten of er dingen onduidelijk zijn, schroom niet ons te mailen.
Over de grootte van de lesies moet je zelf beslissen.
Wat je moet inleveren
Ten eerste willen we graag de excel-file ontvangen met daarin de code voor de simulaties. Verder dien je een verslagje (3-4 A4) in te leveren met in ieder geval het volgende:
- een inleiding met in je eigen woorden wat je gaat doen en waarom, en verantwoording voor eventuele keuzes die je gemaakt hebt.
- een methode-sectie: een beschrijving van alle simulaties, met wat je precies hebt gedaan.
- een resultaten-sectie: een beschrijving van de resultaten van de simulaties, met een gepaste figuur.
- een discussie-sectie, met je conclusies en een kritische bespreking van je werk.
!!!!! DEADLINE: VOOR 14 JULI 2000 MOET HET INGELEVERD ZIJN !!!!!
Literatuur
|