GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

35
GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1

Transcript of GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Page 1: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

GEF447Robotique

Capt Vincent Roberge

Lecture 17Apprentissage par renforcement

1

Page 2: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

PID

• Avantages—Simple—Ne demande pas de connaissance du modèle—Configurable expérimentalement

2

Page 3: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

PID

• Désavantages— Environnement dynamique?— Modèle dynamique?— Problème de logique?— Jeux?

3

Page 4: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 5: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 6: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Exemple simple• Terrain 2D

• Frontière solide

• 4 mouvements possibles

• Vent vers le Nord

• Bût: trouver le chemin le plus court

Page 7: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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]

Page 8: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 9: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 10: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

• 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

Page 11: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 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 :

Page 12: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 13: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 14: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 15: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 16: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 17: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 18: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 19: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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 :

Page 20: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 21: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

2. Monte Carlo

• On utilise toujours un ajustement itératif de la politique

21[3]

Page 22: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 23: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 24: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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]

Page 25: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

3. Apprentissage temporel différentiel

• Performance de TD-learning

25

Complexité- 100 essais- 752 steps- 0.052 sec

Page 26: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Exemple d’apprentissage par renforcement

http://www.youtube.com/watch?v=W_gxLKSsSIE

26[3]

Page 27: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

E-Puck

27

Page 28: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Webots• Environnement de développement

— Modéliser, — Programmer, et— Simuler des robots mobiles

28

Page 29: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 30: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

É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

Page 31: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Actions possibles

31

Fonction valeur-état-action sauvegardée dans une matrice 9x7

Page 32: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 33: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Demo

• Simulateur Webots• http://www.youtube.com/watch?v=Yg1BgdtDcHI

Page 34: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

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

Page 35: GEF447 Robotique Capt Vincent Roberge Lecture 17 Apprentissage par renforcement 1.

Questions

35