Value Functies en Leermethoden

De kernvraag in reinforcement learning is: “Hoe goed is deze situatie, en wat moet ik nu doen?”. Agents beantwoorden dit met value functies—wiskundige schattingen van hoe gunstig states of acties op de lange termijn zullen zijn.

Net zoals een schaakmeester intuïtief voelt of een positie goed is, leren agents door ervaring welke situaties en acties waarschijnlijk tot hoge beloningen leiden. Dit is niet vanzelfsprekend; value functies moeten opgebouwd worden via trial-and-error en wiskundige modellering.

Door deze voorspellingen vast te leggen, vormen value functies de basis voor besluitvorming in reinforcement learning. Let op, in dit hoofdstuk gaan we wat verder de diepte in en duiken we in wiskundige concepten.


Wat Value Functies Voorstellen

Value functies kennen numerieke scores toe aan situaties (states) en mogelijke acties. Ze vormen de beste inschatting van de agent voor toekomstige beloningen. Het gaat dus niet om onmiddellijke beloningen, maar om voorspellingen van cumulatief toekomstig succes.

Neem een eenvoudige navigatietaak waarin een agent leert een doel te bereiken:

  • State values: Hoe goed is het om in deze specifieke locatie te zijn? States dicht bij het doel hebben een hoge waarde, terwijl states bij obstakels een lage waarde hebben.
  • Action values: Hoe goed is het om een bepaalde actie te nemen vanuit deze state? Bewegen richting het doel heeft een hogere waarde dan ervan weg bewegen.

De wiskundige representatie vat deze intuïties samen:

V(s)=verwachte toekomstige beloningen vanuit state sV(s) = \text{verwachte toekomstige beloningen vanuit state } s Q(s,a)=verwachte toekomstige beloningen van actie a in state sQ(s,a) = \text{verwachte toekomstige beloningen van actie } a \text{ in state } s

Deze functies coderen de opgebouwde kennis van de agent over welke situaties en acties tot succes leiden. De kracht ligt in het gebruik van deze waarden bij besluitvorming: wanneer de agent moet kiezen, selecteert hij de actie met de hoogste voorspelde waarde.


Leren door Ervaring

Value functies beginnen als willekeurige gissingen, maar worden nauwkeuriger door ervaring. Telkens wanneer een agent een action uitvoert en het resultaat waarneemt, kan hij zijn schatting bijwerken.

Update-regel voor values:

Nieuwe Waarde=Oude Waarde+Learning Rate×(ErvaringOude Waarde)\text{Nieuwe Waarde} = \text{Oude Waarde} + \text{Learning Rate} \times (\text{Ervaring} - \text{Oude Waarde})

Hierdoor convergeren de waarden geleidelijk naar nauwkeurige schattingen naarmate de agent meer ervaring opdoet.

🗺️ Navigatievoorbeeld: Een agent die leert een doolhof te verkennen kent in het begin willekeurige waarden toe aan verschillende locaties. Na verkenning ontdekt hij dat sommige paden naar het doel leiden, terwijl andere doodlopen zijn. Na verloop van tijd krijgen locaties langs succesvolle paden hogere waarden en doodlopende paden lagere waarden. De agent gebruikt deze geleerde values om in toekomstige navigatiepogingen betere routes te kiezen.

De learning rate bepaalt hoe snel waarden veranderen: hoge learning rates passen zich snel aan maar kunnen instabiel zijn, terwijl lage learning rates stabieler zijn maar trager reageren op veranderingen.


Q-Learning: Leren van Action Values

Q-learning is een van de meest invloedrijke methoden om action values te leren. De "Q" staat voor "quality"—hoe goed het is om een bepaalde action te nemen in een bepaalde state.

Het kernidee is dat de waarde van een action gelijk is aan de onmiddellijke reward plus de waarde van de state waarin je terechtkomt:

Q(s,a)=onmiddellijke reward+verminderde waarde van de volgende stateQ(s,a) = \text{onmiddellijke reward} + \text{verminderde waarde van de volgende state}

Discount factor: Toekomstige rewards zijn doorgaans minder waard dan onmiddellijke. Daarom vermenigvuldigen we toekomstige waarden met een discount factor tussen 0 en 1:

Q(s,a)=r+γ×maxQ(s,a)Q(s,a) = r + \gamma \times \max Q(s',a')

waar γ\gamma (gamma) de discount factor is, rr de onmiddellijke reward, en ss' de volgende state.

Q-learning update-regel:

Q(s,a)Q(s,a)+α[r+γmaxQ(s,a)Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha [r + \gamma \max Q(s',a') - Q(s,a)]

Deze regel verbetert Q-waarde schattingen geleidelijk op basis van ervaring.

🎮 Game-voorbeeld: Stel een agent leert een simpel spel spelen waar "naar rechts bewegen" richting het doel +10 reward oplevert, terwijl "tegen een muur lopen" -1 reward geeft. Aanvankelijk staan alle Q-waarden op nul. Na ervaring worden de Q-waarden voor "naar rechts bewegen" in states dicht bij het doel positief, terwijl de Q-waarden voor "tegen de muur lopen" negatief worden. De agent leert zo actions met hogere Q-waarden te verkiezen.


Van Tabellen naar Neurale Netwerken

Q-learning gebruikt traditioneel tabellen om waarden op te slaan voor elk state-action-paar. Dit werkt goed voor eenvoudige problemen, maar faalt zodra het aantal mogelijke states enorm groot wordt.

Beperkingen van tabellen:

  • Schaken heeft ongeveer 104310^{43} mogelijke bordposities
  • Robotbesturing omvat continue sensorwaarden met oneindig veel mogelijkheden
  • Beeldgebaseerde games hebben miljoenen mogelijke pixelcombinaties

Oplossing met neurale netwerken: In plaats van individuele waarden in tabellen op te slaan, kunnen neurale netwerken value functies benaderen voor elke state of elk state-action-paar.

Q(s,a)Neural Network(s,a)Q(s,a) \approx \text{Neural Network}(s,a)

Het netwerk leert states en actions te koppelen aan voorspelde waarden, waardoor het kan generaliseren naar states die nooit eerder zijn gezien.

Deep Q-Networks (DQN): Deze aanpak revolutioneerde reinforcement learning door Q-learning te combineren met deep neural networks. Het netwerk neemt gamestates (zoals Atari-schermen) als input en geeft Q-waarden terug voor alle mogelijke actions.

Trainingsproces:

  1. Het spel spelen en ervaringen verzamelen
  2. Deze ervaringen gebruiken om het neurale netwerk te trainen om Q-waarden nauwkeuriger te voorspellen
  3. De verbeterde Q-waarden gebruiken om betere actions te kiezen
  4. De cyclus herhalen om prestaties continu te verbeteren

Policy Gradients: Direct Strategieën Leren

Waar Q-learning eerst values leert en daar actions uit afleidt, leren policy gradient-methoden actiestrategieën direct. In plaats van te vragen "hoe goed is deze action?" vragen ze "hoe waarschijnlijk moet deze action zijn?"

Policy-representatie: Een policy kan worden weergegeven als een kansverdeling over actions:

π(as)=kans om action a te nemen in state s\pi(a|s) = \text{kans om action } a \text{ te nemen in state } s

Policy gradient-principe: Pas de policy aan zodat goede actions waarschijnlijker worden en slechte actions minder waarschijnlijk:

Policy UpdateReward×Gradie¨nt van Actieprobabiliteit\text{Policy Update} \propto \text{Reward} \times \text{Gradiënt van Actieprobabiliteit}

Deze aanpak optimaliseert de beslisstrategie direct, in plaats van eerst values te leren.

Voordelen van policy-methoden:

  • Geschikt voor continue action spaces
  • Kunnen stochastische policies leren die verschillende strategieën mengen
  • Vaak stabieler in complexe, hoog-dimensionale problemen

Actor-Critic-methoden: Combineren beide benaderingen door tegelijk een policy (actor) en een value functie (critic) te leren. De critic beoordeelt hoe goed de keuzes van de actor zijn, terwijl de actor zijn strategie aanpast op basis van de feedback van de critic.


Omgaan met Continue en Complexe Ruimtes

Echte problemen omvatten vaak continue states en actions die niet eenvoudig te discretiseren zijn in tabellen of simpele categorieën.

Continue states: Robotgewrichtshoeken, aandelenkoersen of sensorwaarden kunnen elke waarde binnen een bereik aannemen. Neurale netwerken verwerken zulke inputs natuurlijk door vloeiende benaderingen te leren.

Continue actions: Stuurhoeken, motorsnelheden of biedbedragen vereisen precieze numerieke outputs. Policy gradient-methoden kunnen kansverdelingen over continue actions produceren.

Voordelen van function approximation:

  • Generalisatie naar ongeziene states
  • Vloeiend gedrag in continue ruimtes
  • Mogelijkheid om hoog-dimensionale inputs zoals beelden te verwerken
  • Efficiëntere opslag vergeleken met enorme tabellen

🚗 Zelfrijdend Voorbeeld: De stuurcontroller van een autonome auto ontvangt continue sensorinputs (camera’s, radar, snelheidsmetingen) en geeft continue stuurhoeken als output. De value functie schat in hoe goed verschillende stuuracties waarschijnlijk zijn, rekening houdend met zowel directe veiligheid als voortgang richting de bestemming.


Deep Reinforcement Learning in de Praktijk

Deep reinforcement learning combineert het besliskader van reinforcement learning met de representatiekrachten van deep neural networks.

Kerncomponenten:

  • Experience replay: Sla eerdere ervaringen op en leer van willekeurige samples om de stabiliteit van training te verbeteren.
  • Target networks: Gebruik aparte netwerken voor het genereren van trainingsdoelen om leerinstabiliteit te verminderen.
  • Exploratiestrategieën: Vind een balans tussen het proberen van nieuwe actions en het benutten van bestaande kennis.

Trainingsproces:

  1. Verzamel ervaringen door interactie met de omgeving.
  2. Sla deze ervaringen op in een replay buffer.
  3. Sample willekeurige batches ervaringen voor training.
  4. Update neurale netwerken om values of policies beter te voorspellen.
  5. Gebruik de geüpdatete netwerken om nieuwe ervaringen te verzamelen.
  6. Herhaal totdat de prestaties stabiliseren.

De combinatie van deep learning en reinforcement learning heeft geleid tot doorbraken in complexe domeinen zoals gaming, robotica en autonome systemen.


Belangrijkste Inzichten

Value functies veranderen reinforcement learning van puur willekeurig trial-and-error naar systematische verbetering, gestuurd door voorspellingen van toekomstig succes. Door in te schatten hoe goed verschillende states en actions waarschijnlijk zijn, kunnen agents steeds intelligentere beslissingen nemen, zelfs in complexe en onzekere omgevingen.

De evolutie van eenvoudige tabelgebaseerde methoden naar geavanceerde neurale netwerkbenaderingen heeft reinforcement learning in staat gesteld problemen aan te pakken die tot voor kort onmogelijk leken. Inzicht in hoe value functies werken, laat zien hoe agents intuïtie en strategisch denken ontwikkelen, wat indrukwekkende prestaties mogelijk maakt in uiteenlopende domeinen.

Deze wiskundige fundamenten liggen ten grondslag aan de praktische successen die we zien in spelcomputersystemen, robotica en andere toepassingen waarbij leren uit ervaring leidt tot verfijnd, adaptief gedrag.