Computational Intelligence Seminar A Hierarchical Reinforcement Learning Gerhard Neumann Struktur des Vortrags Kurze Wiederholung von MDP‘s und RI. Mathematisches Rahmenwerk Die Probleme von RI. Einführung in Hierarchisches Lernen Motivation Behandlung von SMDP‘s Verschiedene Einteilungen Seminar A, Neumann Gerhard 2 Stuktur des Vortrags, 2 MaxQ Hierarchical Reinforcement Learning Value Function Decomposition MaxQ-Graph MaxQ QLearning Algorithmus State Abstractions Non Hierachical Execution Beispiel: Taxi Domain Multi-Agent Learning with MaxQ Unterschiede zur Single-Agent Architektur Beispiel: AGV Task Seminar A, Neumann Gerhard 3 Wiederholung: Markov Decision Problem MDP ist Definiert durch S , A, T , R S : Endliche Menge von Zuständen. A : Endliche Menge von ausführbaren Aktionen, kann durchaus auch vom momentanen State s abhängen -> A(s) T : Übergangswahrscheinlichkeiten des Environments, wichtig: T T (st 1 st , at ) ->Markov Eigenschaft R: Rewardfunktion R R(st 1 st , at ) Seminar A, Neumann Gerhard 4 Wiederholung: MDP‘s – wichtige Begriffe sS Policies: : S A für alle möglichen Value Function 2 V ( s ) E r r rt 2 .... | st , t t 1 Berechnungschema: V ( s) T ( s ' | s , ( s )) R ( s ' | s , ( s )) V ( s ') s' Action-Value Function Q ( s, a ) T ( s ' | s, a ) R ( s ' | s, ( s )) Q ( s ', ( s ')) s' Führe Aktion a aus, danach folge Policy pi. Seminar A, Neumann Gerhard 5 Wiederholung: MDP‘s – wichtige Begriffe Bellman-Gleichung Optimale V bzw. Q Funktion: * * V ( s ) max T ( s ' | s, a ) R ( s ' | s, a ) V ( s ') a s' Q* ( s, a ) T ( s ' | s, a ) R( s ' | s, a ) max Q* ( s ', a ') a' s' V * (s) max Q* (s, a) a Seminar A, Neumann Gerhard 6 Wiederholung: TD Learning TemporalDifference-Learning: Modellfreier Lernalgorithmen Verwenden jeweils ein Sample st , at , rt , st 1 für ein Update der Q-Function Vertreter des TD-Learnings Q-Learning Sarsa-Learning Seminar A, Neumann Gerhard 7 Wiederholung: TD Learning Algorithmus Updateschritt Qt ( s, a) Qt 1 ( s, a) t (r Qt 1 ( s ', a ') Qt 1 ( s, a)) TD Berechnung des dynamischen Mittelwerts der einzelnen Q Werte. t … Lernrate a‘ wird folgendermassen festgelegt: Q( s ', a) … lerne Optimalen Q-Value Q-Learning: a ' max a Sarsa-Learning: a ' ( s ') … lerne Q-Value der Policy Seminar A, Neumann Gerhard 8 Kritikpunkte an RL Man benötigt viele Trainingsversuche (> 100000 bei komplizierteren Aufgaben) Abhilfen: Model Based RL Hierarchisches RL Der Zustands Raum wächst exponentiell mit der Anzahl der Zustandsvariablen: Schlechte Skalierbarkeit Deswegen zum Beispiel normales Multi-Agent Reinforcement Learning kaum möglich Seminar A, Neumann Gerhard 9 Kritikpunkte an RI-Lernen Gelerntes Wissen ist sehr schlecht auf ähnliche Aufgaben zu übertragen. Transformation der Q-Function Off-Policy Learning: Verwenden des schon Gelernten als Controller Hierarchisches RL: Behaviors/Skills Seminar A, Neumann Gerhard 10 2.Teil Einführung in Hierarchisches RI. Seminar A, Neumann Gerhard 11 Einführung in Hierarchisches RI. Motivation: Vereinfachung des Lern-Problems durch Vorgegebene Struktur. Verringerung des Zustandsraums Lösung muss nicht mehr optimal sein. Für gewisse Sub-Tasks wird nur ein kleiner Teil des Zustandsraums benötigt. Teilweise nur noch polynomielles Wachstum des Zustandsraums Wiederverwendbarkeit von schon gelernten Skills Bessere Skalierbarkeit des Problems Seminar A, Neumann Gerhard 12 Einteilung eines Tasks in Subtasks Beispiel: Taxi Domain: Taxi muss Passagier von beliebiger Location zur beliebiger Destination bringen Zustandsraum: TaxiLocation * PassengersLocation * Destination = 25 * 5 * 4 = 500 Aktionsraum: = {4 Richtungen, Pickup, Putdown} = 6 State-Action Values: 3000 Episodischer Task => 1 Seminar A, Neumann Gerhard 13 Task Graph für Taxi Domain Navigate(t):… {Y,G,R,B}: praktisch ein eigener SMDP pro Parameter Seminar A, Neumann Gerhard 14 Taxi Domain mit flat RL 2 verschiedene Situationen: Location: Y, Destination: B Location: Y, Destination: R Gleiche V-Funktion um zu Y zu kommen, bis auf additive Konstante (3) Seminar A, Neumann Gerhard 15 Verschiedene Ansätze der Algorithmen Spezifizierung der Sub-Taks „Option“-Method (Sutton, 1998): Policies für die Subtasks werden ausprogrammiert. Als nicht-deterministischer Finite State Controller (HAM, Parr and Russel, 1998): Für jeden State („choice“ Point) nur eine, vom Programmierer eingeschränkte Menge an Aktionen verfügbar. Seminar A, Neumann Gerhard 16 Verschiedene Ansätze: Spezifizierung der Sub-Tasks Mittels „End-Zustände“ und localer Rewardfunction für jeden Sub-Task jeder Sub-Task ist ein eigener SMDP. MAXQ Methode (Dietterich, 2000) Seminar A, Neumann Gerhard 17 Weitere Unterschiede der Algorithmen State Abstraction für Sub-Tasks Non-Hierarchical Execution Lässt sich aus der Hierarchischen Policy eine nicht hierarchische Policy konstruieren? Optimalität der Policies: Nur MAXQ Hierarchisch Optimal: Policy wählt Optimale Aktion aufgrund des gesamt-Contextes (d.h. der momentanen „Parent-Tasks“ Recursiv Optimal: Policy wählt Aktoin nur aufgrund des Momentanen State des Subtasks (nur lokal Optimal) Art des eingesetzen Lern-Algorithuses Meist Q-Learning Seminar A, Neumann Gerhard 18 Unterschiede zu Flat-Learning: Aktionen->Behaviors/Skills Anstatt Primitiv Actions kann Agent auch Behaviors (Skills) verwenden. Einzelne Behaviors benötigen Unterschiedliche Anzahl an primitiven Aktionen. =>Neue Zufallsvariable: N … Dauer des Behaviors Seminar A, Neumann Gerhard 19 Unterschiede zu Flat-Learning: Semi-Markov Decision Processes (SMDP) T ( s ' | s, a) T ( s ', N | s, a) R( s ' | s, a) R( s ', N | s, a) Neue V-Function V (s) P(s ', N | s, (s)) R(s ', N | s, (s)) NV s ' s ', N V ( s) R ( s, ( s)) P( s ', N | s, ( s)) NV s ' s ', N Bzw. Optimale V-Function V * (s) max P(s ', N | s, a) R(s ', N | s, a) NV s ' a s ', N Seminar A, Neumann Gerhard 20 Unterschiede: Policies Hierarchische Policy Beeinhaltet für jeden Subtask eine eigene Policy 1 , 2 ,..., n Die Policy des Aktuellen Sub-Task wird ausgeführt. Hierarchische V-Function Hängt zusätzlich vom Sub-Task Stack K ab. V ( s ) V ( s, K ) Anm: Bei rekursiv Optimalen V-Functions hängt sie nur vom momentan aktiven Sub-Task ab. Seminar A, Neumann Gerhard 21 3. Teil MAXQ Learning Seminar A, Neumann Gerhard 22 MAXQ Lernen Eigenschaften: Definiert Sub-Tasks als eigenen SMDP mit „EndZuständen“ und einer lokalen RewardFunktion, es werden alle Sub-Tasks gleichzeitig gelernt. Findet nur eine Rekursiv Optimale Policy Gelernte Sub-Tasks sind wiederverwendbar (d.H. nur rekursiv Optimal) Liefert auch genaue Regeln für StateAbstraktion Nachteil: Programmierer muss Struktur genau spezifizieren. Seminar A, Neumann Gerhard 23 Genaue Definition der SubTasks MAXQ zerlegt einen MDP in eine Menge von SubTasks {M0, M1, …Mn} (wobei M0 der „oberste SubTask“ = Wurzel Jeder Sub-Task Mi ist definiert durch T , A , Ri, R i i i Ti: Menge der Endzustände. Der Subtask wird sofort beendet, auch wenn er noch einen anderen Subtask ausführt Ai: Menge der Verfügbaren Aktionen, kann primitve Aktionen aber auch andere Sub-Tasks beinhalten (einzige Einschränkung: kein Kreis im Graph) Ri: Reward-Funktion des Sub-Tasks. R i: Pseudo-Reward Funktion; Gibt an wie wünschenswert die Endzustände sind, wird nur zum Lernen verwendet. Seminar A, Neumann Gerhard 24 MAXQ Value Funktion Zerlegung MAX-Node: Repräsentiert die V-Funktion eines Sub-Tasks . Q-Node: Repräsentiert den Q-Value einer Aktion eines Subtasks. Seminar A, Neumann Gerhard 25 MAXQ Value Funktion Zerlegung Jeder Sub-Task Mi (Max Node) definiert einen SMDP mit Si Zustanden, Ai Aktionen, den Übertragungswahrscheinlichkeiten Ti ( s ', N | s, a ) und der erwarteten Reward-Funktion R ( a, s ) V ( a , s ) a. steht hier für einen Sub-Task=>V(s,a) ist Value Funktion des Sub-Tasks a. Falls a eine primitive Aktion dann ist V ( a , s ) T ( s ' | s , a ) R ( s ' | s, a ) s' Seminar A, Neumann Gerhard 26 MAXQ Value Funktion Zerlegung Action-Value Function Q(i,s,a) i…Momentaner Subtask a…Auszuführender Subtask N Q ( i , s , a ) V ( a , s ) T ( s ', N | s , ( s )) Q i, s ', ( s ') i s ', N Neue Funktion: Completition Funktion C Gibt den erwarteten Reward an, nachdem Sub-Task a ausgeführt wurde. C (i, s, a) Ti ( s ', N | s, ( s)) N Q i, s ', ( s ') s ', N Q (i, s, a) V (a, s) C (i, s, a) Q (i, s, ( s)) V (i, s ) T ( s ' | s, a) R( s ' | s, a) s' Seminar A, Neumann Gerhard 27 V-Funktion Zerlegung =>Zerlegung der V-Funktion in additive Blöcke V (0, s ) V ( a , s ) C ( a , s , a ) ... C ( a , s , a ) C (0, s, a1 ) m m 1 m 1 2 Beispiel: Taxi Domain Seminar A, Neumann Gerhard 28 V-Zerlegung für Taxi Domain Taxi location: (2,2), Passenger: Y->B V(root,s)=V(west,s)+C(N(Y),s,west)+C(Get,s, N(Y))+C(root,s,Get)=-1-3-1+12=7 Seminar A, Neumann Gerhard 29 Der MaxQ-0 Lernalgorithmus Vernachlässigung der lokalen und der Pseudo Rewardfunktion->globale Seminar A, Neumann Gerhard 30 Rewardfunktion Der MaxQ-0 Lernalgorithmus Update der C Funktion Ct 1 (i, s, a) (1 (t ))Ct (i, s, a) (t ) N Vt (i, s ') Bzw. Ct 1 (i, s, a) Ct (i, s, a) (t )( N (max Vt (a ', s ') C (i, s ', a ')) Ct (i, s, a)) a' Berechnung von Vt (i, s) : Vt (i, s) falls i primitiv Vt (i, s) Qt (i, s, a) sonst max a Rechnerintensive Suche Seminar A, Neumann Gerhard 31 Der MaxQ-0 Lernalgorithmus Falls exploration Policy zur GreedyPolicy Konvergiert, so konvergiert MAXQ-0 zu einer rekursiv optimalen Policy Lernen findet auf jeder Stufe gleichzeitig statt, höhere Level müssen nicht warten, bis untere Level konvergieren Seminar A, Neumann Gerhard 32 Hierarchical vs. Rekursiv Optimal Rekursiv Optimal: V-Funktion ist nur für den Sub-Task (lokal) optimal, für die gesamte hierarschische Struktur kann es bessere Policies geben (hierarisch optimale) Vorteil: Wiederverwendbarkeit der gelernten Skills Beispiel: SubTask „Exit“: verlasse linken Raum A={S,N,E} R=-1pro Step 20 bei Goal Seminar A, Neumann Gerhard 33 Hierarchical vs. Rekursiv Optimal: Beispiel Rekursiv Optimale Policy verhält sich suboptimal in der „grauen“ Zone Was würde passieren wenn wir auch die Aktion „WEST“ zulassen würden?. => Wir brauchen eine PseudoReward Funktion, die uns die End-Zustände bewertet Seminar A, Neumann Gerhard 34 Der MAXQ-Q Algorithmus Berücksichtigung der Pseudo-Reward Funktion Kann auch für „normale“ States Rewards verteilen Nachteil: Programmier muss PseudoReward Funktion schätzen. Vereinfachung: Einteilung in: Goal States: R = 0 Termination States: R = -100 Seminar A, Neumann Gerhard 35 MAXQ-Q: Pseudo-Rewards Ursprünglicher MDP darf aber durch nicht verfälscht werden =>Lernen von 2 Verschiedenen C-Funktionen Interne C-Funktion C : R wird miteinbezogen wird für die Berechnung der lokalen Policy des SMDP‘s verwendet. Externe C-Funktion C : wird ohneR berechnet Wird für die Berechnung des Erwarteten Rewards des höheren Levels verwendet. Seminar A, Neumann Gerhard 36 MAXQ-Q:Updateregeln Für a* arg max[Ct (i, s ', a) Vt (a ', s ')] a' Ct 1 (i, s, a) (1 (t ))Ct (i, s, a) (t ) N Q-Lernen Ct 1 (i, s, a ) (1 (t ))Ct (i, s, a ) (t ) [ R( s ') Ct (i, s ', a* ) Vt (a*, s)] N [Ct (i, s ', a* ) Vt (a * , s)] SARSA-Lernen Berechnung der V-Values erfolgt jeweils mit der unverfälschten, externen C Funktion. Seminar A, Neumann Gerhard 37 Hierarchical Credit Assignment Was für ein Sub-Task war „schuld“ an einem Reward? Beispiel: Fuel-Task bei Taxi Domain =>Einführung von lokalen RewardFunktionen für jeden SMDP Lokale Reward Funktion wird in interne und externe C-Funktion mit einbezogen => für höhere Level setzt sich die Rewardfunktion als Summe aller „niedrigeren“ Rewardfunktionen zusammen. Seminar A, Neumann Gerhard 38 State Abstraction Weniger State Action Values Schnelleres Lernen (Generalisierung durch State Abstraction) MAXQ definiert 3 verschiedene Arten von State Abstraction: Irrelevante Zustandsvariablen Funnel Abstractions: Zusammenlegung gleicher Zustände Structural Contraints: C Werte müssen für Endzustände (und nicht erreichbare Zustände) nicht gespeichert werden. Seminar A, Neumann Gerhard 39 State Abstraction: Irrelevante Variablen Eine Zustandsvariable y ist für einen SubTask Mi (Max-Node) genau dann irrelevant wenn T ( x ', y ', N | x, y, a) T ( y ' | x, y, a) T ( x ', N | x, a) x und N müssen unabhängig von y sein Für alle Paare s1 = (x, y1), s2 = (x,y2) gilt V (a, s1) V (a, s 2) und R(s1) R(s 2) Reward muss unabhängig von y sein Seminar A, Neumann Gerhard 40 State Abstraction:Funnel Abstraction Die C(i,s,a) hängt eigentlich nur von den Endzuständen s‘ ab C (i, s, a ) T ( s ', N | s, a) N V (i, s ') s ', N Falls s1 und s2 die gleichen Übertragungsfunktionen besitzen, als T ( s ', N | s1, a) T ( s ', N | s 2, a) für alle s‘ und alle N, dann ist C(i,s1,a)=C(i,s2,a) Nur für 1 gut anwendbar, da hier N vernachlässigbar ist. Seminar A, Neumann Gerhard 41 State-Abstraction: Taxi Domain State-Action für Flat MDP: State-Action Values ohne State Abstraction: 3000 Values Level 1: 2 * 500=1000 Level 2: 2 * 5 * 500=5000 Level 3: 4 * 4 * 500=8000 => 14000 Values Mit State Abstraction: 632 Values Seminar A, Neumann Gerhard 42 Non-Hierarchical Execution Optimale hierarchische Policies sind nicht unbedingt optimal für den MDP. Ausführung ohne Hierarchie (Beginne bei jedem Schritt wieder bei der Wurzel, kein Warten bis SubTask fertig ist) Adaption des Lernalgorithmus: L…Anzahl der Steps die hierarchisch ausgeführt werden. L wird stetig verringert während dem Lernen (bis 1) Seminar A, Neumann Gerhard 43 Ergebnisse: Fickle Taxi Task Fickle Taxi Task: Nicht Deterministische Aktionen (80% Erfolgswahrscheinlichkeit) Gast entscheidet sich zu 30 % nach dem 1.Schritt nach dem Einsteigen um. Seminar A, Neumann Gerhard 44 Ergebnisse: Fickle Taxi Task MAXQ hat durch Struktur bessere Anfangsergebnisse Ohne State-Abstraction sehr langsame Konvergenz. Mit State-Abstraction konvergiert MAXQ-Q viel schneller als ein Flat-Lernalgorithmus, aber nur zu einer Hierarchisch Optimalen Policy Mit Non-Hierarchical Execution konvergiert Algorithmus auch zur Optimalen Policy Seminar A, Neumann Gerhard 45 4. Teil Hierarchical Multi-Agent Reinforcement Learning (Mahedevan 2001) Seminar A, Neumann Gerhard 46 MA-Learning mit MAXQ Koordination der Agenten meist nur auf den höheren Levels notwendig. Erweiterung der C-Funktion um die Aktionen aller Agenten (gelten dann als zusätzliche States) j 1 2 n Vt (i, s, a , a ,..., a ) j 1 2 n max Qt (i, s, a , a ,..., a ) j a P ( s ' | s, i ) R ( s ' | s, i ) s' Qt j (i, s, a1 , a 2 ,..., a n ) Vt j (a j , s) Ct j (i, s, a1 , a 2 ,..., a n ) Seminar A, Neumann Gerhard 47 Beispiel: AGV Scheduling Task Automated Guided Vehicles für Lagerverwaltung 4 Workstations Verarbeiten 4 Verschiedene Materialien (Parts) in nicht-deterministischer Zeit Müssen mit den entsprechenden Parts beliefert werden Waren (Assemblies) müssen wieder abgeholt und dann ins Warehouse gebracht. Warehouse Materialen „erscheinen“ in nicht-determistischer Zeit Materialen einladen, Waren ausladen Seminar A, Neumann Gerhard 48 MA-Lernen: AGV Scheduling Task States: Seminar A, Neumann Gerhard Anzahl der Teile in Pickup und DropOffStation (bis zu 4 Teile) Enthält das Warehouse Teile jeder Art? (2^4) 100 verschiedene Locations für AGV 9 verschiedene Zustände des AGV‘s (trage part1, trage assembly1, … empty) 100*4^8*9*2^4=2^30! 49 AGV Scheduling Task: MaxQ Graph State-Abstraction: Für Höchstes Level: ca 2^13 States Seminar A, Neumann Gerhard 50 AGV Task: Ergebnisse Vergleich zu Single-Agent / Selfish Agents Seminar A, Neumann Gerhard 51 AGV Task: Ergebnisse Vergleich zu weit gängigen Policies Seminar A, Neumann Gerhard 52 AGV Task: Ergebnisse Koordination in den 2 höchsten Levels Seminar A, Neumann Gerhard 53