AI in 50.000 Gates?

Thursday, March 02, 2006

Na een bespreking met mijn professor heeft hij mij als opdracht gegeven te onderzoeken of het mogelijk is om een Reinforcement-Learning algoritme te implementeren in een nieuw mini-FPGA bordje. Ook hadden ze nog een klein autootje liggen om als basis te gebruiken en andere sensoren. Dus in feite gaat het een compleet nieuw robotje worden! Nu is het leuk dat het FPGA bordje(het brein van de robot) zo compact is maar er kan ook echt minder in. Hij heeft maar 50.000 Logic Gates in plaats van de 200.000 die de vorige heeft!


Gelukkig weten wij allemaal dat het volume van de hersenen geen verband houdt met de intelligentie. Echter, aan mij de taak om dat robotje zijn 'hersenen' zo vorm te geven dat hij in staat is informatie van zijn sensoren te verwerken, actie te ondernemen in de vorm van sturen enja als moeilijkst van allemaal: te zorgen dat hij de 'waarschijnlijke' gevolgen van reeksen van acties leert en als gevolg van deze ervaringen de beste reeksen van acties bij zijn waarnemingen kiest om een 'bepaald doel' te bereiken. En dat allemaal met maar 50.000Gates!! Het wordt zeker lastig om dit te realiseren en waarschijnlijk zal ik gebruik moeten maken van function approximation door middel van van gesimuleerde neuronen om ruimte te besparen. Dat klinkt heel gaaf maar het maakt het mij alleen maar moeilijker om het geheel in 1 keer werkend te krijgen. Ik vind het wel echt een uitdaging om een geavanceerd algoritme in zo'n klein chippie te proppen.

Het 'doel' van het robotje wordt voorlopig: rij niet tegen de muur en blijf zo ver mogelijk van muren vandaan! Het algoritme moet de robot in staat stellen om gedrag aan te leren dat dit doel zo goed mogelijk benaderd. Werkt het algoritme eenmaal, dan zou enkel het veranderen van het doel voldoende moeten zijn om de robot een geheel nieuw gedrag aan te leren. Je kan het doel veranderen door 'reward' en 'punishment' anders te specificeren. De robot robot zal dan de reeksen acties bij zijn waarnemingen weten te vinden die zijn reward maximaliseren.



Ik ben verantwoordelijk voor het ontwerp, de programmering en de simulatie van de robot. Echter de motorcontroller is echt electro en dat gaat een japanner klussen.(Ik zit hier in feite op de electrotechniek en informatica faculteit) De sensoren zijn dit keer infrarood en hij krijgt drie van die oogjes mee om zijn omgeving te kunnen herkennen. waar die oogjes op de robot komen en welke richting ze opkijken staat allemaal nog ter discussie. Ook krijgt hij waarschijnlijk voelsprieten die contact maken als hij daadwerkelijk tegen een muur aan is gereden. Zodoende kan hij een 'pijn' impuls(punishment) krijgen en leren met behulp van zijn infrarode oogjes van de muren vandaan te blijven.

Ik hoop dat deze enorm interessante opdracht gaat lukken. Voordat het zo ver is zal ik nog veeel moeten leren over Reinforcement-learning, programmeren en simuleren in matlab, function approximation en programmeren in VHDL :-S

Wish me luck!!
Anonymous Anonymous :

Hallo Sneeuwbeer,ik wens je inderdaad veel geluk met je nieuwe opdracht. Lijkt mij onmogelijk moeilijk, maar gelukkig hoef ik dit soort dingen niet meer te doen en klink jij hoop;vol genoeg, dus denk ik dat je wel weet waarmee je bezig bent. Als het je lukt vind ik het wel knap van je, maar eerst maar aan de slag. Mocht je helemaal wanho;pig worden, dan heb je altijd Reinoud nog om te vragen of hij je een tip kan geven.
Eiso is hier gisteren aangekomen in Verbiers. Helaas wat vertraging met het vliegtuig, zodat het al te laat was om gisteren al de berg op te gaan. Hij heeft zich hier geinstalleerd, jouw blog met veel plezier gelezen en lekker gegeten.
Vanochtend vroeg zijn pap en Eiso vertrokken. Helaas is het zonnetje weer weg en is het weer gaan sneeuwen. Het is hier ook kouder dan vorige jaren, maar ik denk dat ze lekker genieten met z'n twee. Overmorgen gaan we weer allemaal naar huis en zit de vakantie er weer op. Eiso was er wel aan toe zei hij.
Lief het allerbeste en veel succes
mam

Post a Comment

<< Neh, laat toch maar niet zien.