Hieronder ziet u, naast elkaar, twee schermen getekend.
Het bewegende grijze voorwerp in het linkerscherm stelt een muis voor,
gedoemd eeuwig rond te stuiteren in zijn helderblauwe, rechthoekige,
door vier muren begrensde wereld. Deze wereld
bevat verder nog
twee planten: een lekkere groene en een vieze rode. De muis moet met
behulp van een neuraal netwerk leren de rode plant te vermijden
en de groene op te zoeken.
Het lichtblauwe monitorscherm
rechts laat zien wat zich
binnenin de muis afspeelt, en maakt het zo mogelijk het
leerproces te volgen. Verdere uitleg is te vinden onder de animatie.
De muis kan worden gezien als een learning agent: hij neemt zijn
omgeving waar m.b.v. sensors (meetinstrumenten die als zintuig
dienen); die waarnemingen sturen zijn gedrag; en dat gedrag verandert in
de loop van de tijd als gevolg van de ervaringen
die hij opdoet.
Elk oog bevat slechts twee lichtgevoelige cellen: een voor rood en een
voor groen licht. De muis heeft dus geen fotografisch beeld
van
zijn omgeving; hij ziet alleen lichthoeveelheden. Doordat de ogen iets
zijwaarts naar buiten gericht staan, kan de muis onderscheid maken
tussen links en rechts. In het camerabeeld
linksboven op het
lichtblauwe monitorscherm kijken we als het ware mee door de ogen van
de muis. De gekleurde staafdiagrammen ernaast tonen de sterkte van het
signaal dat door de sensors wordt afgegeven.
Onder het camerabeeld
staat een schema van het neurale netwerk.
De cirkeltjes stellen de neuronen (hersencellen
) voor,
de lijntjes ertussen de verbindingen waarlangs de neuronen
signalen aan elkaar doorgeven.
De neuronen zijn georganiseerd in drie lagen. De bovenste laag (de invoerneuronen) krijgt zijn signaal van de lichtsensoren; de bijbehorende (bovenste zwarte) staafdiagrammen volgen dan ook precies de fluctuaties van de rood-groene staafdiagrammen erboven. Via een laag verbindingen met vaste, vooraf ingestelde gewichten — getoond in het staafdiagram ernaast, met smalle staven (vertikale lijnen) — arriveren de signalen bij de tussenneuronen (de middelste laag). Daarbij bepalen de gewichten hoe de signalen worden doorgegeven: versterkt, verzwakt, positief of negatief.
De onderste twee neuronen zijn de uitvoerneuronen: zij sturen de muis naar links of naar rechts. Aanvankelijk ontvangen zij geen signalen van de tussenneuronen: de gewichten van die verbindingslaag zijn nul, zij moeten hun waarde krijgen in het leerproces. Om dat mogelijk te maken zitten er willekeurige fluctuaties in de activiteit van de uitvoerneuronen.
De muis leert d.m.v. reinforcement learning. Telkens wanneer
hij op de groene plant botst, werkt de lekkere smaak daarvan als
beloning; contact met de vieze rode plant werkt als
straf. Op deze leermomenten
(aangegeven met een piepje)
worden de gewichten in de onderste verbindingslaag aangepast.
Bij beloning heeft de muis blijkbaar iets goeds gedaan, dus het al
aanwezige gedrag wordt versterkt (reinforced): verbindingen
tussen neuronen die vooral tegelijkertijd actief waren worden iets
stimulerender gemaakt, en verbindingen tussen neuronen met tegengestelde
werking juist wat minder stimulerend (meer tegenwerkend). Daarentegen
duidt straf op gedrag dat vermeden moet worden, zodat eensgezinde
neuronen juist wat minder eensgezind worden gemaakt, en tegengestelde
neuronen juist iets meer gaan samenwerken.
Na verloop van tijd zien we inderdaad de lijntjes in de staafgrafieken
van de onderste verbindingslaag langzaam aangroeien. Ook verandert het
gedrag van de muis: hij stuitert steeds meer tegen de groene
plant, en de rode wordt met keurige boogjes vermeden. Dit wordt
bevestigd door de getallen rechts onderin het monitorscherm: in rood
hoe vaak de rode plant is geraakt, in groen hoe vaak de groene, en in
zwart het aantal bezoekjes aan de groene plant als percentage van het
totaal. Het verloop van dit laatste percentage is af te lezen uit de
leergrafiek
naast de getallen.
Als de muis zijn lesje goed geleerd heeft, zien de staafdiagrammen van de gewichten in de tweede verbindingslaag er zo uit:
Figuur 1: Correct geleerde gewichten
Maar soms wordt hij op het verkeerde been gezet, en leert hij een van de volgende configuraties:
Figuur 2: Foutief geleerde gewichten
In dat geval blijven de vier staafdiagrammen aan de rechterkant ook na geruime leertijd ongeveer nul, zodat er niet wordt gereageerd op de signalen van de rode lichtsensors; we zien dan ook dat de muis regelmatig de rode plant blijft raken.
Om deze verschillende leerpaden
met elkaar te vergelijken, kan
de muis met een schone lei
worden herstart door deze pagina
opnieuw in uw webbrowser te laden — meestal met de
F5
-toets, of door het reload-symbool
in uw browserwindow aan te klikken c.q. tikken.
Aad Hogervorst van de HCC Artificiële Intelligentie interessegroep bedacht deze muis in de vorm van een Pascal-programma; hij schreef wat later een toelichtend artikel in Kennisgeving (1991, nr. 2), indertijd het tijdschrift van HCC-AI. Om de muis op de website van de AI-interessegroep te kunnen tonen, maakten Patrick Molenaar en Gerard Vriens er een Java-versie van; daarbij is het monitorscherm, dat bij Aad alleen staafdiagrammen bevatte, uitgebreid met het neurale-netwerkdiagram (naar een idee van Patrick) en hetcamerabeeld. Omdat later Java door de meeste webbrowsers niet meer werd ondersteund maakte ik deze JavaScript-versie, waarin de statistieken onderaan het monitorscherm zijn toegevoegd.
© GV 17-01-2024
Terug naar leesmij.txt
.