Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Beleidswaardering | Dynamisch Programmeren
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
Beleidswaardering

Note
Definitie

Beleidswaardering is het proces waarbij de waardefunctie van een gegeven beleid wordt bepaald.

Note
Opmerking

Beleidswaardering kan worden gebruikt om zowel de toestandswaardefunctie als de actie-waardefunctie te schatten. Voor DP-methoden wordt echter de toestandswaardefunctie gebruikt.

Zoals bekend kan een toestandswaardefunctie van een gegeven beleid worden bepaald door het oplossen van een Bellman-vergelijking:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Als u een compleet model van de omgeving heeft (d.w.z. bekende overgangswaarschijnlijkheden en verwachte beloningen voor alle toestand-actieparen), zijn de enige onbekende variabelen in de vergelijking de toestandswaarden. Daarom kan de bovenstaande vergelijking worden geherformuleerd als een systeem van S|S| lineaire vergelijkingen met S|S| onbekenden.

Bijvoorbeeld, als een MDP 2 toestanden heeft (s1s_1, s2s_2) en 2 acties (verplaats naar s1s_1, verplaats naar s2s_2), kan de toestandswaardefunctie als volgt worden gedefinieerd:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Dit kan worden opgelost met standaard lineaire algebra technieken.

Een unieke oplossing voor een dergelijk lineair systeem is gegarandeerd als aan ten minste één van de volgende voorwaarden wordt voldaan:

  • De discontovoet voldoet aan γ<1γ < 1;
  • Het beleid π\pi, gevolgd vanuit elke toestand ss, garandeert dat de episode uiteindelijk eindigt.

Iteratieve Beleidswaardering

De oplossing kan direct worden berekend, maar een iteratieve benadering wordt vaker gebruikt vanwege de eenvoudige implementatie. Deze methode begint met het toekennen van willekeurige beginwaarden aan alle toestanden, behalve voor terminale toestanden, die worden ingesteld op 0. De waarden worden vervolgens iteratief bijgewerkt met behulp van de Bellman-vergelijking als update-regel:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

De geschatte toestandswaardefunctie vkv_k convergeert uiteindelijk naar een werkelijke toestandswaardefunctie vπv_\pi als kk \to \infty, mits vπv_\pi bestaat.

Waarde-backupstrategieën

Bij het bijwerken van waarde-inschattingen worden nieuwe schattingen berekend op basis van eerdere waarden. Het proces waarbij eerdere schattingen worden behouden, staat bekend als een backup. Er zijn twee gangbare strategieën voor het uitvoeren van backups:

  • Volledige backup: deze methode houdt in dat de nieuwe schattingen worden opgeslagen in een aparte array, gescheiden van de array met de eerdere (back-up) waarden. Er zijn dus twee arrays nodig — één voor het bijhouden van de eerdere schattingen en één voor het opslaan van de nieuw berekende waarden;
  • In-place backup: bij deze aanpak worden alle waarden in één enkele array bijgehouden. Elke nieuwe schatting vervangt direct de vorige waarde. Deze methode vermindert het geheugengebruik, omdat slechts één array nodig is.

Meestal heeft de in-place backup-methode de voorkeur, omdat deze minder geheugen vereist en sneller convergeert, dankzij het directe gebruik van de meest recente schattingen.

Wanneer stoppen met bijwerken?

Bij iteratieve beleidsevaluatie is er geen exact moment waarop het algoritme moet stoppen. Hoewel convergentie in de limiet gegarandeerd is, is het in de praktijk onnodig om de berekeningen eindeloos voort te zetten. Een eenvoudige en effectieve stopcriterium is het bijhouden van het absolute verschil tussen opeenvolgende waarde-inschattingen, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, en dit te vergelijken met een kleine drempelwaarde θ\theta. Als na een volledige updatecyclus (waarbij de waarden voor alle toestanden zijn bijgewerkt) geen enkele wijziging groter is dan θ\theta, kan het proces veilig worden beëindigd.

Pseudocode

question mark

Welke van de volgende uitspraken is waar met betrekking tot de iteratieve beleidsevaluatiemethode?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4

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
Beleidswaardering

Note
Definitie

Beleidswaardering is het proces waarbij de waardefunctie van een gegeven beleid wordt bepaald.

Note
Opmerking

Beleidswaardering kan worden gebruikt om zowel de toestandswaardefunctie als de actie-waardefunctie te schatten. Voor DP-methoden wordt echter de toestandswaardefunctie gebruikt.

Zoals bekend kan een toestandswaardefunctie van een gegeven beleid worden bepaald door het oplossen van een Bellman-vergelijking:

vπ(s)=aπ(as)s,rp(s,rs,a)(r+γvπ(s))v_\pi(s) = \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_\pi(s')\Bigr)

Als u een compleet model van de omgeving heeft (d.w.z. bekende overgangswaarschijnlijkheden en verwachte beloningen voor alle toestand-actieparen), zijn de enige onbekende variabelen in de vergelijking de toestandswaarden. Daarom kan de bovenstaande vergelijking worden geherformuleerd als een systeem van S|S| lineaire vergelijkingen met S|S| onbekenden.

Bijvoorbeeld, als een MDP 2 toestanden heeft (s1s_1, s2s_2) en 2 acties (verplaats naar s1s_1, verplaats naar s2s_2), kan de toestandswaardefunctie als volgt worden gedefinieerd:

{V(s1)=0.5(5+0.9V(s1))+0.5(10+0.9V(s2))V(s2)=0.7(2+0.9V(s1))+0.3(0+0.9V(s2))\begin{cases} V(s_1) = 0.5 \cdot (5 + 0.9 \cdot V(s_1)) + 0.5 \cdot (10 + 0.9 \cdot V(s_2)) \\ V(s_2) = 0.7 \cdot (2 + 0.9 \cdot V(s_1)) + 0.3 \cdot (0 + 0.9 \cdot V(s_2)) \end{cases}

Dit kan worden opgelost met standaard lineaire algebra technieken.

Een unieke oplossing voor een dergelijk lineair systeem is gegarandeerd als aan ten minste één van de volgende voorwaarden wordt voldaan:

  • De discontovoet voldoet aan γ<1γ < 1;
  • Het beleid π\pi, gevolgd vanuit elke toestand ss, garandeert dat de episode uiteindelijk eindigt.

Iteratieve Beleidswaardering

De oplossing kan direct worden berekend, maar een iteratieve benadering wordt vaker gebruikt vanwege de eenvoudige implementatie. Deze methode begint met het toekennen van willekeurige beginwaarden aan alle toestanden, behalve voor terminale toestanden, die worden ingesteld op 0. De waarden worden vervolgens iteratief bijgewerkt met behulp van de Bellman-vergelijking als update-regel:

vk+1(s)aπ(as)s,rp(s,rs,a)(r+γvk(s))v_{k+1}(s) \gets \sum_a \pi(a | s) \sum_{s', r} p(s', r | s, a)\Bigl(r + \gamma v_k(s')\Bigr)

De geschatte toestandswaardefunctie vkv_k convergeert uiteindelijk naar een werkelijke toestandswaardefunctie vπv_\pi als kk \to \infty, mits vπv_\pi bestaat.

Waarde-backupstrategieën

Bij het bijwerken van waarde-inschattingen worden nieuwe schattingen berekend op basis van eerdere waarden. Het proces waarbij eerdere schattingen worden behouden, staat bekend als een backup. Er zijn twee gangbare strategieën voor het uitvoeren van backups:

  • Volledige backup: deze methode houdt in dat de nieuwe schattingen worden opgeslagen in een aparte array, gescheiden van de array met de eerdere (back-up) waarden. Er zijn dus twee arrays nodig — één voor het bijhouden van de eerdere schattingen en één voor het opslaan van de nieuw berekende waarden;
  • In-place backup: bij deze aanpak worden alle waarden in één enkele array bijgehouden. Elke nieuwe schatting vervangt direct de vorige waarde. Deze methode vermindert het geheugengebruik, omdat slechts één array nodig is.

Meestal heeft de in-place backup-methode de voorkeur, omdat deze minder geheugen vereist en sneller convergeert, dankzij het directe gebruik van de meest recente schattingen.

Wanneer stoppen met bijwerken?

Bij iteratieve beleidsevaluatie is er geen exact moment waarop het algoritme moet stoppen. Hoewel convergentie in de limiet gegarandeerd is, is het in de praktijk onnodig om de berekeningen eindeloos voort te zetten. Een eenvoudige en effectieve stopcriterium is het bijhouden van het absolute verschil tussen opeenvolgende waarde-inschattingen, vk+1(s)vk(s)|v_{k+1}(s) - v_k(s)|, en dit te vergelijken met een kleine drempelwaarde θ\theta. Als na een volledige updatecyclus (waarbij de waarden voor alle toestanden zijn bijgewerkt) geen enkele wijziging groter is dan θ\theta, kan het proces veilig worden beëindigd.

Pseudocode

question mark

Welke van de volgende uitspraken is waar met betrekking tot de iteratieve beleidsevaluatiemethode?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
some-alt