Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære SARSA: On-Policy TD-Læring | Temporal Difference Learning
Introduktion til Reinforcement Learning med Python

SARSA: On-Policy TD-Læring

Stryg for at vise menuen

Ligesom med Monte Carlo-metoder kan vi følge generalized policy iteration (GPI)-rammen for at gå fra at estimere værdifunktioner til at lære optimale politikker. Denne proces introducerer dog en velkendt udfordring: udforskning-udnyttelse-afvejningen. Og på samme måde er der to tilgange, vi kan bruge: on-policy og off-policy. Først ser vi på on-policy-metoden — SARSA.

Note
Definition

SARSA er en on-policy TD-kontrolalgoritme, der bruges til at estimere handlingsværdifunktionen qπ(s,a)q_\pi(s, a). Den opdaterer sine estimater baseret på den handling, der faktisk udføres, hvilket gør den til en on-policy algoritme.

Forkortelsen SARSA kommer fra de fem nøglekomponenter, der bruges i opdateringen:

  • S: nuværende tilstand StS_t;
  • A: udført handling AtA_t;
  • R: modtaget belønning Rt+1R_{t+1};
  • S: næste tilstand St+1S_{t+1};
  • A: næste handling At+1A_{t+1}.

Opdateringsregel

Opdateringsreglen ligner TD(0), men erstatter tilstands-værdi funktionen med handlings-værdi funktionen:

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)

At+1A_{t+1} er den handling, der faktisk udføres i det næste skridt, og den vælges i henhold til den nuværende politik. Dette betyder, at effekten af udforskning indgår i læringsprocessen.

Efter hver opdatering af handlings-værdi funktionen opdateres politikken også, hvilket gør det muligt for agenten straks at anvende de nye estimater.

Pseudokode

SARSA pseudokode

Hvornår bruges SARSA?

SARSA foretrækkes når:

  • Du arbejder med miljøer med høj stokasticitet (f.eks. glatte overflader, upålidelige overgange);
  • Langsommere konvergens accepteres for at opnå mere sikker adfærd under indlæring.
question mark

I hvilket scenarie er SARSA særligt at foretrække?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

SARSA: On-Policy TD-Læring

Ligesom med Monte Carlo-metoder kan vi følge generalized policy iteration (GPI)-rammen for at gå fra at estimere værdifunktioner til at lære optimale politikker. Denne proces introducerer dog en velkendt udfordring: udforskning-udnyttelse-afvejningen. Og på samme måde er der to tilgange, vi kan bruge: on-policy og off-policy. Først ser vi på on-policy-metoden — SARSA.

Note
Definition

SARSA er en on-policy TD-kontrolalgoritme, der bruges til at estimere handlingsværdifunktionen qπ(s,a)q_\pi(s, a). Den opdaterer sine estimater baseret på den handling, der faktisk udføres, hvilket gør den til en on-policy algoritme.

Forkortelsen SARSA kommer fra de fem nøglekomponenter, der bruges i opdateringen:

  • S: nuværende tilstand StS_t;
  • A: udført handling AtA_t;
  • R: modtaget belønning Rt+1R_{t+1};
  • S: næste tilstand St+1S_{t+1};
  • A: næste handling At+1A_{t+1}.

Opdateringsregel

Opdateringsreglen ligner TD(0), men erstatter tilstands-værdi funktionen med handlings-værdi funktionen:

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)

At+1A_{t+1} er den handling, der faktisk udføres i det næste skridt, og den vælges i henhold til den nuværende politik. Dette betyder, at effekten af udforskning indgår i læringsprocessen.

Efter hver opdatering af handlings-værdi funktionen opdateres politikken også, hvilket gør det muligt for agenten straks at anvende de nye estimater.

Pseudokode

SARSA pseudokode

Hvornår bruges SARSA?

SARSA foretrækkes når:

  • Du arbejder med miljøer med høj stokasticitet (f.eks. glatte overflader, upålidelige overgange);
  • Langsommere konvergens accepteres for at opnå mere sikker adfærd under indlæring.
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 3
some-alt