Wat is het en wat kan je ermee ?

Reinforcement Learning

Introductie Reinforcement Learning

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 .

Hoe werkt Reinforcement learning

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.
Reinforcement Learning

Voorbeeld met spelletje Pong

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.

Reinforcement Learning met Pong

De wiskunde

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.

Toepassingen Reinforcement Learning

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

Verder praten ?




    Interesse in Artificial Intelligence ?
    Gedragsherkenning

    Gedragsherkenning

    We hebben software gemaakt voor het herkennen van gedrag.  Dit is op basis van machine learning en computer vision. Intra kan getraind worden om diverse vormen van gedrag te herkennen zoals verdacht gedrag, maar andere vormen van opmerkelijk gedrag. Dit is handig voor beveiliging, zorg en onderzoeks toepassingen.

    Prijs optimalisatie

    Prijs Optimalisatie

    Met machine learning kan je ook grote hoeveelheden data verwerken en dan kijken of er interessante verbanden of conclusies kunnen worden getrokken. Zo hebben we voor een onderneming in de bouw een virtuele makelaar gemaakt. De software geeft op basis van een locatie en wat basis kenmerken van het gebouw een betrouwbare verkoopprijs weer.

    Object detectie

    Object detectie

    We gebruiken in combinatie met machine learning vaak object detectie. Hier hebben we een aantal projecten mee gedaan, zoals bij Defensie en recent hebben we een applicatie gemaakt voor een industrieel bedrijf in de pluimvee sector dat geautomatiseerd eieren wilde laten tellen die op een transport band voorbij komen.