View
126
Download
0
Category
Preview:
Citation preview
GEF447Robotique
Capt Vincent Roberge
Lecture 17Apprentissage par renforcement
1
PID
• Avantages—Simple—Ne demande pas de connaissance du modèle—Configurable expérimentalement
2
PID
• Désavantages— Environnement dynamique?— Modèle dynamique?— Problème de logique?— Jeux?
3
Plan de cours
• Définition apprentissage par renforcement
• 3 techniques de base— Programmation dynamique— Monte Carlo— Apprentissage temporel différentiel
• Application au suivi d’une ligne
• DEMO sur simulateur WEBOTS
4
Apprentissage par renforcement
• Inspiré de la psychologie du comportementalisme— Agent— Environnement— Prend des actions pour
maximiser le retour R
5
• Retour: somme des récompenses futures
• Apprend ou s’adapte en ligne
Exemple simple• Terrain 2D
• Frontière solide
• 4 mouvements possibles
• Vent vers le Nord
• Bût: trouver le chemin le plus court
3 techniques de bases• 1. Programmation dynamique
— Connaissance complète de l’environnement— Processus itératif hors-ligne— Évalue un état par rapport à l’état voisin
• 2. Monte Carlo— Aucune connaissance de l’environnement— Processus itératif en-ligne— Très grand nombre d’essais— Évalue un état d’après le résultat de plusieurs l’essais
• 3. Apprentissage temporel différentiel (TD-learning)— Aucune connaissance de l’environnement— Processus itératif en-ligne— Hybride de Programmation Dynamique et Monte Carlo— Essais + états voisins 7
[3]
Quelque définitions
• : état ou position• : action• : politique (action à prendre pour un état )• : probabilité de passer de à si on prend
l’action • : récompense si l’on passe de à en prenant
l’action • : retour ou somme des récompenses futures
Pour ce problème
1. Programmation dynamique
• Politique initialisée aléatoirement• Fonction valeur-état
• Connaissance complète de l’environnement— —
• Amélioration itérative de la politique
9
• Mettre à jour à politique est trivial• Mettre à jour :
10
État initiale
State-Value Fn and Final Policy
G
0 1 2 1 0
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
11
Passe 1- Valeur V
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
• Mettre à jour à politique est trivial• Mettre à jour :
12
Passe 1- Valeur V
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
• Mettre à jour à politique est trivial• Mettre à jour :
13
Passe 1- politique
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
• Mettre à jour à politique est trivial• Mettre à jour :
14
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-2
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
Passe 2- Valeur V
• Mettre à jour à politique est trivial• Mettre à jour :
15
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-2
-1.8
-1.6
-1.4
-1.2
-1
-0.8
-0.6
-0.4
-0.2
0
Passe 2- politique
• Mettre à jour à politique est trivial• Mettre à jour :
16
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-3
-2.5
-2
-1.5
-1
-0.5
0
Passe 3- Valeur V
• Mettre à jour à politique est trivial• Mettre à jour :
17
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-3
-2.5
-2
-1.5
-1
-0.5
0
Passe 3- politique
• Mettre à jour à politique est trivial• Mettre à jour :
18
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
Passe 4- Valeur V
• Mettre à jour à politique est trivial• Mettre à jour :
19
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-6
-5
-4
-3
-2
-1
0
Complexité- 7 passes- 0.76 sec
• Mettre à jour à politique est trivial• Mettre à jour :
2. Monte Carlo• Et si on ne connaît par l’environnement ()
—On ne peut calculer —Expérimentation—Politique —Fonction valeur-état-action
20
0
-1 -2
-3
-4
-5
…
La valeur de -2 est pour cet état et cette action. Une autre action aurait une valeur inférieure
2. Monte Carlo
• On utilise toujours un ajustement itératif de la politique
21[3]
2. Monte Carlo
22
Complexité- 50 itérations- 100 essaies- 500 moves max- 2.01 sec
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-6
-5
-4
-3
-2
-1
0
Programmation Dynamique
Monte CarloState-Value Fn and Final Policy
G
0 1 2 1 0-9
-8
-7
-6
-5
-4
-3
-2
-1
0
2. Monte Carlo
23
Complexité- 50 itérations- 10 000 essais- 500 moves max- 147 sec
State-Value Fn and Final Policy
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
G
0 1 2 1 0
-6
-5
-4
-3
-2
-1
0
State-Value Fn and Final Policy
G
0 1 2 1 0 -6
-5
-4
-3
-2
-1
0
Programmation Dynamique
Monte Carlo
3. Apprentissage temporel différentiel TD-learning
• Lorsque vous conduisez votre voiture— Monte-Carlo: ajuste l’estimé lors de l’arrivée à la maison— TD-learning: ajuste l’estimé d’apès
– observation (récompense)– Estimé précédent
24[3]
3. Apprentissage temporel différentiel
• Performance de TD-learning
25
Complexité- 100 essais- 752 steps- 0.052 sec
Exemple d’apprentissage par renforcement
http://www.youtube.com/watch?v=W_gxLKSsSIE
26[3]
E-Puck
27
Webots• Environnement de développement
— Modéliser, — Programmer, et— Simuler des robots mobiles
28
Robot pour le suivi d’une ligne
• Ligne noire sur un fond blanc• Utilise la caméra VGA du robot e-puck• 8 états• 7 actions• Apprentissage en ligne utilisant TD-learning
29
États discrets
• Analyse de la vidéo (40x1)— Convertir en Gris
— Convertir en Noir et Black (seuil de “moyenne*0.8”)
— Calculer le centre de masse
• Déterminer l’état— Arrondir le centre de masse à l’état discret
30
S1 S2 S3 S4 S5 S6 S7 S8 S9
Actions possibles
31
Fonction valeur-état-action sauvegardée dans une matrice 9x7
Récompenses et autres paramètres
• Récompense
• Autre— Politique E-greedy ()
– Action aléatoire sélection permis les 2 voisins de l’action préférée
— Taux d’apprentissage — Facteur de dévaluation — Time step de la simulation = 64 ms— Matrice Q initialisé de façon optimiste à 10 + 0.01*rand()
32
Demo
• Simulateur Webots• http://www.youtube.com/watch?v=Yg1BgdtDcHI
Conclusion
• Apprentissage par renforcement— Agent— Environnement— Prend des actions pour
maximiser le retour R
34
• Avantages— Apprend l’environnement— Apprend le modèle du robot— Problèmes difficilement contrôlable— Problèmes de logique
Questions
35
Recommended