Was ist der Bellman-Operator beim Bestärkungslernen?

10

In der Mathematik, das Wort Operator kann auf mehrere unterschiedliche , aber verwandte Begriffe beziehen. Ein Operator kann als eine Funktion zwischen zwei Vektorräumen definiert werden, er kann als eine Funktion definiert werden, bei der die Domäne und die Codomäne gleich sind, oder er kann als eine Funktion von Funktionen (die Vektoren sind) zu anderen Funktionen (z Beispiel: der Differentialoperator ), dh eine Funktion höherer Ordnung (wenn Sie mit der funktionalen Programmierung vertraut sind).

Was ist der Bellman-Operator beim Verstärkungslernen (RL)? Warum brauchen wir es überhaupt? Wie hängt der Bellman-Operator mit den Bellman-Gleichungen in RL zusammen?

nbro
quelle
Einige Artikel zu diesem Thema sind merkmalsbasierte Methoden für die dynamische Programmierung in großem Maßstab (von John N. Tsitsiklis und Benjamin Van Roy, 1996), Eine Analyse des Lernens zeitlicher Unterschiede mit Funktionsnäherung (von John N. Tsitsiklis und Benjamin Van) Roy, 1997) und Least-Squares Policy Iteration (von Michail G. Lagoudakis und Ronald Parr, 2003).
nbro
Einige weitere verwandte Artikel, die ich gefunden habe, sind Generalized Markov Decision Processes: Algorithmen für dynamisches Programmieren und Verstärkungslernen (von Csaba Szepesvári und Michael L. Littman, 1997) und MdPs: Lernen in unterschiedlichen Umgebungen (von István Szita, Bálint) Takács, András Lörincz, 2002). ϵ
nbro

Antworten:

10

Die Notation, die ich verwenden werde, stammt aus zwei verschiedenen Vorträgen von David Silver und wird auch durch diese Folien informiert .

Die erwartete Bellman-Gleichung lautet

(1)vπ(s)=aAπ(a|s)(Rsa+γsSPssavπ(s))

Wenn wir und dann können wir umschreiben als

(2)Pssπ=aAπ(a|s)Pssa
(3)Rsπ=aAπ(a|s)Rsa
(1)

(4)vπ(s)=Rsπ+γsSPssπvπ(s)

Dies kann in Matrixform geschrieben werden

(5)[vπ(1)vπ(n)]=[R1πRnπ]+γ[P11πP1nπPn1πPnnπ][vπ(1)vπ(n)]

Oder kompakter:

(6)vπ=Rπ+γPπvπ

Beachten Sie, dass beide Seiten sind - dimensionale Vektoren. Hier istist die Größe des Zustandsraums. Wir können dann einen Operator als definieren(6)nn=|S|Tπ:RnRn

(7)Tπ(v)=Rπ+γPπv

für jedes . Dies ist der erwartete Bellman-Betreiber.vRn

Ebenso können Sie die Bellman-Optimalitätsgleichung neu schreiben

(8)v(s)=maxaA(Rsa+γsSPssav(s))

als Bellman-Optimalitätsoperator

(9)T(v)=maxaA(Ra+γPav)

Die Bellman-Operatoren sind "Operatoren", da sie Abbildungen von einem Punkt zum anderen innerhalb des Vektorraums der Zustandswerte .Rn

Das Umschreiben der Bellman-Gleichungen als Operatoren ist nützlich, um zu beweisen, dass bestimmte dynamische Programmieralgorithmen (z. B. Richtlinieniteration, Wertiteration) zu einem eindeutigen Fixpunkt konvergieren. Diese Nützlichkeit ergibt sich aus einer Reihe bestehender Arbeiten in der Operatortheorie, die es uns ermöglichen, spezielle Eigenschaften der Bellman-Operatoren zu nutzen.

Insbesondere die Tatsache, dass die Bellman-Operatoren Kontraktionen sind, liefert die nützlichen Ergebnisse, dass für jede Richtlinie und jeden Anfangsvektor ,πv

(10)limk(Tπ)kv=vπ

(11)limk(T)kv=v

Dabei ist der Wert der Richtlinie und der Wert einer optimalen Richtlinie . Der Beweis beruht auf dem Satz der Kontraktionsabbildung .vππvπ

Philip Raeisghasem
quelle