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
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
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
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
𝑁𝑠𝑎
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
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
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’
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
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