2 Algorithmes tabulaires
Chacun des algorithmes décrits dans cette section se base
implicitement sur l’utilisation d’une politique π. Ces al-
gorithmes travaillent sur des tableaux de valeurs V(s)ou
Q(s, a)(ce qui suppose que le nombre d’états et d’actions
sont finis). Pour simplifier les notations, on écrira ~
Vou ~
Q
pour représenter le vecteur des élements du tableau.
Algorithm 1 Value iteration
~
V0←~
0
i←0
repeat
i←i+ 1
for all s0∈Sdo
Vi(s0)←Er(s0, a0) + γVi−1(s1)
end for
until Vhas converged
Cet algorithme calcule la valeur de π. Si πest gloutonne
par rapport à Vi−1, alors cet algorithme calcule V∗. La con-
vergence de cet algorithme est garantie si |γ|<1. Lorsque
|γ|= 1, l’algorithme ne converge que si la fonction valeur est
bien définie. Cet algorithme nécessite de connaître le système
(ret ν).
Algorithm 2 Qlearning
~
Q←~
0
s0←initial state
t←0
loop
δ←rt+γmaxa∈A(st+1)Q(st+1, a)−Q(st, at)
Q(st, at)←Q(st, at) + αδ
t←t+ 1
end loop
Cet algorithme apprend Q∗en suivant les trajectoires d’une
politique π. Pour que l’algorithme converge, il faut que
chaque paire état, action soit visitée un nombre infini de fois.
En pratique, on utilise souvent un politique -gloutonne pour
π.αest un paramètre de l’algorithme. C’est un réel positif.
L’intérêt essentiel du Qlearning est de ne pas nécessiter la
connaissance des fonctions ret ν. Il suffit à l’agent d’intera-
gir avec son environnement et d’observer les conséquences de
ses actions, sans connaître un modèle de la dynamique et des
récompenses.
La variable δintroduite dans l’algorithme précédent s’ap-
pelle la différence temporelle. C’est le signal d’erreur qui
guide l’apprentissage. δ > 0indique une bonne surprise,
c’est-à-dire que la récompense obtenue est supérieure à la ré-
compense attendue. Inversement, δ < 0indique une mauvaise
surprise.
Le principe des algorithmes TD(λ) et Sarsa(λ) est que
l’erreur est reportée plusieurs pas en arrière dans le temps,
avec un amortissement exponentiel réglé par le paramètre
λ∈[0,1].
Algorithm 3 TD(λ)
~
V←~
0
~e ←~
0
s0←initial state
t←0
loop
δ←rt+γV (st+1)−V(st)
~e ←λγ~e
e(st)←e(st)+1
~
V←~
V+αδ~e
t←t+ 1
end loop
TD(λ) apprend Vπ. Si πest gloutonne par rapport à V,
il apprend V∗. Utiliser une politique gloutonne par rapport à
Vnécessite de connaître ret ν.~e est le vecteur des traces
d’éligibilité.
Algorithm 4 Sarsa(λ)
~
Q←~
0
~e ←~
0
s0←initial state
t←0
loop
δ←rt+γQ(st+1, at+1)−Q(st, at)
~e ←λγ~e
e(st, at)←e(st, at)+1
~
Q←~
Q+αδ~e
t←t+ 1
end loop
Sarsa(λ) est typiquement utilisé avec une politique -
gloutonne par rapport à l’estimation courante de Q. L’algo-
rithme n’apprend pas la valeur de la politique optimale, mais
la valeur de la politique -gloutonne, qui est légèrement in-
férieure en général. C’est la différence fondamentale avec le
Q-learning, qui apprend toujours Q∗. Cependant, Sarsa(λ) est
souvent plus efficace grace aux traces d’éligibilité.
3 Approximateurs paramétriques
Les algorithmes TD(λ) et Sarsa(λ) peuvent être formulés
pour utiliser des approximateurs de fonction paramétriques
plus généraux que les tables, comme les réseaux de neurones.
On remplace alors ~
Vou ~
Qdans les algorithmes par le vecteur
de paramètres ~w. Les traces d’éligibilité sont alors mises à
jour de la façon suivante :
~e ←~e +∂V
∂w
ou
~e ←~e +∂Q
∂w
On remarque que le cas tabulaire est un cas particulier de cette
équation.
2