Reinforcement Learning (RL) is een bijzonder interessante vorm van Machine Learning, die het verdiend om uitgelegd te worden.
Het is ook een minder vaak toegepaste vorm, enerzijds omdat deze pas recent is uitgewerkt en ook niet altijd toepasbaar is. Maar hierover later meer.
Bij supervised learning geeft de mens vooraf aan waar hij op zoek naar is. Bijvoorbeeld door vele foto’s met honden en katten te annoteren. Dus foto met hond krijgt een label hond en een foto met een kat, het label kat. Als er voldoende referentie materiaal is, kan je met machine learning modellen een computer foto’s laten herkennen met honden en katten.
Reinforcement Learning is bedoeld om te bepalen in een omgeving wat de beste volgende actie is (next best action). Dat is met name handig voor robots, autonome voertuigen en spelletjes spelen. Maar ook om simulaties te maken en hieruit de beste strategie te bepalen. Dit kan dus voor beleid maken tot wetenschappelijk onderzoek worden toegepast .
In de basis werkt Reinforcement Learning door te belonen en te straffen. De afbeelding hieronder geeft weer hoe dat werkt. De agent doet een actie die zijn omgeving beïnvloedt. Daarop reageert de omgeving en geeft de Reward waarde terug. Een negatieve reward waarde zijn dan eigenlijk strafpunten. Afhankelijk van de reward waarde veranderd het neurale netwerk door de parameters te beïnvloeden en daarmee het resultaat een klein beetje te verbeteren. Maar alleen voor die specifieke situatie, want het kan best negatief zijn voor een andere situatie. Door op deze manier miljoenen situaties na te spelen wordt het netwerk steeds beter en dus ook de acties die het systeem kiest. Op die manier kun je een computer in enkele dagen trainen tot wereldkampioen schaken of Go (door Alhpago)
Nadelen:
- Reinforcement learning heeft niet de voorkeur voor het oplossen van eenvoudige problemen.
- De vloek van “real world” voorbeelden. Zo zijn robots vaak erg duur, en om dergelijke hardware met vallen en opstaan iets te leren is daarmee ook duur, want de robot zal regelmatig stuk gaan.
- Multi Tasking. Het leren moet per taak gebeuren, omdat de status van het geleerde anders niet goed kan worden vastgelegd. Dat kost dus veel tijd.
Het is wellicht goed uit te leggen hoe Reinforcement werkt aan de hand van het spelletje pong. Dit is een spel met twee spelers en een balletje die je in de goal van de ander moet zijn te krijgen (zie afbeelding). In elektronische vorm kan de keeper omhoog of omlaag bewegen. Je kan een computer het spel leren door supervised learning toe te passen, zodat hij leert aan de hand van de beelden wat de keeper moet doen. Maar hierdoor wordt de computer nooit beter dan de speler die het voorbeeld heeft gegeven. Dit omdat niet alle situaties worden meegenomen en er geen vooruitgang ontstaat omdat hij daarvoor zelf op zoek zou moeten gaan naar betere strategieën.
Daar zit dus precies het verschil. Dat kan met reinforced learning wel. Het neural network aan de rechter zijde wordt geoptimaliseerd aan de hand van de positie van de bal. Of op basis van de actie van de tegenstander of beide. Daarna past het model de (begin)waardes van de input aan om op die manier een betere uitkomst te verkrijgen. Feitelijk wordt de uitkomst of de keeper nou omhoog of omlaag had moeten bewegen om te scoren of geen tegengoal te krijgen.
De algoritmes achter reinforcement learning komen van de Russische wiskundig Andrej Andrejevitsj Markov die de basis voor het naar hem vernoemde Markov Decision process heeft uitgewerkt. We gaan hier niet uitleggen hoe dat precies werkt. Wat belangrijk is te weten dat zijn werk in de jaren 50 van de vorige eeuw de basis hebben gelegd voor de computer wereldkampioenen van vandaag.
Hoe indrukwekkend reinforcement learning ook is. Het is niet altijd toepasbaar, meestal niet zelfs. Maar het heeft zeker een aantal gebieden die daarmee een flinke stap voorwaarts kunnen zetten.
Een aantal toepassingen van Reinforcement Learning:
- Robotica, met RF modellen kan een robot beter in een dynamische omgeving zich gaan bewegen, wat tot op heden vrijwel onmogelijk was. We moesten robots altijd precies vertellen wat ze moesten doen en wanneer.
- Gaming. Hier is het dus beroemd mee geworden. De eerste schaakcomputer die een mens versloeg deed dit nog zonder artificial intelligence, maar met brute computerkracht te gebruiken. Door eigenlijk alle mogelijke zetten vooraf te berekenen en de mogelijke winst bij die zet. Met reinforcement learning is het mogelijk om complexere spellen met veel meer opties door computers te laten winnen.
- Simulaties. Dat kan bijvoorbeeld beleid zijn. Als je een wiskundig model hebt en je wilt het optimum berekenen door te variëren met allerlei parameters.
- Niews en personaliseren van content. Hierbij wordt klikken en terugkomen gezien als succes. Falen is als niets van de getoonde content de moeite waard is.
- Zelfrijdende auto’s. Hoewel dit technisch gezien robots zijn, wil ik hem apart noemen vanwege de grote impact die dit gaat hebben op de maatschappij zoals we hem kennen.
- Evolutie. In feite is evolutie niet meer dan een reinforcement learning algoritme. Deze toepassing krijg je er gratis bij van de natuur.
Meer weten ? Klik op de links om meer te leren over artificial intelligence, deep learning , computer vision , machine learning of de toepassingen