Verstärkungslernen mit neuronalen Netzen verstehen (Q-Learning)

9

Ich versuche, Verstärkungslernen und Markov-Entscheidungsprozesse (MDP) zu verstehen, wenn ein neuronales Netz als Funktionsnäherungswert verwendet wird.

Ich habe Schwierigkeiten mit der Beziehung zwischen dem MDP, in dem die Umgebung auf probabilistische Weise untersucht wird, wie dies auf Lernparameter zurückgeführt wird und wie die endgültige Lösung / Richtlinien gefunden werden.

Kann ich zu Recht davon ausgehen, dass beim neuronalen Lernen das neuronale Netzwerk im Wesentlichen so viele Schritte in der Zukunft als Funktionsapproximator für den q-Wert selbst fungiert? Wie ordnet sich dies der Aktualisierung von Parametern über Backpropagation oder andere Methoden zu?

Wenn das Netzwerk gelernt hat, die zukünftige Belohnung vorherzusagen, wie passt dies dann zum System, um tatsächlich Entscheidungen zu treffen? Ich gehe davon aus, dass das endgültige System wahrscheinlich keine Zustandsübergänge vornehmen würde.

Vielen Dank

CatsLoveJazz
quelle

Antworten:

4

In Q-Learning verwenden Sie bei jedem Schritt Beobachtungen und Belohnungen, um Ihre Q-Wert-Funktion zu aktualisieren:

Q.t+1(st,eint)=Q.t(st,eint)+α[R.t+1+γmaxein'Q.t(st+1,ein')- -Q.t(st,eint)]]

Sie sagen zu Recht, dass das neuronale Netzwerk nur eine Funktionsnäherung für die q-Wert-Funktion ist.

Im Allgemeinen ist der Approximationsteil nur ein standardmäßiges überwachtes Lernproblem. Ihr Netzwerk verwendet (s, a) als Eingabe und die Ausgabe ist der q-Wert. Wenn die q-Werte angepasst werden, müssen Sie diese neuen Beispiele im Netzwerk trainieren. Dennoch werden Sie einige Probleme finden, wenn Sie korrelierte Stichproben verwenden und SGD darunter leiden wird.

Wenn Sie sich das DQN-Papier ansehen, sehen die Dinge etwas anders aus. In diesem Fall setzen sie Samples in einen Vektor (Erfahrungswiedergabe). Um das Netzwerk zu unterrichten, werden Tupel aus dem Vektor abgetastet und anhand dieser Informationen gebootet, um einen neuen q-Wert zu erhalten, der dem Netzwerk beigebracht wird. Wenn ich Lehren sage, meine ich das Anpassen der Netzwerkparameter mithilfe des stochastischen Gradientenabfalls oder Ihres bevorzugten Optimierungsansatzes. Indem Sie die Proben nicht in der Reihenfolge unterrichten, in der sie von der Richtlinie erfasst werden, dekorrelieren Sie sie und dies hilft beim Training.

Um eine Entscheidung über den Zustand zu treffen , wählen Sie schließlich die Aktion aus, die den höchsten q-Wert liefert:s

ein(s)=einrGmeinxein Q.(s,ein)

Wenn Ihre Q-Wert-Funktion vollständig gelernt wurde und die Umgebung stationär ist, ist es in Ordnung, an dieser Stelle gierig zu sein. Während des Lernens wird jedoch erwartet, dass Sie erkunden. Es gibt verschiedene Ansätze, die grau sind, eine der einfachsten und gebräuchlichsten Methoden.ε

Juan Leni
quelle
Danke das ist sehr nützlich, das macht sehr viel Sinn! Um zu verdeutlichen, würden Sie nach dem Training des Systems einfach jede mögliche Aktion mit den aktuellen Eingangszuständen in das neuronale Netzwerk einspeisen und die Aktion auswählen, die die größte Belohnung (q-Wert) schätzt?
CatsLoveJazz
1
Richtig. Denken Sie jedoch daran, dass Sie, wenn Ihre Umgebung nicht stationär ist, möglicherweise weitere Erkundungen durchführen möchten. Im Allgemeinen läuft Q-Learning online und Sie trainieren kontinuierlich.
Juan Leni
Großartig, kennen Sie Literatur zu Ihrer Antwort? Ich denke, eine Alternative zum Online-Training wäre, alle n Zeiträume neu beobachtete Daten zu trainieren, um zu verhindern, dass fehlgeschlagene Explorationen die Leistung in einer Produktionsumgebung beeinträchtigen.
CatsLoveJazz
1
Ich beziehe mich im Wesentlichen auf das Explorations-Exploitation-Dilemma. Es gibt viele Ansätze. Ein einfach anzuwendender ist hier: tokic.com/www/tokicm/publikationen/papers/… wo Sie Epsilon basierend auf dem Fehler Ihrer Wertfunktion adaptiv anpassen
Juan Leni
1
Ein Klassiker ist dieses Papier / Buch (1996): web.mit.edu/people/dimitrib/NDP_Encycl.pdf . athenasc.com/ndpbook.html Heutzutage gibt es viel Arbeit, Deep Neural Networks und RL zu kombinieren. Deepmind-Papiere sind ein gutes Beispiel: storage.googleapis.com/deepmind-data/assets/papers/…
Juan Leni