Computational Intelligence Seminar A

Werbung
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
sS
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
Herunterladen