stomp Wat is versterkend leren? - Verenig AI
Verbind je met ons

AI 101

Wat is versterkend leren?

mm
Bijgewerkt on

Wat is versterkend leren?

Simpel gezegd is versterkend leren een machinale leertechniek waarbij een kunstmatige intelligentie-agent wordt getraind door de herhaling van acties en de bijbehorende beloningen. Een versterkend leermiddel experimenteert in een omgeving, onderneemt acties en wordt beloond wanneer de juiste acties worden ondernomen. Na verloop van tijd, de agent leert de acties te ondernemen die de beloning maximaliseren. Dat is een snelle definitie van versterkend leren, maar als je de concepten achter versterkend leren nader bekijkt, kun je er een beter, meer intuïtief begrip van krijgen.

De term "versterkingsleren" is overgenomen van het concept van versterking in de psychologie. Laten we daarom even de tijd nemen om het psychologische concept van versterking te begrijpen. In psychologische zin verwijst de term versterking naar iets dat de waarschijnlijkheid vergroot dat een bepaalde reactie/actie zal plaatsvinden. Dit concept van versterking is een centraal idee van de theorie van operante conditionering, oorspronkelijk voorgesteld door de psycholoog BF Skinner. In deze context is versterking alles dat ervoor zorgt dat de frequentie van een bepaald gedrag toeneemt. Als we nadenken over mogelijke versterking voor mensen, kunnen dit dingen zijn als lof, loonsverhoging op het werk, snoep en leuke activiteiten.

In de traditionele, psychologische zin zijn er twee soorten versterking. Er is positieve bekrachtiging en negatieve bekrachtiging. Positieve bekrachtiging is de toevoeging van iets om gedrag te stimuleren, zoals je hond iets lekkers geven als hij zich goed gedraagt. Negatieve bekrachtiging omvat het verwijderen van een prikkel om gedrag uit te lokken, zoals het uitschakelen van harde geluiden om een ​​schichtige kat over te halen.

Positieve en negatieve versterking

Positieve bekrachtiging verhoogt de frequentie van een gedrag, terwijl negatieve bekrachtiging de frequentie verlaagt. Over het algemeen is positieve bekrachtiging het meest voorkomende type bekrachtiging dat wordt gebruikt bij leren met bekrachtiging, omdat het modellen helpt de prestaties van een bepaalde taak te maximaliseren. Niet alleen dat, maar positieve bekrachtiging leidt ertoe dat het model meer duurzame veranderingen aanbrengt, veranderingen die consistente patronen kunnen worden en lange tijd aanhouden.

Hoewel negatieve bekrachtiging er daarentegen ook voor zorgt dat gedrag waarschijnlijker wordt, wordt het gebruikt om een ​​minimale prestatiestandaard te handhaven in plaats van de maximale prestatie van een model te bereiken. Negatieve bekrachtiging bij leren met bekrachtiging kan ervoor zorgen dat een model weggehouden wordt van ongewenste acties, maar het kan een model er niet echt toe brengen gewenste acties te onderzoeken.

Een versterkingsagent trainen

Wanneer een leermiddel voor versterking wordt getraind, er zijn vier verschillende ingrediënten or staten gebruikt in de training: begintoestanden (toestand 0), nieuwe toestand (toestand 1), acties en beloningen.

Stel je voor dat we een versterkingsagent trainen om een ​​platformvideogame te spelen waarbij het doel van de AI is om het einde van het level te halen door over het scherm te bewegen. De begintoestand van het spel wordt uit de omgeving gehaald, wat betekent dat het eerste frame van het spel wordt geanalyseerd en aan het model wordt gegeven. Op basis van deze informatie moet het model beslissen over een actie.

Tijdens de eerste trainingsfasen zijn deze acties willekeurig, maar naarmate het model wordt versterkt, zullen bepaalde acties vaker voorkomen. Nadat de actie is uitgevoerd, wordt de omgeving van het spel bijgewerkt en wordt een nieuwe staat of frame gemaakt. Als de actie van de agent een gewenst resultaat heeft opgeleverd, laten we in dit geval zeggen dat de agent nog in leven is en niet door een vijand is geraakt, wordt er een beloning aan de agent gegeven en wordt de kans groter dat hij hetzelfde doet in de toekomst.

Dit basissysteem is constant in een lus, gebeurt keer op keer, en elke keer probeert de agent iets meer te leren en zijn beloning te maximaliseren.

Episodische versus doorlopende taken

Reinforcement learning-taken kunnen doorgaans in twee verschillende categorieën worden geplaatst: episodische taken en doorlopende taken.

Episodische taken zullen de leer-/trainingslus uitvoeren en hun prestaties verbeteren totdat aan een aantal eindcriteria is voldaan en de training wordt beëindigd. In een spel kan dit het einde van het level zijn of in een gevaar zoals spikes vallen. Voortdurende taken hebben daarentegen geen beëindigingscriteria, in wezen blijven ze voor altijd trainen totdat de ingenieur ervoor kiest om de training te beëindigen.

Monte Carlo versus tijdelijk verschil

Er zijn twee primaire manieren om een ​​leermiddel voor versterking te leren of te trainen. In de Monte Carlo-benadering, beloningen worden pas aan het einde van de trainingsaflevering aan de agent geleverd (de score wordt bijgewerkt). Met andere woorden, alleen wanneer de beëindigingsvoorwaarde is bereikt, leert het model hoe goed het heeft gepresteerd. Het kan deze informatie vervolgens gebruiken om bij te werken en wanneer de volgende trainingsronde wordt gestart, zal het reageren in overeenstemming met de nieuwe informatie.

De temporele-verschil methode verschilt van de Monte Carlo-methode doordat de waardeschatting of de scoreschatting in de loop van de trainingsaflevering wordt bijgewerkt. Zodra het model doorgaat naar de volgende tijdstap, worden de waarden bijgewerkt.

Exploratie versus exploitatie

Het trainen van een versterkende leeragent is een evenwichtsoefening, waarbij twee verschillende maatstaven in evenwicht moeten worden gebracht: exploratie en exploitatie.

Verkenning is het verzamelen van meer informatie over de omgeving, terwijl verkenning de reeds bekende informatie over de omgeving gebruikt om beloningspunten te verdienen. Als een agent alleen de omgeving verkent en nooit exploiteert, zullen de gewenste acties nooit worden uitgevoerd. Aan de andere kant, als de agent alleen uitbuit en nooit onderzoekt, leert de agent slechts één actie uit te voeren en ontdekt hij geen andere mogelijke strategieën om beloningen te verdienen. Daarom is het balanceren van exploratie en exploitatie van cruciaal belang bij het creëren van een versterkend leermiddel.

Gebruik cases voor versterkend leren

Reinforcement learning kan in een breed scala van rollen worden gebruikt en is het meest geschikt voor toepassingen waarbij taken geautomatiseerd moeten worden.

Automatisering van taken die door industriële robots moeten worden uitgevoerd, is een gebied waarop leren met versterking nuttig is. Versterkend leren kan ook worden gebruikt voor problemen zoals tekstmining, waarbij modellen worden gemaakt die lange stukken tekst kunnen samenvatten. Onderzoekers experimenteren ook met het gebruik van versterkingsleren in de gezondheidszorg, waarbij versterkingsagenten taken uitvoeren zoals het optimaliseren van behandelbeleid. Versterkend leren kan ook worden gebruikt om educatief materiaal voor studenten aan te passen.

Samenvatting van Reinforcement Learning

Reinforcement learning is een krachtige methode om AI-agenten te construeren die tot indrukwekkende en soms verrassende resultaten kan leiden. Het trainen van een agent door middel van leerversterking kan complex en moeilijk zijn, omdat er veel trainingsiteraties voor nodig zijn en een delicaat evenwicht tussen de dichotomie verkennen/exploiteren. Als dit echter lukt, kan een agent die is gemaakt met Reinforcement Learning complexe taken uitvoeren in een grote verscheidenheid aan verschillende omgevingen.

Blogger en programmeur met specialiteiten in Machine leren en Diepe leren onderwerpen. Daniel hoopt anderen te helpen de kracht van AI te gebruiken voor maatschappelijk welzijn.