Apprentissage par renforcement

1 653 vues

Publié le

Un exemple d'application de l'apprentissage par renforcement.

Publié dans : Technologie, Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 653
Sur SlideShare
0
Issues des intégrations
0
Intégrations
16
Actions
Partages
0
Téléchargements
26
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Apprentissage par renforcement

  1. 1. Reinforcement Learning Par Nicolas Richard Jimmy Perron
  2. 2. Quiz <ul><li>Nommer : </li></ul><ul><ul><li>un des meilleurs joueur d’échec au monde </li></ul></ul><ul><ul><li>un des meilleurs joueurs de BackGammon </li></ul></ul><ul><ul><li>le contrôleur d’ascenseur le plus performant </li></ul></ul><ul><li>Une seule réponse  Tous ces programmes implémentent l’approche du Reinforcement Learning </li></ul>
  3. 3. Motivation <ul><li>Développé dans les années 80 </li></ul><ul><li>Simuler l’apprentissage animal (essais & erreurs) </li></ul><ul><li>Résoudre les problèmes d’optimisation dans les systèmes de contrôle </li></ul><ul><ul><li>Explosion combinatoire des états possibles </li></ul></ul>
  4. 4. Plan <ul><li>Problème </li></ul><ul><li>Éléments du Reinforcement Learning </li></ul><ul><li>Schéma général </li></ul><ul><li>Q-learning </li></ul><ul><li>Application </li></ul><ul><li>Limitation </li></ul><ul><li>Conclusion </li></ul>
  5. 5. 1 - Problème…
  6. 6. 2 - Éléments du RL <ul><li>Agent : </li></ul><ul><ul><li>Apprend </li></ul></ul><ul><ul><li>Choisit des actions </li></ul></ul><ul><ul><li>Maximise sa récompense </li></ul></ul><ul><li>Environnement : </li></ul><ul><ul><li>Définit les actions possibles </li></ul></ul><ul><ul><li>Attribue les récompenses </li></ul></ul><ul><li>État : </li></ul><ul><ul><li>État de l’environnement à un moment t </li></ul></ul><ul><ul><li>Retourné à l’agent suite à une action </li></ul></ul>
  7. 7. Plan <ul><li>Problème </li></ul><ul><li>Éléments du Reinforcement Learning </li></ul><ul><li>Schéma général </li></ul><ul><li>Q-learning </li></ul><ul><li>Application </li></ul><ul><li>Limitation </li></ul><ul><li>Conclusion </li></ul>
  8. 8. 3 - Schéma général <ul><li>Environnement donne </li></ul><ul><ul><li>L’état courant </li></ul></ul><ul><ul><li>Les actions possibles </li></ul></ul><ul><li>Agent choisit </li></ul><ul><ul><li>L’action </li></ul></ul><ul><li>Environnement fournie </li></ul><ul><ul><li>La récompense </li></ul></ul><ul><ul><li>L’état suivant </li></ul></ul><ul><ul><li>Actions possibles </li></ul></ul>
  9. 9. 3 - Schéma général Agent Environnement Action Récompense + État t + 1
  10. 10. Notre exemple <ul><li>Environnement : </li></ul><ul><ul><li>Carte de la ville </li></ul></ul><ul><li>État : </li></ul><ul><ul><li>Une position particulière dans la carte </li></ul></ul><ul><li>Actions possibles : </li></ul><ul><ul><li>Déplacement d’une case dans une direction légal </li></ul></ul>s a1 a2 S(s,a1) = s1’ S(s,a2) = s2’
  11. 11. Récompenses <ul><li>Attribution des récompenses (notre exemple) : </li></ul><ul><ul><li>Si S(s, a1) = but alors R(s, a1) = 100 </li></ul></ul><ul><ul><li>sinon R(s, a1) = 0 </li></ul></ul><ul><li>Lorsque le but est atteint : </li></ul><ul><ul><li>Repositionnement de l’agent </li></ul></ul><ul><ul><li>Redémarrage du processus </li></ul></ul>100 0 0
  12. 12. Apprentissage Maximiser ses récompenses Apprendre à choisir la meilleure action Attribuer une valeur caractérisant l’utilité d’une action Q( s, a )
  13. 13. Apprentissage Environnement Agent Récompense Q( s, a ) But 100 100 90 81 90 81 81 72 72 81 81 90 But 100 0 0 0 0 0
  14. 14. Plan <ul><li>Problème </li></ul><ul><li>Éléments du Reinforcement Learning </li></ul><ul><li>Schéma général </li></ul><ul><li>Q-learning </li></ul><ul><li>Application </li></ul><ul><li>Limitation </li></ul><ul><li>Conclusion </li></ul>
  15. 15. 4 – Q-Learning <ul><li>Algorithme </li></ul><ul><ul><li>Pour chaque paire ( s, a ), mettre Q( s, a ) à 0 </li></ul></ul><ul><ul><li>Observer l’état courant s </li></ul></ul><ul><ul><li>Faire pour toujours </li></ul></ul><ul><ul><ul><li>Choisir une action a et l’exécuter </li></ul></ul></ul><ul><ul><ul><li>Recevoir la récompense </li></ul></ul></ul><ul><ul><ul><li>Observer le nouvel état s’ </li></ul></ul></ul><ul><ul><ul><li>Mettre à jour la valeur de Q( s , a ) </li></ul></ul></ul>
  16. 16. A - Choisir l’action à exécuter <ul><li>Hasard ? </li></ul><ul><li>L’action ayant la valeur de Q maximale ? </li></ul><ul><ul><li>Maximum local </li></ul></ul><ul><li>Combinaison des deux approches ? </li></ul><ul><ul><li>Exploration ou exploitation ? </li></ul></ul><ul><ul><li>Probabilité d’une action pondérée selon Q </li></ul></ul>
  17. 17. A – Choisir l’action à exécuter <ul><li>Probabilité de choisir une action a i dans un </li></ul><ul><li>état s </li></ul><ul><li>P(a i | s) = K Q(s, a i ) </li></ul><ul><li>  j K Q(s, a j ) </li></ul><ul><li>Si k = 1  Choix équiprobable </li></ul><ul><li>Si k > 1  Favorise les actions ayant un Q élevé </li></ul><ul><li>Si k < 1  Favorise les actions ayant un Q peu élevé </li></ul>
  18. 18. B – Recevoir la récompense <ul><li>Algorithme </li></ul><ul><ul><li>Pour chaque paire ( s, a ), mettre Q( s, a ) à 0 </li></ul></ul><ul><ul><li>Observer l’état courant s </li></ul></ul><ul><ul><li>Faire pour toujours </li></ul></ul><ul><ul><ul><li>Choisir une action a et l’exécuter </li></ul></ul></ul><ul><ul><ul><li>Recevoir la récompense </li></ul></ul></ul><ul><ul><ul><li>Observer le nouvel état s’ </li></ul></ul></ul><ul><ul><ul><li>Mettre à jour la valeur de Q( s , a ) </li></ul></ul></ul>
  19. 19. C – Observer le nouvel état s’ <ul><li>Algorithme </li></ul><ul><ul><li>Pour chaque paire ( s, a ), mettre Q( s, a ) à 0 </li></ul></ul><ul><ul><li>Observer l’état courant s </li></ul></ul><ul><ul><li>Faire pour toujours </li></ul></ul><ul><ul><ul><li>Choisir une action a et l’exécuter </li></ul></ul></ul><ul><ul><ul><li>Recevoir la récompense </li></ul></ul></ul><ul><ul><ul><li>Observer le nouvel état s’ </li></ul></ul></ul><ul><ul><ul><li>Mettre à jour la valeur de Q( s , a ) </li></ul></ul></ul>
  20. 20. D – Mettre à jour Q( s, a ) <ul><li>Algorithme </li></ul><ul><ul><li>Pour chaque paire ( s, a ), mettre Q( s, a ) à 0 </li></ul></ul><ul><ul><li>Observer l’état courant s </li></ul></ul><ul><ul><li>Faire pour toujours </li></ul></ul><ul><ul><ul><li>Choisir une action a et l’exécuter </li></ul></ul></ul><ul><ul><ul><li>Recevoir la récompense </li></ul></ul></ul><ul><ul><ul><li>Observer le nouvel état s’ </li></ul></ul></ul><ul><ul><ul><li>Mettre à jour la valeur de Q( s , a ) </li></ul></ul></ul>
  21. 21. D - Mettre à jour Q( s, a ) <ul><li>Affecter à Q la valeur de la récompense ? </li></ul><ul><ul><li>Persistance de l’information </li></ul></ul><ul><li>Moyenne des 10 dernières récompenses ? </li></ul><ul><ul><li>Plus de précision  explosion de l’espace mémoire </li></ul></ul>
  22. 22. D - Mettre à jour Q( s, a ) <ul><li>Fonction Q : </li></ul><ul><ul><li>Q( s, a )  r +  Max a’ ( Q( s’, a’ ) ) </li></ul></ul><ul><ul><li>Où </li></ul></ul><ul><ul><li>r = récompense reçue </li></ul></ul><ul><ul><li> = Constante de propagation temporelle ( 0 <  < 1) </li></ul></ul><ul><ul><li>Max a’ ( Q(s’ , a’) ) </li></ul></ul>
  23. 23. Plan <ul><li>Problème </li></ul><ul><li>Éléments du Reinforcement Learning </li></ul><ul><li>Schéma général </li></ul><ul><li>Q-learning </li></ul><ul><li>Application </li></ul><ul><li>Limitation </li></ul><ul><li>Conclusion </li></ul>
  24. 24. Exemple : La Sim <ul><li>L’agent vs l’environnement </li></ul><ul><li>Illustration du choix de l’action </li></ul><ul><li>Illustration de l’atteinte d’un but (mise a jour de Q) </li></ul><ul><li>Convergence de Q </li></ul><ul><li>Variation de k </li></ul><ul><ul><li>Tester avec 10 000 itérations avec k = 1.01 et k = 10 </li></ul></ul><ul><ul><li>Équilibre entre : </li></ul></ul><ul><ul><ul><li>Certain de la connaissance sans avoir tout exploré </li></ul></ul></ul><ul><ul><ul><li>Moins certain de la connaissance mais elle soit répandue </li></ul></ul></ul>
  25. 25. Plan <ul><li>Problème </li></ul><ul><li>Éléments du Reinforcement Learning </li></ul><ul><li>Schéma général </li></ul><ul><li>Q-learning </li></ul><ul><li>Application </li></ul><ul><li>Limitation </li></ul><ul><li>Conclusion </li></ul>
  26. 26. 6 – Limitations <ul><li>Apprentissage supervisé ? </li></ul><ul><li>Besoin de beaucoup d’exploration </li></ul><ul><ul><li>Pas de connaissance préalable du domaine </li></ul></ul><ul><ul><li>La connaissance n’est pas transportable </li></ul></ul><ul><ul><li>Adapté à l’environnement immédiat </li></ul></ul>
  27. 27. 6 – Limitations <ul><li>Le concept taux d’erreur est innaplicable </li></ul><ul><li>Difficile de calculer le taux de confiance </li></ul><ul><li>Adaptation des connaissances mais : </li></ul><ul><ul><li>C’est long!!! </li></ul></ul><ul><li>Aucune généralisation de l’apprentissage </li></ul>
  28. 28. Critiques <ul><li>Utilisation </li></ul><ul><ul><li>Environnement réactif </li></ul></ul><ul><ul><li>Comparaison avec le « version space » </li></ul></ul><ul><ul><ul><li>Possible mais…inopportun </li></ul></ul></ul><ul><ul><li>Bien adapté pour les jeux de société </li></ul></ul>
  29. 29. Conclusion <ul><li>Ni blanc, ni noir </li></ul><ul><ul><li>Dépend beaucoup du problème </li></ul></ul><ul><ul><li>Apprentissage non supervisé </li></ul></ul><ul><ul><li>Besoin de beaucoup d’itérations </li></ul></ul><ul><li>Apprentissage d’une fonction d’évaluation (exemple la fonction Q) </li></ul><ul><li>Pas de généralisation de cette fonction </li></ul>

×