Courses  

20 juni 2000

Door onze onvermoeibare stagiair zijn twee fouten ontdekt in de backprop-opdracht. Een eerste heeft te maken met het lederen van gewichten. In de regels die bepalen welk gewicht geledeerd moet worden blijken twee rekenoperaties omgedraaid te zijn. I.p.v.

toNode = lesionWeightArray(lesionWeightNr) Mod nrSendNodes
fromNode = lesionWeightArray(lesionWeightNr) \ nrSendNodes

moet het zijn:

toNode = lesionWeightArray(lesionWeightNr) \ nrSendNodes
fromNode = lesionWeightArray(lesionWeightNr) Mod nrSendNodes

Dus de 'Mod' (rest) en '\' (delen-zonder-rest) operaties zijn omgedraaid.

 

Verder zit er een fout in de testroutine. De "TSE", total squared error, wordt enkel uitgerekend in de 'downsweep', de leersweep. Helaas was ik dat vergeten, en heb ik in de testroutine enkel 'upsweep' gebruikt. Daarom moet in de 'Test'-procedure

workspace.upsweep

Vervangen worden door:

workspace.sweep

Je moet dan echter wel zorgen dat er niet geleerd wordt. Zet daarom de leerconstante op 0. Zet hiervoor net boven het begin van de For...next-loop (dus op de tweede regel van de test-subprocedure:

workspace.Eta = 0

Aan het eind van de testprocedure moet je de leerconstante wel weer op z'n normale waarde zetten. Dit doe je door de volgende regel aan het eind van de subprocedure toe te voegen:

workspace.Eta = muLearn

Martijn


University of AmsterdamUniversity of Amsterdam
Department of Psychology
Page last modified: 2001-12-12. Validate html.
Copyright © 2000-2007 neuroMod Group. Send us Feedback!