Reinforcement learning Erfolgsgeschichten... Quelle: twitter.com/ai memes
Q-Learning als Art von Reinforcement learning Paul Kahlmeyer February 5, 2019
1 Einführung 2 Q-Learning Begriffe Algorithmus 3 Tic-Tac-Toe Regeln Q-Table learning deep Q-learning 4 Experiment Q-Table Q-NN 5 Quellen 6 Vorführung
Szenario: Klausurlernen Gegeben: viele Altklausuren ihrer Kommilitonen Gesucht: richtige Antworten auf Fragen in aktueller Klausur
Szenario: Klausurlernen Szenario 1: gute Kommilitonen Antworten Richtigkeit Note supervised learning
Szenario: Klausurlernen Szenario 2: schlechte Kommilitonen Antworten unsupervised learning
Szenario: Klausurlernen Szenario 3: normale Kommilitonen Antworten Note reinforcement learning
Kategorien von Lernverfahren Welche Lernverfahren können unterscheiden werden? Überwachtes Lernen Trennfunktionen lernen Unüberwachtes Lernen Struktur lernen Reinforcement Learning optimales Verhalten lernen
Kategorien von Lernverfahren Warum können wir nicht nur überwacht Lernen? Labeln teuer Labeln nicht möglich Quelle: assetstore.unity.com
Reinforcement learning generelles Interaktionskonzept Quelle: kdnuggets.com
Begriffe Beispiel: Ritter Prinzessin Quelle: medium.freecodecamp.org
Begriffe Agent
Begriffe Environment
Begriffe Action
Begriffe State
Begriffe Reward
Begriffe mathematische Modellierung State: s S Action: a A Reward: R(s) : S R Policy: π t : S A
Begriffe Policy
Begriffe optimal Policy
Begriffe mathematische Modellierung State: s S Action: a A Reward: R(s) : S R Policy: π t : S A [optimal: π ] Übergangswkt.: p(s s, a)
Begriffe Beispiel Übergangswahrscheinlichkeiten
Begriffe mathematische Modellierung State: s S Action: a A Reward: R(s) : S R Policy: π t : S A [optimal: π ] Übergangswkt.: p(s s, a) Q-Value: Q (s, a) = p(s s, a) s S [ ] R(s ) + max a A Q (s, a )
Begriffe Q-Value
Begriffe mathematische Modellierung State: s S Action: a A Reward: R(s) : S R Policy: π t : S A [optimal: π ] Übergangswkt.: p(s s, a) Q-Value: Q (s, a) = p(s s, a) s S V-Value: V (s) = max a A Q (s, a) [ ] R(s ) + max a A Q (s, a )
Begriffe Discount-Faktor γ Q (s, a) = s S [ ] p(s s, a) R(s ) + max a A Q (s, a ) zukünftige Belohnungen vs. unmittelbare Belohnungen Q (s, a) = [ ] p(s s, a) R(s ) + γ max a A Q (s, a ) γ [0, 1] s S
Begriffe Discount-Faktor γ = 0.7
Q-learning Algorithmus Grober Ablauf Initialisiere Q(s, a) mit geeigneten Startwerten; while Fitness des Agenten zu schlecht do Agiere in Umwelt; Beobachte s, R(s), a, s ; Update Q(s, a); end
Q-learning Algorithmus Updateschritt R(s ), falls s ([ Endzustand ] Q t+1 (s, a) = Q t (s, a) + α R(s) + γ max Q t(s, a ) a A ) Q t (s, a), sonst
Q-learning Algorithmus Konvergenz Lemma Für t konvergiert Q t (s, a) gegen Q (s, a), falls α t = und t=0 αt 2 < t=0
Exkurs: Reinforcement learning Verschiedene Konzepte Model based vs. Model free
Exkurs: Reinforcement learning generelles Interaktionskonzept
Exkurs: Reinforcement learning Verschiedene Konzepte Model based vs. Model free off-policy vs. on-policy
Exkurs: Reinforcement learning Updateschritt Q-learning R(s ), falls s ([ Endzustand ] Q t+1 (s, a) = Q t (s, a) + α R(s) + γ max Q t(s, a ) a A ) Q t (s, a), sonst
Exkurs: Reinforcement learning Verschiedene Arten-Wo steht Q-learning? Model based vs. Model free Kenntniss von p(s s, a) off-policy vs. on-policy Updateschritt ohne/mit policy
Regeln sollte eigentlich klar sein... zwei Spieler (X,O) X beginnt 3x3 Feld erster Spieler mit 3 Symbolen in einer Reihe (horizontal/vertikal/diagonal) gewinnt sonst unentschieden Quelle: eddyerburgh.me
Lernen mit Tabelle begrenzt anwendbar Q-Values für alle möglichen State-Action Paare durch Tabelle modellieren < 3 9 States 9 mögliche Aktionen < 177147 Einträge r1c1-10 -10 r1c2-5 0 r1c3 5-10. r3c3 7-10...
Lernen mit Tabelle Konkreter Ablauf Lege α, γ fest; Lege R(s) fest; Initialisiere Q(s, a) mit geeigneten Startwerten; while Fitness des Agenten zu schlecht do Spiele Spiel gegen Gegner; Speichere (s, R(s), a, s ); for erlebte (s,r(s),a,s ) do R(s ), falls s ([ Endzustand end end Q t+1 (s, a) = Q t (s, a) + α R(s) + γ max a Q t (s, a ) A ] Q t (s, a) ), sonst
Problem Erkundung Exploration vs. Exploitation Agent kann beim Spielen wählen zwischen: Strategie verfolgen (Exploitation) andere Möglichkeiten ausprobieren (Exploration) Üblicherweise: Training: Trade-off zwischen Exploration und Exploitation Testen: Nur Exploitation Trade-off ist Teil von π t
Problem Erkundung Exploration vs. Exploitation ε-greedy Strategie: neuer Hyperparameter ε [0, 1] vor neuem Zug: ziehe x als Realisierung von X Unif[0, 1] x < ε: Exploration x ε: Exploitation zu Beginn: ε groß zu Ende: ε klein
Problem Größe Lösungsraum quasi-unendliche Tabellen sind unhandlich Tic-Tac-Toe übersichtlich Tabelle möglich Go, Schach, stetiger Zustandsraum (Roboter),... (vollständige) Tabelle unmöglich A endlich Ansatz: Tabelle durch Neuronales Netz ersetzen Input: State s Output: Q(s, a 1 ),..., Q(s, a n )
Problem Input Wie codiert man ein Spielfeld? Naiver Ansatz: X 1 O 1 leer 0 Besserer Ansatz: Indikatoren für X,O,leer X-Indikator+O-Indikator+leer-Indikator 3 9 Werte
Problem Input Wie codiert man ein Spielfeld? 11 1 0 0 12 0 0 1 13 0 0 1 21 0 0 1 22 X 0 O 1 leer 0 23 0 0 1 31 0 0 1 32 0 0 1 33 0 0 1 100000000000010000011101111
Problem Update Was wird eigentlich geupdated? Updateschritt Tabelle: Q t+1 (s, a) Q t (s, a) + α Updateschritt Neuronales Netz: Agent erfährt (s, R(s), a, s ) Error Backpropagation ([ R(s) + γ max ] Q t(s, a ) a A ) Q t (s, a)
Problem Update Was wird eigentlich geupdated? Bisheriger Output erfahrener Output Fehlerterm Q t (s, a 1 )... Q t (s, a k )... Q t (s, a n) Q t (s, a 1 )... R(s) + γ max a A Q t (s, a )... Q t (s, a n) 0... ([ R(s) + γ max a A Q t (s, a ) ] Q t(s, a) ) 2... 0
Weitere Ideen Konvergenz ist schwer max Q t(s, a ) aus seperatem NN a A batch learning α t 0...
Lernen mit Tabelle Aufbau Spiel gegen sich selbst nur valide Züge Nach jedem Spiel Q-Values updaten Danach Fitnessbestimmung: 30 Spiele gegen naiven Spieler mit seed=0, greedy 15-mal X, 15-mal O Prozent der nicht-verlorenen Spiele Nach 10000 Spielen ENDE
Lernen mit Tabelle Hyperparameter α = 0.01 γ = 0.8 ε = max(0.9997 t, 0.2) R victory = 100 R draw = 0 R nothing = 0
Lernen mit Tabelle Ergebnisse 5491 Spiele bis Fitness 1.0 Aufwand im Tabellen-Handling
Lernen mit NN Aufbau Spiel gegen sich selbst nur valide Züge Nach jedem Spiel Q-Values updaten Nach Update Target NN überschreiben Danach Fitnessbestimmung: 30 Spiele gegen naiven Spieler mit seed=0, greedy 15-mal X, 15-mal O Prozent der nicht-verlorenen Spiele Nach 10000 Spielen ENDE
Lernen mit NN Hyperparameter α = 0.01 γ = 0.8 ε = max(0.9997 t, 0.2) R victory = 1.0 R draw = 0.5 R nothing = 0.5 Input = 3 9 Hidden = 3 3 9 Output = 9
Lernen mit NN Ergebnisse 2443 Spiele bis Fitness 1.0 Aufwand in Wahl der Hyperparameter
Lernen mit NN Ergebnisse 2443 Spiele bis Fitness 1.0 Aufwand in Wahl der Hyperparameter
Reinforcement learning Grenzen? DeepMind Deep Q-learning Atari video games (Stand 2015) Montezumas Revenge 0% Quelle: deepmind.com
Reinforcement learning Was ist so schwer an Montezumas Revenge? Quelle: deepmind.com komplexe Abfolge von Aktionen spärliche Belohnungen!!! (sparse rewards) generell: Design von R(s)
Simonini, Thomas: Diving deeper into Reinforcement Learning with Q-Learning Dammann, Patrick: Einführung in das Reinforcement Learning Mnih/Kavukcuoglu/... : Human level control trough deep reinforcement learning Melo, Francisco S.:Convergence of Q-learning: a simple proof Sutton/Barto: Reinforcement learning-an Introduction Juliani, Arthur: On solving Montezumas Revenge-Looking beyond the hype of recent Deep RL successes
LETS PLAY