Warum (und wann) muss man die Belohnungsfunktion aus Stichproben beim Verstärkungslernen lernen?

9

Beim verstärkten Lernen haben wir eine Belohnungsfunktion, die den Agenten darüber informiert, wie gut seine aktuellen Aktionen und Zustände sind. In einigen allgemeinen Einstellungen ist die Belohnungsfunktion eine Funktion von drei Variablen:

  1. Aktueller ZustandS
  2. Aktuelle Aktion im aktuellen Zustandπ(s)=a
  3. Nächster ZustandS

Es sieht also ungefähr so ​​aus:

R(S,a,S)

Was meine Frage ist (was wahrscheinlich mein Missverständnis ist), normalerweise entscheidet die Person, die das Verstärkungslernen einsetzt, was die Belohnung ist. Beispielsweise werden 1000 Punkte für das Erreichen des Ziels oder -1000 Punkte für den Absturz des autonomen Roboters vergeben. In diesen Szenarien ist mir nicht klar, warum wir Proben benötigen würden, um zu lernen, dass R. R a priori spezifiziert ist, und dann verwenden wir unseren Agenten. Recht? Ich weiß jedoch, dass ich falsch liege, weil er in Andrew Ngs Notizen sagt:

Geben Sie hier die Bildbeschreibung ein

Wo er sagt, dass wir die Belohnungsfunktion nicht explizit kennen. Das kommt mir bizarr vor. Ich weiß, dass ich falsch liege, und ich würde mich freuen, wenn mir jemand erklären könnte, in welchen Szenarien wir R tatsächlich aus Stichproben lernen müssen.

(Offensichtlich müssen die Übergangswahrscheinlichkeiten gelernt werden, da man nicht weiß, wie die Umgebung unseren Agenten a priori bewegen wird).

Pinocchio
quelle

Antworten:

4

In seinen Notizen bedeutet er nicht die Belohnungsfunktion , wenn Sie sie "aus Daten schätzen" müssen . Sie schätzen die Belohnungsfunktion selten. In der Regel lernen Sie die Wertfunktion , mit der die unmittelbare Belohnung plus die zeitlich abgezinste zukünftige Belohnung geschätzt wird (wenn der zeitliche Rabatt Null ist, schätzen Sie die Belohnungen). Oder Sie können Q-Werte lernen , die Werte sind , die Status-Aktions-Paaren zugeordnet sind.

Zusammenfassend wird die Belohnungsfunktion und die wahre Übergangsfunktion von der Umgebung definiert. Der Agent lernt Dinge wie die Übergangsfunktion, Q-Werte und die Wertefunktion.

Neil G.
quelle
1
Beachten Sie auch, dass wir manchmal die Belohnungsfunktion (Inverse Reinforcement Learning) lernen möchten
Hipoglucido
1

Ich stimme den anderen Antworten zu, dass die Belohnungsfunktion normalerweise nicht direkt gelernt wird.

Die Übergangswahrscheinlichkeiten müssen ebenfalls nicht gelernt werden. Der Agent kann die Aktionswerte oder sogar direkt die Richtlinie direkt lernen, beispielsweise mit der Policy-Grad-Methode.

Es gibt jedoch Techniken, für die die Belohnung und die Übergangswahrscheinlichkeiten gelernt werden müssen. Beispielsweise verwaltet der Dyna-Q-Algorithmus (beschrieben in Sutton & Barto) ein Modell der Umgebung. Bei jedem Zeitschritt verwendet der Agent die von der Umgebung empfangenen Belohnungs- und Statusinformationen, um die Aktionswerte zu aktualisieren, wie beispielsweise beim Q-Learning.

Es aktualisiert jedoch auch sein eigenes Modell der Umgebung und führt dann N andere Aktualisierungen der Aktionswerte basierend auf diesem Modell durch. Die Annahme ist, dass die handelnde> Erfassungsschleife eine Zeit ungleich Null benötigt, die wir nutzen können, indem wir die Aktionswerte mit simulierten Abtastwerten verbessern.

Jacques
quelle
1

Dies ist eine gute Frage, die tiefer geht als jede ungenaue Formulierung in Andrews Notizen. Es ist wahr, dass Sie in RL im Allgemeinen keine Belohnungsfunktion R (S, A, S ') lernen müssen; Sie müssen es als Teil des Problem-Setups angeben. ABER es gibt Algorithmen (nach meiner Erfahrung im Zusammenhang mit der Statusfunktion nach dem Status oder nach der Entscheidung), die die erwartete Belohnung erfordernr (S, A) = E [R (S, A, S ') | S, A]. Im Allgemeinen machen die Texte, die ich gesehen habe, wenig Kommentar dazu und nehmen an, dass r (s, a) genauso bekannt ist wie R (S, A, S '). In einigen Fällen hängt die Belohnung jedoch vom zukünftigen Zustand ab. Ohne Modell müssen Sie diese Erwartung lernen. Ich arbeite derzeit an einem solchen Problem, bei dem sowohl die erwartete Belohnungsfunktion als auch die Wertfunktion gelernt werden müssen. Beachten Sie, dass die meisten RL-Algorithmen NICHT die erwartete Belohnungsfunktion erfordern, einige jedoch. Siehe zum Beispiel die Diskussion auf Seite 58 in Algorithmen für das Reinforcement Learning von Szepesvari.

Zusammenfassend müssen Sie die Belohnungsfunktion nicht lernen, aber wenn Sie mit Statusvariablen nach der Entscheidung arbeiten, müssen Sie möglicherweise die erwartete Belohnungsfunktion lernen . Dies ist der einzige Fall, bei dem mir bekannt ist, wo Sie eine erwartete Belohnungsfunktion erlernen müssen, aber ich würde gerne von anderen Fällen hören.

Mark Britten-Jones
quelle
0

Beim Verstärkungslernen lernt der Agent die Wertfunktion, nicht die Belohnungsfunktion. Der Wert einer Aktion ist ihr allgemeiner Nutzen. Zum Beispiel kann eine Aktion eine hohe Belohnung bringen, aber zu Zuständen mit niedrigem Wert führen, was sie zu einem niedrigen Wert macht.

Das Zitat besagt, dass die Welt manchmal kompliziert ist: Einige Probleme haben Zustandsaktionsräume, die zu groß sind, um sie aufzuzählen, sodass wir keine expliziten Übergangswahrscheinlichkeits- und Belohnungsfunktionen haben. In einem solchen Fall müsste der Agent eine Verallgemeinerung der True-Value-Funktion lernen.

Don Reba
quelle
0

Ich denke, diese Notizen sind etwas verwirrend. Die Belohnungen sollten von Ihnen entworfen werden, um Ihren RL-Agenten zu ermutigen, das Verhalten zu optimieren, das Sie sehen möchten. Die Übergänge zwischen Zuständen werden von der Umgebung vorgegeben und oft aus Daten geschätzt. Ich denke, Andrew bezieht sich auf eine Situation, in der Sie von Zustand A in Zustand B übergehen könnten, in dem Sie Belohnung x geben, oder in Zustand C, in dem Sie Belohnung y geben. Wenn die Zustände B und C bis auf die Unterschiede in der Belohnung identisch sind, würden Sie häufig die Zustände B und C eliminieren und dem Zustand A eine Belohnung geben, die anhand von Daten geschätzt wird, die zeigen, wie oft Sie von A zu B oder C wechseln.

nsweeney
quelle