Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apprentissage par renforcement

1,836 views

Published on

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

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

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>

×