Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer SARSA: On-Policy TD-Leren | Tijdverschil Leren
Introductie tot Reinforcement Learning met Python

SARSA: On-Policy TD-Leren

Veeg om het menu te tonen

Net als bij Monte Carlo-methoden kunnen we het generalized policy iteration (GPI)-raamwerk volgen om van het schatten van waardefuncties naar het leren van optimale strategieën te gaan. Dit proces brengt echter een bekende uitdaging met zich mee: de exploratie-exploitatie-afweging. Evenzo zijn er twee benaderingen die we kunnen gebruiken: on-policy en off-policy. Laten we eerst de on-policy-methode bespreken — SARSA.

Note
Definitie

SARSA is een on-policy TD-controle-algoritme dat wordt gebruikt om de actie-waardefunctie qπ(s,a)q_\pi(s, a) te schatten. Het werkt zijn schattingen bij op basis van de daadwerkelijk genomen actie, waardoor het een on-policy algoritme is.

Het acroniem SARSA komt van de vijf belangrijkste componenten die in de update worden gebruikt:

  • S: huidige toestand StS_t;
  • A: genomen actie AtA_t;
  • R: ontvangen beloning Rt+1R_{t+1};
  • S: volgende toestand St+1S_{t+1};
  • A: volgende actie At+1A_{t+1}.

Update-regel

De update-regel lijkt op TD(0), maar vervangt de toestandswaardefunctie door de actiewaardefunctie:

Q(St,At)Q(St,At)+α(Rt+1+γQ(St+1,At+1)Q(St,At))Q(S_t, A_t) \gets Q(S_t, A_t) + \alpha \Bigl(R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_t, A_t)\Bigr)

De At+1A_{t+1} is de actie die daadwerkelijk wordt uitgevoerd in de volgende stap en wordt geselecteerd volgens het huidige beleid. Dit betekent dat de effecten van exploratie worden meegenomen in het leerproces.

Na elke update van de actiewaardefunctie wordt het beleid ook bijgewerkt, waardoor de agent direct gebruik kan maken van de nieuwe schattingen.

Pseudocode

SARSA-pseudocode

Wanneer SARSA gebruiken?

SARSA is te verkiezen wanneer:

  • Er sprake is van omgevingen met hoge stochastiek (bijvoorbeeld gladde oppervlakken, onbetrouwbare overgangen);
  • Langzamere convergentie acceptabel is in ruil voor veiliger gedrag tijdens het leerproces.
question mark

In welk scenario is SARSA bijzonder aan te bevelen?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3

Vraag AI

expand

Vraag AI

ChatGPT

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

SARSA: On-Policy TD-Leren

Net als bij Monte Carlo-methoden kunnen we het generalized policy iteration (GPI)-raamwerk volgen om van het schatten van waardefuncties naar het leren van optimale strategieën te gaan. Dit proces brengt echter een bekende uitdaging met zich mee: de exploratie-exploitatie-afweging. Evenzo zijn er twee benaderingen die we kunnen gebruiken: on-policy en off-policy. Laten we eerst de on-policy-methode bespreken — SARSA.

Note
Definitie

SARSA is een on-policy TD-controle-algoritme dat wordt gebruikt om de actie-waardefunctie qπ(s,a)q_\pi(s, a) te schatten. Het werkt zijn schattingen bij op basis van de daadwerkelijk genomen actie, waardoor het een on-policy algoritme is.

Het acroniem SARSA komt van de vijf belangrijkste componenten die in de update worden gebruikt:

  • S: huidige toestand StS_t;
  • A: genomen actie AtA_t;
  • R: ontvangen beloning Rt+1R_{t+1};
  • S: volgende toestand St+1S_{t+1};
  • A: volgende actie At+1A_{t+1}.

Update-regel

De update-regel lijkt op TD(0), maar vervangt de toestandswaardefunctie door de actiewaardefunctie:

Q(St,At)Q(St,At)+α(Rt+1+γQ(St+1,At+1)Q(St,At))Q(S_t, A_t) \gets Q(S_t, A_t) + \alpha \Bigl(R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_t, A_t)\Bigr)

De At+1A_{t+1} is de actie die daadwerkelijk wordt uitgevoerd in de volgende stap en wordt geselecteerd volgens het huidige beleid. Dit betekent dat de effecten van exploratie worden meegenomen in het leerproces.

Na elke update van de actiewaardefunctie wordt het beleid ook bijgewerkt, waardoor de agent direct gebruik kan maken van de nieuwe schattingen.

Pseudocode

SARSA-pseudocode

Wanneer SARSA gebruiken?

SARSA is te verkiezen wanneer:

  • Er sprake is van omgevingen met hoge stochastiek (bijvoorbeeld gladde oppervlakken, onbetrouwbare overgangen);
  • Langzamere convergentie acceptabel is in ruil voor veiliger gedrag tijdens het leerproces.
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 5. Hoofdstuk 3
some-alt