2. 2
Apprentissages
{ Supervisé
{ Symbolique : faits + induction
{ Connexioniste : entrées/sorties + optimisation
{ nécessite : Liste d’exemples
{ Evolutionniste
{ génération évolutionniste de “la solution” + sélection
+ croisement + mutation
{ nécessite : mesure de la “qualité” (fitness) d’une
solution
{ Renforcement
{ Essai/Erreur de la “meilleure prochaine action”
{ apprentissage d ’interaction
{ nécessite : “Récompense sur but ou echec”
3. 3
Historique
{ Psychologues : [Thorndike 1911]
{ Animaux
{ État-action -> récompense ou punition
{ Apprentissage des associations état-
action
z Force de la récompense
z Fréquence de la récompense
{ Mathématiciens : [Bellman 1957]
{ Optimisation de stratégie de contrôle
{ Modèle probabiliste
4. 4
La Carotte, le baton et le silence
environnement
Perception
Récompenses
Action
mémoire
5. 5
Apprentissage par renforcement
environnement
Apprentissage par exploration
trouver la meilleure action
d ’après l ’expérience passée
optimiser les récompenses
récompense
ou
renforcement
but atteint ?
perception
actions
état
modification
selection
6. 6
Apprentissage par renforcement
{ Apprentissage d’interactions avec
un environnement
{ Environnement pouvant être
dynamique
{ Pas d’exemples “tout fait”
{ Exploration / Exploitation
7. 7
Exemple : Tic Tac Toe
{ Joueur parfait ne perd jamais
{ Joueur imparfait “pas logique”
z modèle parfais du joueur (minmax)
exclu
8. 8
Apprendre le Tic-Tac-Toe
{ Pondérer les états du jeu
z valeur de l’état = récompense
z pondération initiale :
{ 1 pour trois croix alignées
{ 0 pour trois rond alignés
{ 0.5 ou aléatoire pour les autres
{ exploiter : aller vers les états de grande valeur
{ explorer : partir au hasard
{ apprendre : faire remonter un partie des valeurs de
l ’état courant vers les états précédents
9. 9
Apprendre le Tic-Tac-Toe
0.5
Q=0.8
0.5
exploitation
exploration : aléatoire
0.8 Q’
apprentissage
Qt+1 = Qt + α(Qt’-Qt)
0.3
Ici c’est de l’apprentissage
par différence temporelle
Bootstrap : Prise en compte de la corrélation inter-états
l ’estimation de Q dépend de l ’estimation de Q’
11. 11
π : Stratégies(s)
{ Caractérise ce qu’il faut faire ? s->a
{ probabiliste :
z π(s,a) : probabilité de choix (dure/permissive)
{ déterministe :
z π(s) : action, pas une probabilité
{ π* optimale : permet d ’obtenir le plus de gains
z compromis court/long terme , infini ? épisode ?
z c ’est ce que l ’on cherche à apprendre
12. 12
π : Stratégie(s)
{ exemple
Stratégie déterministe
actions
Sortie
10 points
état
Stratégie probabiliste
ou soft
13. 13
R : le gain
• Pas de définition unique
{ Gain au bout d’un
certain temps
z Jeu chronométré
{ Gain au bout d’un
temps “infini”
{ Gain moyen
∑
+
=
+
+ =
+
+
+
=
T
t
i
i
T
t
t
t r
r
r
r
R
1
2
1 L
Gain cumulé sur horizon fini
Gain cumulé avec intérêt
∑
∞
+
=
+
+
+
+
+ =
+
+
=
1
1
3
2
2
1
t
k
k
t
k
t
t
t
t r
r
r
r
R γ
γ
γ L
Gain en moyenne
∑
+
=
−
=
T
t
i
i
t r
T
R
1
1
1
14. 14
Influence de la définition du gain
K = 4 et γ=0.9
3 stratégies
+2
+10
+11
3 définitions de gain
∑
=
k
t
t
r
0
∑
∞
=0
t
t
t
r
γ ∑
=
∞
→
k
t
t
k r
k 0
1
lim
6 16 2
59
11
0
0 58.4
10
16. 16
Machine à sous à n bras
z un seul état
z un nombre de tirage fixés
z n bras : n actions a1…an , gain moyen Q(ai)
z chaque bras permet de gagner une somme r
distribuée aléatoirement (proba inconnue)
0000
1 n Proba pour 2 bras
0,1
a1
a2
gain
2 4
Q(a1)Q(a2)
17. 17
Machine à sous à n bras
{ Explorer : jouer au pif
{ Exploiter : jouer le meilleur bras estimé
z Estimer l’utilité d’une action a (bras) ?
z Estimation possible seulement après qu’elle soit
choisie ka fois :
Gain estimé pour a =Qka(a) = r1+r2+……+rka
z si ka → ∞ alors Qka(a) -> Q(a)
ka
18. 18
Définition récursive de Qk(a)
k
r
r
r
a
Q k
k
+
+
+
=
...
)
( 2
1
1
1
1
1
+
=
∑
+
=
+
k
r
Q
k
i i
k
]
[
*
1
1
1
1 k
k
k
k Q
r
k
Q
Q −
+
+
= +
+
]
.[
1 erreur
Q
Q k
k α
+
=
+
1
1 1
1
+
+
=
∑= +
+
k
r
r
Q
k
i t
i
k
k
Q
Voir page 46
19. 19
Problèmes non stationnaires
{ Lorsque Q varie dans le temps
z privilégier les dernières expériences
z problème de convergences
∑=
−
−
+
−
=
k
i i
i
k
k
k r
Q
Q 1
0 )
1
(
)
1
( α
α
α
20. 20
Bien apprendre : explorer/exploiter
{ Taux d’exploration : ε (ε-Greedy methods)
{ ε variable aléatoire (0≤ ε ≤1)
probabilité
{ valeur de ε ?
z apprentissage rapide du gain moyen mais moins performant en moyenne
versus
z apprentissage lent, prudent, performant à long terme
z si ε est toujours > 0 on parle de politique ε-soft
Jouer le meilleur « greedy action »
maxa(Q(a))
Explorer
ε
1-ε
21. 21
Explorations plus fines
{ Softmax
z Dépend de Qt(ai)
z plus une action est “valable” plus elle a de chance
d’être choisie (distribution de Boltzman, fixer la
température ?)
τ→0 : greedy
∑ =
n
b
b
Q
a
Q
t
t
e
e
1
/
)
(
/
)
(
τ
τ
probabilité
de choisir « a »
parmi n actions τ→∞ : equiprobable
22. 22
Explorations plus fines
{ Est-ce que l’estimation du gain des actions est pertinente
pour fixer la probabilité de choix ?
{ Qu’est ce qu’une bonne action -> référence/aux autres ?
{ Méthode des comparaisons de renforcement
z Dissocier “préférence” et “valeur” d’une action
z la préférence reflète la variation de la différence entre le gain
“moyen” r et celui de l’action concernée
z la probabilité de choix dépend de la préférence
]
[
)
(
)
(
1 t
t
t
t r
r
a
p
a
p −
+
=
+ β
∑ =
n
b
b
p
a
p
t
t
e
e
1
)
(
)
(
23. 23
Explorations plus fines
{ Méthodes de poursuites
z définition récursive de la probabilité de choix de la
“greedy action a”
z pour les autres actions (b)
z doucement, la probabilité de choix de la meilleure
action tend vers 1.
)]
(
1
[
)
(
)
(
1 a
a
a t
t
t π
β
π
π −
+
=
+
)]
(
0
[
)
(
)
(
1 b
b
b t
t
t π
β
π
π −
+
=
+
24. 24
Choix d’une méthode
{ Spécifique au problème
{ Explication sur cas simplifiés
z valeur moyenne des renforcements
z différences entre les valeurs moyennes
des renforcements
z variance des renforcements
25. 25
L’apprentissage de π*
{ Apprendre le modèle de l’environnement.
z Quelles récompenses pour chaque état.
z Quels sont les états atteints pour chaque action.
z Problème : supervisé, complexe, interactions entre
états ignorées (état qui mène à l’état qui … donne
une récompense).
{ Apprendre avec des “fonctions d’utilité”
z La fonction d’utilité est à rapprocher du gain moyen
z Elle est liée à un état ou un couple état-action
z Elle correspond à une espérance de gain futur
26. 26
Fonction d’utilité V(s) (s->ℜ)
{ V(s) Gains que l’on peut espérer à partir de s
{ V*(s) : valeur optimale (inconnue)
{ Vπ(s): valeur pour une stratégie π
z Exemple pour un gain avec intérêt et horizon infini :
{ }
s
s
R
E
s
V t
t =
= π
π
)
(
⎭
⎬
⎫
⎩
⎨
⎧
=
= ∑
∞
=
+
+
0
1
)
(
k
t
k
t
k
s
s
r
E
s
V γ
π
π
30. 30
Fonction d’utilité Q
{ Comme V mais …
z sur une action : Q(a) : a -> ℜ
z sur un couple état/action : Q(s,a) : (s,a) -> ℜ
z Q(s,a) : gains espérés en exécutant a à partir de s.
{ Q* valeur optimale (inconnue)
{ Qπ(s,a) valeur pour une politique π
z Exemple pour un gain avec intérêt et horizon infini :
⎭
⎬
⎫
⎩
⎨
⎧
=
=
= ∑
∞
=
+
+
0
1 ,
)
,
(
k
k
t
k
a
at
s
st
r
E
a
s
Q γ
π
π
31. 31
Chercher π*
{ Hiérarchie entre stratégies
{ La stratégie optimale est supérieure à
toute les autres
{ Il en existe toujours une dans les
processus Markoviens
s
s
V
s
V
ssi ∀
≥
≥ ),
(
'
)
(
' π
π
π
π
32. 32
Processus Markovien
{ Un état suffit à résumer toute l’histoire du
système
{ Une décision peut être prise juste en
observant cet état
{ Exemple : situation d’un jeu de dame à
un instant donné.
33. 33
Chercher π*
{ Connaissance de la dynamique de l ’environnement :
z pas besoin de simulation.
z programmation dynamique : corrélation entre les états (bootstrap)
{ Sans connaissance de la dynamique de l ’environnement :
z simuler (contrôler) et apprendre
{ sans « bootstrap » : Méthode de Monté-Carlo
{ avec « bootstrap » : Temporal Difference Learning
z identification « off-policy »
{ utiliser une politique différente de celle que l ’on recherche
{ permet de rechercher une politique optimale et « dure »
z identification « on-policy »
{ utiliser la politique que l ’on optimise durant l ’optimisation
{ oblige à utiliser des politiques « molles » (scrutation)
34. 34
Programmation dynamique
{ Connaissance de la dynamique de
l ’environnement.
{ MDP (Markov Decision Process),
{ Apprentissage optimal
z équation de Bellman
z V peut être calculé
z V* existe et peut être calculé
z π* existent et peuvent être calculées
a
ss'
P a
ss'
R
Probabilité de passage de s à s’
par l ’action a
Renforcement lors du passage de
s à s’ par a
35. 35
Programmation dynamique : Principe
π0 Vπ0 π1 Vπ1 π*
aléatoire
a
ss'
P a
ss'
R
E A E
E : évaluation
A : amélioration
Utilisation de la corrélation entre états -> bootstrap
36. 36
V*, Q* et a* formellement
V*(s) est la meilleure utilité trouvée parmis les stratégies
s
s
V
s
V ∀
= ),
(
max
)
(
* π
π
Partant de st pour une action a menant à s’, le gain espéré est
[ ]
)
'
(
*
' s
V
R s
st
γ
+
Corrélation inter-état
a
s
st
P '
L’action a peut mener à différents états s’ avec une probabilité
a*t est l’action qui permettra d’obtenir la meilleure utilité
[ ]
)
'
(
*
'
'
'
*
s
V
R
P
ArgMax
a s
s
s
a
s
s
a
t t
t
γ
+
= ∑
37. 37
V*, Q* et a* formellement
Si l’on travaille avec Q
a
et
s
a
s
Q
a
s
Q ∀
∀
= ),
,
(
max
)
,
(
* π
π
)
,
(
*
*
a
s
Q
ArgMax
a t
a
t =
38. 38
Evaluation d’une stratégie probabiliste
{ }
s
s
R
E
s
V t
t =
= π
π
)
(
⎭
⎬
⎫
⎩
⎨
⎧
=
= +
+
∞
=
∑ s
s
r
E t
k
t
k
k
1
0
γ
π
⎭
⎬
⎫
⎩
⎨
⎧
=
+
= +
+
∞
=
+ ∑ s
s
r
r
E t
k
t
k
k
t 2
0
1 γ
γ
π
⎥
⎦
⎤
⎢
⎣
⎡
⎭
⎬
⎫
⎩
⎨
⎧
=
+
= +
+
+
∞
=
∑
∑ ∑ '
)
,
( 1
2
0
'
'
' s
s
r
E
R
P
a
s t
k
t
k
k
a
ss
a s
a
ss γ
γ
π π
[ ]
)
'
(
)
,
( '
'
' s
V
R
P
a
s a
ss
a s
a
ss
π
γ
π +
= ∑ ∑
Vπ(s) peut être calculé à partir d’une estimation de Vπ(s’)
(équation de Bellman)
39. 39
Evaluation d’une stratégie probabiliste
{ On peut approximer itérativement V
{ Point fixe :
{ Stratégie déterministe :
z Plus de somme sur a, car a est π(s)
{ }
s
s
s
V
r
E
s
V t
t
k
t
k =
+
= +
+
+ )
(
)
( 1
1
1 γ
π
π
V
Vk =
[ ]
)
'
(
)
,
(
)
( '
'
'
1 s
V
R
P
a
s
s
V k
a
ss
a s
a
ss
k
π
γ
π +
= ∑ ∑
+
[ ]
)
'
(
)
( )
(
'
'
)
(
'
1 s
V
R
P
s
V k
s
ss
s
s
ss
k
π
π
π
γ
+
= ∑
+
40. 40
La meilleure action : vers une stratégie
déterministe
)
,
(
)
( a
s
Q
ArgMax
s
a
π
π =
{ }
a
a
s
s
s
V
r
E
ArgMax t
t
t
t
a
=
=
+
= +
+ ,
)
( 1
1
π
π γ
[ ]
)
'
(
'
'
' s
V
R
P
ArgMax a
ss
s
a
ss
a
π
γ
+
= ∑
41. 41
Programmation dynamique
Modèle de l ’environnement
a
ss'
P a
ss'
R
)]
'
(
[
)
,
(
)
(
'
s
V
a
s
s
V
s
a
π
π
π
π
γ
π +
= ∑
∑ (s)
ss'
(s)
ss' R
P
πn π0 aléatoire
itérations
stabilisation : Vπ
evaluation de la stratégie
« bootstrap »
amélioration de la stratégie
)]
'
(
[
max
arg
)
(
'
s
V
s a
s
a
a
π
γ
π +
= ∑ ss'
ss' R
P
stabilisation : V*, π*
42. 42
Programmation dynamique, l ’algo
complet (stratégie déterministe)
--------------------------------------------------------------
1.Initialization
V(s) ∈ℜ, π(s) ∈A(s) arbitrairement pour tout s∈S
--------------------------------------------------------------
2. Evaluation de la stratégie
Repeat
∆←0
For each s∈S
v←V(s)
V(s) ←
∆←max(∆,|v-V(s)|)
until ∆<θ (a small positive number)
-------------------------------------------------------------
3. Amelioration de la stratégie
policy-stable←true
For each s∈S
b← π(s)
π(s) ← arg maxa
if b≠ π(s) , then policy-stable ← false
If policy-stable, then stop; else go to 2
)]
'
(
[
'
s
V
s
γ
π
π
+
∑ (s)
ss'
(s)
ss' R
P
)]
'
(
[
'
s
V
a
s
a
γ
+
∑ ss'
ss' R
P
Bootstrapping :
Corrélation entre états
43. 43
Quand l’environnement est inconnu
{ Différents algorithmes
{ Doivent effectuer 2 fonctions :
z Evaluation (prévision)
{ bootstrap ou moyenne ou les deux
z Contrôle (simulation) en apprenant
{ implémentation réelle
44. 44
Méthode de Monte-Carlo
{ Plus de connaissance de
{ Estimation de l’espérance de gain
par expérience et moyennage
{ Plus de corrélation entre états
z recherche plus lente
a
ss'
P a
ss'
R
{ }
s
s
R
E
s
V t
t =
= π
π
)
(
45. 45
Méthodes de Monte Carlo : off-policy
Choix aléatoire d ’une stratégie π
et de Q.
Jouer l ’épisode
πn
nouveau Q
Contrôle du système
évaluation « soft »
de la stratégie
(sur un épisode)
Q(s,a) = moyenne des
renforcements (par s,a)
π(s) = arg maxa Q(s,a) amélioration de la stratégie
Sans arrêt variantes : amélioration de l ’exploration
46. 46
Temporal-Difference ou TD-
Learning
{ Prise en compte de la corrélation inter-état de la
programmation dynamique = plus rapide
{ Calcul itératif de la fonction d’utilité :
{ V(s) ←V(s)+α[Rt-V(s))]
{ Qk+1= Qk+ α[erreur]
{ le calcul partiel des méthodes de MC (moins lourd)
{ naturellement en-ligne
{ pas de preuves de convergence mais fonctionne dans
les faits
47. 47
Evaluer l’utilité itérativement, exemple
pour Q
ka
r
r
r
a
Q ka
t
+
+
+
=
...
)
( 2
1
1
1
1
1
+
=
∑
+
=
+
k
r
Q
k
i i
k
]
[
*
1
1
1
1 k
k
k
k Q
r
k
Q
Q −
+
+
= +
+
1
1 1
1
+
+
=
∑= +
+
k
r
r
Q
k
i t
i
k
k
Q
( )
1
1
)
*
)
1
(
*
)
1
(
*
(
)
1
(
*
)
(
*
1
*
)
1
(
*
* 1
1
1 1
1
+
+
+
+
−
+
+
=
+
+
+
=
+
+
= +
+
= +
+
∑
k
r
k
Q
k
Q
k
Q
k
k
k
r
k
k
Q
k
k
k
r
r
k t
k
k
k
t
k
k
i t
i
k
Q
1
1
)
*
)
1
(
*
( 1
1
+
+
+
+
−
+
= +
+
k
r
k
Q
k
Q
k
Q
Q t
k
k
k
k
]
.[
1 erreur
Q
Q k
k α
+
=
+
48. 48
Programmation dynamique -> TD
learning
{ Programmation dynamique :
{ TD learning : approximation
{ V(s) ←V(s)+α[r+γV(s’)-V(s)]
{ Idem pour Q :
{ Q(st,at) = Q(st,at)+α*[rt+1+γ*Q(st+1,a)-Q(st,at)]
{ }
s
s
s
V
r
E
s
V t
t
k
t
k =
+
= +
+
+ )
(
)
( 1
1
1 γ
π
Interêt du aux horizon non bornés
+ Inter-corrélation
49. 49
Sarsa : On-Policy (st, at, rt+1, st+1, at+1)
Apprentisage de Q(s,a)
Choix aléatoire : Q et s
choix de a par Q (soft)
D ’après Q (soft car « on-policy »)
appliquer a, observer r et s ’
choisir a’ (d ’après Q et s’)
Q(s,a) = Q(s,a) + α[r+γ Q(s’,a’)-Q(s,a)]
s = s’ ; a = a’
Contrôle du système
Amélioration de la stratégie
Sans arrêt
50. 50
Q-learning : off-Policy
Choix aléatoire : Q et s
D ’après Q (rendu « soft» temporairement)
choisir a, observer r et s ’
Q(s,a) = Q(s,a) + α[r+γ maxa’ Q(s’,a’)-Q(s,a)]
s = s’
Contrôle du système
amélioration de la stratégie
Pas la stratégie
53. 53
R-Learning
{ Cas particulier de problèmes
z Apprentissage continu (sans fin)
z Mais sans remise (pas de γ)
{ Pas de sommation des remises
{ Prise en compte de la dérivée de
l ’erreur
54. 54
TD(λ) : aspects temporels et
environnements dynamiques
Monté-Carlo TD(0) : sarsa
épisode
Optimisation :
Moyenne des ri
épisode
t0
t1
t2
t3
t4
t0
t1
t2
..
Optimisations :
ri + prévision précédente
Rapide/moins précis
Seul l ’instant précédent
est considéré
Lent/précis (si env pas dyn)
autant d ’importance
à tous les instants
55. 55
TD(λ) : SARSA(λ), Q(λ),
t0
t1
t2
t3
t
Optimisation sur
tous les r précédents, mais
pondération sur les
Q(s,a) les
plus récents
instant présent
4
56. 56
e(t) trace d ’elligibilité d ’un état (ou
état-action)
• Sorte de facteur d’oubli
• Deux possibilités : accumulation ou replacement
accumulation replacement
Passages
par l’état
e(t)
1
0
57. 57
SARSA(λ) : l ’algo complet (en
cadeau gratuit)
--------------------------------------------------------------
Initialize Q(s,a) arbitrarily and e(s,a)=0, for all s,a
Repeat (for each episode)
Initialize s,a
Repeat (for each step of episode)
Take action a, observe r, s’
Choose a’ from s’ using policy derived from Q (e.g., ε-greedy)
δ ← r + γQ(s,a ’) - Q(s,a)
e(s,a) ←e(s,a)+1
For all s, a:
Q(s,a) ← Q(s,a) + α δ e(s,a)
e(s,a) ← γλe(s,a)
s ←s’; a ←a’
until s is terminal
Ça c’est intéressant
accumulation
58. 58
Sarsa(λ) sur un labyrinthe
{ Les premiers pas sont utilisés pour
évaluer Q
*
* *
Sarsa(λ)
chemin Sarsa
59. 59
TD(λ)
{ Autres algorithmes
z Q(λ) (2 versions)
z « Elligibility Traces for Actor-Critic Methods »
z Ecrêtage de e (états trop visités)
{ Implémentation
z assez lourde (mémoire+temps)
z heuristiques bidouillantes
z facilement distribuable
61. 61
Généralisation
{ Fonction-Valeur dépend de
paramètres
{
{ Bien moins de paramètres que
d ’états
{ descente de gradient :
{ en apprentissage :
) (
t V
θ
r
[ ]2
1 )
(
)
(
2
1
t
t
t
t
t s
V
s
V
t
−
∇
−
=
+
π
θ
α
θ
θ r
r
r
[ ] )
(
)
(
1 t
t
t
t
t
t
t s
V
s
V
v
t
θ
α
θ
θ r
r
r
∇
−
+
=
+
vt : approximation de Vπ(st)
62. 62
Descente de gradient Principe
Vπ ou estimation
erreur d(erreur)
dt
Mise à jour
θ
F (S, θ)
V
S
θ
63. 63
Deux méthodes éprouvées
{ Réseaux de Neurones Artificiels
{ Méthodes linéaires
θ
V
S
s
T
s
t s
V φ
θ
r
r
=
)
(
θφ V
S
s
t s
V
t
φ
θ
r
=
∇ )
(
64. 64
Méthodes linéaires
{ Rapport qualité-prix !!
{ φ : caractéristiques des états
z tache critique
{ exemple coarse coding
z chaque cercle est un φi (taille de θ = nb
cercles)
0
1
2
3
4
φ0=1
φn=0
S est continu (2D)
65. 65
Méthodes linéaires
{ Tile coding (carrelage)
{ Radial Basis Functions
z φ n ’est pas binaire
z méthode de
structuration
par apprentissage
carrés
logarithmes
...
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛ −
= 2
2
2
exp
)
(
i
s
ci
s
i
σ
φ
66. 66
Méthodes linéaires
{ La voiture
x
x
10 grilles décalées
Goal
Actions : accélèration avant(1), arrière(-1), nulle(0)
xt+1=bound[xt+xt+1]
xt+1=bound[xt+0.001*at-0.0025*cos(3xt)] (bien non linéaire)
68. 68
Pour en savoir plus : en annexe
{ Karneva coding
{ apprentissage de planification
{ Dyna-Q algorithme
{ Prioritized Sweeping
z Manœuvres dans un labyrinthe
{ 14 400 états potentiels * 4 actions
{ pas tous scrutés bêtement
69. 69
Les problèmes à résoudre
{ Nb couples état-action
{ Convergence
{ Hiérarchisation des actions
{ Sémantisation des actions
¾ Systèmes de classifieurs (C.Buche).
70. 70
Bibliographie
{ Thorndike, Animal Intelligence, 1911.
{ Bellman, Dynamic Programming, 1957.
{ Richard S.Sutton and Andrew G.Barto, Reinforcement
Learning, MIT Press, 2000.
{ Cédric Sanza, Evolution d ’entités virtuelles
cooperatives par système de classifieurs. These de
doctorat de l ’université de Toulouse, 2001.
{ Apprentissage automatique et évolution artificielle,
revue extraction des connaissances et apprentissage,
Volume1, n°3, éditions hermes, 2001.
{ Algorithmes d ’apprentissages et applications, revue
d ’intelligence artificielle, volume 14, n°3, édition hermes,
2000.
{ Antoine Cornuéjols et Laurent Miclet, Apprentissage
artificiel, concepts et algorithmes, éditions Eyrolles,
2002.
72. 72
Rappels
{ Approche supervisée : retour instructif,
indique la bonne solution.
{ Renforcement : retour évaluatif, on ne
sait pas quelle est la bonne
{ Il faut une exploration “active”
{ Plein de stratégies : exemple de la
machine à sous à n bras
73. 73
Apprentissage supervisé
Modèle à paramétrer
RdN,
Exemples tout prêts
entrées résultat
entrées résultat
Algorithme
d’apprentissage
paramètres
74. 74
Sarsa : estimation des Q(s,a) On-
Policy TD
{ On évaluent tous les Q (s,a)
pendant la simulation, on en déduit
une politique en même temps...
75. 75
Avantage de Sarsa sur MC
{ Si il y a une impasse sarsa diminue
le Q(s,a) qui ne sera bientôt plus
choisi car sarsa apprend pendant
l ’épisode
{ MC resterait dans l ’impasse
{ exemple 6.4 de Reinforcement
learning An introduction (Sutton
2000)
76. 76
Propriété markovienne
{ Distribution de proba de st+1 et rt+1
{ Pr{st+1 = s’, rt+1=r | st,at,rt, st-1,…r1,s0,a0}
(1)
{ Si elle ne dépend que de l’instant présent
{ Pr{st+1 = s’, rt+1=r | st,at}
(2)
{ les états ont une propriété markovienne si
(1) = (2)
{ ?
77. 77
Programmation dynamique
{ Optimisations
z algorithme d ’itération des valeurs
{ calcul de Vk+1(s) (et non d ’évaluation des
politiques)
{ puis une seule opération pour obtenir la
politique optimale
z Programmation dynamique asynchrone
{ pour les gros espaces d ’état
{ on ne calcul Vk+1(s) que pour un état à
chaque fois
{ quasi-équivalence asymptotique
78. 78
Programmation Dynamique
{ Calculs coûteux (mémoire/temps)
{ Dynamique de l ’environnement
{ Généralisation aux politiques probabilistes
choix de plusieurs actions par état défini par
π(s,a)
{ Temps polynomial (n états et m actions)
z alors qu ’il y a mn solutions potentielles
79. 79
Méthode de Monte-Carlo: l ’algo
complet
--------------------------------------------------------------
1.Initialization
for all s∈S, a∈A(s) :
Q(s,a) ←arbitraire
Returns(s,a) ← liste vide
π ← une politique arbitraire ε-soft policy
--------------------------------------------------------------
2. Evaluation de la politique
Repeat forever
(a) Generate an episode using π
(b) for each pair s,a appearing in the episode:
R ←return following the first occurrence of s,a
Append R to Returns(s,a)
Q(s,a) ← average(Returns(s,a))
(c) for each s in the episode:
a* ← arg maxa Q(s,a)
For all a ∈A(s) :
π(s,a) ←
1-ε+ ε/|A(s)| if a=a*
ε/|A(s)| if a≠a*
80. 80
Principe des algorithmes de type
TD-learning
{ Estimation d ’une politique Vπ :
--------------------------------------------------------------
1.Initialisation : V(s) arbitraire, π poitique à évaluer
Repeat(for each episode) :
Initialize s
Repeat(for each step of episode):
a← action given by π for s
Take action a; observe reward r and next state s’
V(s) ←V(s)+α[r+γV(s’)-V(s)]
s ←s’
until s is terminal
La prévision est faite à partir d ’une prévision
81. 81
Annexe : Définition récursive de Q(a)
ka
r
r
r
a
Q ka
t
+
+
+
=
...
)
( 2
1
1
1
1
1
+
=
∑
+
=
+
k
r
Q
k
i i
k
]
[
*
1
1
1
1 k
k
k
k Q
r
k
Q
Q −
+
+
= +
+
1
1 1
1
+
+
=
∑= +
+
k
r
r
Q
k
i t
i
k
k
Q
( )
1
1
)
*
)
1
(
*
)
1
(
*
(
)
1
(
*
)
(
*
1
*
)
1
(
*
* 1
1
1 1
1
+
+
+
+
−
+
+
=
+
+
+
=
+
+
= +
+
= +
+
∑
k
r
k
Q
k
Q
k
Q
k
k
k
r
k
k
Q
k
k
k
r
r
k t
k
k
k
t
k
k
i t
i
k
Q
1
1
)
*
)
1
(
*
( 1
1
+
+
+
+
−
+
= +
+
k
r
k
Q
k
Q
k
Q
Q t
k
k
k
k
]
.[
1 erreur
Q
Q k
k α
+
=
+
82. 82
Méthodes linéaires
{ complexité≈
{ Kanerva coding
z séparation dimension de S/complexité de V
z plus de dimension : codage binaire des états
z distance de hamming pour les regroupements
z travaux en cours
e
S
de
dimension
nb
83. 83
Apprentissage et Généralisation
{ Etudes expérimentales : algo de
type Sarsa et Q-learning plus
stables
z Linear gradient-descent Sarsa(λ)
z Linear gradient-descent Q(λ)
{ RDN : à voir, il me semble que
c ’est très chaud de faire bosser en
parallèle deux algos comme ça.
84. 84
Planification et apprentissage
{ Planifier
z i.a. classique : modèle + cognition
z ici : améliorer Q (ou V) par
l ’évaluation d ’un modèle + simulation
du modèle
V, politique
experience
model
planification action
RL
Apprentissage du modèle
85. 85
Modèle déterministe
{ Pour un couple (s,a) donné le
renforcement est toujours le même
z Labyrinthe
{ Dyna-Q algorithme
Q-learning
Environnement
Q
Model-learning Modèle env
=
mémoire (s,a,s’,r)
Simulation
aléatoire
parmi les situations
mémorisées
Q-learning ’
temps réel temps simulé
86. 86
Modèle en évolution
{ heuristique de Dyna-Q+
z si un couple(s,a) n ’a pas été rencontré
depuis longtemps, lui attribuer un
renforcement espéré + grand pour
obliger le système à explorer
87. 87
Prioritized Sweeping
{ Problème de Dyna-Q
z les premiers pas, suivant une modification de
l ’environnement, sont très nuls
z peu de chance de tomber dessus
{ Favoriser l ’amélioration de Q .
z Scruter les états-actions menant aux états dont
les valeurs ont le plus changées.
z Priorité aux états les plus changeant
z A la fois dans le Q-learning et le modèle
learning
88. 88
Prioritized Sweeping
{ Performance facteur 5 à 10 par
rapport au Dyna-Q
{ Manœuvres dans un labyrinthe
z 14 400 états potentiels * 4 actions
z pas tous scrutés bêtement
{ Travaux en cours
89. 89
Maximiser quoi ?
{ Maximiser les gains à long terme
z la meilleure action “maintenant” n’est pas
forcément la meilleure à long terme
z Ne pas maximiser les renforcements
“immédiats” !!!
{ Apprentissage par épisodes (T)
z Maximiser Rt = rt+1 + rt+2 +… +rT
z exemple : sortie d ’un labyrinthe
90. 90
Le long terme
{ Apprentissage continu : pas de fin
z la somme des renforcements peut croître
indéfiniment quelque soit le choix
z comment savoir que l’on est sur la bonne voie
?
z Pondérer le long terme
z Rt = rt+1 + γrt+2 + γ2rt+3 +…
z 0≤γ≤1 : remise (discount)
92. 92
Renforcement des ZCS : Algorithm « Bucket
Brigade »
environnement
sceau B
#010:01 28
101#:01 42
A
A-1
rétribution
éventuelle
#010:01 25.2
101#:01 37.8
A
2.8+4.2=7
##10:11 5
11##:11 8
#11#:11 9
A-1
##10:11 5.7
11##:11 9
#11#:11 10
Prélèvement
d ’un pourcentage br (taxe)
(exemple 10%)
taux d ’apprentissage
#010:01 27.2
101#:01 39.8
A
renforcement interne
taux de remise
Variante pour convergence : diminution des poids des classifieurs de M-A
93. 93
ZCS
z privilégie les règles rapportant plus
z élimine les autres (oubli = surprise = « covering » = pif)
z quelle que soit leur « précision »
z n ’apprend que des environnements
markovien
Perception états
Woods1 : markovien Woods100 : non markovien
94. 94
Environnement non markovien : renforcer
l ’historique : ZCSM
{ Codage d ’une règle
#0101, 01# : 10, #1#
identification état interne
modification état interne
identification capteurs action
95. 95
Préserver les classifieurs précis :
XCS
{ Privilégier les règles les plus
« préçises »
{ Une règle #010:01
z + 3 attributs
{ prédiction (de rétribution) : utilisé pour la
sélection (M->A)
{ erreur de prédiction
{ fitness (qualité/précision) : utilisé par
l ’AG pour la reproduction (faite sur A
(niche))
z mise à jour : Q-learning
96. 96
Systèmes de classifieurs XCS
{ Apprentissage
z Prédiction : pour toutes les régles de l ’ensemble M (Match set)
z Définition de l ’ensemble A (roulette ou autre d ’après P(ai))
z Application de l ’action et réception de la rétribution P
z Pour tous les éléments de A, mise à jour de la prédiction :
p = p + β.(P-p) [0<β<1 : taux d ’apprentissage]
z Mise à jour de l ’erreur de prédiction :
{ e = e+ β.(|P-p|-e)
z Mise à jour de la fitness :
{ F = F + β.(k-F) [k fonction décroissante de e (e : F )]
( )
∑
∑
=
i
i
i
i
F
F
P
a
P
.