Übersicht - Lehrstuhl für Informatik VI, Uni...

23
Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 1 I Künstliche Intelligenz II Problemlösen III Wissen und Schlussfolgern IV Logisch Handeln V Unsicheres Wissen und Schließen VI Lernen 18. Lernen aus Beobachtungen 19. Wissen beim Lernen 20. Statistische Lernmethoden 21. Verstärkungslernen VII Kommunizieren, Wahrnehmen und Handeln Übersicht

Transcript of Übersicht - Lehrstuhl für Informatik VI, Uni...

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 1

I Künstliche IntelligenzII ProblemlösenIII Wissen und SchlussfolgernIV Logisch HandelnV Unsicheres Wissen und SchließenVI Lernen

18. Lernen aus Beobachtungen19. Wissen beim Lernen20. Statistische Lernmethoden21. Verstärkungslernen

VII Kommunizieren, Wahrnehmen und Handeln

Übersicht

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 2

Problem: Agent bekommt zu seinen Aktionen irgendwann ein Feedback und muss herausfinden, mit welcher Politik er seine Belohnungen maximiert. Im Gegensatz zur komplexen Entscheidungsfindung, wo Umgebungsmodell und Belohnungsfunktion bekannt sind, ist dies hier nicht bekannt.

Typisch für alle Lebewesen (Positives Feedback ist z.B. Freude, negatives Feedback Schmerz), optimale Vorgehensweise zum Training in komplexen Domänen (einschließlich vielen Spielen).

Reeinforcement Learing umfasst fast die gesamt KI, hier Einschränkung auf einfache Situation und Agententypen.

Verschiedene Lernsituationen:• Umgebung kann zugänglich oder unzugänglich sein.• Agent kann Wissen über Umgebung und die Effekte seiner Aktionen

haben oder er muß außer den Nützlichkeiten auch das Modell lernen.• Feedback kann nur in End- oder in allen Zuständen möglich sein.• Feedback kann ein Teil der zu maximierenden Nützlichkeit (z.B. im

Tischtennis) oder es können Hinweise sein (“Guter Zug”).• Agent kann ein passiver oder aktiver Lerner sein.

Reinforcement Learning

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 3

Betrachtete Agententypen

• Nützlichkeitsbasierter Agent lernt Nützlichkeit von Zustän-den, die er zur Aktionsselektion nutzt

– benötigt Umgebungsmodell• Q-Learning Agent: Agent lernt Aktion-Wert Funktionen (Q-

Funktionen), die die erwartete Nützlichkeit einer Aktion einem Zustand liefern.

– benötigt kein Umgebungsmodell, – kann nicht vorausplanen

• Reflexagent lernt eine Politik, die direkt Zustände auf Aktionen abbildet.

• Passive Agenten → Politik des Agenten steht fest & er lernt Nützlichkeit von Zuständen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 4

Vollständig beobachtbare Umgebung

• Der Agent weiß immer, in welchem Zustand er sich befindet• Wenn das Zustandsübergangsmodell nicht bekannt ist, kann

es leicht aus einer Statistik der Zustandsübergänge berechnet werden.

– Wie häufig war der Agent in einem bestimmten Zustand und wie häufig war er in Folgezuständen.

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 5

Belohnungen

• Die Belohnung steht erst am Schluss einer Sequenz fest und ist die Summe aller Einzelbelohnungen in den Zuständen

• Wenn der Agent in einem Zustand eine Einzelbelohnung bekommt, dann entspricht sie nicht der Nützlichkeit des Zustandes, da die weiteren Belohnungen in den Folge-zuständen auch in die Nützlichkeit des Zustandes eingehen.

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 6

Beispiel-1: Passives Reinforcement Learning• Zustandsübergangsmodell ist bekannt• Belohnungen gibt es nur am Ende einer Sequenz (zwischendrin 0)

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 7

Beispiel-2: Passives Reinforcement Learning(a) gibt die Politik an (Zustandsübergangsmodell ist unbekannt)(b) die aufgrund der 3 Beispielsequenzen unten gelernten Nützlichkeiten

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 8

• falls Zustandsübergangsmodell unbekannt, kann es leicht gelernt werden: durch Auszählen der Zustands-übergänge für jeden Zustand, z.B. im Beispiel-2:

• von Zustand (1,2) nach (1,3) in 3 von 3 Fällen (100%)• von Zustand (1,3) nach (1,2) in 1 von 3 Fällen (33%)• von Zustand (1,3) nach (2,3) in 2 von 3 Fällen (67%)

• Die Belohnung in einem Zustand ist die direkte Belohnung des Zustandes + die zukünftige Belohnung unter der Annahme einer bestimmten Politik. Dabei wird davon ausgegangen, das die direkte Belohnung in jedem Zustand wahrnehmbar ist:

Basisüberlegungen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 9

Basisalgorithmus:

Der Agent aktualisiert mit jeder Trainingssequenz die erwartetenNützlichkeiten der betroffenen Zustände. Dabei gibt es verschiedene Möglichkeiten:

• Direkte Nützlichkeitsschätzung• Adaptives dynamisches Programmieren• Zeitliches Differenzlernen

Datenstrukturen:

U: Tabelle der aktuellen Nützlichkeitswerte aller ZuständeN: Tabelle der Häufigkeiten aller ZuständeM: Tabelle der Übergangswahrscheinlichkeiten zwischen den

Zuständen

Vorgehensweisen zum Lernen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 10

In einer Trainingssequenz werden für alle Zustände der Sequenz ihre beobachteten Nützlichkeiten rückwärts berechnet.

Diese werden entsprechend der Häufigkeit der Zustände über alle Trainingssequenzen gewichtet und daraus die Gesamtnützlichkeit des Zustandes berechnet.

Aus Beispiel-1:Zustand (1,1) kommt in erster Sequenz 2 Mal mit jeweils -1 vor, insgesamt: Häufigkeit: 12; Summe: -2, Bewertung = -0,167Zustand (1,2): Häufigkeit: 10; Summe: -2, Bewertung = -0,2Zustand (1,3): Häufigkeit: 6; Summe: 0, Bewertung = 0

Problem: Der Algorithmus berücksichtigt nicht das Wissen über Übergangswahrscheinlichkeiten zwischen den Zuständen und konvergiert deswegen extrem langsam, z.B. müsste Zustand (1,2) in der Mitte zwischen Zustand (1,1) und (1,3) liegen!

Direkte Nützlichkeitsschätzung

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 11

Ergebnisse für Beispiel-1

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 12

Schwäche der direkten Nützlichkeitsschätzung

Illustratives Beispiel für Schwäche der direkten Nützlichkeitsschätzung: Der neue Knoten NEW wird aufgrund einer Epoche entlang des gestrichelten Pfades bewertet und bekommt daher die Bewertung +1, obwohl bereits bekannt ist, das der Knoten OLD, der die gleiche Bewertung wie NEW haben muss, die Bewertung -0,8 hat.

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 13

Tatsächlich ist die Nützlichkeit eines Zustandes seine direkte Belohnung plus der entsprechend der Übergangswahrscheinlickeiten gewichtete Durchschnitt der Nützlichkeiten der Nachbarzustände, d.h.

Uπ(s) = R(s) + γ ∑s' T(S, π(s), s') Uπ (s')

U = Nützlichkeit (Utility) bei Politik πR = Belohnung (Reward)T = Übergangswahrscheinlichkeit zwischen Zuständen gemäß Politik πDa die Übergangswahrscheinlichkeiten leicht vorberechnet werden können, kann der Agent ein lineares Gleichungssystem von Gleichun-gen lösen, wenn er genügend (d.h. ≈ |Zustände|) Pfade beobachtet hat.Allerdings können die Gleichungssysteme extrem groß und damit nicht mehr handhabbar werden, z.B. bei Backgammon 1050 Gleichungen mit 1050 Unbekannten.Alternativ kann das Gleichungssystem für die Nützlichkeiten auch mit einer modifizierten Politik-Iteration approximiert werden.

Adaptives Dynamisches Programmieren

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 14

Kombination der Vorteile des direkten & des ADP-Ansatzes (Ein-fachheit bei Berücksichtigung von Übergangswahrscheinlichkeiten)

Idee: Die Übergangswahrscheinlichkeiten werden nicht berech-net, sondern es wird nur eine Anpassung an den Nachfolgezu-stand vorgenommen. Wenn man z.B. von einem Zustand i nach j kommt und derzeit galt: U(i) = -0,5 und U(j) = +0,5 dann sollte U(i) an seinen Nachfolger angepaßt werden.

Das lässt sich durch folgende Aktualisierungsregel korrigieren:

Uπ(s) ← Uπ(s) + α (R(i) + Uπ(s') - Uπ(s) )

Wobei α ein Parameter “Lernrate” ist, der mit zunehmender Zeit verkleinert wird (ähnlich wie bei simulated annealing).

Zeitliches Differenzlernen (Temporal Difference; TD)

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 15

• TD adaptiert einen Zustand nur an seinen beobachteten Vorgänger, ADP an alle Nachbarn.→ Unterschied gering bei vielen Trainingssequenzen

• TD macht nur eine Anpassung pro beobachtete TransitionADP für alle Nachbarn und propagiert diese weiter→ TD grobe Approximation von ADP

• Unterschied kann verringert werden, wenn für TD Pseudo-Erfahrungen auf der Basis des bisherigen Wissen über Zustandsübergänge generiert werden.

• Entsprechend kann ADP angepasst werden, indem nur große Wertänderungen an wahrscheinliche Nachbarn propagiert werden → approximatives ADP

Unterschiede zwischen ADP und TD

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 16

Ein aktiver Agent hat die Möglichkeit, in jedem Zustand diejeweils beste Aktion zu wählen.

Im Vergleich zum passiven Lernen ändert sich:

• die Auswirkungen aller Aktionen (nicht nur die einer Politik)• Die Berechung der Nützlichkeit eines Zustandes, bei der immer die

beste Aktion (optimale Politik) zugrunde gelegt wird.• Die Verhaltenskomponente fragt die gelernten Funktionen ständig ab.

Die Lernalgorithmen ändern sich dadurch nicht wesentlich.

Allerdings ist die Aktionsselektion kompliziert, da sie einen Kompromiss zwischen gegenwärtigem und zukünftigem Nutzen (letzteres durch erkundende Aktionen) finden muss.

Optimale Erkundungspolitik – "Bandit Problem": N-armiger Bandit (Las Vegas): Welcher "Bandit", d.h. welche Investion ist am lukrativsten?

Aktives Lernen in unbekannten Umgebungen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 17

Problem: In welchem Umfang sollen unbekannte (und daher eventuell sehr schlechte) Aktionen durchgeführt werden.

Strategie: Grad des Konservativismus sollte proportional zum Wissensstand sein.

Umsetzung: Wenig erkundete Pfade bekommen eine belohnungsunabhängige Verstärkung, die mit häufigerem Durchlaufen abnimmt.

U+(s) = R(s) + γ maxa f (∑s' T(S, a, s') U+(s'), N(a, s)f (u, n) ist Erkundungsfunktion, z.B. = R+ if n<Ne, ansonsten umit R+ einer optimistischen Schätzung der bestmöglichen Belohnung in irgendeinem Zustand und Ne eine Konstante, die angibt, wie oft eine Aktion in einem Zustand probiert wurde.

Erkundungspolitik

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 18

Q(a, s) = Wert der Aktion a im Zustand s

Zusammenhang zwischen Nützlichkeit und Q-Werten:

U(s) = maxa Q(a,s)

Der Q-Wert einer Aktion in einem Zustand ergibt sich aus der Belohnung in diesem Zustand + den wahrscheinlichkeits-gewichteten Q-Werten der besten Aktionen in den Nachbar-zuständen, die durch die Aktion erreicht werden.

Direktes Lernen von Aktionen: Q-Lernen (1)

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 19

Während sich das dynamische adaptive Programmieren nicht übertragen lässt, da es Nützlichkeiten der Zustände benötigt, kann das zeitliche Differenzenlernen leicht angepasst werden:

Q(a, s) ← Q(a, s) + α (R(s) + γ maxa‘ Q(a‘,s') – Q(a,s))

das nach jedem Übergang von Zustand s nach Zustand s' berechnet wird.

Beim aktiven Lernen werden wiederum seltene Aktionen in Zuständen belohnt.

Q-Lernen benötigt kein Modell der Welt und kann daher kein deklaratives Wissen repräsentieren: Eignung eher für einfache Umgebungen.

Direktes Lernen von Aktionen: Q-Lernen (2)

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 20

Im allgemeinen ist es unmöglich, alle Zustände explizit zu bewerten (z.B. Schach mit ca. 1080 Stellungen). Stattdessen werden implizite Repräsentationen der Nützlichkeiten benötigt, die häufig als lineare Funktionen von Zustandsvariablen dargestellt werden:

U(s) = w1 f1(s) + w2 f2(s) + ... + wn fn(s)

wobei die Nützlichkeitsfunktion durch n Gewichte wi repräsentiert wird. Das ist nicht nur eine enorme Speicherreduktion, sondern auch eine Verallgemeinerung, so dass der Agent nicht mehr alle Zustände kennen muss.

In den Lernfunktionen muss beim Zeitliches Differenzlernen (analog beim direkten Nützlichkeitslernen und beim Q-Learning) nur die Nützlichkeit eines Zustandes durch die Nützlichkeit der Zustandsfunktion ersetzt werden, Sei w = w1, w2, .... wn ein Gewichtsvektor und Uw(s) die Nützlichkeit eines Zustandes s bei gegebenem w. Dann gilt:

w ← w + α [R(s) + γ Uw(s') – Uw(s)] ∇ (w) Uw(s)

was einem Gradienten-Abstiegs-Verfahren wie bei neuralen Netzen entspricht, die sich gut für diese Lernverfahren eignen.

Generalisierung beim Reinforcement-Lernen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 21

Anwendungen in Spielen:

• Checker-Programm (Samuel 59, 67):Unterschiede zu obiger Formel:

- Es wird die aktuelle Stellungsbewertungsbewertung mit der durch Vorausberechnung im Suchbaum entstandenenStellungsbewertung verglichen.

- Es werden nicht die Endzustände im Spiel bewertet, sondern die oben berechneten. Allerdings wird Materialvorteil immer positiv bewertet.

• Backgamman-Programm (Tesauro 89, 92): 1. Version (Neurogammon): Neuronales Netz auf der Basis vom Q-

Lernen mit Bewertungen von menschlichen Experten.2. Version (TD-Gammon): Neuronales Netz auf der Basis vom TD-

Lernen ohne menschliche Bewertungen: bessere Ergebnisse.

Anwendungen für Roboter-Steuerung:• Inverses Pendel

Anwendungen

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 22

Stab-Balancieren-Problem

Künstliche Intelligenz: 21. Verstärkungslernen Frank Puppe 23

Politik-Suche

• Idee: Suche zu gegebener Politik iterativ eine bessere Politik• Repräsentation: Politik bildet Zustände in Aktionen ab, wobei

die Zustände durch Parameter (wie beim Generalisieren) dargestellt werden sollen.

• Beispiel: Politik π wird durch (mit Gewichtsvektor w) parametrisierte Q-Funktion (Erwartungswert ^Q) repräsentiert:

π (s) = maxa ^Qw(a, s)• Politik-Suche verändert Parameter w, um Politik zu verbessern• Bei deterministischer Umgebung relativ gut lösbar (Softmax

Funktion), bei stochastischer Umgebung komplizierter, aber auch lösbar (PEGASUS Algorithmus).