Monte Carlo Methoden Lernverfahren zur Berechnung von Wertefunktionen und Policies werden vorgestellt. Vollständige Kenntnis der Dynamik wird nicht vorausgesetzt (im Gegensatz zu den Verfahren der DP). Für Monte Carlo Methoden werden Erfahrungen in Form von Beispielen (Folgen von Zuständen, Aktionen und Rewards) gebraucht. Monte Carlo Methoden basieren auf Mittelung des Returns erzielt für die vorhandenen Beispiele. Verfahren werden hier für episodische Aufgaben formuliert, d.h. Erfahrungen werden in einzelnen Episoden gesammelt, alle Episoden terminieren nach endlicher Zeit (unabhängig von den gewählten Aktionen). Monte Carlo Methoden sind inkrementell (im Sinne einzelner Episoden). F. Schwenker Reinforcement Learning 70
MC Policy Bestimmung MC Methoden zur Berechnung von V π für eine Policy π gesucht. V π (s) ist der erwartete (u.u. diskontierte) Return (π folgend) ausgehend vom Zustand s. Einfacher Weg um V π (s) zu aus Beispielen zu schätzen ist, die in den beobachteten Beispielen erzielen Returns zu mitteln. Falls nur genügend viele Beispiele vorliegen, wird der Mittelwert gegen den Erwartungswert konvergieren. Angenommen, wir wollen V π (s) schätzen, gegeben sei die Policy π und eine Menge von einzelnen Episoden, in welchen der Zustand s vorkommt. Ein Vorkommen von s heißt ein visit von s; in einer Episode heißt das erste Vorkommen auch first visit. Every visit MC Methoden: Mittelung der Returns über alle Visits von s. First visit MC Methoden: Mittelung der Returns ausgehend vom first visit in jeder Episode. Wir benutzen first visit MC Methoden. F. Schwenker Reinforcement Learning 71
First visit MC zur Schätzung von V π 1. Initalize: π := policy to be evaluated Returns(s) := for all s S 2. Repeat forever: Generate an episode using π For each s appearing in the episode: R := return following the first occurrence of s Returns(s) := Returns(s) R V (s) := mean(returns(s)) F. Schwenker Reinforcement Learning 72
MC Schätzung von Aktion Werten Falls die Umgebung bekannt ist (d.h. R a ss, P a ss ) so ist die Kenntnis der Wertefunktion V π ausrechend um eine Policy zu bestimmen (beste Kombination aus Reward und nächstem Zustand bestimmen). Falls das Modell nicht bekannt ist, müssen Schätzung über die Werte der Aktionen durchgeführt werden. Hauptziel ist es also Q zu bestimmen. Müssen dazu den Wert von Aktionen Q π (s, a) bestimmen. Methoden hierfür sind dieselben wie bei der Evaluation von V π (s) Problem: Viele der Paare (s, a) werden nie besucht. Bei einer deterministische Policy wir genau eine Aktion a im Zustand s ausgeführt (a = π(s)), sonst wird kein Zustands-Aktions-Paare besucht. Idee: Exploring Starts (ES), d.h. zu Beginn einer Episode wird ein Paar (s, a) zufällig gewählt, hierfür sei prob(s, a) > 0 für alle (s, a). F. Schwenker Reinforcement Learning 73
MC Algorithmus mit ES 1. Initalize for all s S and a A Q(s, a) arbitrary π(s) arbitrary Returns(s, a) := 2. Repeat forever: a) Generate an episode using exploring starts and π b) For each pair (s, a) appearing in the episode: R := return following the first occurrence of (s, a) Returns(s, a) := Returns(s, a) R Q(s, a) := mean(returns(s, a)) c) For each s in the episode: π(s) := arg max a Q(s, a) F. Schwenker Reinforcement Learning 74
On Policy MC Methoden Wie können wir exploring starts vermeiden? Agent muss in der Lage sein, stets eine beliebige Aktionen a im Zustand s auszuwählen. Betrachten soft policies, d.h. mit π(s, a) > 0 für alle (s, a). Beispiel sind die ɛ-greedy Policies, d.h. überwiegend wird die Greedy- Aktion ausgeführt, aber mit Wahrscheinlichkeit ɛ eine Zufalls-Aktion Nicht-Greedy-Aktionen erhalten somit die Wahrscheinlichkeit ɛ/ A(s), die Greedy-Aktion die Wahrscheinlichkeit (1 ɛ + ɛ/ A(s) ) ɛ-greedy sind Beispiele für ɛ-soft Policies. Wir verwenden first-visit MC Methoden zur Schätzung der Aktions- Wertefunktion Q π, für eine gegebene Policy π. Mit Hilfe des Policy-Improvement-Theorems kann man zeigen, das jede ɛ-greedy Policy bzgl. Q π eine Verbesserung für ɛ-soft Policy π. F. Schwenker Reinforcement Learning 75
Sei nun π eine solche ɛ-greedy Policy und s S: Q π (s, π (s)) = a π (s, a)q π (s, a) = = ɛ A(s) ɛ A(s) ɛ A(s) = V π (s) a Q π (s, a) + (1 ɛ) max a Q π (s, a) Q π (s, a) + (1 ɛ) π(s, a) ɛ A(s) Q π (s, a) 1 ɛ a a Q π (s, a) ɛ Q π (s, a) + π(s, a)q π (s, a) A(s) a a a Nach dem Policy Improvement Theorem folgt dann V π (s) V π (s) F. Schwenker Reinforcement Learning 76
Ein ɛ-soft On-Policy MC Algorithmus 1. Initalize for all s S and a A Q(s, a) arbitrary; π(s) arbitrary ɛ soft policy; Returns(s, a) := 2. Repeat forever: a) Generate an episode using π b) For each pair (s, a) appearing in the episode: R := return following the first occurrence of (s, a) Returns(s, a) := Returns(s, a) R Q(s, a) := mean(returns(s, a)) c) For each s in the episode: a := arg max a Q(s, a) For all s A(s): { 1 ɛ + ɛ/ A(s) a = a π(s, a) := ɛ/ A(s) a a F. Schwenker Reinforcement Learning 77
Off Policy MC Methoden Wollen V π bzw. Q π für eine (deterministische) Policy schätzen, haben aber Episoden nach einer anderen (Soft) Policy π π generiert. Kann man die Wertefunktionen V π noch lernen? Episoden seinen nach π erzeugt. In der Menge der Episoden, betrachten wir jeweils den ersten Besuche eines Zustands s und die Folge aus Zuständen und Aktionen die s folgen. Seien p i (s) und p i (s) die Wahrscheinlichkeiten dieser Folgen für die Policies π und π (i nummeriert die Episode). R i (s) der beobachtete Return von Zustand s. V (s) als gewichtetes Mittel mit Gewichten w i = p i (s)/p i (s) ergibt V (s) = ns i=1 ns i=1 p i (s) p i (s)r i(s) p i (s) p i (s) F. Schwenker Reinforcement Learning 78
Nehmen an, dass falls π(s, a) > 0 gilt, so auch π (s, a). p i (s) und p i (s) sind i.a. unbekannt. Allerdings wird nur p i(s) p benötigt. i (s) Sei T i (s) die Teit bis zur Termination in der i-ten Episode für Zustand s, dann gilt p i (s) = T i (s) 1 k=1 π(s k, a k )P a k s k s k+1 also p i (s) p i (s) = Ti (s) 1 k=1 π(s k, a k )P a k s k s k+1 Ti = (s) 1 k=1 π (s k, a k )P a k s k s k+1 T i (s) 1 k=1 π(s k, a k ) π (s k, a k ) Damit sind die Gewichte von der Dynamik unabhängig, hängen nur von den beiden Policies ab. F. Schwenker Reinforcement Learning 79
1. Initalize for all s S and a A Ein Off-Policy MC Algorithmus π(s) arbitrary deterministic policy; N(s, a) := 0; D(s, a) := 0 2. Repeat forever: a) Select a policy π and generate episode: s 0, a 0, r 1, s 1, r 1, r 2,..., s T 1, a T 1, r T, s T b) τ := latest time at which a τ π(s τ ) c) For each pair (s, a) appearing in the episode at time τ or later: t := time of first occurence of (s, a) such that t τ w := T k=t+1 (π (s k, a k )) 1 N(s, a) := N(s, a) + wr t D(s, a) := D(s, a) + w Q(s, a) := N(s, a)/d(s, a) d) For each s in the episode: π(s) := arg max a Q(s, a) F. Schwenker Reinforcement Learning 80
Inkrementelles Lernen Inkrementelle Lernverfahren lassen sich auch für gewichtete Mittelwerte herleiten Es soll berechnet werden: V n = n k=1 w kr k n k=1 w k Dann ergibt sich die Update-Regel und V n+1 = V n + w n+1 W n+1 (R n+1 V n ) W n+1 = W n + w n+1 mit V 0 = W 0 = 0. F. Schwenker Reinforcement Learning 81
Beispiel: Blackjack Spieler spielt gegen die Bank Blackjack. Ziel: möglichst nahe an 21 kommen Ass kann 1 oder 11 zählen, Bilder alle 10. Sonst Punkte wie auf der Karte. Zunächst erhält jeder 2 Karten. Eine Karte der Bank ist offen. Hat der Spieler 21 gewinnt er, es sein denn die Bank hat ebenfalls 21. Dann ist das Spiel unentschieden. Nun kann der Spieler weitere einzelne Karten anfordern, bis er stoppt oder mehr als 21 hat. Im letztgenannten Fall, verliert er. Stoppt er, nimmt die Bank weitere Karten, und zwar nach einer festen Policy: weitere Karten werden dann und nur dann genommen wenn die Augenzahl < 17 ist, sonst gestoppt. Hat die Bank mehr als 21, gewinnt der Spieler, sonst wird Gewinn, Verlust und Unentschieden durch die Augenzahl bestimmt. Jedes Spiel eine Episode. Danach werden die Karten dem Stapel wieder zu gefügt. F. Schwenker Reinforcement Learning 82
Rewards seien 1, 1 und 0 (Gewinn, Verlust, Unentschieden). Aktion sind: weitere Karte(hit) oder keine Karte mehr(stick). Zustände sind die Augenzahl auf den Karten des Spielers und die Augenzahl der offenen Karte der Bank. Ein Ass heißt hier usable falls es mit 11 gerechnet werden kann, und trotzdem die Augenzahl 21 nicht überschreitet. Gezeigt ist die optimale Policy bestimmt durch MC mit Exploring Starts. V ist durch Q berechnet. F. Schwenker Reinforcement Learning 83
π * V * Usable ace No usable ace HIT A 2 3 4 5 6 7 8 9 10 Dealer showing 21 STICK 20 19 18 17 16 15 HIT 14 13 12 11 A 2 3 4 5 6 7 8 9 10 21 20 STICK 19 18 17 16 15 14 13 12 11 Player sum +1 1 A A Dealer showing 10 10 12 12 21 21 Player sum F. Schwenker Reinforcement Learning 84