Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Montecarlo-Regeling | Monte Carlo-Methoden
Introductie tot Reinforcement Learning
course content

Cursusinhoud

Introductie tot Reinforcement Learning

Introductie tot Reinforcement Learning

1. Kernprincipes van RL
2. Multi-Armed Bandit Probleem
3. Dynamisch Programmeren
4. Monte Carlo-Methoden
5. Temporale Verschil Leren

book
Montecarlo-Regeling

Door de stap beleidsevaluatie in het standaard beleiditeratie-algoritme te vervangen door de Monte Carlo-schattingstechnieken die in het vorige hoofdstuk zijn beschreven, kunnen we al een nieuwe variant van beleiditeratie afleiden—een die vertrouwt op gesamplede ervaring in plaats van dynamisch programmeren.

Er is echter een cruciale beperking. In traditionele beleiditeratie is de stap beleidsverbetering afhankelijk van toegang tot een volledig model van de omgeving. Specifiek, om het beleid bij te werken, gebruiken we de volgende uitdrukking:

π(s)arg maxas,rp(s,rs,a)(r+γv(s))\pi(s) \gets \argmax_a \sum_{s', r} \textcolor{red}{p(s', r | s, a)} \Bigl(r + \gamma v(s')\Bigr)

Deze vergelijking gaat ervan uit dat we de overgangswaarschijnlijkheden p(s,rs,a)p(s', r | s, a) kennen. Maar dat is precies het probleem: Monte Carlo-methoden zijn ontworpen voor modelvrije situaties, waarin de overgangsdynamiek van de omgeving onbekend is. Als er een volledig model beschikbaar is, kunnen we net zo goed overal dynamisch programmeren gebruiken, ook voor beleidsevaluatie, omdat dat efficiënter en nauwkeuriger zou zijn.

Daarom, hoewel het vervangen van waarde-inschatting door Monte Carlo-methoden een stap is richting modelvrij reinforcement learning, moeten we ook een manier vinden om beleidsverbetering uit te voeren zonder kennis van het model. Dit vereist een verschuiving van toestandswaardefunctie naar actie-waardefunctie.

Waarom Actiewaarden?

Door gebruik te maken van actiewaarden is het mogelijk om beleidsverbetering uit te voeren zonder een model van de omgeving nodig te hebben. In plaats van te vertrouwen op overgangswaarschijnlijkheden om verwachte opbrengsten te berekenen, kunnen we direct acties selecteren die de hoogste waarde lijken op te leveren. De stap beleidsverbetering wordt dan:

π(s)arg maxaq(s,a)sS\pi(s) \gets \argmax_a q(s, a) \qquad \forall s \in S

En het is niet moeilijk te bewijzen dat het nieuwe beleid niet slechter is dan het oude, aangezien de beleidsverbeteringstelling nog steeds kan worden toegepast:

qπk(s,πk+1(s))=qπk(s,arg maxaqπk(s,a))=maxaqπk(s,a)qπk(s,πk(s))=vπk(s)\begin{aligned} q_{\pi_{k}}(s, \pi_{k+1}(s)) &= q_{\pi_k}(s, \argmax_a q_{\pi_k}(s, a))\\ &= \max_a q_{\pi_k}(s, a)\\ &\ge q_{\pi_k}(s, \pi_k(s))\\ &= v_{\pi_k}(s) \end{aligned}

En, net als bij DP, garandeert deze stelling dat ofwel πk+1\pi_{k+1} beter is dan πk\pi_k, of dat ze beide gelijk en optimaal zijn.

Schatting van de Actiewaarde Functie

Het schattingsproces is vrijwel identiek aan de toestandswaardefunctie. Alle concepten die worden gebruikt bij het schatten van toestandswaarden, kunnen ook worden toegepast op het schatten van actiewaarden.

Pseudocode

Op deze manier zouden de geschatte actie-waarden na voldoende iteraties de werkelijke actie-waarden moeten benaderen.

Hiermee kun je al een methode opbouwen vergelijkbaar met beleidsiteratie die niet afhankelijk is van een model. Hiervoor vervang je de stappen beleidswaardering en beleidsverbetering door de hierboven beschreven processen.

Optimalisatie

Hoewel de stap waardering kan worden uitgevoerd met Monte Carlo-schatting zoals beschreven, is deze doorgaans computationeel inefficiënt. Zoals je al hebt gezien, vereisen Monte Carlo-methoden meestal een groot aantal steekproeven om redelijk nauwkeurige schattingen te produceren. Als we een structuur volgen die vergelijkbaar is met beleidsiteratie, wordt deze inefficiëntie vergroot: na elke beleidsverbetering moeten we de Monte Carlo-schatting opnieuw uitvoeren om het nieuwe beleid te herwaarderen — wat leidt tot aanzienlijke overhead en trage leercurves.

Een meer natuurlijke benadering is om het beleid direct bij te werken na het verwerken van elke episode. In plaats van te wachten tot een volledige cyclus van beleidswaardering is voltooid, laten we de agent zijn gedrag episode per episode verfijnen, gebruikmakend van de meest recente schattingen van de actie-waarden.

Dit resulteert in een methode die meer lijkt op waarde-iteratie: het combineren van aspecten van waardering en verbetering in één enkele stap. Dit verhoogt de efficiëntie van steekproeven en versnelt de berekening.

Pseudocode

Dit algoritme volgt een GPI-raamwerk, aangezien het stappen voor beleidsevaluatie en beleidsverbetering bevat, en het wordt Monte Carlo-controle genoemd. Het grootste nadeel van deze specifieke implementatie is de aanname van exploring starts. In de volgende hoofdstukken wordt uitgelegd waarom dit een probleem is en hoe hiermee omgegaan kan worden.

question mark

Wat is het belangrijkste voordeel van het gebruik van actiewaarden in plaats van toestandswaarden in Monte Carlo-controle?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Introductie tot Reinforcement Learning

Introductie tot Reinforcement Learning

1. Kernprincipes van RL
2. Multi-Armed Bandit Probleem
3. Dynamisch Programmeren
4. Monte Carlo-Methoden
5. Temporale Verschil Leren

book
Montecarlo-Regeling

Door de stap beleidsevaluatie in het standaard beleiditeratie-algoritme te vervangen door de Monte Carlo-schattingstechnieken die in het vorige hoofdstuk zijn beschreven, kunnen we al een nieuwe variant van beleiditeratie afleiden—een die vertrouwt op gesamplede ervaring in plaats van dynamisch programmeren.

Er is echter een cruciale beperking. In traditionele beleiditeratie is de stap beleidsverbetering afhankelijk van toegang tot een volledig model van de omgeving. Specifiek, om het beleid bij te werken, gebruiken we de volgende uitdrukking:

π(s)arg maxas,rp(s,rs,a)(r+γv(s))\pi(s) \gets \argmax_a \sum_{s', r} \textcolor{red}{p(s', r | s, a)} \Bigl(r + \gamma v(s')\Bigr)

Deze vergelijking gaat ervan uit dat we de overgangswaarschijnlijkheden p(s,rs,a)p(s', r | s, a) kennen. Maar dat is precies het probleem: Monte Carlo-methoden zijn ontworpen voor modelvrije situaties, waarin de overgangsdynamiek van de omgeving onbekend is. Als er een volledig model beschikbaar is, kunnen we net zo goed overal dynamisch programmeren gebruiken, ook voor beleidsevaluatie, omdat dat efficiënter en nauwkeuriger zou zijn.

Daarom, hoewel het vervangen van waarde-inschatting door Monte Carlo-methoden een stap is richting modelvrij reinforcement learning, moeten we ook een manier vinden om beleidsverbetering uit te voeren zonder kennis van het model. Dit vereist een verschuiving van toestandswaardefunctie naar actie-waardefunctie.

Waarom Actiewaarden?

Door gebruik te maken van actiewaarden is het mogelijk om beleidsverbetering uit te voeren zonder een model van de omgeving nodig te hebben. In plaats van te vertrouwen op overgangswaarschijnlijkheden om verwachte opbrengsten te berekenen, kunnen we direct acties selecteren die de hoogste waarde lijken op te leveren. De stap beleidsverbetering wordt dan:

π(s)arg maxaq(s,a)sS\pi(s) \gets \argmax_a q(s, a) \qquad \forall s \in S

En het is niet moeilijk te bewijzen dat het nieuwe beleid niet slechter is dan het oude, aangezien de beleidsverbeteringstelling nog steeds kan worden toegepast:

qπk(s,πk+1(s))=qπk(s,arg maxaqπk(s,a))=maxaqπk(s,a)qπk(s,πk(s))=vπk(s)\begin{aligned} q_{\pi_{k}}(s, \pi_{k+1}(s)) &= q_{\pi_k}(s, \argmax_a q_{\pi_k}(s, a))\\ &= \max_a q_{\pi_k}(s, a)\\ &\ge q_{\pi_k}(s, \pi_k(s))\\ &= v_{\pi_k}(s) \end{aligned}

En, net als bij DP, garandeert deze stelling dat ofwel πk+1\pi_{k+1} beter is dan πk\pi_k, of dat ze beide gelijk en optimaal zijn.

Schatting van de Actiewaarde Functie

Het schattingsproces is vrijwel identiek aan de toestandswaardefunctie. Alle concepten die worden gebruikt bij het schatten van toestandswaarden, kunnen ook worden toegepast op het schatten van actiewaarden.

Pseudocode

Op deze manier zouden de geschatte actie-waarden na voldoende iteraties de werkelijke actie-waarden moeten benaderen.

Hiermee kun je al een methode opbouwen vergelijkbaar met beleidsiteratie die niet afhankelijk is van een model. Hiervoor vervang je de stappen beleidswaardering en beleidsverbetering door de hierboven beschreven processen.

Optimalisatie

Hoewel de stap waardering kan worden uitgevoerd met Monte Carlo-schatting zoals beschreven, is deze doorgaans computationeel inefficiënt. Zoals je al hebt gezien, vereisen Monte Carlo-methoden meestal een groot aantal steekproeven om redelijk nauwkeurige schattingen te produceren. Als we een structuur volgen die vergelijkbaar is met beleidsiteratie, wordt deze inefficiëntie vergroot: na elke beleidsverbetering moeten we de Monte Carlo-schatting opnieuw uitvoeren om het nieuwe beleid te herwaarderen — wat leidt tot aanzienlijke overhead en trage leercurves.

Een meer natuurlijke benadering is om het beleid direct bij te werken na het verwerken van elke episode. In plaats van te wachten tot een volledige cyclus van beleidswaardering is voltooid, laten we de agent zijn gedrag episode per episode verfijnen, gebruikmakend van de meest recente schattingen van de actie-waarden.

Dit resulteert in een methode die meer lijkt op waarde-iteratie: het combineren van aspecten van waardering en verbetering in één enkele stap. Dit verhoogt de efficiëntie van steekproeven en versnelt de berekening.

Pseudocode

Dit algoritme volgt een GPI-raamwerk, aangezien het stappen voor beleidsevaluatie en beleidsverbetering bevat, en het wordt Monte Carlo-controle genoemd. Het grootste nadeel van deze specifieke implementatie is de aanname van exploring starts. In de volgende hoofdstukken wordt uitgelegd waarom dit een probleem is en hoe hiermee omgegaan kan worden.

question mark

Wat is het belangrijkste voordeel van het gebruik van actiewaarden in plaats van toestandswaarden in Monte Carlo-controle?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 3
some-alt