Ich habe Schwierigkeiten, eine Erklärung dafür zu finden, warum Standard-Q-Learning dazu neigt, Q-Werte zu überschätzen (was durch die Verwendung von doppeltem Q-Learning behoben wird). Die einzigen Quellen, die ich gefunden habe, erklären nicht genau, warum diese Überschätzung auftritt.
Zum Beispiel sagt der Wikipedia-Artikel über Q-Learning:
Da der maximale angenäherte Aktionswert im Q-Learning-Update verwendet wird, kann Q-Learning in lauten Umgebungen manchmal die Aktionswerte überschätzen und das Lernen verlangsamen.
Was bedeutet das? Ich verstehe Q-Learning, aber nicht das oben genannte. Warum führt die Verwendung des maximalen q-Werts zu einer Überschätzung?
Vielen Dank!
quelle
Ich bin mit dem verstärkten Lernen nicht sehr vertraut, aber die nächste Zeile in dem Wikipedia-Artikel, den Sie (derzeit) zitieren, bezieht sich auf das Papier Double Q-Learning (NIPS 2010) . Die Zusammenfassung zu diesem Papier sagt
Zusammen scheinen diese zu sagen, dass, wenn dieQ Funktion ist in Wirklichkeit stochastische, beobachtete Belohnungen r^ resultierend aus einem State-Action-Paar (s,a) wird mit etwas (0-Mittelwert) Rauschen verbunden sein, z r^=r+ϵ . Dann weilQ wird basierend auf aktualisiert maxaQold wird der Maximalwert tendenziell eine Kombination aus hoher Belohnung und / oder großen positiven Rauschrealisierungen . Wenn und ignoriert wird , ist der Wert von tendenziell eine Überschätzung.r ϵ rmax≈r^max ϵ Q
(Wie bereits erwähnt, bin ich mit diesem Bereich nicht vertraut und habe nur einen Blick auf Wikipedia und die obige Zusammenfassung geworfen, sodass diese Interpretation falsch sein könnte.)
quelle
Zunächst möchte ich aus dem Buch von Sutton und Barto zitieren
Es ist ein bisschen vage. Hier ist ein einfaches Beispiel. wobei Q1 (s, X) = Q2 (s, X) = 0 ist, aber in der Praxis können die Werte unsicher sein.
Q1 (s, A) = 0,1, Q1 (s, B) = 0, Q1 (s, C) = -0,1
Q2 (s, A) = -0,1, Q2 (s, B) = 0,1, Q2 (s, C) = 0
Wenn Sie Q1 nur selbst aktualisieren, wird immer A at s zum Aktualisieren ausgewählt. Wenn Sie jedoch max_a Q2 (s, a) auswählen, um Q1 zu aktualisieren, kann Q2 die Situation kompensieren. Außerdem müssen Sie Q1 verwenden, um Q2 auf die andere Weise zu trainieren. Das Rauschen in Q2 ist unabhängig von dem in Q1, da Q1 und Q2 unter Verwendung unterschiedlicher Datensätze getrennt trainiert werden.
quelle