30
Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Embed Size (px)

Citation preview

Page 1: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Reinforcement LearningSeminar F

Gerhard NEUMANN

Helmut GRABNER

A1: Fahren mit BallB1: Ball stoppen

Page 2: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Aufgabe A1

Fahren mit Ball

Page 3: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallAufgabenstellung

Der Roboter soll mit dem Ball und einer gegebenen Geschwindigkeit gerade vorwärts fahren.

Der Ball befindet sich zu Beginn entweder in der “Schaufel” oder auf einer geraden Linie vor ihm.

Page 4: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallModell: Zustandsmenge S

Eigene Geschwindigkeitzu klein; OK; zu groß

Ballentfernung (Abgeschätzt durch Radius)habe Ball; mittel; weit

sehe Ball nicht(3 x 3) +1 = 10 Zustände

Page 5: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallModell: Aktionsmenge A

Beschleunigungstark negative; negative; null; positive;

stark positivestark negative und negative

Beschleunigung ist nur möglich, wenn sich der Roboter vorwärts bewegt (=kein Rückwärtsfahren ermöglichen)

5 Aktionen zusammen mit den 10 Zuständen: 50 State-

Action-Paare

Page 6: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallModell: Rewards R

“Hat Ball” und “Geschwindigkeit = OK”

aufsteigende Rewards +1, +2, +3,.. +10bei 10: Ende der Episode: WINNING

sehe Ball nichtEnde der Episode: LOOSE

sonst-1 immer (schnellst möglichstes Beenden

der Episode, anfahren)

Page 7: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallErgebnisse

Funktioniert Relative einfach zu Lernen (ca. 30 Episoden)RL (eigentlich) nicht notwendig (vgl. fwd)

Probleme“Khepera-Stall” zu klein -> keine großen

Geschwindigkeiten trainierbar

Page 8: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

A1: Fahren mit BallErgebnisse

Episode: 200Alpha: 0.0100Epsilon: 0.1000Gamma: 0.9500Lambda: 0.9000

Q - Table 0.2274 1.9155 0.3670 0.1488 3.4439 0.0527 0.0031 3.1233 2.9444 0.2653 1.3847 1.2301 0.3308 0.2875 3.2725 0.2890 0.0529 11.7049 0.2166 0.0294 0.0008 2.1297 0.1587 0.2281 32.6367 0.0366 0.0088 3.6636 0.0956 0.0270 0.0458 2.1206 0.2015 0.2372 5.7928 0.0783 0.1783 3.7540 0.2419 0.0393 0.0308 7.3502 3.5749 1.8260 3.8408 1.9555 0.0000 3.8855 0.0216 0.0467

kein B. v< v< v< v= v= v= v> v> v> nahe mittel fern nahe mittel fern nahe mittel fern

Aktionen (Beschleunigung): 0 .. stark negative 3 .. positive 1 .. negative 4 .. Stark positive 2 .. null

Page 9: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Aufgabe B1.1

Ball stoppen

Page 10: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenAufgabenstellung

Der Roboter soll den Ball, der mit einer beliebigen Geschindigkeit von vorne auf ihn zukommt, möglichst “gut” (schnell) abstoppen und bei sich behalten.

Page 11: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenModell: Zustandsmenge S

Ballentfernung habe Ball

Eigenbewegung• ja; nein

klein; mittelrelative Geschwindigkeit des Balles

• klein; mittle, hoch, sehr hoch

weit entferntsehe Ball nicht(2 + (2 x 4) + 1) + 1 = 12 Zustände

Page 12: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppen Abschätzungen

Abstand des Balles

k und d bestimmt mittels Fit (Mathematica)

Geschwindigkeit

starke Unterschiede in der Geschwindigkeits- (Distance-, Radius-) Abschätzung: Daher Mittelung über die gesamte Episode (bis “Hat Ball”).

t

distancev

dradius

kradiusfdistance 1

Page 13: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenModell: Aktionsmenge A

Beschleunigungsehr stark negative; stark negative;

negative; null; positive (prozentuell)positive Beschleunigung ist nur möglich,

wenn sich der Roboter rückwärts bewegt (=kein Vorwärtsfahren ermöglichen)

5 Aktionenzusammen mit den 12 Zuständen: 60 State-

Action-Paare

Page 14: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenModell: Rewards R

“Hat Ball” +1sobald der Roboter steht und den Ball hat bzw.

wenn er ihn wieder “verliert”: Wartezeit (1 sec)• Falls danach “Hat Ball”: +20 (mit Abfrage!)

Ende der Episode: WINNING• sonst: negativer Reward gewichtet mit der Entfernung des

BallesEnde der Episode: LOOSE

Rewards für jeden Zug-0.1 bei negativen Beschleunigungen-0.2 immer (schnellst möglichstes Beenden der

Episode, abstoppen)

Page 15: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenErgebnisse

Funktioniert nicht gut Sehr schwer zu Lernen (> 200 Episoden)Diskretisierung zu ungenau (Ballentfernung,

Geschwindigkeit) -> nur wenige Ballgeschwindigkeiten gut erlernbar

mit “Standard-Schaufel” wird Stehenbleiben gelernt (1/4 der Fälle bleibt der Ball hängen)

ProblemeKamera zu langsam für hohe GeschwindigkeitenGleiche (ähnliche) Situationen mit

unterschiedlichem Ausgang -> Verwirrung

Page 16: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.1: Ball stoppenErgebnisse

Episode: 300Alpha: 0.0100Epsilon: 0.1000Gamma: 0.9500Lambda: 0.9000

Q - Table-0.3297 -0.3634 -1.7305 -1.3023 -0.7657 -0.4906 -0.0365 0.0000 0.1974 -0.6724 -0.1371-0.2972 -0.4561 -1.7856 -1.2628 -0.9505 -0.4969 -0.0453 0.0000 -0.6435 -0.6892 -0.1383-0.3719 -0.4353 -1.7697 -1.2390 -0.9453 -0.4891 -0.0296 -0.0016 -0.8337 -0.6674 0.0342-0.3549 -0.4477 -1.5141 -1.3372 -0.1715 -0.5904 -0.0612 0.0000 -0.9180 -0.6662 -0.2781 2.7378 -0.4857 -1.0459 -1.3511 -0.8447 -0.5596 -0.0903 -0.0118 -0.9295 -0.6668 -0.1283

habe fern nahe nahe nahe nahe mittel mittel mittel mittel habe speed > - v< v= v> v>> v< v= v> v>> speed=0

Aktionen (Beschleunigung): 0 .. sehr stark negative 3 .. null 1 .. stark negative 4 .. Positive (%) 2 .. negative

Page 17: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Aufgabe B1.2

Ball stoppen mit linearen Function Approximator (FA)

Page 18: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.2: Ball stoppen mit linearen FAModel: Zustände

2 continuierliche States (2D)BallentfernungBallgeschwindigkeit

3 verschobene Tilings (vgl. UE)je 12 x 12Anmerkung: 1. Versuch (ohne Tilings) -> ups

• zuerst Theorie begreifen, dann überlegen, dann programmieren ;-)

3 x (12 x 12) = 432 Parameter (Features) pro Aktion

Page 19: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1: Ball stoppen mit linearen FAModel: Aktionen, Rewards

Aktionen: gleich 5 Aktionen

zusammen mit den 432 Features: 2160 Parameter

Rewards: gleich

Page 20: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.2: Ball stoppen mit linearen FAErgebnisse

Funktioniert besser Bessere Ergebnisse, aber noch schwerer zu

Lernen (> 700 Episoden für annehmbares Verhalten)

Problemeum genaue Ergebnisse zu erhalten noch viel

größer Menge (!) an Trainingsbeispielen notwendig!

Page 21: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

B1.2: Ball stoppen mit linearen FAErgebnisse

action0

510

1520

25

Distance 5

10

15

20

25

v

-1

-0.5

0

0.5

Q

510

1520

25

Distance

action1

510

1520

25

Distance 5

10

15

20

25

v

-0.5

0

0.5

Q

510

1520

25

Distance

action2

510

1520

25

Distance 5

10

15

20

25

v

-1

-0.5

0

0.5

Q

510

1520

25

Distance

action3

510

1520

25

Distance 5

10

15

20

25

v

-1-0.5

0

0.5Q

510

1520

25

Distance

action4

510

1520

25

Distance 5

10

15

20

25

v

-1

-0.5

0

0.5

Q

510

1520

25

Distance

Beschleunigungen action0: sehr stark

negative action1: stark negaive action2: negative action3: null action4: positive (%)

Page 22: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Probleme

Roboter Allgemein RL

Page 23: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Allgemeine Roboterprobleme (Khepera)

Fährt Kurven (Kabel)Ausfall des Kamerabildeszu langsame Kamera

ein neues Bild nur alle 50 ms

Schlechte BallerkennungSonne, Kabel, Finger, Arm, ..

Abweichungen der Messwerte (Radius)Ball nicht optimal“Schaufel” nicht optimal

Page 24: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

RL Probleme 1

wichtigster Faktor: das Modelmöglichst viel Vorwissen einbringen (Aktionen in

gewissen States nicht zulassen, Rewards verteilen)• ACHTUNG: Roboter lernt zwar schneller, kann jedoch

einige Zeit in lokalen Minima stecken bleiben.

Anfangen mit “einfachen” Beispielenkann das Model überhaupt funktionieren?

• Ausprobieren mit “optimalen” Parameter (wenn möglich) -> Lernen ?

Unsicherheiten möglichst vermeiden• statistische Methoden (Mittelungen)• gute (lineare) Abschätzungen

Page 25: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

RL Probleme 2

Große Menge an Trainingsbeispielenfür 250 Episoden (nach langen üben) ca. 1 Stunde ausprobieren von verschiedenen Modellen,

Lernalgorithmen ist mit sehr großen Zeitaufwand verbunden -> Simulator fürs “Grobe”

sehr viele FreiheitsgradeParameterauswahl (, ,…)Lernalgorithmen (verschiedene Versionen)E-trace UpdateAktionen ausführen bis Statewechsel ?…

Page 26: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

RL Probleme 3

Zufalldas Lernen hängt sehr vom anfänglichen

“Zufall” abzufällige oder falsch geschätzte Ereignisse

führen zu sehr starker Verwirrung (POMDPs)kontrollierte Trainingsumgebung notwendig

Alternative Lösungen auf dieser Ebene wahrscheinlich effizienter

Regler “ausprogrammieren”

Page 27: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

Klassensystem

Modell erstellen Anpassungen der Lernalgorithmen

Page 28: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

KlassensystemModell

Ableiten von CEnvironmentModelFunktionen implementieren

float doNextState (CRIAction action)int getNewState()float getContinousState(int dimension)void getAvailableActions (ActionSet)

Page 29: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

KlassensystemVorhanden

Sarsa-, (Q-) Learning - greedy policyQ-TableLineare Function ApproximatorLaden und speichern der Parameter

Page 30: Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen

KlassensystemAusbaubar (Anpassungen)

Policies (Parameteranpassungen z.B. )

Q-FunctionsLernalgorithmen

(Modelbased Learning)

State KlassenBehaviors…