Warum ist intensives Lernen nicht stabil?


13

In DeepMinds 2015 veröffentlichtem Artikel über vertieftes Lernen heißt es, dass "frühere Versuche, RL mit neuronalen Netzen zu kombinieren, größtenteils aufgrund von instabilem Lernen gescheitert waren". Der Aufsatz listet dann einige Ursachen auf, die auf Korrelationen zwischen den Beobachtungen beruhen.

Könnte mir bitte jemand erklären, was das bedeutet? Handelt es sich um eine Überanpassung, bei der das neuronale Netz eine Struktur lernt, die im Training vorhanden ist, beim Testen jedoch möglicherweise nicht vorhanden ist? Oder bedeutet es etwas anderes?


Das Papier kann gefunden werden: http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html

Und der Abschnitt, den ich zu verstehen versuche, ist:

Es ist bekannt, dass Verstärkungslernen instabil ist oder sogar divergiert, wenn ein nichtlinearer Funktionsapproximator wie ein neuronales Netzwerk verwendet wird, um die Aktionswertfunktion (auch als Q-Funktion bekannt) darzustellen. Diese Instabilität hat mehrere Ursachen: Die in der Reihenfolge der Beobachtungen vorhandenen Korrelationen, die Tatsache, dass kleine Aktualisierungen von Q die Richtlinie und damit die Datenverteilung erheblich verändern können, und die Korrelationen zwischen den Aktionswerten und den Zielwerten.

Wir begegnen diesen Instabilitäten mit einer neuartigen Variante des Q-Learning, die zwei Schlüsselideen verwendet. 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. Zweitens verwendeten wir eine iterative Aktualisierung, die die Aktionswerte (Q) an Zielwerte anpasst, die nur periodisch aktualisiert werden, wodurch die Korrelationen mit dem Ziel verringert werden.


Um sicherzustellen, dass Sie Ihren Agenten auf nicht korrelierte Daten trainieren, sollten Sie den Agentenspeicher nicht bei jedem Schritt aktualisieren, indem Sie einen Speicherschritt festlegen, um eine Dekorrelation der Daten vorzunehmen.
Narjes Karmani

Antworten:


11

Das Hauptproblem ist, dass DNN, wie in vielen anderen Bereichen, schwer zu trainieren ist. Ein Problem ist hier die Korrelation der Eingabedaten: Wenn Sie an ein Videospiel denken (das tatsächlich zum Testen seiner Algorithmen verwendet wird), können Sie sich vorstellen, dass die nacheinander aufgenommenen Screenshots stark korrelieren: Das Spiel entwickelt sich "kontinuierlich". Dies kann für NNs ein Problem sein: Werden viele Iterationen des Gradientenabfalls an ähnlichen und korrelierten Eingaben durchgeführt, kann dies zu einer Überanpassung und / oder zu einem lokalen Minimum führen. Aus diesem Grund verwenden sie die Erfahrungswiedergabe: Sie speichern eine Reihe von "Schnappschüssen" des Spiels, mischen sie dann und wählen sie einige Schritte später aus, um das Training durchzuführen. Auf diese Weise werden die Daten nicht mehr korreliert. Dann bemerken sie, wie während des Trainings die Q-Werte (vorhergesagt von der NN) die laufende Politik ändern können.


Meinen Sie mit "gemischten" Daten zufällige Erlebnisse außerhalb der Reihenfolge, die in einem Mini-Batch gesammelt wurden? Wie entspricht das einer "vergünstigten zukünftigen Belohnung", die Erfahrungen in der Sequenz impliziert?
Isobretatel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.