Wann werden Monte-Carlo-Methoden gegenüber zeitlichen Differenzmethoden bevorzugt?

12

Ich habe in letzter Zeit viel über Reinforcement Learning geforscht. Ich folgte Sutton & Bartos Reinforcement Learning: Eine Einführung für das meiste davon.

Ich weiß, was Markov-Entscheidungsprozesse sind und wie das Lernen mit dynamischer Programmierung (DP), Monte Carlo und zeitlichem Unterschied (DP) verwendet werden kann, um sie zu lösen. Das Problem, das ich habe, ist, dass ich nicht sehe, wann Monte Carlo die bessere Option gegenüber TD-Lernen wäre.

Der Hauptunterschied zwischen ihnen besteht darin, dass TD-Learning Bootstrapping verwendet, um die Aktionswertfunktion zu approximieren, und Monte Carlo einen Durchschnitt verwendet, um dies zu erreichen. Ich kann mir einfach kein Szenario vorstellen, in dem dies der bessere Weg ist.

Ich vermute, dass es etwas mit der Leistung zu tun haben könnte, aber ich kann keine Quellen finden, die dies beweisen können.

Vermisse ich etwas oder ist TD-Lernen im Allgemeinen die bessere Option?

Anne-Dirk
quelle

Antworten:

8

Das Hauptproblem beim TD-Lernen und bei DP besteht darin, dass ihre Schrittaktualisierungen auf die Anfangsbedingungen der Lernparameter ausgerichtet sind. Der Bootstrapping-Prozess aktualisiert typischerweise eine Funktion oder Suche Q (s, a) auf einem Nachfolgerwert Q (s ', a') unter Verwendung der aktuellen Schätzungen in letzterem. Offensichtlich enthalten diese Schätzungen zu Beginn des Lernens keine Informationen über echte Belohnungen oder Zustandsübergänge.

Wenn das Lernen wie beabsichtigt funktioniert, verringert sich die Verzerrung über mehrere Iterationen asymptotisch. Die Verzerrung kann jedoch erhebliche Probleme verursachen, insbesondere bei nicht politischen Methoden (z. B. Q-Learning) und bei Verwendung von Funktionsapproximatoren. Es ist so wahrscheinlich, dass diese Kombination nicht konvergiert, dass sie in Sutton & Bart als tödliche Triade bezeichnet wird .

Monte-Carlo-Steuermethoden leiden nicht unter dieser Verzerrung, da bei jeder Aktualisierung eine echte Stichprobe dessen verwendet wird, was Q (s, a) sein sollte. Monte-Carlo-Methoden können jedoch unter einer hohen Varianz leiden, was bedeutet, dass mehr Stichproben erforderlich sind, um im Vergleich zu TD den gleichen Lerngrad zu erreichen.

In der Praxis scheint das TD-Lernen effizienter zu lernen, wenn die Probleme mit der tödlichen Triade überwunden werden können. Jüngste Ergebnisse, die Erfahrungswiedergabe und inszenierte "eingefrorene" Kopien von Schätzern verwenden, bieten Workarounds, die Probleme beheben - z. B. wurde der DQN-Lerner für Atari-Spiele entwickelt.

Es gibt auch einen Mittelweg zwischen TD und Monte Carlo. Es ist möglich, eine verallgemeinerte Methode zu konstruieren, die Trajektorien unterschiedlicher Länge - vom einstufigen TD bis zum Abschluss von Episodenläufen in Monte Carlo - kombiniert und kombiniert. Die häufigste Variante davon ist das TD- Lernen ( ), wobei ein Parameter von (effektiv einstufiges TD-Lernen) bis (effektiv Monte-Carlo-Lernen) ist, aber mit einer netten Funktion, die kontinuierlich verwendet werden kann Probleme). In der Regel ist ein Wert zwischen und der effizienteste Lernagent. Wie bei vielen Hyperparametern hängt der beste Wert jedoch vom Problem ab.λλ0101

Wenn Sie eine wertbasierte Methode verwenden (im Gegensatz zu einer richtlinienbasierten), wird das TD-Lernen in der Praxis im Allgemeinen häufiger verwendet, oder eine TD / MC-Kombinationsmethode wie TD (λ) kann sogar noch besser sein.

In Bezug auf "praktischen Vorteil" für MC? Monte-Carlo-Lernen ist konzeptionell einfach, robust und leicht zu implementieren, wenn auch oft langsamer als TD. Ich würde es im Allgemeinen nicht für eine lernende Controller-Engine verwenden (es sei denn, ich habe es eilig, etwas für eine einfache Umgebung zu implementieren), aber ich würde es ernsthaft für die Richtlinienbewertung in Betracht ziehen, um beispielsweise mehrere Agenten zu vergleichen - das liegt daran, dass es sich um eine handelt unvoreingenommene Maßnahme, die für das Testen wichtig ist.

Neil Slater
quelle
Zunächst einmal vielen Dank für die Antwort. Ich sehe, wie in der Theorie ein unvoreingenommener Algorithmus einem voreingenommenen vorgezogen werden könnte. Aber angesichts der hohen Varianz, die Monte Carlo zu Beginn des Trainings geben kann, sehe ich nicht, wie wichtig das wirklich ist. Sowohl Monte Carlo als auch TD werden mit ungenauen Näherungen beginnen und nach dem, was ich gelesen habe, wird TD viel schneller konvergieren. Ich kann mir einfach keinen praktischen Vorteil aus der Verwendung von Monte Carlo einfallen lassen. (Amüsant kann die tödliche Triade vermieden werden)
Anne-dirk
1
@ Anne-dirk Wenn Sie ein Value-Methode verwenden (im Gegensatz zu einer richtlinienbasierten) ein und dann TD Lernen ist im Allgemeinen mehr in der Praxis oder ein TD / MC - Kombinationsverfahren wie TD (λ) sein , auch verwendet besser. Ich bin mir nicht sicher, was Sie unter "praktischem Vorteil" verstehen? Monte-Carlo-Lernen ist konzeptionell einfach, robust und leicht zu implementieren. Ich würde es im Allgemeinen nicht für eine lernende Controller-Engine verwenden (es sei denn, ich habe es eilig, etwas für eine einfache Umgebung zu implementieren), aber ich würde es ernsthaft für die Richtlinienbewertung in Betracht ziehen, um beispielsweise mehrere Agenten zu vergleichen.
Neil Slater
@Neul Slater Aaaah Ich verstehe ... Das ist die Art von Antwort, nach der ich gesucht habe :) Danke für deine Hilfe!
Anne-Dirk
-1

Im Wesentlichen hängt es von Ihrer Umgebung ab.

TD nutzt die Markov-Eigenschaft aus, dh die zukünftigen Zustände eines Prozesses hängen nur vom aktuellen Zustand ab. Daher ist es normalerweise effizienter, TD in Markov-Umgebungen zu verwenden.

MC nutzt die Markov-Eigenschaft nicht aus, da die Belohnungen auf dem gesamten Lernprozess basieren, der sich für Nicht-Markov-Umgebungen eignet.

BigBadMe
quelle
Ich denke nicht, dass dies richtig oder zumindest offensichtlich ist. Die Markov-Eigenschaft ist im Kontext von RL den Zuständen zugeordnet. Können Sie bitte klarstellen, warum MC-Algorithmen besser funktionieren würden, wenn die Markov-Eigenschaft nicht erfüllt wäre?
nbro
Um klar zu sein, bezog ich mich auf Effizienz. Wenn Sie die Markov-Eigenschaft ausnutzen können, ist TD von Vorteil, da Sie in einem bestimmten Zustand starten, Maßnahmen ergreifen und Maßnahmen ergreifen können und das Ergebnis immer das gleiche ist, sodass Sie den TD-Fehler mit hoher Sicherheit berechnen können. Wenn Sie bei Nicht-MDP einen Zustand erhalten, der teilweise beobachtet wird, ist TD möglicherweise nicht sehr effizient. Das heißt nicht, dass Sie TD nicht in Nicht-MDPs verwenden können, aber es könnte ineffizient sein und mit TD Lambda einen besseren Erfolg erzielen als mit TD (1).
BigBadMe
"Wenn Sie die Markov-Eigenschaft ausnutzen können, ist TD von Vorteil, da Sie in einem bestimmten Zustand starten, Maßnahmen ergreifen und Maßnahmen ergreifen können und das Ergebnis immer dasselbe ist", ist es dasselbe, wenn die Umgebung deterministisch ist. Was hat das mit der Markov-Eigenschaft zu tun? Ich verstehe deine Ansprüche nicht. Wo haben Sie gelesen, dass TD in z. B. POMDPs ineffizienter ist als MC?
nbro
Es hat buchstäblich alles damit zu tun, Markov zu sein; Wenn Sie sich in einer Markov-Umgebung befinden, wird, sobald Sie die Aktion a in state a festgelegt haben, a 'mit Belohnung x angezeigt - dies ist in einer Markov-Umgebung immer der Fall, sodass Sie sie nicht erneut bewerten müssen und mehr - Sie können größere Schritte unternehmen und TD ermöglicht es Ihnen, dies auszunutzen. In einem POMDP ist dies jedoch nicht der Fall, da Sie genau denselben Status haben, dieselbe Aktion ausführen, aber in völlig unterschiedlichen Status und Belohnungen enden können.
BigBadMe
"Wenn Sie sich in einer Markov-Umgebung befinden, wird, sobald Sie die Aktion a in state a festgelegt haben, a 'mit Belohnung x angezeigt." Nein . Dies gilt nur, wenn die Umgebung deterministisch ist . Die Umgebung kann auch stochastisch sein . "Das wird in einer Markov-Umgebung immer der Fall sein", Nein , dies ist ein orthogonales Problem für die Markov-Eigenschaft.
nbro