SlideShare uma empresa Scribd logo
1 de 87
IFT 615 – Intelligence artificielle
Apprentissage 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
IFT 615 Froduald Kabanza 2
APPRENTISSAGE
AUTOMATIQUE
IFT 615 Froduald Kabanza 3
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 4
Composantes de l’agent concernées par
l’apprentissage
IFT 615 Froduald Kabanza 5
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 6
Types de problèmes d’apprentissage
IFT 615 Froduald Kabanza 7
● 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
APPRENTISSAGE PAR
RENFORCEMENT
IFT 615 Froduald Kabanza 8
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
IFT 615 Froduald Kabanza 9
● 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

2
2
1
1
0
0
2
1
0
r
a
r
a
r
a
s
s
s 





1
0
avec
,
2
2
1
0 



 

 
r
r
r
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
IFT 615 Froduald Kabanza 10
X
?
X
X X
E N S
W
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 11
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
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 13
RAPPEL
IFT 615 Froduald Kabanza 14
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 15
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 16
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
IFT 615 Froduald Kabanza 17
récompense
actuelle
somme des récompenses
futures espérée
É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
IFT 615 Froduald Kabanza 18
3
2
1
1 2 3 4
+1
-1
0.705
3
2
1
1 2 3 4
+1
-1
0.812
0.762
0.868 0.912
0.660
0.655 0.611 0.388
utilities of states:
Exemple : Utilité d’un plan
● 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
 É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
20
Exemple: Rappel itération de la valeur
● Les valeurs se propagent à rebours vers tous les
états. Éventuellement chaque état a la valeur exacte.
● Facteur d’escompte = 0.5
V1 V2
21
0.39
Exemple: Itération de la valeur
V2 V3
22
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
APPRENTISSAGE PASSIF
Introduction
IFT 615 Froduald Kabanza 23
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
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) = -0.04 partout sauf
aux états terminaux
 l’environnement est
stochastique
 l’agent arrête aux
états terminaux
 on suppose γ=1
IFT 615 Froduald Kabanza 25
états
terminaux
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,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1
2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1
3. (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 26
APPRENTISSAGE PASSIF
Approche par estimation directe
IFT 615 Froduald Kabanza 27
Approche par estimation directe
● Approche la plus simple: calculer la moyenne de ce qui est observé dans
les essais
● Essais
1. (1,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1
2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1
3. (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 (0.72+0.72-1.16)/3 = 0.09333
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,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1
2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1
3. (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 (0.76+0.84+0.76)/3 = 0.78666
IFT 615 Froduald Kabanza 29
Approche par estimation directe
● Essais
1. (1,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1
2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1
3. (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’)
IFT 615 Froduald Kabanza 30
APPRENTISSAGE PASSIF
Approche par programmation dynamique adaptative
IFT 615 Froduald Kabanza 31
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:
IFT 615 Froduald Kabanza 32
P(s’|s, a) =
Σ 𝑁𝑠′|𝑠𝑎
essais
Σ
essais
nb. de transitions de
(s,a,s’)dans l’essai
nb. de fois que l’action
a est choisi dans l’état s
dans l’essai
somme sur
tous les essais
𝑁𝑠𝑎
Approche par programmation
dynamique adaptative
IFT 615 Froduald Kabanza 33
Fonction qui résout
Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’)
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
IFT 615 Froduald Kabanza 34
a2
1
a1
0.2
a2 0.2
a4
1
0.8
a1
a2
0.8
s2
s1
s0
0.1
0.9
a3
a3
Approche par programmation
dynamique adaptative
●Initialement, on suppose aucune connection entre les états
IFT 615 Froduald Kabanza 35
s2
s1
s0
Approche par programmation
dynamique adaptative
● Observations: (s0) -0.1
U(s0) = -0.1
U(s1) = -0.1
U(s2) = 1
IFT 615 Froduald Kabanza 36
s2
s1
s0
Approche par programmation
dynamique adaptative
●Observations: (s0) -0.1  (s0) -0.1
U(s0) = -0.1 + 0.5 U(s0)
U(s1) = -0.1
U(s2) = 1
IFT 615 Froduald Kabanza 37
s2
s1
s0
1/1 = 1
a1
Approche par programmation
dynamique adaptative
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1
U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )
U(s1) = -0.1
U(s2) = 1
IFT 615 Froduald Kabanza 38
s2
s1
s0
1/2
1/2
a1
a1
Approche par programmation
dynamique adaptative
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1
U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) )
U(s1) = -0.1 + 0.5 U(s0)
U(s2) = 1
IFT 615 Froduald Kabanza 39
s2
s1
s0
1/2
1/2
1/1 = 1
a1
a3
a1
Approche par programmation
dynamique adaptative
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1
U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) )
U(s1) = -0.1 + 0.5 U(s0)
U(s2) = 1
IFT 615 Froduald Kabanza 40
s2
s1
s0
1/3
2/3
1/1 = 1
a1
a3
a1
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) = -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
IFT 615 Froduald Kabanza 41
s2
s1
s0
1/3
2/3
1/2
1/2
fin de
l’essai
a1
a3
a3
a1
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) = -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
IFT 615 Froduald Kabanza 42
s2
s1
s0
1/3
2/3
1/2
1/2
fin de
l’essai
À tout moment,
on peut calculer
les U(s)
a1
a3
a3
a1
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)
IFT 615 Froduald Kabanza 43
Approche par programmation
dynamique adaptative
● Approche alternative: méthode itérative, similaire à value iteration
1. Répéter (jusqu’à ce que le changement en V soit négligeable)
I. pour chaque état s calculer:
U’(s) = R(s) + γ Σ s’  S P(s’|s,π(s)) U(s’)
II. si |U- U’| ≤ tolérance, quitter
III. 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
IFT 615 Froduald Kabanza 44
sans le max
p/r à l’action
Approche par programmation
dynamique adaptative
● Approche alternative: méthode itérative, similaire à value iteration
1. Répéter (jusqu’à ce que le changement en V soit négligeable).
I. pour chaque état s calculer:
U’(s) = R(s) + γ Σ s’  S P(s’|s,π(s)) U(s’)
II. si |U - U’| ≤ tolérance, quitter
III. 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
IFT 615 Froduald Kabanza 45
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 46
Approche par programmation
dynamique adaptative
IFT 615 Froduald Kabanza 47
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 48
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) )
IFT 615 Froduald Kabanza 49
Apprentissage par différence temporelle
IFT 615 Froduald Kabanza 50
Utile si on veut varier le taux d’apprentissage
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
IFT 615 Froduald Kabanza 51
a2
1
a1
0.2
a2 0.2
a4
1
0.8
a1
a2
0.8
s2
s1
s0
0.1
0.9
a3
a3
Apprentissage par différence temporelle
●Initialisation
U(s0) = 0
U(s1) = 0
U(s2) = 0
●On va utiliser α = 0.1
IFT 615 Froduald Kabanza 52
s2
s1
s0
si on connaît R(s), on peut tout initialiser U(s) à R(s)
Apprentissage par différence temporelle
●Observations: (s0) -0.1
U(s0)  -0.1
U(s1) = 0
U(s2) = 0
●On va utiliser α = 0.1
IFT 615 Froduald Kabanza 53
s2
s1
s0
parce que s0 est visité pour la première fois
Apprentissage par différence temporelle
●Observations: (s0) -0.1  (s0) -0.1
U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s0) - U(s0) )
= -0.1 + 0.1 (-0.1 - 0.05 + 0.1)
= -0.105
U(s1) = 0
U(s2) = 0
IFT 615 Froduald Kabanza 54
s2
s1
s0
U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
Apprentissage par différence temporelle
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1
U(s1)  -0.1
U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) )
= -0.105 + 0.1 (-0.1 - 0.05 + 0.105)
= -0.1095
U(s1) = -0.1
U(s2) = 0
IFT 615 Froduald Kabanza 55
s2
s1
s0
parce que s1 est visité pour la première fois
U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
Apprentissage par différence temporelle
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1
U(s0) = -0.1095
U(s1)  U(s1) + 0.1 (R(s1) + 0.5 U(s0) - U(s1) )
= -0.1 + 0.1 (-0.1 - 0.05475 + 0.1)
= -0.105475
U(s2) = 0
IFT 615 Froduald Kabanza 56
s2
s1
s0
U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
Apprentissage par différence temporelle
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1
U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) )
= -0.1095 + 0.1 (-0.1 - 0.0527375 + 0.1095)
= -0.11382375
U(s1) = -0.105475
U(s2) = 0
IFT 615 Froduald Kabanza 57
s2
s1
s0
U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
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) = -0.11382375
U(s1)  U(s1) + 0.1 (R(s1) + 0.5 U(s2) - U(s1))
= -0.105475 + 0.1 (1 + 0.5 + 0.105475 )
= 0.0550725
U(s2) = 1
IFT 615 Froduald Kabanza 58
s2
s1
s0
fin de
l’essai
parce que s2 est visité pour la première fois
U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
APPRENTISSAGE ACTIF
IFT 615 Froduald Kabanza 59
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’)
IFT 615 Froduald Kabanza 60
a  A(s)
Appentissage actif avec PDA
IFT 615 Froduald Kabanza 61
ACTIVE-GLOUTON
argmax Σ s  S P(s|s’,a) U(s)
a  A(s)
Résoudre système d’équations
U(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’)
Optimal-Policy(U,mdp)
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) = {}
IFT 615 Froduald Kabanza 62
a2
1
a1
0.2
a2 0.2
0.8
a1
a2
0.8
s2
s1
s0
0.1
0.9
a3
a3
Approche par programmation
dynamique adaptative
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1
U(s0) = -0.1 + 0.5 max{ 0.5 U(s0) + 0.5 U(s1), 0 } U(s0) = -0.1
U(s1) = -0.1 + 0.5 max{ 0, U(s0) } U(s1) = -0.1
U(s2) = 1 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) + 0.5 U(s1) = -0.1
●L’action choisie par l’agent est donc a2
IFT 615 Froduald Kabanza 63
s2
s1
s0
1/2
1/2
1/1 = 1
a1
a3
a1
value
iteration
a1 a1 a3
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 64
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!
IFT 615 Froduald Kabanza 65
Courbe d’apprentissage
Plan découvert
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 66
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
IFT 615 Froduald Kabanza 67
R+ si n < Ne
u sinon
estimation optimiste de
récompense future
(hyper-paramètre)
Appentissage actif avec PDA
IFT 615 Froduald Kabanza 68
ACTIVE
argmax Σ s  S P(s|s’,a) U(s)
a  A(s)
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)
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
IFT 615 Froduald Kabanza 69
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)
IFT 615 Froduald Kabanza 70
a
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) )
IFT 615 Froduald Kabanza 71
a’
a’
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
IFT 615 Froduald Kabanza 72
s2
s1
s0
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 }
= a2 (arbitraire, ça aurait aussi pu être a1)
IFT 615 Froduald Kabanza 73
s2
s1
s0
Apprentissage actif avec
Q-learning
●Observations: (s0) -0.1  (s0) -0.1
Q(s0,a2)  Q(s0,a2) + α ( R(s0) + γ max{ Q(s0,a1), Q(s0,a2)} - Q(s0,a2) )
= 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0)
= -0.05
●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) }
= argmax{ 0, -0,05 }
= a1 (changement de politique!)
IFT 615 Froduald Kabanza 74
a2
a2
s2
s1
s0
Apprentissage actif avec
Q-learning
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1
Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) )
= 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0)
= -0.05
●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) }
= argmax{ 0, 0 }
= a2 (arbitraire, ça aurait aussi pu être a3)
IFT 615 Froduald Kabanza 75
a2 a1
a1
s2
s1
s0
Apprentissage actif avec
Q-learning
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1
Q(s1,a2)  Q(s1,a2) + α ( R(s1) + γ max{ Q(s0,a1), Q(s0,a1)} - Q(s1,a2) )
= 0 + 0.5 ( -0.1 + 0.5 max{ -0.05, -0.05} + 0)
= -0.0625
●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a1) }
= argmax{ -0.05, -0.05 }
= a1 (arbitraire, ça aurait aussi pu être a2)
IFT 615 Froduald Kabanza 76
a2 a1 a2
a2
s2
s1
s0
Apprentissage actif avec
Q-learning
●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1
Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) )
= -0.05 + 0.5 ( -0.1 + 0.5 max{ -0.0625, 0 } + 0.05)
= -0.075
●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) }
= argmax{ -0.0625, 0 }
= a3 (changement de politique!)
IFT 615 Froduald Kabanza 77
a1
a2 a1 a3 a1
s2
s1
s0
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) )
= 0 + 0.5 ( -0.1 + 0.5 max{ 1 } + 0)
= 0.2
●On recommence un nouvel essai...
IFT 615 Froduald Kabanza 78
a3
a2 a1 a3 a1
s2
s1
s0
a3
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: http://www.cs.ubc.ca/~poole/demos/rl/q.html
IFT 615 Froduald Kabanza 79
s2
s1
s0
s3
?
a4
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
80
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!
81
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)
82
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)
83
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 84
Objectifs du cours
IFT 615 Froduald Kabanza 85
agents
intelligents
recherche
heuristique
recherche locale
recherche à
deux adversaires
satisfaction
de contraintes
Algorithmes et concepts
raisonnement
probabiliste
processus de
décision markovien
apprentissage par
renforcement
Apprentissage par renforcement:
pour quel type d’agent?
IFT 615 Froduald Kabanza 86
Simple reflex Model-based reflex
Goal-based Utiliy-based Actif
Passif
Passif
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 87

Mais conteúdo relacionado

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

1569628.ppt

  • 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 2
  • 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 4
  • 5. Composantes de l’agent concernées par l’apprentissage IFT 615 Froduald Kabanza 5
  • 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 6
  • 7. Types de problèmes d’apprentissage IFT 615 Froduald Kabanza 7 ● 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
  • 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 IFT 615 Froduald Kabanza 9 ● 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  2 2 1 1 0 0 2 1 0 r a r a r a s s s       1 0 avec , 2 2 1 0          r r r
  • 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 IFT 615 Froduald Kabanza 10 X ? X X X E N S W
  • 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 11
  • 12. 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 IFT 615 Froduald Kabanza 13
  • 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 15
  • 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 16
  • 17. 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 IFT 615 Froduald Kabanza 17 récompense actuelle somme des récompenses futures espérée
  • 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 IFT 615 Froduald Kabanza 18
  • 19. 3 2 1 1 2 3 4 +1 -1 0.705 3 2 1 1 2 3 4 +1 -1 0.812 0.762 0.868 0.912 0.660 0.655 0.611 0.388 utilities of states: Exemple : Utilité d’un plan ● 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  É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 20
  • 21. Exemple: Rappel itération de la valeur ● Les valeurs se propagent à rebours vers tous les états. Éventuellement chaque état a la valeur exacte. ● Facteur d’escompte = 0.5 V1 V2 21 0.39
  • 22. Exemple: Itération de la valeur V2 V3 22 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
  • 24. 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ître P(s’|s, a) ● Exemple illustratif: déplacement sur une grille 3 x 4  plan π illustré par les flèches  R(s) = -0.04 partout sauf aux états terminaux  l’environnement est stochastique  l’agent arrête aux états terminaux  on suppose γ=1 IFT 615 Froduald Kabanza 25 états terminaux
  • 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,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1 2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1 3. (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 26
  • 27. APPRENTISSAGE PASSIF Approche par estimation directe IFT 615 Froduald Kabanza 27
  • 28. Approche par estimation directe ● Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais ● Essais 1. (1,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1 2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1 3. (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 (0.72+0.72-1.16)/3 = 0.09333 IFT 615 Froduald Kabanza 28
  • 29. Approche par estimation directe ● Approche la plus simple: calculer la moyenne de ce qui est observé dans les essais ● Essais 1. (1,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1 2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1 3. (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 (0.76+0.84+0.76)/3 = 0.78666 IFT 615 Froduald Kabanza 29
  • 30. Approche par estimation directe ● Essais 1. (1,1)-.04  (1,2)-.04  (1,3)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (4,3)+1 2. (1,1)-.04  (1,2)-.04  (1,3)-.04  (2,3)-.04  (3,3)-.04  (3,2)-.04  (3,3)-.04  (4,3)+1 3. (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’) IFT 615 Froduald Kabanza 30
  • 31. APPRENTISSAGE PASSIF Approche par programmation dynamique adaptative IFT 615 Froduald Kabanza 31
  • 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: IFT 615 Froduald Kabanza 32 P(s’|s, a) = Σ 𝑁𝑠′|𝑠𝑎 essais Σ essais nb. de transitions de (s,a,s’)dans l’essai nb. de fois que l’action a est choisi dans l’état s dans l’essai somme sur tous les essais 𝑁𝑠𝑎
  • 33. Approche par programmation dynamique adaptative IFT 615 Froduald Kabanza 33 Fonction qui résout Uπ(s) = R(s) + γ Σ s’  S P(s’|s, π(s)) Uπ(s’)
  • 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 IFT 615 Froduald Kabanza 34 a2 1 a1 0.2 a2 0.2 a4 1 0.8 a1 a2 0.8 s2 s1 s0 0.1 0.9 a3 a3
  • 35. Approche par programmation dynamique adaptative ●Initialement, on suppose aucune connection entre les états IFT 615 Froduald Kabanza 35 s2 s1 s0
  • 36. Approche par programmation dynamique adaptative ● Observations: (s0) -0.1 U(s0) = -0.1 U(s1) = -0.1 U(s2) = 1 IFT 615 Froduald Kabanza 36 s2 s1 s0
  • 37. Approche par programmation dynamique adaptative ●Observations: (s0) -0.1  (s0) -0.1 U(s0) = -0.1 + 0.5 U(s0) U(s1) = -0.1 U(s2) = 1 IFT 615 Froduald Kabanza 37 s2 s1 s0 1/1 = 1 a1
  • 38. Approche par programmation dynamique adaptative ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1 U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) ) U(s1) = -0.1 U(s2) = 1 IFT 615 Froduald Kabanza 38 s2 s1 s0 1/2 1/2 a1 a1
  • 39. Approche par programmation dynamique adaptative ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1 U(s0) = -0.1 + 0.5 (0.5 U(s0) + 0.5 U(s1) ) U(s1) = -0.1 + 0.5 U(s0) U(s2) = 1 IFT 615 Froduald Kabanza 39 s2 s1 s0 1/2 1/2 1/1 = 1 a1 a3 a1
  • 40. Approche par programmation dynamique adaptative ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1 U(s0) = -0.1 + 0.5 (⅓ U(s0) + ⅔ U(s1) ) U(s1) = -0.1 + 0.5 U(s0) U(s2) = 1 IFT 615 Froduald Kabanza 40 s2 s1 s0 1/3 2/3 1/1 = 1 a1 a3 a1
  • 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) = -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 IFT 615 Froduald Kabanza 41 s2 s1 s0 1/3 2/3 1/2 1/2 fin de l’essai a1 a3 a3 a1
  • 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) = -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 IFT 615 Froduald Kabanza 42 s2 s1 s0 1/3 2/3 1/2 1/2 fin de l’essai À tout moment, on peut calculer les U(s) a1 a3 a3 a1
  • 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) IFT 615 Froduald Kabanza 43
  • 44. Approche par programmation dynamique adaptative ● Approche alternative: méthode itérative, similaire à value iteration 1. Répéter (jusqu’à ce que le changement en V soit négligeable) I. pour chaque état s calculer: U’(s) = R(s) + γ Σ s’  S P(s’|s,π(s)) U(s’) II. si |U- U’| ≤ tolérance, quitter III. 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 IFT 615 Froduald Kabanza 44 sans le max p/r à l’action
  • 45. Approche par programmation dynamique adaptative ● Approche alternative: méthode itérative, similaire à value iteration 1. Répéter (jusqu’à ce que le changement en V soit négligeable). I. pour chaque état s calculer: U’(s) = R(s) + γ Σ s’  S P(s’|s,π(s)) U(s’) II. si |U - U’| ≤ tolérance, quitter III. 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 IFT 615 Froduald Kabanza 45
  • 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 46
  • 47. Approche par programmation dynamique adaptative IFT 615 Froduald Kabanza 47
  • 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 48
  • 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) ) IFT 615 Froduald Kabanza 49
  • 50. Apprentissage par différence temporelle IFT 615 Froduald Kabanza 50 Utile si on veut varier le taux d’apprentissage
  • 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 IFT 615 Froduald Kabanza 51 a2 1 a1 0.2 a2 0.2 a4 1 0.8 a1 a2 0.8 s2 s1 s0 0.1 0.9 a3 a3
  • 52. Apprentissage par différence temporelle ●Initialisation U(s0) = 0 U(s1) = 0 U(s2) = 0 ●On va utiliser α = 0.1 IFT 615 Froduald Kabanza 52 s2 s1 s0 si on connaît R(s), on peut tout initialiser U(s) à R(s)
  • 53. Apprentissage par différence temporelle ●Observations: (s0) -0.1 U(s0)  -0.1 U(s1) = 0 U(s2) = 0 ●On va utiliser α = 0.1 IFT 615 Froduald Kabanza 53 s2 s1 s0 parce que s0 est visité pour la première fois
  • 54. Apprentissage par différence temporelle ●Observations: (s0) -0.1  (s0) -0.1 U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s0) - U(s0) ) = -0.1 + 0.1 (-0.1 - 0.05 + 0.1) = -0.105 U(s1) = 0 U(s2) = 0 IFT 615 Froduald Kabanza 54 s2 s1 s0 U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
  • 55. Apprentissage par différence temporelle ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1 U(s1)  -0.1 U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) ) = -0.105 + 0.1 (-0.1 - 0.05 + 0.105) = -0.1095 U(s1) = -0.1 U(s2) = 0 IFT 615 Froduald Kabanza 55 s2 s1 s0 parce que s1 est visité pour la première fois U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
  • 56. Apprentissage par différence temporelle ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1 U(s0) = -0.1095 U(s1)  U(s1) + 0.1 (R(s1) + 0.5 U(s0) - U(s1) ) = -0.1 + 0.1 (-0.1 - 0.05475 + 0.1) = -0.105475 U(s2) = 0 IFT 615 Froduald Kabanza 56 s2 s1 s0 U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
  • 57. Apprentissage par différence temporelle ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1 U(s0)  U(s0) + 0.1 (R(s0) + 0.5 U(s1) - U(s0) ) = -0.1095 + 0.1 (-0.1 - 0.0527375 + 0.1095) = -0.11382375 U(s1) = -0.105475 U(s2) = 0 IFT 615 Froduald Kabanza 57 s2 s1 s0 U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
  • 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) = -0.11382375 U(s1)  U(s1) + 0.1 (R(s1) + 0.5 U(s2) - U(s1)) = -0.105475 + 0.1 (1 + 0.5 + 0.105475 ) = 0.0550725 U(s2) = 1 IFT 615 Froduald Kabanza 58 s2 s1 s0 fin de l’essai parce que s2 est visité pour la première fois U(s)  U(s) + α ( R(s) + γ U(s’) – U(s) )
  • 59. APPRENTISSAGE ACTIF IFT 615 Froduald Kabanza 59
  • 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’) IFT 615 Froduald Kabanza 60 a  A(s)
  • 61. Appentissage actif avec PDA IFT 615 Froduald Kabanza 61 ACTIVE-GLOUTON argmax Σ s  S P(s|s’,a) U(s) a  A(s) Résoudre système d’équations U(s) = R(s) + max γ Σ s’  S P(s’|s,a) U(s’) Optimal-Policy(U,mdp)
  • 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) = {} IFT 615 Froduald Kabanza 62 a2 1 a1 0.2 a2 0.2 0.8 a1 a2 0.8 s2 s1 s0 0.1 0.9 a3 a3
  • 63. Approche par programmation dynamique adaptative ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1 U(s0) = -0.1 + 0.5 max{ 0.5 U(s0) + 0.5 U(s1), 0 } U(s0) = -0.1 U(s1) = -0.1 + 0.5 max{ 0, U(s0) } U(s1) = -0.1 U(s2) = 1 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) + 0.5 U(s1) = -0.1 ●L’action choisie par l’agent est donc a2 IFT 615 Froduald Kabanza 63 s2 s1 s0 1/2 1/2 1/1 = 1 a1 a3 a1 value iteration a1 a1 a3
  • 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 64
  • 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! IFT 615 Froduald Kabanza 65 Courbe d’apprentissage Plan découvert
  • 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 66
  • 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 IFT 615 Froduald Kabanza 67 R+ si n < Ne u sinon estimation optimiste de récompense future (hyper-paramètre)
  • 68. Appentissage actif avec PDA IFT 615 Froduald Kabanza 68 ACTIVE argmax Σ s  S P(s|s’,a) U(s) a  A(s) 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)
  • 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 IFT 615 Froduald Kabanza 69
  • 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) IFT 615 Froduald Kabanza 70 a
  • 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) ) IFT 615 Froduald Kabanza 71 a’ a’
  • 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 IFT 615 Froduald Kabanza 72 s2 s1 s0
  • 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 } = a2 (arbitraire, ça aurait aussi pu être a1) IFT 615 Froduald Kabanza 73 s2 s1 s0
  • 74. Apprentissage actif avec Q-learning ●Observations: (s0) -0.1  (s0) -0.1 Q(s0,a2)  Q(s0,a2) + α ( R(s0) + γ max{ Q(s0,a1), Q(s0,a2)} - Q(s0,a2) ) = 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0) = -0.05 ●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a2) } = argmax{ 0, -0,05 } = a1 (changement de politique!) IFT 615 Froduald Kabanza 74 a2 a2 s2 s1 s0
  • 75. Apprentissage actif avec Q-learning ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1 Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) ) = 0 + 0.5 ( -0.1 + 0.5 max{ 0, 0} - 0) = -0.05 ●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) } = argmax{ 0, 0 } = a2 (arbitraire, ça aurait aussi pu être a3) IFT 615 Froduald Kabanza 75 a2 a1 a1 s2 s1 s0
  • 76. Apprentissage actif avec Q-learning ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1 Q(s1,a2)  Q(s1,a2) + α ( R(s1) + γ max{ Q(s0,a1), Q(s0,a1)} - Q(s1,a2) ) = 0 + 0.5 ( -0.1 + 0.5 max{ -0.05, -0.05} + 0) = -0.0625 ●Action à prendre π(s0) = argmax{ Q(s0,a1), Q(s0,a1) } = argmax{ -0.05, -0.05 } = a1 (arbitraire, ça aurait aussi pu être a2) IFT 615 Froduald Kabanza 76 a2 a1 a2 a2 s2 s1 s0
  • 77. Apprentissage actif avec Q-learning ●Observations: (s0) -0.1  (s0) -0.1 (s1) -0.1  (s0) -0.1  (s1) -0.1 Q(s0,a1)  Q(s0,a1) + α ( R(s0) + γ max{ Q(s1,a2), Q(s1,a3)} - Q(s0,a1) ) = -0.05 + 0.5 ( -0.1 + 0.5 max{ -0.0625, 0 } + 0.05) = -0.075 ●Action à prendre π(s1) = argmax{ Q(s1,a2), Q(s1,a3) } = argmax{ -0.0625, 0 } = a3 (changement de politique!) IFT 615 Froduald Kabanza 77 a1 a2 a1 a3 a1 s2 s1 s0
  • 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) ) = 0 + 0.5 ( -0.1 + 0.5 max{ 1 } + 0) = 0.2 ●On recommence un nouvel essai... IFT 615 Froduald Kabanza 78 a3 a2 a1 a3 a1 s2 s1 s0 a3
  • 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: http://www.cs.ubc.ca/~poole/demos/rl/q.html IFT 615 Froduald Kabanza 79 s2 s1 s0 s3 ? a4
  • 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 80
  • 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! 81
  • 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) 82
  • 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) 83
  • 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 84
  • 85. Objectifs du cours IFT 615 Froduald Kabanza 85 agents intelligents recherche heuristique recherche locale recherche à deux adversaires satisfaction de contraintes Algorithmes et concepts raisonnement probabiliste processus de décision markovien apprentissage par renforcement
  • 86. Apprentissage par renforcement: pour quel type d’agent? IFT 615 Froduald Kabanza 86 Simple reflex Model-based reflex Goal-based Utiliy-based Actif Passif Passif
  • 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 87