La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IFT 615 – Intelligence artificielle Apprentissage par renforcement

Présentations similaires


Présentation au sujet: "IFT 615 – Intelligence artificielle Apprentissage par renforcement"— Transcription de la présentation:

1 IFT 615 – Intelligence artificielle Apprentissage 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 IFT 615 Froduald Kabanza

3 Apprentissage automatique
IFT 615 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) IFT 615 Froduald Kabanza

5 Composantes de l’agent concernées par l’apprentissage
Nous l’avons vu, la capacité de percevoir, d’agir et d’avoir des buts sont les trois piliers d’un modèle d’agent agent. PEAS: Performance, Environment, Actuators, Sensors. Dans un agent, on distingue 6 composantes: une correspondance entre les conditions de l’état courant et les actions (plan ou politique) un moyen de déduire, à partir des perceptions reçues, des propriétés pertinentes du monde des informations sur la façon dont le monde évolue et sur les résultats des actions de l’agent des informations sur l’utilité / la désirabilité des états des informations sur la valeur / la désirabilité des actions des buts, identifiant les classes d’états dont l’atteinte maximise l’utilité de l’agent Chacune de ces composantes peut être « apprise » à l’aide d’un algorithme d’apprentissage approprié IFT 615 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! IFT 615 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 Techniques d'apprentissage pour en savoir plus sur le grand monde de l’apprentissage automatique IFT 615 Froduald Kabanza

8 Apprentissage par renforcement
IFT 615 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ème d’apprentissage: L’agent agit sur son environnement Reçoit une retro-action sous-forme de récompense (renforcement) Son but est de maximiser la somme des recompenses espérés Objectif: Apprendre à maximiser somme des recompenses L’apprentissage par renforcement est l’apprentissage de comment choisir les bonnes actions dans chaque situation afin de maximiser un signal de récompense numérique. Autrement dit, on apprend une politique tel que vue pour les MDP. Le signal de recompense indique la désirabilité d’un état. Il faut que l’agent soit “cablé” pour reconnaître le signal de renforcement et ne pas le confondre avec les autres données de perception. C’est ainsi que les animaux semblent être programmés pour reconnaître la douleur et la faim comme un renforcement négatif et le plaisir et l’absorption de nourriture comme un signal positif. Les spécialistes de la psychologie animale étudient ces mécanismes depuis plus de 60 ans. Formellement: Étant donné un ensemble d’états S et d’actions A Intéragi avec l’environnement. À chaque instant t: L’environnement donne l’état st et la récompese rt Tu agis en exécutant l’action at Ton but: Apprendre (rapidement) la politique qui (approximativement) maximize les récompenses dans le long-terme escomptés. Exemple: plein d’exemples dans la vie courrante. Une bonne partie de nos apprentissage se fait en expérimentant de choses et en ajustant nos choix d’actions en fonction de l’observation des résultats de nos actions par rapport au but visé. Rappelez-vous quand vous avez appris à monter sur une bicyclette. L’apprentissage par renforcement diffère de l’apprentissage supervisée que nous verrons avec les réseaux de neurones dans ce sens que pour l’apprentissage par renforcement nous n’avons pas des exemples d’entrainement. Il n’y a pas de superviseur (enseignant) qui nous donnes des exemples de comment procéder, c-à-d., qui nous donne des exemples de politiques (paires états/actions). Évidemment, pour apprendre l’agent doit être capable d’observer son environnement (états). Il doit aussi être capable d’agir (action). Et il a des buts (il veut maximiser ses récompenses). IFT 615 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 X W E N S ? Lorsque l’agent effectue une action, il y a une probabilité de 0.2 qu’il se déplace à angle droit à l’opposé de la direction prévue (0.1 pour chacune des directions). X X X IFT 615 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écompenses espé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... IFT 615 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 Apprenant passif (passif dans ce sens qu’il ne fait rien; il ne fait qu’observer). Revient au cas de l’apprenant qui observe les situations se dérouler devant lui (selon l’exécution d’un plan fixé à priori) et essai d’apprendre l’utilité d’êtres dans les états observés. Une autre façon de voir l’apprentissage passif est de supposer que l’agent a une politique fixe et essaie d’en évaluer l’utilité (les bénéfices).

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 IFT 615 Froduald Kabanza

14 RAPPEL IFT 615 Froduald Kabanza

15 Rappel: processus de décision markovien
Un processus de décision markovien (Markov decision process, 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 transition P(s’|s, a), où a  A(s) une fonction de récompense R(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) IFT 615 Froduald Kabanza

16 Rappel: processus de décision markovien
La fonction de valeur (utilité) U(s) d’un plan π est donnée par les équations Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’) où γ est un facteur d’escompte donné On note parfois U(π,s) ou Uπ(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é) IFT 615 Froduald Kabanza

17 somme des récompenses futures espérée
Utilité d’un plan R(s): récompense pour l’état s U(π,s): utilité (valeur) du plan π à l’état s U(π,s) = R(s) + γ Σ s’  S P(s’|s, π(s)) U(π, s’) γ: facteur d’escompte (0 ≤ γ ≤ 1), indique l’importance relative des récompenses futures par rapport à la récompense actuelle S: espace d’états π(s): action du plan à l’état s P(s’|s, π(s)): probabilité de la transition du MDP récompense actuelle somme des récompenses futures espérée Utilité d’un plan = valeur d’un plan faire remarquer que V(pi,s) est un tableau, par un seul nombre réel! faire remarquer que c’est un système d’équations à |S| inconnues et |S| variables IFT 615 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’  S P(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 U(s) = Valeur optimale de s. J’aurais pu noter U*(s) pour bien renforcer cette idée que c’est vraiment l’utilité du plan optimal. On pourrait être tenter de résoudre le système d’équations pour trouver U(s). Cependant, à cause du max ce ne sont pas des équations linéaires. On ne peut donc pas les résoudre en utilisant des méthodes de résolution d’équations linéaires (élimination de Gauss, décomposition LU, etc.). Nous allons plutôt recourrir à la programmation dynamique: itération par valeur ou itération par politique. IFT 615 Froduald Kabanza

19 Exemple : Utilité d’un plan
utilities of states: 3 2 1 4 +1 -1 0.705 3 2 1 4 +1 -1 0.812 0.762 0.868 0.912 0.660 0.655 0.611 0.388 Ceci s’avère être le plan optimal. P(s|s’,a) : 0.8 succès; 0.1 à angle droit à l’opposé de la direction prévue R(S) : R(s)= 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 Étant donné Ui, calculer les valeurs de tous les états pour l’itération i+1: U’(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) a Cet étape est mise à jour de la valeur ou la mise à jour de Bellman Répéter jusqu’à la convergence Théorème: va converger aux valeurs optimales

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

22 Exemple: Itération de la valeur
0.39 0.13 0.39 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 Apprentissage Passif IFT 615 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 Apprenant passif (passif dans ce sens qu’il ne fait rien; il ne fait qu’observer). Revient au cas de l’apprenant qui observe les situations se dérouler devant lui (selon l’exécution d’un plan fixé à priori) et essai d’apprendre l’utilité d’êtres dans les états observés. Une autre façon de voir l’apprentissage passif est de supposer que l’agent a une politique fixe et essaie d’en évaluer l’utilité (les bénéfices).

25 Apprentissage passif Définition: soit un plan π donné, apprendre la fonction de valeur sans connaître P(s’|s, a) Exemple illustratif: déplacement sur une grille 3 x 4 plan π illustré par les flèches R(s) = partout sauf aux états terminaux l’environnement est stochastique l’agent arrête aux états terminaux on suppose γ=1 états terminaux IFT 615 Froduald Kabanza

26 Apprentissage passif Définition: soit un plan π donné, apprendre la fonction de valeur sans connaître P(s’|s, a) Puisqu’on ne connaît pas P(s’|s, a) on doit apprendre à partir d’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 IFT 615 Froduald Kabanza

27 Apprentissage passif Approche par estimation directe IFT 615
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) ) dans l’essai 1, la somme des récompenses à partir de (1,1) est 0.72 dans l’essai 2, on obtient également 0.72 dans l’essai 3, on obtient plutôt -1.16 l’estimation directe de U( (1,1) ) est donc ( )/3 = Estimation de U( (1,1) ) dans l’essai 1, la somme des récompenses à partir de (1,1) est 0.72 dans l’essai 2, on obtient également 0.72 dans l’essai 3, on obtient plutôt -1.16 l’estimation directe de U( (1,1) ) est donc ( )/3 = IFT 615 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) ) dans l’essai 1, l’état (1,2) est visité deux fois, avec des sommes de récompenses à partir de (1,2) de 0.76 et 0.84 dans l’essai 2, on observe 0.76 l’essai 3 ne visite pas (1,2) l’estimation directe de Uπ( (1,2) ) est donc ( )/3 = IFT 615 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, bien que l’essai 1 dit rien sur (3,2), elle nous apprend que (3,3) a une valeur élevée On pourrait également déduire que (3,2) a une valeur élevée, puisque (3,2) est adjacent à (3,3) Autrement dit, on ignore les contraintes entre les utilités des états, telles que donnée par l’équation Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’) L’estimation directe garantie théoriquement la convergence vers les valeurs correctes, mais par contre elle est inefficace. Elle exige énormément d’échantillons. IFT 615 Froduald Kabanza

31 Apprentissage passif Approche par programmation dynamique adaptative
IFT 615 Froduald Kabanza

32 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 directement U(s), mais apprend plutôt le modèle de transition P(s’|s, a) étant donnée une estimation de P(s’|s, a), on peut résoudre Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’) on obtient alors notre estimation de U(s) On peut estimer P(s’|s, a) à partir des fréquences des transitions observées: Un agent qi utilise la prorammation dynamique adaptative tire parti des contraintes entre les utilités des états en apprenant le modèle de transition qui les relie et en résolvant le processus de décision de Markov à l’aide de la programmation dynamique. Cela revient, pour un agent passif, à insérer le modèle de transition P(s’|s,pi(s)) aprris et les récompenses R(s) dans les équation de Bellman. nb. de transitions de (s,a,s’)dans l’essai P(s’|s, a) = Σ 𝑁 𝑠 ′ |𝑠𝑎 essais 𝑁 𝑠𝑎 nb. de fois que l’action a est choisi dans l’état s dans l’essai somme sur tous les essais IFT 615 Froduald Kabanza

33 Approche par programmation dynamique adaptative
Fonction qui résout Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’) IFT 615 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 a1 0.2 a3 a1 0.8 a2 0.2 s0 s1 s2 0.8 a2 1 a4 1 a2 a3 0.9 IFT 615 Froduald Kabanza

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

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

37 Approche par programmation dynamique adaptative
Observations: (s0) -0.1  (s0) U(s0) = U(s0) U(s1) = -0.1 U(s2) = 1 1/1 = 1 a1 s0 s1 s2 IFT 615 Froduald Kabanza

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

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

40 Approche par programmation dynamique adaptative
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) U(s0) = (⅓ U(s0) + ⅔ U(s1) ) U(s1) = U(s0) U(s2) = 1 1/1 = 1 1/3 a3 a1 a1 2/3 s0 s1 s2 IFT 615 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) 1 U(s0) = (⅓ U(s0) + ⅔ U(s1) ) U(s1) = (0.5 U(s0) U(s2) ) U(s2) = 1 1/2 1/3 a3 a1 a1 2/3 a3 1/2 s0 s1 s2 fin de l’essai IFT 615 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) 1 U(s0) = (⅓ U(s0) + ⅔ U(s1) ) U(s1) = (0.5 U(s0) U(s2) ) U(s2) = 1 1/2 1/3 a3 a1 a1 2/3 a3 1/2 s0 s1 s2 fin de l’essai À tout moment, on peut calculer les U(s) IFT 615 Froduald Kabanza

43 Approche par programmation dynamique adaptative
On a vu comment résoudre le système d’équations des U(s) dans le cours sur 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) l’approche itérative est équivalente à l’algorithme PageRank de Google IFT 615 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’  S P(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 l’approche itérative est équivalente à l’algorithme PageRank de Google IFT 615 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’  S P(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é (prioritized sweeping) 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 l’approche itérative est équivalente à l’algorithme PageRank de Google IFT 615 Froduald Kabanza

46 Approche par programmation dynamique adaptative
Contrairement à l’estimation directe, l’approche par PDA peut apprendre après chaque observation, c.-à-d. après chaque transition d’un essai pas besoin de compléter un essai pour obtenir une nouvelle estimation de U(s) Parfois, la fonction de récompense n’est pas connue l’agent ne fait qu’observer la récompense à chaque état, et n’a pas accès directement à la fonction R(s) par contre on a besoin de R(s) dans les équations de la fonction de valeur dans ce cas, on initialise notre estimation R(s) à 0, et on la met à jour lorsqu’on atteint l’état s pour la première fois IFT 615 Froduald Kabanza

47 Approche par programmation dynamique adaptative
IFT 615 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)? IFT 615 Froduald Kabanza

49 Apprentissage par différence temporelle
Si la transition s à s’ avait lieu tout le temps, on s’attendrait à ce que U(s) = R(s) + γ Σ s’  S P(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’apprentissage par différence temporelle (temporal difference) ou TD U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) L’algorithme TD est une façon plus efficace d’apprendre la fonction d’utilité d’un plan donné sans connâitre le modèle de transition. L’idée est d’utiliser les transitions pour ajuster les utilité des états observés, afin qu’ils soient en accord avec les équations exprimant l’utilité d’un plan. Comme cette méthode utilise la différence dans les utilités entre les états successifs, on l’appelle souvent équation de la différence temporelle. Contrairement à PDA, TD n’a pas besoin de modèle pour faire ses mises à jour. TDP ajuste l’utilité d’un état en fonction de son successeur observé tandis que PDA ajuste l’utilité d’un état en fonction de tous les successeurs observés jusqu’à date, pondérés par leurs probabilités. IFT 615 Froduald Kabanza

50 Apprentissage par différence temporelle
Utile si on veut varier le taux d’apprentissage s’ : nouvel état r’ : récompense reçue s, a, r: état précédent, action que l’on vient d’exécuter, récompense dans l’état précédent Quand un état est visité pour la première fois U[s’]= r’ IFT 615 Froduald Kabanza

51 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 a1 0.2 a3 a1 0.8 a2 0.2 s0 s1 s2 0.8 a2 1 a4 1 a2 a3 0.9 IFT 615 Froduald Kabanza

52 Apprentissage par différence temporelle
Initialisation U(s0) = 0 U(s1) = 0 U(s2) = 0 On va utiliser α = 0.1 s0 s1 s2 si on connaît R(s), on peut tout initialiser U(s) à R(s) IFT 615 Froduald Kabanza

53 Apprentissage par différence temporelle
Observations: (s0) U(s0)  -0.1 U(s1) = 0 U(s2) = 0 On va utiliser α = 0.1 s0 s1 s2 parce que s0 est visité pour la première fois IFT 615 Froduald Kabanza

54 Apprentissage par différence temporelle
Observations: (s0) -0.1  (s0) U(s0)  U(s0) (R(s0) U(s0) - U(s0) ) = ( ) = U(s1) = 0 U(s2) = 0 s0 s1 s2 U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) IFT 615 Froduald Kabanza

55 Apprentissage par différence temporelle
Observations: (s0) -0.1  (s0) -0.1 (s1) U(s1)  U(s0)  U(s0) (R(s0) U(s1) - U(s0) ) = ( ) = U(s1) = -0.1 U(s2) = 0 s0 s1 s2 parce que s1 est visité pour la première fois U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) IFT 615 Froduald Kabanza

56 Apprentissage par différence temporelle
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) U(s0) = U(s1)  U(s1) (R(s1) U(s0) - U(s1) ) = ( ) = U(s2) = 0 s0 s1 s2 État courant : s0. Il n’est pas nouveau, donc il garde sa valeur courante. On met à jour l’état précédent s1 comme d’habitude. U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) IFT 615 Froduald Kabanza

57 Apprentissage par différence temporelle
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) U(s0)  U(s0) (R(s0) U(s1) - U(s0) ) = ( ) = U(s1) = U(s2) = 0 s0 s1 s2 État courant: s1. Garde sa valeur. Éta précédent: s0 : mis à jour. U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) IFT 615 Froduald Kabanza

58 Apprentissage par différence temporelle
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1  (s2) 1 U(s2)  1 U(s0) = U(s1)  U(s1) (R(s1) U(s2) - U(s1)) = ( ) = U(s2) = 1 s0 s1 s2 fin de l’essai parce que s2 est visité pour la première fois U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) IFT 615 Froduald Kabanza

59 Apprentissage Actif IFT 615 Froduald Kabanza

60 Apprentissage par renforcement actif
Dans le cas passif, le plan à suivre est pré-déterminé peu utile si on ne connaît pas le plan optimal à suivre Dans le cas actif, l’agent doit aussi chercher le plan optimal l’agent doit simultanément chercher le plan optimal et sa fonction de valeur U(s) est maintenant une estimation de la fonction de valeur du plan optimal Dans le cas PDA, deux changements sont à faire on applique value iteration au MDP estimé (afin de résoudre les équations pour la politique optimale) l’action choisie par l’agent devient π(s) = argmax Σ s’  S P(s’|s,a) U(s’) a  A(s) IFT 615 Froduald Kabanza

61 Appentissage actif avec PDA
ACTIVE-GLOUTON Résoudre système d’équations U(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) Optimal-Policy(U,mdp) argmax Σ s  S P(s|s’,a) U(s) a  A(s) IFT 615 Froduald Kabanza

62 Appentissage actif avec PDA
Rappel de l’exemple On a des actions possibles différentes, pour chaque état A(s0) = {a1, a2} A(s1) = {a2, a3} A(s2) = {} 0.1 a1 0.2 a3 a1 0.8 a2 0.2 s0 s1 s2 0.8 a2 1 a2 a3 0.9 IFT 615 Froduald Kabanza

63 Approche par programmation dynamique adaptative
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) U(s0) = max{ 0.5 U(s0) U(s1), 0 } U(s0) = -0.1 U(s1) = max{ 0, U(s0) } U(s1) = -0.1 U(s2) = U(s2) = 1 Pour choisir quelle action prendre, on compare Σ s  S P(s|s’,a2) U(s) = 0 (puisque P(s|s’,a2) pas appris encore pour a2) Σ s  S P(s|s’,a1) U(s) = 0.5 U(s0) U(s1) = -0.1 L’action choisie par l’agent est donc a2 1/1 = 1 1/2 a3 a1 a1 1/2 s0 s1 s2 a1 a1 a3 value iteration IFT 615 Froduald Kabanza

64 Dilemme exploration vs. exploitation
L’approche précédente est dite vorace (gloutonne) elle met à jour le plan suivi par celui qui est optimal maintenant en d’autres mots, elle exploite le plus possible l’information recueilli jusqu’à maintenant Les approches voraces trouvent rarement le plan optimal elles ne tiennent pas compte du fait que l’information accumulée jusqu’à maintenant est partielle en d’autres mots, elles ne considèrent pas la possibilité d’explorer l’environnement plus longuement, pour amasser plus d’information sur celui-ci Un parallèle similaire existe entre le hill-climbing et le simulated annealing en recherche locale IFT 615 Froduald Kabanza

65 Dilemme exploration vs. exploitation
Exemple: cas où l’action «   » n’a jamais été exécutée à l’état (1,2) L’agent ne sait pas que ça mène à (1,3), qui mène à un chemin plus court! Plan découvert Courbe d’apprentissage IFT 615 Froduald Kabanza

66 Dilemme exploration vs. exploitation
Trop exploiter mène à des plans non optimaux Trop explorer ralentit l’apprentissage inutilement Trouver la balance optimale entre l’exploration et l’exploitation est un problème ouvert en général Des stratégies d’exploration/exploitation optimales existent seulement dans des cas très simples voir le cas du n-armed bandit dans le livre, p. 841 IFT 615 Froduald Kabanza

67 Dilemme exploration vs. exploitation
On se contente donc d’heuristiques en pratique Exemple: introduction d’une fonction d’exploration f(u,n) cette fonction augmente artificiellement la récompense future d’actions inexplorées L’approche par PDA basée sur value iteration ferait les mises à jour U(s) = R(s) + max γ f( Σ s’  S P(s’|s,a) U(s’), N(s,a) ) où N(s,a) est le nombre de fois que l’action a a été choisie à l’état s et f(u,n) = Garantit que a sera choisie dans s au moins Ne fois durant l’apprentissage R+ si n < Ne u sinon estimation optimiste de récompense future (hyper-paramètre) IFT 615 Froduald Kabanza

68 Appentissage actif avec PDA
ACTIVE Résoudre système d’équations R(s) + max γ f( Σ s’  S P(s’|s,a) U(s’), N(s,a) ) Optimal-Policy(U,mdp) argmax Σ s  S P(s|s’,a) U(s) a  A(s) IFT 615 Froduald Kabanza

69 Apprentissage actif par différence temporelle
Dans le cas de l’apprentissage actif TD, la règle de mise à jour demeure la même que dans le cas de l’apprentissage passif U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) La différence entre TD passif et TD actif est au niveau du choix de l’action. Le choix de l’action dans TD actif se fait comme dans PDA actif Pas besoin de modèle P(s’|s,a) et R(s) IFT 615 Froduald Kabanza

70 Apprentissage actif avec Q-learning
Il existe une variante de la méthode TD, nommée Q-learning, qui apprend la fonction action-valeur Q(s,a) on n’apprend plus U(s), soit la somme espérée des renforcements à partir de s jusqu’à la fin pour la politique optimale on apprend plutôt Q(s,a), soit la somme espérée des renforcements à partir de s et l’exécution de a, jusqu’à la fin pour la politique optimale le lien entre Q(s,a) et U(s) est que U(s) = max Q(s,a) Le plan de l’agent est alors π(s) = argmax Q(s,a) a Pas besoin de modèle P(s’|s,a) et R(s) IFT 615 Froduald Kabanza

71 Apprentissage actif avec Q-learning
Selon la définition de Q(s,a), on a Q(s,a) = R(s) + γ Σ s’  S P(s’|s,a) max Q(s’,a’) Comme pour l’approche TD, on traduit cette équation en la mise à jour Q(s,a)  Q(s,a) + α ( R(s) + γ max Q(s’,a’) – Q(s,a) ) On voit la similarité avec l’approche TD initiale U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) ) a’ a’ IFT 615 Froduald Kabanza

72 Apprentissage actif avec Q-learning
Initialisation: Q(s0,a1) = 0 Q(s0,a2) = 0 Q(s1,a2) = 0 Q(s1,a3) = 0 Q(s2,None) = 0 On va utiliser α = 0.5, γ = 0.5 s0 s1 s2 IFT 615 Froduald Kabanza

73 Apprentissage actif avec Q-learning
Observations: (s0) -0.1 On ne fait rien (on a besoin d’un triplet (s, a, s’) ) Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) } = argmax{ 0, 0 } = a (arbitraire, ça aurait aussi pu être a1) s0 s1 s2 IFT 615 Froduald Kabanza

74 Apprentissage actif avec Q-learning
Observations: (s0) -0.1  (s0) Q(s0,a2)  Q(s0,a2) + α ( R(s0) + γ max{ Q(s0,a1), Q(s0,a2)} - Q(s0,a2) ) = ( max{ 0, 0} - 0) = -0.05 Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) } = argmax{ 0, -0,05 } = a1 (changement de politique!) a2 s0 s1 s2 a2 IFT 615 Froduald Kabanza

75 Apprentissage actif avec Q-learning
Observations: (s0) -0.1  (s0) -0.1 (s1) Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) ) = ( max{ 0, 0} - 0) = -0.05 Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) } = argmax{ 0, 0 } = a (arbitraire, ça aurait aussi pu être a3) a1 s0 s1 s2 a2 a1 IFT 615 Froduald Kabanza

76 Apprentissage actif avec Q-learning
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) Q(s1,a2)  Q(s1,a2) + α ( R(s1) + γ max{ Q(s0,a1), Q(s0,a1)} - Q(s1,a2) ) = ( max{ -0.05, -0.05} + 0) = Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a1) } = argmax{ -0.05, } = a (arbitraire, ça aurait aussi pu être a2) a2 s0 s1 s2 a2 a1 a2 IFT 615 Froduald Kabanza

77 Apprentissage actif avec Q-learning
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) ) = ( max{ , 0 } ) = Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) } = argmax{ , 0 } = a3 (changement de politique!) a1 s0 s1 s2 a2 a1 a3 a1 IFT 615 Froduald Kabanza

78 Apprentissage actif avec Q-learning
Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1  (s2) 1 État terminal: Q(s2,None) = 1 Q(s1,a3)  Q(s1,a3) + α ( R(s1) + γ max{ Q(s2,None) } - Q(s1,a3) ) = ( max{ 1 } + 0) = 0.2 On recommence un nouvel essai... a3 s0 s1 s2 a2 a1 a3 a1 a3 IFT 615 Froduald Kabanza

79 Apprentissage actif avec Q-learning
Supposons qu’on puisse aussi faire l’action a4 à l’état s1, pour mener à s3 tel que R(s3) = 1000 Puisque Q(s1,a4) = 0 à l’initialisation, et que Q(s1,a3) > 0 après un essai, une approche vorace n’explorera jamais s3! Demo: s3 ? a4 s0 s1 s2 IFT 615 Froduald Kabanza

80 Généralisation à l’aide d’approximateur de fonction
Dans des applications réelles, on ne peut visiter tous les états Trop d’états à visiter dans les essaies d’apprentissage Mémoire limitées pour enregistrer les valeurs Q(s,a) correspondant Par contre, on peut généraliser en utilisant un représentants les caractéristiques (features) des états plutôt que les états eux-mêmes: Apprendre les caractéristiques des états à partir des échantillons d’entrainement. Généraliser aux états similaires This is a fundamental idea in machine learning, and we’ll see it over and over again

81 Exemple: Pacman Supposons que nous apprenons durant les essais que cet état est mauvais (U(s) trop bas). Avec l’approche Q-Learning naïve telle que décrite, on ne peut rien déduire de cet état ou de sa valeur Q: Pas plus que pour celui-ci!

82 Approximateur de fonction (représentation des états basés sur leurs caractéristiques)
Décrire un état en utilisant un vecteur de caractéristiques Les caractéristiques sont des fonctions réelles (souvent 0/1) qui capturent les propriétés saillants des états Exemples de caractéristiques: Distance au fantôme le plus proche Distance à la nourriture la plus proche Nombre de fantômes 1 / (distance à la nourriture)2 Pacman proche d’un fantôme ? (0/1) etc. Peut aussi décrire un état-Q (s, a) avec des caractéristiques (ex. l’action permet met pacman de la nourriture)

83 Approximateur de fonction linéaire
Alpha-beta prunning, nous avons vu que l’on peut exprimer l’utilité d’un état (par exemple, une configuration d’un jeu d’échec) en fonction d’un vecteur de features f = [f1, …, fn] et d’un devecteur de poids correspondant w = [w1, …, wn] 𝑈f = 𝑖=1 𝑛 wi fi(s) Un algorithme d’apprentissage active TD pourrait être utilisé pour apprendre le vecteurs des paramètres (poids) w. Dans le même ordre d’idée, on pourrait exprimer les valeurs Q en fonction d’un vecteur de features et des poids correspondants. Qf (s,a)= 𝑖=1 𝑛 wi fi(s,a) Un algorithme d’apprentissage active Q-Learning pourrait alors être utilisé pour apprendre le vecteurs des paramètres (poids) w. Voir TP #4 (Q-learning approximatif) 𝑈f = w1 f1(s) + w2 f2(s) + … + wn fn(s) Qf (s,a)= w1 f1(s,a) + w2 f2(s,a) + … + wn fn(s,a) Avantage: représentation compacte et généralisation Inconvénient: états différents avec mêmes valeurs!

84 Conclusion L’apprentissage par renforcement permet d’apprendre dans un environnement séquentiel l’apprentissage supervisé souvent limité aux environnements périodiques C’est un domaine de recherche très actif il y a de plus en plus d’applications impressionnantes mais nous sommes loin d’une IA réelle L’apprentissage par renforcement est plus difficile lorsque la récompense est lointaine (ex.: à la toute fin d’une partie) problème d’assignation de crédit (credit assignment) est-ce que ma victoire est due à mon premier coup? mon dernier? les deux? on ajoute parfois des renforcements positifs intermédiaires appropriés désavantage: demande de l’expertise IFT 615 Froduald Kabanza

85 Objectifs du cours Algorithmes et concepts recherche locale
apprentissage par renforcement apprentissage par renforcement sert à résoudre un MDP dans lequel on ne connaît pas le modèle de transition satisfaction de contraintes processus de décision markovien agents intelligents raisonnement probabiliste recherche à deux adversaires recherche heuristique IFT 615 Froduald Kabanza

86 Apprentissage par renforcement: pour quel type d’agent?
Actif Passif Simple reflex Model-based reflex Goal-based Utiliy-based IFT 615 Froduald Kabanza

87 Vous devriez être capable de...
Distinguer l’apprentissage par renforcement passif vs. actif Algorithmes passifs: savoir simuler l’estimation directe savoir simuler la programmation dynamique adaptative (PDA) savoir simuler la différence temporelle (TD) Algorithmes actifs savoir simuler PDA actif savoir simuler Q-learning Savoir comment on traite le dilemme exploration vs. exploitation IFT 615 Froduald Kabanza


Télécharger ppt "IFT 615 – Intelligence artificielle Apprentissage par renforcement"

Présentations similaires


Annonces Google