2017-05-24 5 views
0

Sie haben eine Richtlinie, die effektiv eine Wahrscheinlichkeitsverteilung von Aktionen für alle meine Zustände ist. Eine Wertfunktion bestimmt den besten Kurs von Aktionen, um die höchste Belohnung zu erreichen.Grundlegendes zu Richtlinien- und Wertfunktionen Verstärkung Lernen

So habe ich eine zufällige Politik. Ich bekomme die Wertfunktion. Ich aktualisiere meine Richtlinie mit einer neuen Verteilung entsprechend der Wertfunktion. Ich erhalte eine Wertfunktion dieser neuen aktualisierten Richtlinie und werte sie erneut aus.

Aus dieser Definition habe ich Probleme zu verstehen, wie Wert Iteration dann funktioniert und ich denke, es ist von einem Missverständnis, was eine Wertfunktion ist.

Ist eine Wertfunktion nicht der beste Ablauf von Aktionen, es ist nur eine Reihe von Aktionen, die eine Belohnung bestimmen? Sucht die Policy-Iteration einfach nach einer Wertfunktion, die eine höhere Belohnung als ihre aktuelle Belohnung liefert und dann sofort aktualisiert, was eine neue Verteilung von Aktionen für meine Zustände ergibt (eine neue Richtlinie) und dies iterativ für jeden einzelnen Status bis zur Konvergenz tut ?

In diesem Fall sucht Wert Iteration nach der einzigen bestmöglichen Aktion bei jedem Status in der Sequenz (im Gegensatz zu einem, der gerade besser ist)? Ich habe hier zu kämpfen, um zu verstehen, warum man nicht die Richtlinie aktualisieren?

Sind mein Verständnis von Politik und Wertfunktion usw. korrekt?

Vielen Dank!

Ich denke, mein Verständnis von Politik ist sicherlich falsch: Wenn eine Politik ist einfach eine Verteilung über alle möglichen Aktionen für meine Staaten, dann bin ich nicht ganz sicher, was "Aktualisierung" bedeutet. Wenn es einfach ist, die Verteilung zu aktualisieren, wie genau funktioniert die Wert-Iteration dann, wenn sie mit einer "schlechteren" Verteilung arbeitet, weil die Richtlinie anfänglich nicht zufällig ist, wenn sie initialisiert wird? Ich kann nicht verstehen, wie diese konvergieren und gleich gut sein würden?

+0

Sie stellen mehrere Fragen in mehreren Posts, nicht eine einzige monolithische. – vin

Antwort

0

Edit: Wikipedia erklärt all dies ziemlich gut https://en.wikipedia.org/wiki/Markov_decision_process#Value_iteration

Sutton hat auch eine große Ressourcen zu diesem Thema, die als unten besser zu erklären als auch:

http://incompleteideas.net/sutton/book/ebook/node34.html 
http://incompleteideas.net/sutton/book/ebook/node43.html 
http://incompleteideas.net/sutton/book/ebook/node44.html 

ich nicht wirklich durch das sagen kann, Formulierung, aber ich denke, Sie haben die Wertfunktion und die Politik durcheinander gebracht.

Die Wertfunktion gibt Ihnen den Wert für jeden Status. Mit der Bellman-Gleichung sieht das so aus.

V(S) = max_a[R(s,a) + gamma * ∑_s'T(s,a,s')V(s')]

Wenn der Wert bei einem bestimmten Zustand der max Aktion ist, dass Sie den Lohn zuzüglich der Discounted Belohnung gibt. Beachten Sie, dass es eine max anstelle von argmax hat. Dies ist, weil es Ihnen den Wert gibt.

Auf der anderen Seite ist die Richtlinie die Argmax der erwarteten vergünstigten Belohnung angesichts der Politik. Die Richtlinie gibt die beste Aktion zurück, während die Wertfunktion den Wert eines Status angibt. die Politik Funktion wie folgt aussieht:

optimal_policy(s) = argmax_a ∑_s'T(s,a,s')V(s')

Die optimale Politik gegenüber der Aktion gehen, der den höchsten Wert erzeugt, wie Sie mit dem argmax sehen können.

, die mit im Sinne, Wert Iteration mit einem anfänglichen Dienstprogramm für jeden Zustand beginnen würde, dann laufen:

V_t+1(s) = R(s) + gamma * max_a (∑_s'T(s,a,s')V_t(s'))

Wo t der Zeitschritt ist, und s'ist der nächstmögliche Zustand. Dies wird konvergieren, weil die Belohnung "Wahrheit" des Staates ist und uns in die richtige Richtung zieht. Es gibt Theoreme, die das beweisen, aber das geht über den Rahmen der Frage hinaus.

Politik Iteration auf der anderen Seite sieht wie folgt aus:

optimal_policy_t+1(s) = argmax_a (∑_s' T(s,a,s')V_t(s'))

wo ein alle möglichen Aktionen und V_t ist der Wert. den Wert der Aktualisierung sieht ungefähr so ​​aus:

V_t+1(s) = R(s) + gamma * max_a(∑_s' T(s,policy_t(s),s')V_t(s')

da die Politik die beste Aktion zu diesem Zeitpunkt Schritt darstellt. Die Laufzeit der Richtlinieniteration ist O (N^3).

1

Sie haben eine Richtlinie, die effektiv eine Wahrscheinlichkeitsverteilung von Aktionen für alle meine Staaten ist.

Ja

Ein Wert Funktion ermittelt den besten Kurs von Aktionen höchste Belohnung zu erreichen.

Nr Ein Wert Funktion sagt Ihnen, für eine bestimmte Politik, was die erwartete kumulative Belohnung handlungs a im Zustand s ist.

Vergessen Sie für einen Moment die Wert-Iteration und die Richtlinieniteration. Die zwei Dinge, die Sie versuchen sollten zu verstehen, sind Richtlinienbewertung und Richtlinienverbesserung.

  • In Politik Auswertung Abbildung Sie den Status-Wert für eine angegebene Politik aus (die für sein in einem Zustand, den Sie Ihre erwartete kumulative Belohnung erzählt und dann handeln entsprechend der Politik danach). Für jeden Staat betrachten Sie alle Nachbarstaaten und berechnen den erwarteten Wert der Politik in diesem Staat (gewichtete Summe der Werte der Nachbarn durch politische Wahrscheinlichkeiten). Sie müssen alle Staaten durchlaufen, die das immer und immer wieder tun. Dies konvergiert in der Grenze zu der wahren Status-Wert-Funktion für diese Richtlinie (in der Praxis halten Sie an, wenn die Änderungen klein werden).

  • Bei der Verbesserung von Richtlinien untersuchen Sie eine Status-Wert-Funktion und fragen in jedem Zustand nach der besten Funktion, die ich gemäß der Wertfunktion ausführen könnte? Die Aktion, die die aktuelle Richtlinie ausführt, führt möglicherweise nicht zum höchstwertigen Nachbarn. Wenn nicht, können wir trivial eine bessere Politik machen, indem wir so handeln, dass wir einen besseren Nachbarn erreichen. Die neue Richtlinie, die sich ergibt, ist besser (oder im schlimmsten Fall das Gleiche).

Politik Iteration ist nur wiederholte Politikbewertung und Politikverbesserung.

In Wert Iteration, schneiden Sie den Bewertungsschritt ab.Anstatt also den gesamten Evaluierungsprozess zur Konvergenz zu verfolgen, machen Sie einen Schritt, um die Nachbarstaaten zu betrachten, und anstatt eine Erwartung unter die Richtlinie zu stellen, führen Sie sofort eine Richtlinienverbesserung durch, indem Sie den maximalen Nachbarwert speichern. Bewertung und Verbesserung sind verschmolzen. Sie wiederholen diesen verschmutzten Schritt immer wieder, bis die Änderung der Werte sehr klein ist. Die Grundidee, warum dies konvergiert, ist dieselbe; Sie bewerten die Richtlinie und verbessern sie dann, bis sie nicht mehr verbessert werden kann.

Es gibt eine Reihe von Möglichkeiten, die Sie zum Verständnis der Richtlinien- und Wertiteration unternehmen können. Sie können mehr über diese Bewertung und Verbesserung Framing in Verstärkung Lernen lesen: Eine Einführung 2. ed .. Ich habe einige wichtige Details über Diskontierung weggelassen, aber hoffentlich ist das Gesamtbild jetzt klarer.

Verwandte Themen