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

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

Apr 04, 2015

Download

Documents

Marrok Alix
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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