Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen."—  Präsentation transkript:

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

2 Aufgabe A1 Fahren mit Ball

3 A1: Fahren mit Ball Aufgabenstellung zDer Roboter soll mit dem Ball und einer gegebenen Geschwindigkeit gerade vorwärts fahren. zDer Ball befindet sich zu Beginn entweder in der Schaufel oder auf einer geraden Linie vor ihm.

4 A1: Fahren mit Ball Modell: Zustandsmenge S zEigene Geschwindigkeit xzu klein; OK; zu groß zBallentfernung x(Abgeschätzt durch Radius) xhabe Ball; mittel; weit zsehe Ball nicht z(3 x 3) +1 = 10 Zustände

5 A1: Fahren mit Ball Modell: Aktionsmenge A zBeschleunigung xstark negative; negative; null; positive; stark positive xstark negative und negative Beschleunigung ist nur möglich, wenn sich der Roboter vorwärts bewegt (=kein Rückwärtsfahren ermöglichen) z5 Aktionen xzusammen mit den 10 Zuständen: 50 State- Action-Paare

6 A1: Fahren mit Ball Modell: Rewards R zHat Ball und Geschwindigkeit = OK xaufsteigende Rewards +1, +2, +3, bei 10: Ende der Episode: WINNING zsehe Ball nicht xEnde der Episode: LOOSE zsonst x-1 immer (schnellst möglichstes Beenden der Episode, anfahren)

7 A1: Fahren mit Ball Ergebnisse zFunktioniert xRelative einfach zu Lernen (ca. 30 Episoden) xRL (eigentlich) nicht notwendig (vgl. fwd) zProbleme xKhepera-Stall zu klein -> keine großen Geschwindigkeiten trainierbar

8 A1: Fahren mit Ball Ergebnisse Episode: 200 Alpha: Epsilon: Gamma: Lambda: Q - Table kein B. 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

9 Aufgabe B1.1 Ball stoppen

10 B1.1: Ball stoppen Aufgabenstellung zDer Roboter soll den Ball, der mit einer beliebigen Geschindigkeit von vorne auf ihn zukommt, möglichst gut (schnell) abstoppen und bei sich behalten.

11 B1.1: Ball stoppen Modell: Zustandsmenge S zBallentfernung yhabe Ball xEigenbewegung ja; nein yklein; mittel xrelative Geschwindigkeit des Balles klein; mittle, hoch, sehr hoch yweit entfernt zsehe Ball nicht z(2 + (2 x 4) + 1) + 1 = 12 Zustände

12 B1.1: Ball stoppen A bschätzungen zAbstand des Balles x xk und d bestimmt mittels Fit (Mathematica) zGeschwindigkeit x xstarke Unterschiede in der Geschwindigkeits- (Distance-, Radius-) Abschätzung: Daher Mittelung über die gesamte Episode (bis Hat Ball).

13 B1.1: Ball stoppen Modell: Aktionsmenge A zBeschleunigung xsehr stark negative; stark negative; negative; null; positive (prozentuell) xpositive Beschleunigung ist nur möglich, wenn sich der Roboter rückwärts bewegt (=kein Vorwärtsfahren ermöglichen) z5 Aktionen xzusammen mit den 12 Zuständen: 60 State- Action-Paare

14 B1.1: Ball stoppen Modell: Rewards R zHat Ball +1 xsobald 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 Balles Ende der Episode: LOOSE zRewards für jeden Zug x-0.1 bei negativen Beschleunigungen x-0.2 immer (schnellst möglichstes Beenden der Episode, abstoppen)

15 B1.1: Ball stoppen Ergebnisse zFunktioniert nicht gut xSehr schwer zu Lernen (> 200 Episoden) xDiskretisierung zu ungenau (Ballentfernung, Geschwindigkeit) -> nur wenige Ballgeschwindigkeiten gut erlernbar xmit Standard-Schaufel wird Stehenbleiben gelernt (1/4 der Fälle bleibt der Ball hängen) zProbleme xKamera zu langsam für hohe Geschwindigkeiten xGleiche (ähnliche) Situationen mit unterschiedlichem Ausgang -> Verwirrung

16 B1.1: Ball stoppen Ergebnisse Episode: 300 Alpha: Epsilon: Gamma: Lambda: Q - Table habe fern nahe nahe nahe nahe mittel mittel mittel mittel habe speed > - v v>> v v>> speed=0 Aktionen (Beschleunigung): 0.. sehr stark negative 3.. null 1.. stark negative 4.. Positive (%) 2.. negative

17 Aufgabe B1.2 Ball stoppen mit linearen Function Approximator (FA)

18 B1.2: Ball stoppen mit linearen FA Model: Zustände z2 continuierliche States (2D) xBallentfernung xBallgeschwindigkeit y3 verschobene Tilings (vgl. UE) xje 12 x 12 xAnmerkung: 1. Versuch (ohne Tilings) -> ups zuerst Theorie begreifen, dann überlegen, dann programmieren ;-) z3 x (12 x 12) = 432 Parameter (Features) pro Aktion

19 B1: Ball stoppen mit linearen FA Model: Aktionen, Rewards zAktionen: gleich y5 Aktionen xzusammen mit den 432 Features: 2160 Parameter zRewards: gleich

20 B1.2: Ball stoppen mit linearen FA Ergebnisse zFunktioniert besser xBessere Ergebnisse, aber noch schwerer zu Lernen (> 700 Episoden für annehmbares Verhalten) zProbleme xum genaue Ergebnisse zu erhalten noch viel größer Menge (!) an Trainingsbeispielen notwendig!

21 B1.2: Ball stoppen mit linearen FA Ergebnisse Beschleunigungen zaction0: sehr stark negative zaction1: stark negaive zaction2: negative zaction3: null zaction4: positive (%)

22 Probleme z Roboter Allgemein z RL

23 Allgemeine Roboterprobleme (Khepera) zFährt Kurven (Kabel) zAusfall des Kamerabildes zzu langsame Kamera xein neues Bild nur alle 50 ms zSchlechte Ballerkennung xSonne, Kabel, Finger, Arm,.. zAbweichungen der Messwerte (Radius) zBall nicht optimal zSchaufel nicht optimal

24 RL Probleme 1 zwichtigster Faktor: das Model xmö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. xAnfangen mit einfachen Beispielen xkann das Model überhaupt funktionieren? Ausprobieren mit optimalen Parameter (wenn möglich) -> Lernen ? xUnsicherheiten möglichst vermeiden statistische Methoden (Mittelungen) gute (lineare) Abschätzungen

25 RL Probleme 2 zGroße Menge an Trainingsbeispielen xfür 250 Episoden (nach langen üben) ca. 1 Stunde xausprobieren von verschiedenen Modellen, Lernalgorithmen ist mit sehr großen Zeitaufwand verbunden -> Simulator fürs Grobe zsehr viele Freiheitsgrade xParameterauswahl (,,…) xLernalgorithmen (verschiedene Versionen) xE-trace Update xAktionen ausführen bis Statewechsel ? x…

26 RL Probleme 3 zZufall xdas Lernen hängt sehr vom anfänglichen Zufall ab xzufällige oder falsch geschätzte Ereignisse führen zu sehr starker Verwirrung (POMDPs) xkontrollierte Trainingsumgebung notwendig zAlternative Lösungen auf dieser Ebene wahrscheinlich effizienter xRegler x ausprogrammieren

27 Klassensystem z Modell erstellen z Anpassungen der Lernalgorithmen

28 Klassensystem Modell zAbleiten von CEnvironmentModel zFunktionen implementieren xfloat doNextState (CRIAction action) xint getNewState() xfloat getContinousState(int dimension) xvoid getAvailableActions (ActionSet)

29 Klassensystem Vorhanden zSarsa-, (Q-) Learning z - greedy policy zQ-Table zLineare Function Approximator zLaden und speichern der Parameter

30 Klassensystem Ausbaubar (Anpassungen) zPolicies (Parameteranpassungen z.B. ) zQ-Functions zLernalgorithmen x(Modelbased Learning) zState Klassen zBehaviors z…


Herunterladen ppt "Reinforcement Learning Seminar F Gerhard NEUMANN Helmut GRABNER A1: Fahren mit Ball B1: Ball stoppen."

Ähnliche Präsentationen


Google-Anzeigen