Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Verallgemeinerung des TD-Lernens | Temporal-Differenz-Lernen
Einführung in das Reinforcement Learning
course content

Kursinhalt

Einführung in das Reinforcement Learning

Einführung in das Reinforcement Learning

1. Kernprinzipien des RL
2. Multi-Armed-Bandit-Problem
3. Dynamische Programmierung
4. Monte-Carlo-Methoden
5. Temporal-Differenz-Lernen

book
Verallgemeinerung des TD-Lernens

Bisher haben wir zwei Extremfälle des Lernens aus Erfahrung betrachtet:

  • TD(0): verwendet die Ein-Schritt-Rendite;
  • Monte Carlo: wartet bis zum Ende der Episode, um die Rendite zu berechnen.

Aber was, wenn wir etwas dazwischen wollen? Etwas, das mehr zukünftige Informationen nutzt als TD(0), aber nicht wie Monte Carlo auf die gesamte Episode warten muss?

Hier kommen das nn-Schritt-TD-Lernen und TD(λ\lambda) ins Spiel — Methoden, die die bisher gesehenen Ansätze vereinheitlichen und verallgemeinern.

n\Large n-Schritt-TD-Lernen

Die Idee hinter dem nn-Schritt-TD-Lernen ist einfach: Anstatt nur den nächsten Schritt oder die gesamte Episode zu verwenden, nutzen wir die nächsten nn Schritte und bootstrappen dann:

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})

Dies ermöglicht einen Kompromiss:

  • Für n=1n = 1: entspricht es TD(0);
  • Für n=n = \infty: entspricht es Monte Carlo.

Diese Rückgaben können dann als Ziel im TD(0)-Aktualisierungsregel verwendet werden:

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) ist ein ausgeklügeltes Konzept, das auf dem nn-Schritt-TD-Lernen aufbaut: Anstatt ein festes nn zu wählen, werden alle nn-Schritt-Rückgaben kombiniert:

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

wobei λ[0,1]\lambda \in [0, 1] die Gewichtung steuert:

  • Wenn λ=0\lambda = 0: nur Ein-Schritt-Rückgabe \to TD(0);
  • Wenn λ=1\lambda = 1: vollständige Rückgabe \to Monte Carlo;
  • Zwischenwerte mischen mehrere Schritt-Rückgaben.

Somit fungiert λ\lambda als Regler für den Bias-Varianz-Kompromiss:

  • Niedriges λ\lambda: mehr Bias, weniger Varianz;
  • Hohes λ\lambda: weniger Bias, mehr Varianz.

LtL_t kann dann als Aktualisierungsziel in der TD(0)-Aktualisierungsregel verwendet werden:

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

Wenn der Parameter λ\lambda in TD(λ\lambda) auf 1 gesetzt wird, entspricht die Methode

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

course content

Kursinhalt

Einführung in das Reinforcement Learning

Einführung in das Reinforcement Learning

1. Kernprinzipien des RL
2. Multi-Armed-Bandit-Problem
3. Dynamische Programmierung
4. Monte-Carlo-Methoden
5. Temporal-Differenz-Lernen

book
Verallgemeinerung des TD-Lernens

Bisher haben wir zwei Extremfälle des Lernens aus Erfahrung betrachtet:

  • TD(0): verwendet die Ein-Schritt-Rendite;
  • Monte Carlo: wartet bis zum Ende der Episode, um die Rendite zu berechnen.

Aber was, wenn wir etwas dazwischen wollen? Etwas, das mehr zukünftige Informationen nutzt als TD(0), aber nicht wie Monte Carlo auf die gesamte Episode warten muss?

Hier kommen das nn-Schritt-TD-Lernen und TD(λ\lambda) ins Spiel — Methoden, die die bisher gesehenen Ansätze vereinheitlichen und verallgemeinern.

n\Large n-Schritt-TD-Lernen

Die Idee hinter dem nn-Schritt-TD-Lernen ist einfach: Anstatt nur den nächsten Schritt oder die gesamte Episode zu verwenden, nutzen wir die nächsten nn Schritte und bootstrappen dann:

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})

Dies ermöglicht einen Kompromiss:

  • Für n=1n = 1: entspricht es TD(0);
  • Für n=n = \infty: entspricht es Monte Carlo.

Diese Rückgaben können dann als Ziel im TD(0)-Aktualisierungsregel verwendet werden:

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) ist ein ausgeklügeltes Konzept, das auf dem nn-Schritt-TD-Lernen aufbaut: Anstatt ein festes nn zu wählen, werden alle nn-Schritt-Rückgaben kombiniert:

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

wobei λ[0,1]\lambda \in [0, 1] die Gewichtung steuert:

  • Wenn λ=0\lambda = 0: nur Ein-Schritt-Rückgabe \to TD(0);
  • Wenn λ=1\lambda = 1: vollständige Rückgabe \to Monte Carlo;
  • Zwischenwerte mischen mehrere Schritt-Rückgaben.

Somit fungiert λ\lambda als Regler für den Bias-Varianz-Kompromiss:

  • Niedriges λ\lambda: mehr Bias, weniger Varianz;
  • Hohes λ\lambda: weniger Bias, mehr Varianz.

LtL_t kann dann als Aktualisierungsziel in der TD(0)-Aktualisierungsregel verwendet werden:

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

Wenn der Parameter λ\lambda in TD(λ\lambda) auf 1 gesetzt wird, entspricht die Methode

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 5
some-alt