Gruppe A4 – Stürmer Theoretische Informatik Seminar F Stephan Neumann Michael Groß
0,8 0,2 Der Playground 0,17 0,060,108 0,04
Automatisches Testen – die Testsuite
Aufbau einer Testsuite 6 Teilbereiche, Startpositionen: Roboter in Blickrichtung Tor, Ball direkt vor Roboter Roboter in Blickrichtung Tor, Ball vor Roboter, etwas entfernt Roboter in Blickrichtung Tor, Ball direkt hinter Roboter Roboter in Blickrichtung Tor, Ball hinter Roboter, etwas entfernt Roboter in Blickrichtung Tor, Ball auf Roboterposition gespiegelt um die y-Achse Zufällige Roboter & Ball Startposition
Der Regler 1: Gehe zum Ball 2: Weiche Hindernis aus (Kollisionsgefahr!) 3: Drehe Dich parallel zum Hindernis und fahre vorwärts(mit Ball) 4: Fahre vorwärts (mit Ball) 5: Schieße (mit Ball) 6: Fahre eine Kurve (mit Ball, Hindernis im Weg) 7: Fahre eine Kurve (mit Ball, freie Bahn) 0: Schieße (Selbstmord, mit Ball) zustandsbasiert 8 Aktionen (Behaviors):
Regler – verwendete Features Abstand zum Ball (direkt davor, sonst) Abstand zum Hindernis Winkel zum Hindernis Winkel zum Tor
Regler - Entscheidungsbaum Ball genau vor Roboter? Gehe zu Ball Hindernis SEHR nahe? JANEIN Hindernis Ausweichen Tor gerade voraus & Hindernis nicht im Weg? |Hindernis Winkel| < 60°? Hindernis nahe? Hindernis sehr nahe? |Hindernis Winkel| < 30°? vorwärts Parallel zu Hindernis drehen & vorwärts vorwärtsSchießen!Selbstmord Roboter parallel zu Hindernis & Tor voraus ? vorwärts Hindernis zu nahe für Kurve?Kurve Hindernis steht Kurve im Weg?KurveKurve (blockiert)
Regler – Ergebnisse: 65,7%
Bewertung einer Q-Table – Difference und Total Difference
Lernen - Actions 1: Gehe zum Ball 2: Weiche Hindernis aus (Kollisionsgefahr!) 3: Drehe Dich parallel zum Hindernis und fahre vorwärts(mit Ball) 4: Fahre vorwärts (mit Ball) 5: Schieße (mit Ball) 6: Fahre eine Kurve (mit Ball, Hindernis im Weg) 7: Fahre eine Kurve (mit Ball, freie Bahn) 0: Schieße (Selbstmord, mit Ball)
Lernen - Statediskretisierungen Abstand zum Ball: = 0.03: 2 Abstand zum Hindernis: = 0.18: 5 |Winkel Hindernis| : = 7 Pi / 6: 6 |Winkel Tor| : = 0.05 : 2 States = 2 * 5 * 6 * 2 = 120; |QTable| = States * Actions = 960
Statediskretisierungen graphisch
Lernreihe 1: Rewardmodell Erfolg: 100 Fehlschlag: -100 Behavior beendet sich sofort: -10
Lernreihe 1 - Ergebnisse EpisodenErfolgFehlschlagProzent Geänderte ActionsT-Diff ,27% ,29% ,01% ,96% ,93% ,99% ,10% ,10% ,54% ,99% ,46%85696
Lernreihe 1 - Ergebnisse
Lernreihe 1, 1524 Episoden, 25,3%
Lernreihe 1, 2910 Episoden, 47,3%
Lernreihe 1, 3557 Episoden, 48,0%
Lernreihe 1, 5000 Episoden, 43,0%
Lernreihe 1, 6459 Episoden, 46,9%
Lernreihe 1, 6805 Episoden, 52,0%
Lernreihe 1, 7309 Episoden, 49,1%
Lernreihe 1, 7797 Episoden, 49,1%
Lernreihe 1, 8332 Episoden, 50,5%
Lernreihe 1, Episoden, 52,0%
Lernreihe 1, Episoden, 49,5%
Regler 65,7% (zum Vergleich)
Lernreihe 2 - Rewardmodell Erfolg: 100 Timeout: -0,5 Sonstiger Fehlschlag: -100 Behavior beendet sich sofort: -10 Bahavior Selbstmord: -50 Abbruch nach 40x selber Action im selben State (-100)
Lernreihe 2 - Ergebnisse EpisodenErfolgFehlerProzent Geänderte ActionsT-Diff ,74% ,29% ,90% ,60% ,32%182850
Lernreihe 2 - Ergebnisse
Lernreihe 2, 1966 Episoden, 48,7%
Lernreihe 2, 2910 Episoden, 47,3%
Lernreihe 2, 3222 Episoden, 50,9%
Lernreihe 2, 4142 Episoden, 42,6%
Lernreihe 2, 6652 Episoden, 30,3%
Regler 65,7% (zum Vergleich)
Lernreihe 3 - Ergebnisse EpisodenErfolgFehlerProzent Geänderte ActionsT-Diff ,74% ,10% ,82%66769
Lernreihe 3 - Ergebnisse
Lernreihe 3, 1966 Episoden, 48,7%
Lernreihe 3, 6524 Episoden, 49,1%
Lernreihe 3, 9532 Episoden, 49,8%
Regler 65,7% (zum Vergleich)
Alle Tests zusammen: Lernreihe 1Lernreihe 2Lernreihe 3
Behavior RL Problem Stetiger Zustandsraum. Stetige Aktionen.
Lösung 1: Diskretisierung Zu grobe Einteilung – Wichtige Unterschiede im Zustandsraum können nicht erkannt werden. Zu feine Einteilung – Riesiger Zustandsraum, lange Zeit, bis auch nur alle wesentlichen Zustände einmal auftreten. Der Agent kann nicht von bereits bekannten Zuständen auf neu auftretende, aber ähnliche Zustände schließen. Es ist schwer, bekanntes Wissen einzubringen.
Erwünschte Eigenschaften des RL Direktes Verarbeiten des stetigen Zustandsraum. Direkte Ausgabe der stetigen Aktionen. Keine versteckte Diskretisierung. Agent soll beim Auftreten eines unbekannten Zustands eine möglichst gute Aktion wählen. Möglichkeit, das vom Regler bekannte Wissen einzubringen.
Aktion/Reward Funktion Funktion durch n Kontrollpunkte (2 mal n Parameter) definiert. Funktion geht garantiert durch höchsten Kontrollpunkt – leichtes ermitteln des Maximums.
Wire Fitting Position der Kontrollpunkte soll vom Zustandsvektor x abhängen, y=f(u) ist dabei der zu erwartende reward. xZustandsvektor uAktion(svektor) Q(x,u)erwarteter Reward cSmoothing Faktor
Kontrollpunkte mit ANN bestimmen
Einbringen von Vorwissen
Lernen mit Wire RL Ermittle die beste Aktion u und dazugehörendes Q(x t, u) für Statevektor x t. Führe Aktion aus, ermittle Reward r t+1 und neuen State x t+1 (beachte ||x t+1 - x t ||). Q-Learning Verwende Gradient Descent, um die Kontrollpunkte zu verändern. Verwende Gradient Descent, um das ANN an die neuen Kontrollpunkte anzupassen.
Beispiel
Probleme Verlernen. Unstetige Werte. Nicht skalierte Werte.