Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Inkrementelle Implementierungen | Monte-Carlo-Methoden
Einführung in Reinforcement Learning mit Python

Inkrementelle Implementierungen

Swipe um das Menü anzuzeigen

Das Speichern jeder Rückgabe für jedes Zustand-Aktions-Paar kann den Speicher schnell erschöpfen und die Rechenzeit erheblich erhöhen – insbesondere in großen Umgebungen. Diese Einschränkung betrifft sowohl On-Policy- als auch Off-Policy-Monte-Carlo-Kontrollalgorithmen. Um dem entgegenzuwirken, werden inkrementelle Berechnungsstrategien verwendet, ähnlich wie bei Multi-Armed-Bandit-Algorithmen. Diese Methoden ermöglichen es, Wertschätzungen dynamisch zu aktualisieren, ohne vollständige Rückgabeverläufe zu speichern.

On-Policy-Monte-Carlo-Kontrolle

Für die On-Policy-Methode ähnelt die Aktualisierungsstrategie der Strategie, die in MAB-Algorithmen verwendet wird:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

wobei α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} für die Mittelwertschätzung gilt. Die einzigen Werte, die gespeichert werden müssen, sind die aktuellen Schätzungen der Aktionswerte Q(s,a)Q(s, a) und die Anzahl der Besuche des Zustand-Aktions-Paares (s,a)(s, a), also N(s,a)N(s, a).

Pseudocode

Inkrementeller On-Policy Monte-Carlo-Kontroll-Pseudocode

Off-Policy Monte-Carlo-Kontrolle

Für die Off-Policy-Methode mit gewöhnlichem Importance Sampling bleibt alles wie bei der On-Policy-Methode.

Eine interessantere Situation ergibt sich beim gewichteten Importance Sampling. Die Gleichung sieht gleich aus:

Q(s,a)Q(s,a)+α(GQ(s,a))Q(s, a) \gets Q(s, a) + \alpha (G - Q(s, a))

aber α=1N(s,a)\displaystyle \alpha = \frac{1}{N(s, a)} kann nicht verwendet werden, weil:

  1. Jede Rückgabe mit ρ\rho gewichtet wird;
  2. Die abschließende Summe nicht durch N(s,a)N(s, a), sondern durch ρ(s,a)\sum \rho(s, a) geteilt wird.

Der Wert von α\alpha, der in diesem Fall tatsächlich verwendet werden kann, ist gleich WC(s,a)\displaystyle \frac{W}{C(s,a)}, wobei:

  • WW ein ρ\rho für die aktuelle Trajektorie ist;
  • C(s,a)C(s, a) gleich ρ(s,a)\sum \rho(s, a) ist.

Und jedes Mal, wenn das Zustands-Aktions-Paar (s,a)(s, a) auftritt, wird das ρ\rho der aktuellen Trajektorie zu C(s,a)C(s, a) addiert:

C(s,a)C(s,a)+WC(s, a) \gets C(s, a) + W

Pseudocode

Inkrementeller Off-Policy Monte Carlo Kontroll-Pseudocode
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 4. Kapitel 7

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

Abschnitt 4. Kapitel 7
some-alt