Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Generalisering af TD-Læring | Temporal Difference-Læring
Introduktion til Reinforcement Learning
course content

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Generalisering af TD-Læring

Indtil nu har vi betragtet to ekstreme tilfælde af læring fra erfaring:

  • TD(0): anvender ét-trins afkast;
  • Monte Carlo: venter til slutningen af episoden for at beregne afkastet.

Men hvad hvis vi ønsker noget midt imellem? Noget der udnytter mere fremtidig information end TD(0), men som ikke behøver at vente på hele episoden som Monte Carlo?

Her kommer nn-trins TD-læring og TD(λ\lambda) ind i billedet — metoder, der forener og generaliserer de idéer, vi hidtil har set.

n\Large n-Trins TD-læring

Idéen bag nn-trins TD-læring er enkel: i stedet for kun at bruge det næste trin eller hele episoden, anvender vi de næste nn trin, og anvender derefter bootstrapping:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Dette muliggør en afvejning:

  • Når n=1n = 1: svarer det til TD(0);
  • Når n=n = \infty: bliver det Monte Carlo.

Disse afkast kan derefter bruges til at erstatte målet i TD(0) opdateringsreglen:

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) er en smart idé, der bygger oven på nn-trins TD-læring: i stedet for at vælge et fast nn, kombinerer vi alle nn-trins afkast sammen:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

hvor λ[0,1]\lambda \in [0, 1] styrer vægtningen:

  • Hvis λ=0\lambda = 0: kun ét-trins afkast \to TD(0);
  • Hvis λ=1\lambda = 1: fuldt afkast \to Monte Carlo;
  • Mellem-værdier blander flere trins afkast.

λ\lambda fungerer som en bias-varians afvejning:

  • Lav λ\lambda: mere bias, mindre varians;
  • Høj λ\lambda: mindre bias, mere varians.

LtL_t kan derefter bruges som opdateringsmål i TD(0)-opdateringsreglen:

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Når parameteren λ\lambda sættes til 1 i TD(λ\lambda), bliver metoden ækvivalent med

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 5

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

course content

Kursusindhold

Introduktion til Reinforcement Learning

Introduktion til Reinforcement Learning

1. RL Kerneprincipper
2. Multi-Armet Bandit-Problem
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporal Difference-Læring

book
Generalisering af TD-Læring

Indtil nu har vi betragtet to ekstreme tilfælde af læring fra erfaring:

  • TD(0): anvender ét-trins afkast;
  • Monte Carlo: venter til slutningen af episoden for at beregne afkastet.

Men hvad hvis vi ønsker noget midt imellem? Noget der udnytter mere fremtidig information end TD(0), men som ikke behøver at vente på hele episoden som Monte Carlo?

Her kommer nn-trins TD-læring og TD(λ\lambda) ind i billedet — metoder, der forener og generaliserer de idéer, vi hidtil har set.

n\Large n-Trins TD-læring

Idéen bag nn-trins TD-læring er enkel: i stedet for kun at bruge det næste trin eller hele episoden, anvender vi de næste nn trin, og anvender derefter bootstrapping:

Gt(n)=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+1)G_t^{(n)} = R_{t+1} + \gamma R_{t+2} + ... + \gamma^{n-1} R_{t+n} + \gamma^n V(S_{t+1})

Dette muliggør en afvejning:

  • Når n=1n = 1: svarer det til TD(0);
  • Når n=n = \infty: bliver det Monte Carlo.

Disse afkast kan derefter bruges til at erstatte målet i TD(0) opdateringsreglen:

V(St)V(St)+α(Gt(n)V(St))V(S_t) \gets V(S_t) + \alpha\Bigl(G_t^{(n)} - V(S_t)\Bigr)

TD(λ\Large\lambda)

TD(λ\lambda) er en smart idé, der bygger oven på nn-trins TD-læring: i stedet for at vælge et fast nn, kombinerer vi alle nn-trins afkast sammen:

Lt=(1λ)n=0λn1Gt(n)L_t = (1 - \lambda) \sum_{n=0}^{\infty} \lambda^{n-1}G_t^{(n)}

hvor λ[0,1]\lambda \in [0, 1] styrer vægtningen:

  • Hvis λ=0\lambda = 0: kun ét-trins afkast \to TD(0);
  • Hvis λ=1\lambda = 1: fuldt afkast \to Monte Carlo;
  • Mellem-værdier blander flere trins afkast.

λ\lambda fungerer som en bias-varians afvejning:

  • Lav λ\lambda: mere bias, mindre varians;
  • Høj λ\lambda: mindre bias, mere varians.

LtL_t kan derefter bruges som opdateringsmål i TD(0)-opdateringsreglen:

V(St)V(St)+α(LtV(St))V(S_t) \gets V(S_t) + \alpha\Bigl(L_t - V(S_t)\Bigr)
question mark

Når parameteren λ\lambda sættes til 1 i TD(λ\lambda), bliver metoden ækvivalent med

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 5. Kapitel 5
some-alt