1k likes | 1.32k Vues
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
E N D
IFT 615 – Intelligence artificielleApprentissage par renforcement Froduald Kabanza Département d’informatique Université de Sherbrooke planiart.usherbrooke.ca/kabanza/cours/ift615
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
Apprentissageautomatique Froduald Kabanza
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
Composantes de l’agent concernées par l’apprentissage Froduald Kabanza
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
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
Apprentissage par renforcement Froduald Kabanza
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
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
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
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
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
RAPPEL Froduald Kabanza
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
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
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
É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
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
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
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
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
Introduction ApprentissagePassif Froduald Kabanza
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
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
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
Approche par estimation directe Apprentissagepassif Froduald Kabanza
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
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
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
Approche par programmationdynamiqueadaptative Apprentissagepassif Froduald Kabanza
Σ Σ 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
Approche par programmation dynamique adaptative • Fonction qui résout • Uπ(s) = R(s) + γ Σ s’SP(s’|s, π(s)) Uπ(s’) Froduald Kabanza
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
Approche par programmation dynamique adaptative • Initialement, on suppose aucune connection entre les états s1 s0 s2 Froduald Kabanza
Approche par programmation dynamique adaptative • Observations: (s0) -0.1U(s0) = -0.1U(s1) = -0.1U(s2) = 1 s1 s0 s2 Froduald Kabanza
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
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
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
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
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
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
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
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 • UU’ • 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
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 • UU’ • 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
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
Approche par programmation dynamique adaptative Froduald Kabanza
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
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
Apprentissage par différence temporelle Utile si on veut varier le taux d’apprentissage Froduald Kabanza