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

AI 101

Wat is Deep Reinforcement Learning?

mm
Bijgewerkt on

Wat is Deep Reinforcement Learning?

Naast machinaal leren zonder toezicht en leren onder toezicht, is versterkend leren een andere veel voorkomende vorm van AI-creatie. Naast regulier versterkend leren, diep versterkend leren kan tot verbazingwekkend indrukwekkende resultaten leiden, dankzij het feit dat het de beste aspecten van zowel diep leren als versterkend leren combineert. Laten we eens kijken hoe diepgaand versterkend leren precies werkt.

Voordat we dieper ingaan op leren over versterking, is het misschien een goed idee om onszelf op te frissen over hoe regelmatig versterking van leren werken. Bij bekrachtigend leren worden doelgerichte algoritmen ontworpen via een proces van vallen en opstaan, waarbij wordt geoptimaliseerd voor de actie die leidt tot het beste resultaat/de actie die de meeste "beloning" oplevert. Wanneer algoritmen voor versterkend leren worden getraind, krijgen ze "beloningen" of "straffen" die van invloed zijn op de acties die ze in de toekomst zullen ondernemen. Algoritmen proberen een reeks acties te vinden die het systeem de meeste beloning opleveren, waarbij zowel onmiddellijke als toekomstige beloningen in evenwicht worden gebracht.

Reinforcement learning-algoritmen zijn erg krachtig omdat ze op bijna elke taak kunnen worden toegepast, omdat ze flexibel en dynamisch kunnen leren van een omgeving en mogelijke acties kunnen ontdekken.

Overzicht van Deep Reinforcement Learning

Foto: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)

Als het gaat om diep versterkend leren, wordt de omgeving meestal weergegeven met afbeeldingen. Een afbeelding is een opname van de omgeving op een bepaald moment. De agent moet de beelden analyseren en er relevante informatie uit halen, waarbij hij de informatie gebruikt om te bepalen welke actie hij moet ondernemen. Diep versterkend leren wordt doorgaans uitgevoerd met een van twee verschillende technieken: op waarden gebaseerd leren en op beleid gebaseerd leren.

Op waarde gebaseerde leertechnieken maken gebruik van algoritmen en architecturen zoals convolutionele neurale netwerken en Deep-Q-netwerken. Deze algoritmen werken door de afbeelding om te zetten in grijstinten en onnodige delen van de afbeelding weg te snijden. Daarna ondergaat het beeld verschillende convoluties en pooling-operaties, waarbij de meest relevante delen van het beeld worden geëxtraheerd. De belangrijke delen van de afbeelding worden vervolgens gebruikt om de Q-waarde te berekenen voor de verschillende acties die de agent kan ondernemen. Q-waarden worden gebruikt om de beste manier van handelen voor de agent te bepalen. Nadat de initiële Q-waarden zijn berekend, wordt backpropagatie uitgevoerd om de meest nauwkeurige Q-waarden te kunnen bepalen.

Op beleid gebaseerde methoden worden gebruikt wanneer het aantal mogelijke acties dat de agent kan ondernemen extreem hoog is, wat meestal het geval is in scenario's uit de echte wereld. Situaties als deze vereisen een andere aanpak omdat het berekenen van de Q-waarden voor alle individuele acties niet pragmatisch is. Op beleid gebaseerde benaderingen werken zonder functiewaarden voor individuele acties te berekenen. In plaats daarvan nemen ze beleid aan door het beleid rechtstreeks te leren, vaak door middel van technieken die beleidsgradiënten worden genoemd.

Beleidsgradiënten werken door een toestand te ontvangen en waarschijnlijkheden voor acties te berekenen op basis van de eerdere ervaringen van de agent. Vervolgens wordt de meest waarschijnlijke actie geselecteerd. Dit proces wordt herhaald tot het einde van de evaluatieperiode en de beloningen worden aan de agent gegeven. Nadat de beloningen zijn afgehandeld met de agent, worden de parameters van het netwerk bijgewerkt met backpropagation.

Wat is Q-Learning?

Omdat Q-leren is zo'n groot deel van het diepe leerproces, laten we even de tijd nemen om echt te begrijpen hoe het Q-learning-systeem werkt.

Het Markov-beslissingsproces

Een markov-beslissingsproces. Foto: waldoalvarez via Pixabay, Pixbay-licentie (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)

Om ervoor te zorgen dat een AI-agent een reeks taken uitvoert en een doel bereikt, moet de agent in staat zijn om te gaan met een opeenvolging van toestanden en gebeurtenissen. De agent begint bij één toestand en moet een reeks acties ondernemen om een ​​eindtoestand te bereiken, en er kan een enorm aantal toestanden bestaan ​​tussen de begin- en eindtoestanden. Het opslaan van informatie over elke status is onpraktisch of onmogelijk, dus het systeem moet een manier vinden om alleen de meest relevante statusinformatie te behouden. Dit wordt bereikt door het gebruik van een Markov-beslissingsproces, die alleen de informatie over de huidige status en de vorige status bewaart. Elke status volgt een Markov-eigenschap, die bijhoudt hoe de agent verandert van de vorige status naar de huidige status.

Diep Q-leren

Zodra het model toegang heeft tot informatie over de toestand van de leeromgeving, kunnen Q-waarden worden berekend. De Q-waarden zijn de totale beloning die aan de agent wordt gegeven aan het einde van een reeks acties.

De Q-waarden worden berekend met een reeks beloningen. Er is een onmiddellijke beloning, berekend op basis van de huidige status en afhankelijk van de huidige actie. Ook wordt de Q-waarde voor de volgende toestand berekend, samen met de Q-waarde voor de toestand daarna, enzovoort, totdat alle Q-waarden voor de verschillende toestanden zijn berekend. Er is ook een Gamma-parameter die wordt gebruikt om te bepalen hoeveel gewicht toekomstige beloningen hebben op de acties van de agent. Beleid wordt meestal berekend door Q-waarden willekeurig te initialiseren en het model tijdens de training naar de optimale Q-waarden te laten convergeren.

Diepe Q-netwerken

Een van de fundamentele problemen met betrekking tot het gebruik van Q-learning voor versterkend leren is dat de hoeveelheid geheugen die nodig is om gegevens op te slaan snel toeneemt naarmate het aantal toestanden toeneemt. Deep Q Networks lossen dit probleem op door neurale netwerkmodellen te combineren met Q-waarden, waardoor een agent kan leren van ervaring en redelijke inschattingen kan maken over de beste te nemen acties. Bij deep Q-learning worden de Q-waardefuncties geschat met neurale netwerken. Het neurale netwerk neemt de status op als invoergegevens en het netwerk voert de Q-waarde uit voor alle verschillende mogelijke acties die de agent kan ondernemen.

Deep Q-learning wordt bereikt door alle ervaringen uit het verleden in het geheugen op te slaan, de maximale output voor het Q-netwerk te berekenen en vervolgens een verliesfunctie te gebruiken om het verschil tussen de huidige waarden en de theoretisch hoogst mogelijke waarden te berekenen.

Diep versterkend leren versus diep leren

Een belangrijk verschil tussen diep versterkend leren en regulier diep leren is dat in het eerste geval de invoer voortdurend verandert, wat niet het geval is bij traditioneel diep leren. Hoe kan het leermodel rekening houden met inputs en outputs die voortdurend verschuiven?

Om rekening te houden met de divergentie tussen voorspelde waarden en doelwaarden, kunnen in wezen twee neurale netwerken worden gebruikt in plaats van één. Het ene netwerk schat de streefwaarden, terwijl het andere netwerk verantwoordelijk is voor de voorspellingen. De parameters van het doelnetwerk worden bijgewerkt naarmate het model leert, nadat een gekozen aantal trainingsiteraties is verstreken. De uitgangen van de respectieve netwerken worden vervolgens samengevoegd om het verschil te bepalen.

Beleidsgestuurd leren

Beleidsmatig leren benaderingen werken anders dan op Q-waarde gebaseerde benaderingen. Terwijl Q-waardebenaderingen een waardefunctie creëren die beloningen voor toestanden en acties voorspelt, bepalen op beleid gebaseerde methoden een beleid dat toestanden aan acties koppelt. Met andere woorden, de beleidsfunctie die selecteert voor acties wordt direct geoptimaliseerd ongeacht de waardefunctie.

Beleidsgradiënten

Een beleid voor diep versterkend leren valt in twee categorieën: stochastisch of deterministisch. Een deterministisch beleid is een beleid waarbij staten worden toegewezen aan acties, wat betekent dat wanneer het beleid informatie over een status krijgt, er een actie wordt geretourneerd. Ondertussen retourneert stochastisch beleid een kansverdeling voor acties in plaats van een enkele, afzonderlijke actie.

Deterministisch beleid wordt gebruikt wanneer er geen onzekerheid bestaat over de resultaten van de acties die kunnen worden ondernomen. Met andere woorden, wanneer de omgeving zelf deterministisch is. Stochastische beleidsoutputs daarentegen zijn geschikt voor omgevingen waar de uitkomst van acties onzeker is. Doorgaans brengen leerscenario's voor versterking een zekere mate van onzekerheid met zich mee, dus wordt stochastisch beleid gebruikt.

Beleidsgradiëntbenaderingen hebben enkele voordelen ten opzichte van Q-learning-benaderingen, maar ook enkele nadelen. In termen van voordelen convergeren op beleid gebaseerde methoden sneller en betrouwbaarder naar optimale parameters. De beleidsgradiënt kan net zo lang worden gevolgd tot de beste parameters zijn bepaald, terwijl bij op waarde gebaseerde methoden kleine veranderingen in geschatte actiewaarden kunnen leiden tot grote veranderingen in acties en de bijbehorende parameters.

Beleidsgradiënten werken ook beter voor hoogdimensionale actieruimten. Wanneer er een extreem groot aantal mogelijke acties moet worden ondernomen, wordt diepe Q-learning onpraktisch omdat het een score moet toekennen aan elke mogelijke actie voor alle tijdstappen, wat rekenkundig onmogelijk kan zijn. Bij op beleid gebaseerde methoden worden de parameters echter in de loop van de tijd aangepast en neemt het aantal mogelijke beste parameters snel af naarmate het model convergeert.

Beleidsgradiënten zijn ook in staat om stochastisch beleid te implementeren, in tegenstelling tot op waarde gebaseerd beleid. Omdat stochastisch beleid een kansverdeling oplevert, hoeft er geen afweging tussen exploratie en exploitatie te worden doorgevoerd.

In termen van nadelen is het belangrijkste nadeel van beleidsgradiënten dat ze kunnen vastlopen bij het zoeken naar optimale parameters, waarbij ze zich alleen richten op een beperkte, lokale set van optimale waarden in plaats van op de globale optimale waarden.

Beleidsscorefunctie

Het beleid dat wordt gebruikt om het prestatiedoel van een model te optimaliseren om een ​​scorefunctie te maximaliseren - J(θ). Als J(θ) een maat is voor hoe goed ons beleid is om het gewenste doel te bereiken, kunnen we de waarden vinden van “θ” dat geeft ons het beste beleid. Eerst moeten we een verwachte beleidsbeloning berekenen. We schatten de beleidsbeloning in, zodat we een doel hebben, iets om naartoe te optimaliseren. De beleidsscorefunctie is hoe we de verwachte beleidsbeloning berekenen, en er zijn verschillende beleidsscorefuncties die vaak worden gebruikt, zoals: startwaarden voor episodische omgevingen, de gemiddelde waarde voor continue omgevingen en de gemiddelde beloning per tijdstap.

Beleidsgradiëntstijging

Gradient Ascent is bedoeld om de parameters te verplaatsen totdat ze op de plaats zijn waar de score het hoogst is. Foto: publiek domein (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)

Nadat de gewenste beleidsscorefunctie is gebruikt en een verwachte beleidsbeloning is berekend, kunnen we een waarde vinden voor de parameter "θ” wat de scorefunctie maximaliseert. Om de scorefunctie J(θ), een techniek genaamd "gradiënt beklimming" is gebruikt. Gradiëntstijging is qua concept vergelijkbaar met gradiëntdaling bij deep learning, maar we optimaliseren voor de steilste stijging in plaats van daling. Dit komt omdat onze score geen “fout” is, zoals bij veel diepgaande leerproblemen. Onze score is iets dat we willen maximaliseren. Een uitdrukking genaamd de Policy Gradient Theorem wordt gebruikt om de gradiënt met betrekking tot beleid te schatten “θ'.

Samenvatting van Deep Reinforcement Learning

Samenvattend combineert diep versterkend leren aspecten van versterkend leren en diepe neurale netwerken. Diep versterkend leren wordt gedaan met twee verschillende technieken: Deep Q-learning en beleidsgradiënten.

Deep Q-learning-methoden zijn bedoeld om te voorspellen welke beloningen zullen volgen op bepaalde acties die in een bepaalde staat worden ondernomen, terwijl beleidsgradiëntbenaderingen gericht zijn op het optimaliseren van de actieruimte door de acties zelf te voorspellen. Op beleid gebaseerde benaderingen van diep versterkend leren zijn deterministisch of stochastisch van aard. Deterministisch beleid wijst toestanden rechtstreeks toe aan acties, terwijl stochastisch beleid waarschijnlijkheidsverdelingen voor acties produceert.

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.