Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Generalisering av TD-inlärning | Temporär Differensinlärning
Introduktion till Förstärkningsinlärning
course content

Kursinnehåll

Introduktion till Förstärkningsinlärning

Introduktion till Förstärkningsinlärning

1. RL Kärnteori
2. Multi-Armed Bandit-Problemet
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporär Differensinlärning

book
Generalisering av TD-inlärning

Hittills har vi betraktat två extrema fall av inlärning från erfarenhet:

  • TD(0): använder ettstegsavkastning;
  • Monte Carlo: väntar till slutet av episoden för att beräkna avkastningen.

Men vad händer om vi vill ha något däremellan? Något som utnyttjar mer framtida information än TD(0), men som inte behöver vänta på hela episoden som Monte Carlo?

Det är här nn-stegs TD-inlärning och TD(λ\lambda) kommer in — metoder som förenar och generaliserar de idéer vi hittills har sett.

n\Large n-stegs TD-inlärning

Idén bakom nn-stegs TD-inlärning är enkel: istället för att använda bara nästa steg eller hela episoden, använder vi nästa nn steg, och därefter 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})

Detta möjliggör en avvägning:

  • När n=1n = 1: är det bara TD(0);
  • När n=n = \infty: blir det Monte Carlo.

Denna avkastning kan sedan användas för att ersätta målet i TD(0)-uppdateringsregeln:

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) är en smart idé som bygger vidare på nn-stegs TD-inlärning: istället för att välja ett fast nn, kombinerar vi alla nn-stegsavkastningar tillsammans:

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

där λ[0,1]\lambda \in [0, 1] styr viktningen:

  • Om λ=0\lambda = 0: endast enstegsavkastning \to TD(0);
  • Om λ=1\lambda = 1: fullständig avkastning \to Monte Carlo;
  • Mellanvärden blandar flera stegsavkastningar.

λ\lambda fungerar som en reglage för bias-varianskompromiss:

  • Låg λ\lambda: mer bias, mindre varians;
  • Hög λ\lambda: mindre bias, mer varians.

LtL_t kan sedan användas som uppdateringsmål i TD(0)-uppdateringsregeln:

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 parametern λ\lambda är satt till 1 i TD(λ\lambda), blir metoden likvärdig med

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

course content

Kursinnehåll

Introduktion till Förstärkningsinlärning

Introduktion till Förstärkningsinlärning

1. RL Kärnteori
2. Multi-Armed Bandit-Problemet
3. Dynamisk Programmering
4. Monte Carlo-metoder
5. Temporär Differensinlärning

book
Generalisering av TD-inlärning

Hittills har vi betraktat två extrema fall av inlärning från erfarenhet:

  • TD(0): använder ettstegsavkastning;
  • Monte Carlo: väntar till slutet av episoden för att beräkna avkastningen.

Men vad händer om vi vill ha något däremellan? Något som utnyttjar mer framtida information än TD(0), men som inte behöver vänta på hela episoden som Monte Carlo?

Det är här nn-stegs TD-inlärning och TD(λ\lambda) kommer in — metoder som förenar och generaliserar de idéer vi hittills har sett.

n\Large n-stegs TD-inlärning

Idén bakom nn-stegs TD-inlärning är enkel: istället för att använda bara nästa steg eller hela episoden, använder vi nästa nn steg, och därefter 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})

Detta möjliggör en avvägning:

  • När n=1n = 1: är det bara TD(0);
  • När n=n = \infty: blir det Monte Carlo.

Denna avkastning kan sedan användas för att ersätta målet i TD(0)-uppdateringsregeln:

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) är en smart idé som bygger vidare på nn-stegs TD-inlärning: istället för att välja ett fast nn, kombinerar vi alla nn-stegsavkastningar tillsammans:

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

där λ[0,1]\lambda \in [0, 1] styr viktningen:

  • Om λ=0\lambda = 0: endast enstegsavkastning \to TD(0);
  • Om λ=1\lambda = 1: fullständig avkastning \to Monte Carlo;
  • Mellanvärden blandar flera stegsavkastningar.

λ\lambda fungerar som en reglage för bias-varianskompromiss:

  • Låg λ\lambda: mer bias, mindre varians;
  • Hög λ\lambda: mindre bias, mer varians.

LtL_t kan sedan användas som uppdateringsmål i TD(0)-uppdateringsregeln:

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 parametern λ\lambda är satt till 1 i TD(λ\lambda), blir metoden likvärdig med

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 5
some-alt