Frage

Nehmen wir an, wir in einem Raum sind, wo unser Agent entlang der xx und yy Achse bewegen kann. An jedem Punkt er sich bewegen kann, unten, rechts und links. So kann unser Zustandsraum durch (x, y) definiert werden, und unsere Aktionen an jedem Punkt sind gegeben durch (oben, unten, rechts, links). Nehmen wir an, dass dort, wo unser Agent hat eine Aktion, die ihn gegen eine Wand machen wir ihm eine negative Belohnung von -1 geben, und ihn er vorher war in den Zustand zurück. Wenn er in der Mitte des Raumes findet eine Puppe er gewinnt 10 Belohnung.

Wenn wir unsere QWERT für einen gegebenen Zustand / Aktionspaar aktualisieren, die wir sehen, welche Aktionen in den neuen Zustand durchgeführt werden kann und die Berechnung, was die maximale QWERT ist, die möglich ist, um dorthin zu gelangen, so können wir unsere Q aktualisieren (s a) Wert für unsere aktuelle Status / Aktion. Das bedeutet, dass, wenn wir einen Zielzustand in dem Punkt (10, 10), alle Staaten um es wird eine QWERT haben etwas kleiner und kleiner wird, wenn sie weiter bekommen. Nun, im Verhältnis zu den Wänden, scheint es mir, das gleiche ist nicht wahr.

Wenn der Agent eine Wand trifft (lassen Sie uns annehmen, dass er in der Lage ist (0, 0) und hat die Aktion UP), wird er für diesen Zustand / Aktion eine Belohnung von -1 erhalten, so dass eine QWERT von -1 zu bekommen.

Nun, später, wenn ich in dem Staat bin (0, 1), und unter der Annahme, alle andere Aktionen des Staates (0,0 0) gleich Null sind, wenn die QWERT der Berechnung (0, 1) für die Aktion LEFT, es wird ihm die folgende Art und Weise berechnen:

Q([0,1], LEFT) = 0 + gamma * (max { 0, 0, 0, -1 } ) = 0 + 0 = 0

Dies ist, getroffen hat die Wand propagiert nicht zu dem nahen gelegenen Staaten, im Gegensatz zu dem, was passiert, wenn man positive Belohnung Zustände hat.

In meiner Optik scheint diese ungerade. Zuerst dachte ich Zustand / Aktions-Paare geben negative Belohnungen finden würde learningwise so gut wie positive Belohnungen, sondern aus dem Beispiel I oben gezeigt habe, diese Aussage scheint nicht wahr zu halten. Es scheint für die Aufnahme weit mehr in Betracht positive Belohnungen als negative eine Vorspannung in dem Algorithmus zu sein.

Ist dies das erwartete Verhalten von QLearning? Sollten nicht schlecht Belohnungen genauso wichtig wie positive sein? Was ist "work-arounds" für das?

War es hilfreich?

Lösung

Sie können negativ Auszeichnungen vermeiden, indem Sie die Standard-Belohnung von 0 bis 1, ist das Ziel Belohnung von 10 bis 11, und die Strafe von -1 bis 0 zu erhöhen.

Es gibt Unmengen von wissenschaftlichen Veröffentlichungen über die Q-Learning, also bin ich sicher, dass es andere Formulierungen, die für negative Rückkopplung erlauben würde.

EDIT: Ich stehe korrigiert, bedeutet dies nicht das Verhalten ändern, wie ich bereits erwähnt. Mein Denkprozess wurde, dass die Formulierung mit negativer Rückkopplung durch eine ohne ersetzt werden.

Der Grund für Ihre Beobachtung ist, dass Sie keine Unsicherheit über das Ergebnis Ihrer Handlungen oder den Staat es in ist, kann daher Ihr Agent immer die Aktion wählen, es glaubt optimale Belohnung hat (also den maximalen Q-Wert über alle künftige Maßnahmen). Aus diesem Grunde ist Ihr negatives Feedback ausbreitet nicht gemeinfrei. Der Agent einfach, dass Maßnahmen in Zukunft vermeiden

Wenn jedoch Ihr Modell Unsicherheiten über die Ergebnisse über Ihre Handlungen umfassen würde (zB gibt es immer eine 10% ige Wahrscheinlichkeit, in einer zufälligen Richtung der Bewegung), sollten Sie Ihre Lernregel alle möglichen zukünftige Belohnungen integriert über (im Grunde den max ersetzen durch eine gewichtete Summe). In diesem Fall negative Rückkopplung kann auch vermehrt werden (aus diesem Grunde dachte ich, es sollte möglich sein: p). Beispiele für solche Modelle sind POMDPs .

Andere Tipps

Negatives Feedback nur propagiert, wenn es das einzig mögliche Ergebnis aus einer bestimmten Bewegung ist.

Ob dies absichtlich oder unabsichtlich, weiß ich nicht.

Ihre Frage wird in dem Buch „Reinforcement Learning: Eine Einführung“ beantwortet, die einen Abschnitt von „Maximierungs Bias und Doppel Learning“ hat

.

Das „Q-Learing“ Algorithmus einen Nachteil hat, wobei ein Maximum über Schätzwerte implizit als Schätzwert des Maximalwerts verwendet wird, was zu erheblicher positiver Vorspannung führen kann.

Das „Double Q-Learning“ Algorithmus kann Maximierung Bias vermeiden und Ihre Frage zu lösen, wo Sie zwei unabhängige Schätzungen lernen, genannt Q_1 (a) und Q_2 (a). Hier klebe ich den Pseudo-Code für Sie: Doppel Q-Learning

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top