ArtificiŽle Intelligentie gebruikersgroep (AIgg)


Een lerende muis

Deze applet is nog niet af!
Het werk eraan is tijdelijk onderbroken geweest, maar onlangs hervat. De voornaamste aktiviteit is op dit moment het stroomlijnen van de programmacode. Voor het neurale netwerk gebeurt dit op de AIgg-bijeenkomsten, ter lering en vermaak van de aanwezigen. De rest van de code wordt in het geniep herzien. Voorlopig zullen de meeste wijzigingen geen verschil in werking te zien geven; wel hebben we de display wat veranderd zodat het hopelijk duidelijker is waar de diverse staafgrafieken op slaan.

Sorry, om dit programma te bekijken hebt U een browser nodig die Java v1.2.2 ondersteunt

Uitleg

Het bewegende grijze voorwerp stelt een muis voor. Deze bewoont een rechthoekige wereld (helderblauw), begrensd door muren. Deze wereld bevat twee planten, een groene en een rode. De muis vindt de groene plant lekker smaken, en de rode plant smerig. Hij moet dus leren de rode plant te vermijden en de groene op te zoeken. Daartoe is de muis uitgerust met een neuraal netwerk die een vorm van reinforcement learning realiseert.

Reinforcement learning betekent dat het netwerk niet continu getraind wordt, maar alleen wanneer het informatie ontvangt over het effekt van zijn voorafgaande bewegingen. Deze informatie wordt natuurlijk alleen ontvangen als de muis een plant raakt; we laten op zulke momenten een geluidje klinken.

Het lichtblauwe paneel rechts laat zien wat zich in de muis afspeelt. In het "camerabeeld" linksboven kijken we als het ware door de ogen van de muis. De muis ziet geen voorwerpen, maar alleen lichthoeveelheden: rood/groen, links/rechts. De gekleurde staafdiagrammen (rood en groen) naast het camerabeeld geven een "meting" van de lichthoeveelheden die door de muis worden opgevangen.

Onder het "camerabeeld" staat een schema van het neurale netwerk. Dit diagram was voor testdoeleinden door Patrick bedacht, maar het ziet er zo leuk uit dat we het er in hebben gelaten. De cirkeltjes stellen de neuronen ("zenuwcellen") voor, gerangschikt in drie lagen onder elkaar. De lichthoeveelheden die door de lichtgevoelige cellen in de ogen van de muis worden "gemeten" worden doorgegeven aan de bovenste laag, en planten zich via de getekende verbindingen (de zwarte lijntjes) naar beneden toe voort door het neurale netwerk heen. Uiteindelijk komen de signalen terecht bij de uitvoerneuronen (de onderste twee), die de besturing verzorgen.

De veranderende kleuren van de cirkeltjes geven aan hoe sterk het signaal is dat door het betreffende neuron gaat. Voor een duidelijker beeld hiervan (de kleuren maken geen onderscheid tussen positieve en negatieve signalen) is naast elke laag neuronen weer een staafdiagram (met brede, zwarte staven) opgenomen.

Tussen de staafdiagrammen met brede, zwarte staven staan staafdiagrammen met smalle zwarte staven (vertikale lijnen). Deze geven de gewichten van de verbindingen tussen de neuronen aan - zeg maar: de doorlaatbaarheid voor signalen. De eerste verbindingslaag heeft vaste gewichten; de tweede laag is de lerende laag, waarvan de verbindingssterkten aanvankelijk nul zijn, maar die na enkele tientallen "smaakervaringen" zichtbaar moeten worden, en in zo'n 20 minuten naar hun maximale sterkte toe zullen groeien. (We beseffen dat de huidige webgeneratie niet zoveel geduld heeft; jammer voor hen...)

Het resultaat van dit leerproces, een groeiende afkeer van de kleur rood en een toenemende aantrekking tot groen, moet waarneembaar zijn door het bewegingspatroon van de muis in het begin te vergelijken met zijn latere gedrag. Aanvankelijk beweegt de muis ongeveer als een spastische biljartbal (er zijn willekeurige bewegingen nodig om te kunnen leren); later zijn de bewegingen veel doelgerichter.

Excuus: We zijn er nog niet aan toegekomen een herstel-knop in te bouwen, dus de enige manier om de applet opnieuw te starten is door 'm opnieuw in uw browser te laden; en dat zou wel eens moeilijk kunnen zijn door het "cachen" dat de hedendaagse browsers doen. Sorry voor het ongemak.

Dit programma wordt ontwikkeld door Patrick Molenaar en Gerard Vriens van de HCC ArtificiŽle Intelligentie gebruikersgroep, naar een artikel en Pascal programma van Aad Hogervorst. Copyright (c) November 2003.

GV 03-11-2003


Terug naar overzicht gedane zaken.