gruppe a4 – stürmer theoretische informatik seminar f stephan neumann michael groß 16.10.2002
TRANSCRIPT
Gruppe A4 – „Stürmer“
Theoretische Informatik Seminar FStephan NeumannMichael Groß16.10.2002
0,8
0,8
0,2
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 - EntscheidungsbaumBall genau vor Roboter?
Gehe zu BallHindernis SEHR nahe?
JA NEIN
Hindernis Ausweichen
Tor gerade voraus &Hindernis nicht im Weg?
|Hindernis Winkel| < 60°?
Hindernis nahe?
Hindernis sehr nahe?
|Hindernis Winkel| < 30°?
vorwärts
Parallel zu Hindernisdrehen & vorwärts
vorwärtsSchießen! Selbstmord
Roboter parallel zuHindernis & Tor ‚voraus‘ ?
vorwärts
Hindernis zu nahe für Kurve? Kurve
Hindernis steht Kurve im Weg?Kurve Kurve (blockiert)
Regler – Ergebnisse: 65,7%
‚Bewertung‘ einer Q-Table – Difference und Total Difference
4,297
8,3
4,2
8,6
8,4
6,4
29
2,37
6,25
2,07
2,38
4,27
29111
12733
40135
13764
28363
42721
DifferenceTotal
QQQ DIFFMAX
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; >= 0.03: 2 Abstand zum Hindernis: < 0.075; <0.09; <0.145;
<0.18; >= 0.18: 5 |Winkel Hindernis| : < Pi / 6; < Pi / 3; < 5 Pi / 12;
< Pi / 2; < 7 Pi / 6; >= 7 Pi / 6: 6 |Winkel Tor| : < 0.05; >= 0.05 : 2States = 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
Episoden ErfolgFehlschla
g ProzentGeänderte Actions T-Diff
1524 70 207 25,27% 120 450
2910 131 146 47,29% 58 962
3447 133 144 48,01% 32 889
5000 119 158 42,96% 33 1758
6459 130 147 46,93% 25 2563
6805 144 133 51,99% 10 2711
7309 136 141 49,10% 12 2915
7797 136 141 49,10% 16 3033
8332 140 137 50,54% 9 3274
10001 144 133 51,99% 13 4259
14539 137 140 49,46% 8 5696
Lernreihe 1 - Ergebnisse
5000 10000 150000
10
20
30
40
50
60
70
80
90
100
Erfolgreiche Episoden [%]Total Difference [0 - 6000]Geaenderte Actions [0 - 120]Regler
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, 10001 Episoden, 52,0%
Lernreihe 1, 14539 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
Episoden Erfolg Fehler ProzentGeänderte Actions T-Diff
1966 135 142 48,74% 120 2203
2910 131 146 47,29% 27 2207
3222 141 136 50,90% 29 3411
4142 118 159 42,60% 28 3071
6652 84 193 30,32% 18 2850
Lernreihe 2 - Ergebnisse
1000 2000 3000 4000 5000 6000 70000
10
20
30
40
50
60
70
80
90
100
Erfolgreiche Episoden [%]Total Difference [0 - 3500]Geaenderte Actions [0 - 120]Regler
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
Episoden Erfolg Fehler Prozent
Geänderte Actions T-Diff
1966 135 142 48,74% 120 2203
6524 136 141 49,10% 23 5509
9532 138 139 49,82% 6 6769
Lernreihe 3 - Ergebnisse
1000 2000 3000 4000 5000 6000 7000 8000 9000 100000
10
20
30
40
50
60
70
80
90
100
Erfolgreiche Episoden [%]Total Difference [0 - 7000]Geaenderte Actions [0 - 120]Regler
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 1 Lernreihe 2 Lernreihe 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
1
1
max
max
iik
ii
iik
iii
yyuu
yyuuyuf
Funktion durch n Kontrollpunkte (2 mal n Parameter) definiert.
Funktion geht garantiert durch höchsten Kontrollpunkt – leichtes ermitteln des Maximums.
u
f(u
)
(u2,y2)
(u1,y1)
(u3,y3)
Wire Fitting
1
1
max
max
iik
ii
iik
iii
yyuu
yyuuyuf
Position der Kontrollpunkte soll vom Zustandsvektor x abhängen, y=f(u) ist dabei der zu erwartende reward.
u
f(u
)
(u2,y2)
(u1,y1)
(u3,y3)
1
max
2
1
max
2
,
iiii
iiiii
qqc
qqcxqQ
xxx
xxxux
uu
uu
x Zustandsvektoru Aktion(svektor)Q(x,u) erwarteter Rewardc Smoothing Faktor
Kontrollpunkte mit ANN bestimmen
Aktion u
q
Beste Aktion u
Interpolationsfunktion
Neuronales Netz
State
Einbringen von Vorwissen
Aktion u
q
Interpolationsfunktion
Neuronales Netz
State
Reglergewählte Aktion u
Lernen mit Wire RL Ermittle die beste Aktion u und dazugehörendes
Q(xt, u) für Statevektor xt.
Führe Aktion aus, ermittle Reward rt+1 und neuen State xt+1 (beachte ||xt+1- xt||).
Q-Learning
Verwende Gradient Descent, um die Kontrollpunkte zu verändern.
Verwende Gradient Descent, um das ANN an die neuen Kontrollpunkte anzupassen.
tttu
ttttt uxQuxQruxQuxQ ,,max,, 11
Beispiel
Probleme
Verlernen.
Unstetige Werte.
Nicht skalierte Werte.