1 / 87

IFT 615 – Intelligence artificielle Apprentissage par renforcement

IFT 615 – Intelligence artificielle Apprentissage par renforcement. Froduald Kabanza Département d ’ informatique Université de Sherbrooke p laniart.usherbrooke.ca/ kabanza / cours /ift615. Sujets couverts. Apprentissage automatique Apprentissage par renforcement passif

jacqui
Télécharger la présentation

IFT 615 – Intelligence artificielle Apprentissage par renforcement

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFT 615 – Intelligence artificielleApprentissage par renforcement Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615

  2. Sujets couverts • Apprentissage automatique • Apprentissage par renforcement passif • méthode par estimation directe • méthode par programmation dynamique adaptative (PDA) • méthode par différence temporelle (TD) • Apprentissage par renforcement actif • méthode PDA active • méthode TD active • méthode Q-learning Froduald Kabanza

  3. Apprentissageautomatique Froduald Kabanza

  4. Apprentissage dans un agent • Un agent apprend s’il améliore sa performance sur des tâches futures avec l’expérience • Pourquoi programmer des programmes qui apprennent: • il est trop difficile d’anticiper toutes les entrées à traiter correctement • il est possible que la relation entre l’entrée et la sortie évolue dans le temps (ex.: classification de pourriels) • parfois, on a aucune idée comment programmer la fonction désirée (ex.: reconnaissance de visage) Froduald Kabanza

  5. Composantes de l’agent concernées par l’apprentissage Froduald Kabanza

  6. Types de problèmes d’apprentissage • Il existe plusieurs sortes de problèmes d’apprentissage, qui se distinguent par la nature de la supervision offerte par nos données • apprentissage supervisé : sortie désirée (cible ou « target ») est fournie explicitement par les données (sujet de ce cours) • ex.: reconnaître les âges des personnes à l’aide des exemples de photos • apprentissage par renforcement : le signal d’apprentissage correspond seulement à des récompenses et punitions • ex.: Robot qui apprend à naviguer dans un environnement • apprentissage non-supervisé: les données ne fournissent pas de signal explicite et le modèle doit extraire de l’information uniquement à partir de la structure des entrées • ex.: identifier différents thèmes d’articles de journaux en regroupant les articles similaires (« clustering ») • et plusieurs autres! Froduald Kabanza

  7. Types de problèmes d’apprentissage • Dans ce cours, on va juste introduire l’apprentissage par renforcement et l’apprentissage supervisé • Voir le cours IFT 603 - Techniques d'apprentissage pour en savoir plus sur le grand monde de l’apprentissage automatique Froduald Kabanza

  8. Apprentissage par renforcement Froduald Kabanza

  9. Idée de base • L’apprentissage par renforcement s’intéresse au cas où l’agent doit apprendre à agir seulement à partir des récompenses ou renforcements • Données du problèmed’apprentissage: • L’agentagitsur son environnement • Reçoitune retro-action sous-forme de récompense (renforcement) • Son butest de maximiser la somme des recompenses espérés • Objectif: Apprendre à maximisersomme des recompenses Froduald Kabanza

  10. Exemple • L’agent vit dans un environnement représenté par une grille 3 x 4 • Des murs bloquent le chemin de l’agent • L’environnement est stochastique • L’agent reçoit des récompenses: -0.04 partout, sauf dans (4,3) où il reçoit +1 et dans (4,2) où il reçoit -1 • L’agent ne connait pas à priori le modèle de l’environnement P(s’|s,a) • Ni la fonction de récompense R(s) • Son but est de maximiser la somme des récompenses W E N S ? Froduald Kabanza

  11. Apprentissage par renforcement • Nous avons encore un processus de décision de Markov • Nous cherchons encore une politique  qui maximise (approximativement) la somme des récompensesespérée. • Mais nous ne connaissons pas le modèle d’action P(s’|s, a) ou la fonction de récompense R(s) • Nous ne savons pas quelles actions chosir • Nous ne savons pas quels états sont bons • En fait, il faudra tâtonner (essayer des actions) pour apprendre • En résumé, l’apprentissage par renforcement vise aussi à trouver un plan optimal, mais sans connaître le modèle de transition de l’environnement • Certains diront que c’est la forme la plus pure d’apprentissage en IA • c’est aussi une des plus difficiles à réussir... Froduald Kabanza

  12. Deux cas considérés • Apprentissage passif • L’agent a une politique fixe • Essaie d’apprendre l’utilité des états en observant l’occurrence des états • Similaire à l’évaluation d’une politique • Sert souvent de composante à l’apprentissage active • Inspire souvent des algorithmes d’apprentissage active • Apprentissage actif • L’agent essaie de trouver une bonne politique en agissant dans l’environnement • Similaire à résoudre le PDM sous-jacent à cet environnement • Mais sans avoir le modèle correspondant

  13. Dans ce cours... • On va se concentrer sur le cas • d’un environnement parfaitement observé • d’un environnement stochastique (le résultat d’une action n’est pas déterministe) • où on ne connaît pas l’environnement (c.-à-d. c’est un MDP inconnu) • où on peut ne pas connaître la fonction de renforcement R(s) • Après ce cours, vous connaîtrez les notions de bases sur • apprentissage par renforcement passif • apprentissage par renforcement actif • dilemme exploration vs. exploitation Froduald Kabanza

  14. RAPPEL Froduald Kabanza

  15. Rappel: processus de décision markovien • Un processus de décision markovien (Markovdecisionprocess, ou MDP) est défini par: • un ensemble d’états S (incluant un étant initial s0) • un ensemble d’actions possibles Actions(s) (ou A(s)) lorsque je me trouve à l’état s • un modèle de transitionP(s’|s, a), où a  A(s) • une fonction de récompenseR(s) (utilité d’être dans l’état s) • Un plan (politique) πest un ensemble de décisions qui associe un état s à une action a = π(s) Froduald Kabanza

  16. Rappel: processus de décision markovien • La fonction de valeur (utilité)U(s) d’un plan π estdonnée par les équations Uπ(s) = R(s) + γ Σ s’SP(s’|s, π(s)) Uπ(s’)oùγ est un facteur d’escompte donné • On note parfoisU(π,s) ouUπ(s) • NOUVEAU: on va supposer l’existence d’états terminaux • lorsque l’agent atteint cet état, la simulation est arrêtée • on s’intéresse à la somme des récompenses jusqu’à l’atteinte d’un état terminal • ex.: au tic-tac-toe, l’état terminal est une grille de fin de partie (c.-à-d. une grille complète ou une grille où un des joueurs a gagné) Froduald Kabanza

  17. Utilité d’un plan • R(s):récompense pour l’états • U(π,s):utilité (valeur) du plan π à l’état sU(π,s) = R(s) + γ Σ s’SP(s’|s, π(s)) U(π, s’) • γ:facteurd’escompte (0 ≤ γ≤ 1), indiquel’importance relative des récompenses futures par rapport à la récompenseactuelle • S:espace d’états • π(s): action du plan à l’états • P(s’|s, π(s)):probabilité de la transition du MDP récompense actuelle somme des récompenses futures espérée Froduald Kabanza

  18. Équations de Bellman pour la valeur optimale • Les équations de Bellman nous donnent l’utilité d’un état (c.à-d., l’utilité des plans optimaux dans un état)U(s) = R(s) + max γΣ s’ SP(s’|s,a) U(s’)  s  S • Si nous pouvons calculer U, nous pourrons calculer un plan optimal aisément: • il suffit de choisir dans chaque état s l’action qui maximise U(s) (c.-à-d. le argmax) a Froduald Kabanza

  19. 3 3 +1 +1 2 2 -1 -1 1 1 0.705 1 1 2 2 3 3 4 4 0.812 0.868 0.912 0.762 0.660 0.655 0.611 0.388 Exemple : Utilité d’un plan utilities of states: • P(s|s’,a) : 0.8 succès; 0.1 à angle droit à l’opposé de la direction prévue • R(S) : R(s)= -0.04 partout, sauf R((4,3))=+1 et R((4,3))=+1 et R((4,2))=-1 • Facteur d’escompte = 1

  20. Rappel : Itération de la valeur • Idée: • Commencer avec U0(s) = 0 • ÉtantdonnéUi, calculer les valeurs de tous les états pour l’itération i+1: U’(s) = R(s) + max γ Σ s’SP(s’|s,a) U(s’) a Cetétapeestmise à jour de la valeurou la mise à jour de Bellman • Répéterjusqu’à la convergence • Théorème: vaconverger aux valeursoptimales

  21. Exemple: Rappel itération de la valeur V1 V2 • Les valeurs se propagent à rebours vers tous les états. Éventuellement chaque état a la valeur exacte. • Facteur d’escompte = 0.5 0.39

  22. Exemple: Itération de la valeur V2 V3 0.39 0.39 0.13 0.1 • Les valeurs se propagent à rebours vers tous les états. Éventuellement chaque état a la valeur exacte. • Facteur d’escompte = 0.5

  23. Introduction ApprentissagePassif Froduald Kabanza

  24. Rappel • Apprentissage passif • L’agent a une politique fixe • Essaie d’apprendre l’utilité des états en observant l’occurrence des états • Similaire à l’évaluation d’une politique

  25. Apprentissage passif • Définition: soit un plan πdonné, apprendre la fonction de valeur sans connaîtreP(s’|s, a) • Exempleillustratif: déplacementsurune grille 3 x 4 • plan π illustré par les flèches • R(s) = -0.04 partout saufaux états terminaux • l’environnementeststochastique • l’agentarrête auxétatsterminaux • on suppose γ=1 états terminaux Froduald Kabanza

  26. Apprentissage passif • Définition: soit un plan πdonné, apprendre la fonction de valeur sans connaîtreP(s’|s, a) • Puisqu’on ne connaît pas P(s’|s, a) on doitapprendre à partird’essais • (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1 • Comment estimer la fonction de valeurs U(s) à partir de ces essais? • Trois approches: • Estimation directe • Programmation dynamique adaptative • Différence temporelle Froduald Kabanza

  27. Approche par estimation directe Apprentissagepassif Froduald Kabanza

  28. Approche par estimation directe • Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais • Essais • (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1 • Estimation de Uπ((1,1) ) • dansl’essai 1, la somme des récompenses à partir de (1,1) est 0.72 • dansl’essai 2, on obtientégalement 0.72 • dansl’essai 3, on obtientplutôt -1.16 • l’estimationdirecte de U( (1,1) ) estdonc (0.72+0.72-1.16)/3 = 0.09333 Froduald Kabanza

  29. Approche par estimation directe • Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais • Essais • (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1 • Estimation de Uπ((1,2) ) • dansl’essai 1, l’état (1,2) estvisitédeuxfois, avec des sommes de récompenses à partir de (1,2) de 0.76 et 0.84 • dansl’essai 2, on observe 0.76 • l’essai 3 ne visite pas (1,2) • l’estimationdirecte de Uπ((1,2) ) estdonc (0.76+0.84+0.76)/3 = 0.78666 Froduald Kabanza

  30. Approche par estimation directe • Essais • (1,1)-.04 (1,2)-.04 (1,3)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (1,2)-.04 (1,3)-.04 (2,3)-.04 (3,3)-.04 (3,2)-.04 (3,3)-.04 (4,3)+1 • (1,1)-.04 (2,1)-.04 (3,1)-.04 (3,2)-.04 (4,2)-1 • L’estimation directe ignore les liens entre les états: elle manque d’occasion d’apprentissage • Par exemple, bienquel’essai 1 ditriensur (3,2), elle nous apprendque (3,3) a unevaleurélevée • On pourraitégalementdéduireque (3,2) a unevaleurélevée, puisque (3,2) est adjacent à (3,3) • Autrementdit, on ignore les contraintes entre les utilités des états, tellesquedonnée par l’équation Uπ(s) = R(s) + γ Σ s’SP(s’|s, π(s)) Uπ(s’) Froduald Kabanza

  31. Approche par programmationdynamiqueadaptative Apprentissagepassif Froduald Kabanza

  32. Σ Σ essais essais P(s’|s, a)= Approche par programmation dynamique adaptative • C’est l’idée derrière la programmation dynamique adaptative (PDA) • tirer profit des équations de la fonction de valeur pour estimer U(s) • L’approche par PDA n’apprend pas directementU(s), maisapprendplutôt le modèle de transition P(s’|s, a) • étant donnée une estimation de P(s’|s, a), on peut résoudreUπ(s) = R(s) + γ Σ s’SP(s’|s, π(s)) Uπ(s’) • on obtient alors notre estimation de U(s) • On peutestimerP(s’|s, a) à partir des fréquences des transitions observées: nb. de transitions de (s,a,s’)dans l’essai nb. de fois que l’action a est choisi dans l’état sdans l’essai somme sur tous les essais Froduald Kabanza

  33. Approche par programmation dynamique adaptative • Fonction qui résout • Uπ(s) = R(s) + γ Σ s’SP(s’|s, π(s)) Uπ(s’) Froduald Kabanza

  34. Approche par programmation dynamique adaptative • Exemple (avec état terminal) • MDP à 3 états: S = {s0, s1, s2} • Fonction de récompense: R(s0) = -0.1, R(s1)= -0.1, R(s2) = 1 • Le facteur d’escompte est γ=0.5 • s2 est un état terminal, s0 est l’état initial • Plan suivi: π(s0) = a1, π(s1) = a3 0.1 0.2 a3 a1 a2 a1 0.8 0.2 s1 s0 s2 0.8 a2 1 a4 a3 a2 1 0.9 Froduald Kabanza

  35. Approche par programmation dynamique adaptative • Initialement, on suppose aucune connection entre les états s1 s0 s2 Froduald Kabanza

  36. Approche par programmation dynamique adaptative • Observations: (s0) -0.1U(s0) = -0.1U(s1) = -0.1U(s2) = 1 s1 s0 s2 Froduald Kabanza

  37. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1U(s0) = -0.1 + 0.5 U(s0)U(s1) = -0.1U(s2) = 1 1/1 = 1 a1 s1 s0 s2 Froduald Kabanza

  38. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )U(s1) = -0.1U(s2) = 1 1/2 a1 a1 1/2 s1 s0 s2 Froduald Kabanza

  39. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )U(s1) = -0.1 + 0.5 U(s0)U(s2) = 1 1/1 = 1 1/2 a3 a1 a1 1/2 s1 s0 s2 Froduald Kabanza

  40. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 U(s0)U(s2) = 1 1/1 = 1 1/3 a3 a1 a1 2/3 s1 s0 s2 Froduald Kabanza

  41. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1  (s2) 1U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s2) )U(s2) = 1 1/2 1/3 a3 a1 a1 2/3 a3 1/2 s1 s0 s2 fin de l’essai Froduald Kabanza

  42. Approche par programmation dynamique adaptative • Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1  (s2) 1U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )U(s1) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s2) )U(s2) = 1 1/2 1/3 a3 a1 a1 2/3 a3 1/2 s1 s0 s2 fin de l’essai À tout moment, on peutcalculer les U(s) Froduald Kabanza

  43. Approche par programmation dynamique adaptative • On a vu comment résoudre le systèmed’équations des U(s) dans le courssur les MDP • on peutécrire le système sous forme b = A x, et calculer x = A-1 b • Cette opération peut être coûteuse à répéter après chaque observation • inverser la matrice A est dans O(|S|3) Froduald Kabanza

  44. Approche par programmation dynamique adaptative • Approche alternative: méthode itérative, similaire à value iteration • Répéter (jusqu’à ce que le changement en V soit négligeable) • pour chaque état s calculer: U’(s) = R(s) + γ Σ s’SP(s’|s,π(s)) U(s’) • si |U- U’| ≤ tolérance, quitter • UU’ • Plutôt qu’initialiser U(s) à 0, on peut l’initialiser à sa valeur précédente, avant la nouvelle observation • une seule observation peut avoir un impact minime sur la nouvelle valeur de U(s) qui en résulte • l’approche itérative + initialisation à la valeur précédente devrait donc converger rapidement sans le max p/r à l’action Froduald Kabanza

  45. Approche par programmation dynamique adaptative • Approche alternative: méthode itérative, similaire à value iteration • Répéter (jusqu’à ce que le changement en V soit négligeable). • pour chaque état s calculer: U’(s) = R(s) + γ Σ s’SP(s’|s,π(s)) U(s’) • si |U - U’| ≤ tolérance, quitter • UU’ • Autres accélérations • borner le nombre d’itérations (c.-à-d. ne pas attendre d’atteindre le seuil) • balayage hiérarchisé (prioritizedsweeping) • on garde un historique des changements |U(s)- V’(s)| • on priorise les états s avec une grande valeur précédente de |U(s)- V’(s)| • Permet de résoudre des problèmes où |S| est beaucoup plus grands Froduald Kabanza

  46. Approche par programmation dynamique adaptative • Contrairement à l’estimationdirecte, l’approche par PDA peutapprendre après chaque observation, c.-à-d. après chaque transition d’un essai • pas besoin de compléter un essai pour obtenirune nouvelle estimation de U(s) • Parfois, la fonction de récompensen’est pas connue • l’agent ne fait qu’observer la récompense à chaqueétat, et n’a pas accèsdirectement à la fonctionR(s) • par contre on a besoin de R(s) dans les équations de la fonction de valeur • danscecas, on initialisenotre estimation R(s) à 0, et on la met à jour lorsqu’onatteintl’états pour la première fois Froduald Kabanza

  47. Approche par programmation dynamique adaptative Froduald Kabanza

  48. Approche par programmation dynamique adaptative • Un problème avec l’approche par PDA est qu’on doit mettre à jour toutes les valeurs de U(s), pour tout s, après chaque observation • très coûteux en pratique si le nombre d’états est grand (ex.: exponentiel) • inutile pour un état s’ qui n’est pas atteignable via l’état de la nouvelle observation • On doit résoudre les équations de U(s) parce qu’on estime U(s) seulement indirectement, via notre estimation de P(s’|s, a) • Serait-il possible d’estimer directement U(s) et tenir compte des interactions entre les valeurs, sans avoir à passer par P(s’|s, a)? Froduald Kabanza

  49. Apprentissage par différence temporelle • Si la transition s à s’ avait lieu tout le temps, on s’attendrait à ce queU(s) = R(s) + γ Σ s’SP(s’|s, π(s)) U(s’) = R(s) + γ U(s’) • Plutôt que d’attendre la fin de l’essai pour mettre à jour notre estimation de U(s), on pourrait la rapprocher de R(s) + γ U(s’): • U(s)  (1-α) U(s) + α (R(s) + γ U(s’))oùα est un taux d’apprentissage, entre 0 et 1 • On obtient la règle d’apprentissagepar différencetemporelle(temporal difference) ouTDU(s) U(s) + α ( R(s) + γ U(s’) –U(s) ) Froduald Kabanza

  50. Apprentissage par différence temporelle Utile si on veut varier le taux d’apprentissage Froduald Kabanza

More Related