Was ist "Experience Replay" und welche Vorteile hat es?

19

Ich habe gelesen , DeepMind Ataris Google Papier und ich versuche , das Konzept der „Erfahrung replay“ zu verstehen. Die Wiederholung von Erfahrungen ist in vielen anderen Lernpapieren zur Verstärkung enthalten (insbesondere im AlphaGo-Papier), daher möchte ich verstehen, wie es funktioniert. Nachfolgend einige Auszüge.

Zunächst verwendeten wir einen biologisch inspirierten Mechanismus, der als Erfahrungswiederholung bezeichnet wird und die Daten zufällig sortiert, wodurch Korrelationen in der Beobachtungssequenz beseitigt und Änderungen in der Datenverteilung geglättet werden.

Das Papier wird dann wie folgt ausgearbeitet:

Während es andere stabile Methoden zum Trainieren neuronaler Netze in der Umgebung des Verstärkungslernens gibt, wie z. B. neuronale angepasste Q-Iteration, umfassen diese Methoden das wiederholte Trainieren von Networks de novo mit Hunderten von Iterationen. Folglich sind diese Methoden im Gegensatz zu unserem Algorithmus zu ineffizient, um mit großen neuronalen Netzen erfolgreich verwendet zu werden. Wir parametrisieren eine Näherungswertfunktion Q(s,a;θi) Verwendung des in 1 gezeigten neuronalen Netzwerks mit tiefer Faltung, wobei θi die Parameter ( Gewichte) des Q-Netzwerks bei der Iteration zu jedem Zeitschritti . Um eine Wiederholung der Erfahrung durchzuführen, speichern wir die Erfahrungen des Agentenet=(st,at,rt,st+1)t in einem Datensatz . Während des Lernens wenden wir Q-Learning-Aktualisierungen auf Stichproben (oder Mini-Chargen) von Erfahrungswerten , die gleichmäßig und zufällig aus dem Pool gespeicherter Stichproben gezogen werden. Das Q-Learning - Update bei der Iteration verwendet die folgende Verlustfunktion:Dt={e1,,et}(s,a,r,s)U(D)i

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Was ist Experience Replay und was bringt es für Laien?

Ryan Zotti
quelle

Antworten:

25

Der Schlüsselteil des zitierten Textes ist:

Um eine Wiederholung der Erfahrung durchzuführen, speichern wir die Erfahrungen des Agenten. et=(st,eint,rt,st+1)

Dies bedeutet, dass das System anstelle von Q-Learning für Status- / Aktionspaare, wie sie während der Simulation oder der tatsächlichen Erfahrung auftreten, die für [Status, Aktion, Belohnung, nächster_Zustand] ermittelten Daten speichert - in der Regel in einer großen Tabelle. Beachten Sie, dass hier keine zugehörigen Werte gespeichert werden. Dies sind die Rohdaten, die später in die Aktionswertberechnungen eingehen.

Die Lernphase ist dann logisch von dem Sammeln von Erfahrung getrennt und basiert auf der Entnahme von Zufallsstichproben aus dieser Tabelle. Sie möchten immer noch die beiden Prozesse - Handeln und Lernen - ineinander verschachteln, da eine Verbesserung der Richtlinien zu unterschiedlichen Verhaltensweisen führt, die Aktionen näher an den optimalen untersuchen sollten, und Sie möchten daraus lernen. Sie können dies jedoch aufteilen, wie Sie möchten - z. B. einen Schritt machen, aus drei zufälligen vorherigen Schritten lernen usw. Die Q-Learning-Ziele bei der Verwendung der Erfahrungswiedergabe verwenden dieselben Ziele wie die Online-Version, daher gibt es keine neue Formel dafür. Die angegebene Verlustformel ist auch diejenige, die Sie für DQN ohne Erfahrungswiedergabe verwenden würden. Der Unterschied besteht nur darin, welche s, a, r, s ', a' Sie in sie einspeisen.

In DQN unterhielt das DeepMind-Team auch zwei Netzwerke und wechselte, welches gerade lernte und welches aktuelle Aktionswertschätzungen als "Bootstraps" einspeist. Dies trug zur Stabilität des Algorithmus bei, wenn ein nichtlinearer Funktionsapproximator verwendet wurde. Das ist , was die Bar steht für in - es die alternative bezeichnet gefrorene Version der Gewichte.θich ¯

Vorteile der Erfahrungswiedergabe:

  • Effizientere Nutzung früherer Erfahrungen durch mehrmaliges Lernen. Dies ist der Schlüssel, wenn das Sammeln von Erfahrungen in der realen Welt kostspielig ist und Sie sie voll ausnutzen können. Die Q-Learning-Aktualisierungen sind inkrementell und konvergieren nicht schnell. Daher sind mehrere Durchläufe mit denselben Daten von Vorteil, insbesondere wenn die unmittelbaren Ergebnisse (Belohnung, nächster Status) bei gleichem Status und Aktionspaar nur geringfügig voneinander abweichen.

  • Besseres Konvergenzverhalten beim Training eines Funktionsapproximators. Dies liegt zum Teil daran, dass die Daten eher den ID- Daten entsprechen, die in den meisten überwachten Lernkonvergenzbeweisen angenommen wurden.

Nachteil der Erfahrungswiedergabe:

  • λ

Der in DQN verwendete Ansatz wird von David Silver in Teilen dieser Videovorlesung kurz umrissen (gegen 01:17:00 Uhr, aber sehenswerte Abschnitte davor). Wenn Sie Zeit haben, empfehle ich Ihnen, sich die ganze Serie anzuschauen, bei der es sich um einen Kurs für Fortgeschrittene handelt.

Neil Slater
quelle
Nehmen wir an, wir befinden uns während des Trainings in einem Bundesstaat und ergreifen eine Maßnahme gemäß der Epsilon-Gier-Richtlinie, und Sie landen in einem anderen Bundesstaat. Sie erhalten also Belohnungen und den nächsten Status. Hier kann die Belohnung die Punktzahl des Spiels sein und die Zustände können die Pixelmuster auf dem Bildschirm sein. Und dann nehmen wir den Fehler zwischen unserem Funktionsapproximator und dem Wert, den wir von der gierigen Richtlinie erhalten haben, wieder unter Verwendung des bereits eingefrorenen Funktionsapproximators. Aber mit der Erfahrung, die wir bei der Optimierung des Approximators gesammelt haben, nehmen wir einen zufälligen Datensatz für Zustandsaktionen. Habe ich recht ?
Shamane Siriwardhana
1
@ShamaneSiriwardhana: Ja, ich denke du hast recht. Es sind genau dieselben Daten aus der realen Flugbahn, aber anstatt nur aus dem letzten Schritt zu lernen, speichern Sie sie in einer großen Tabelle und nehmen eine Stichprobe aus dieser Tabelle (in der Regel mehrere Stichproben, wobei Sie aus Tausenden von vorherigen Schritten auswählen können) ). Wenn Sie weitere Informationen benötigen, stellen Sie möglicherweise eine Frage auf der Website.
Neil Slater
Ja, ich habe die Zeitung noch einmal durchgesehen. Es heißt auch, dass diese Methode auch das Lernen außerhalb der Politik verbessern kann. Denn beim Q-Learning mit handeln nach der epsilon-gierigen Richtlinie, aber Werte aktualisieren funktioniert nach der gierigen Richtlinie. Wenn also bei jedem Zeitschritt unsere neuronalen Netzparameter durch Mini-Batch-Statistiken aktualisiert werden, was vor allem nicht mit exakten Zeitschrittstatistiken zusammenhängt, sondern was zuvor passiert ist, hilft dies auch dabei, die Daten zu unkorrelieren.
Shamane Siriwardhana
@Neil Slater, ich habe das Rainbow-Paper durchgesehen und keine speziellen Kommentare zur Verwendung eines speziellen Tricks zum Kombinieren von Erfahrungswiedergabe und Mehrschrittmethode gesehen. Ich habe auch gehört, dass es ursprünglich unmöglich ist, eine Mehrschrittmethode mit einer Erfahrungswiedergabe zu kombinieren. Warum sollte man aber nicht zufällig n aufeinanderfolgende Erfahrungen anstelle von 1 aus der Erfahrungswiedergabe auswählen, sondern aus der Wiederholung, sodass zwischen den einzelnen n Erfahrungen keine Korrelationen gefunden werden? Ist diese mehrstufige Erfahrung nicht eine Wiederholung?
StL
@NeilSlater Warum ist es "schwieriger, mehrstufige Lernalgorithmen zu verwenden"? Was hast du gemeint?
Gulzar,