Formulaire d`apprentissage par renforcement

publicité
Formulaire d’apprentissage par renforcement
Rémi Coulom
14 novembre 2008
1
Définitions et notations
1.1
1.5
Fonction valeur d’action Q
La fonction valeur d’action d’une politique π est définie
par :
∞
X
Qπ (s0 , a0 ) = E
γ t rt ,
Processus de décision de Markov
Un processus de décision de Markov est défini par
– un ensemble S d’états ;
t=0
∗
– pour chaque s ∈ S, un ensemble A(s) d’actions ;
Pour une politique optimale π , on note Q∗ sa fonction valeur
– une fonction ν de S × A(s) dans S qui à chaque paire d’action.
(état, action) associe l’état suivant s0 = ν(s, a) (ν peut
être stochastique) ;
1.6 Identités remarquables
– une fonction r de S × A(s) dans R qui à chaque
paire (état, action) associe une récompense réelle r(s, a) 1.6.1 Relations entre V et Q
(r peut être stochastique) ;
– un coefficient réel γ ∈ [−1 : 1].
π
π
V
(s)
=
E
Q
s,
π(s)
On dit qu’une fonction est stochastique lorsque son résul
tat est aléatoire, avec une distribution de probabilité qui ne
π
π
Q
(s,
a)
=
E
r(s,
a)
+
γV
ν(s,
a)
dépend que de ses paramètres.
1.6.2
1.2
Politique
Equation de Bellman
Pour une politique π fixée :
Une politique π est une fonction de S dans A. Un politique
peut être stochastique.
V π (s0 ) = E r(s0 , a0 ) + γV π (s1 )
Qπ (s0 , a0 ) = E r(s0 , a0 ) + γQπ (s1 , a1 )
1.3
Pour la politique optimale :
Trajectoire
V ∗ (s0 ) = max E r(s0 , a0 ) + γV ∗ (s1 )
À partir d’un état initial s0 ∈ S, l’application d’une polia0 ∈A(s0 )
tique π produit une suite d’actions (at ), d’états (st ) et de ré
compenses (rt ) définis par at = π(st ), rt = r(st , at ), et
Q∗ (s0 , a0 ) = E r(s0 , a0 ) + γ max Q∗ (s1 , a1 )
a1 ∈A(s1 )
st+1 = ν(st , at ).
Dans la suite de ce formulaire, dès que des variables avec
des indices apparaissent dans une équation, on supposera im- 1.7 Politiques gloutonnes
plicitement qu’elles sont définies par ces formules de récurPour une fonction valeur d’état V donnée, on définit une
rence, si elles ne sont pas définies par ailleurs.
politique gloutonne par
π(s) = arg max E r(s, a) + γV ν(s, a)
.
1.4
Fonction valeur d’état V
a∈A(s)
Pour une fonction valeur d’action Q donnée, une politique
gloutonne est définie par
Pour une politique π, on définit sa fonction valeur, notée
V par
∞
X
V π (s0 ) = E
γ t rt
π
π(s) = arg max Q(s, a) .
a∈A(s)
t=0
Notons que définir une politique gloutonne sur V nécessite
Il existe une (ou plusieurs) politique(s) optimale(s) notées π ∗ de connaître les fonctions r et ν, alors qu’une politique glou∗
∗
qui vérifie(nt) V π (s) ≥ V π (s) pour tout s et tout π. V π ne tonne sur Q ne demande aucune connaissance du processus
∗
∗
dépend pas de π et est notée V .
de Markov.
1
2
Algorithmes tabulaires
Algorithm 3 TD(λ)
~ ← ~0
V
Chacun des algorithmes décrits dans cette section se base
~e ← ~0
implicitement sur l’utilisation d’une politique π. Ces als0 ← initial state
gorithmes travaillent sur des tableaux de valeurs V (s) ou
t←0
Q(s, a) (ce qui suppose que le nombre d’états et d’actions
loop
~ ou Q
~
sont finis). Pour simplifier les notations, on écrira V
δ ← rt + γV (st+1 ) − V (st )
pour représenter le vecteur des élements du tableau.
~e ← λγ~e
e(st ) ← e(st ) + 1
Algorithm 1 Value iteration
~ ←V
~ + αδ~e
V
~0 ← ~0
V
t←t+1
i←0
end loop
repeat
i←i+1
for all s0 ∈ S do
TD(λ) apprend V π . Si π est gloutonne par rapport à V ,
Vi (s0 ) ← E r(s0 , a0 ) + γVi−1 (s1 )
il apprend V ∗ . Utiliser une politique gloutonne par rapport à
end for
V nécessite de connaître r et ν. ~e est le vecteur des traces
until V has converged
d’éligibilité.
Cet algorithme calcule la valeur de π. Si π est gloutonne Algorithm 4 Sarsa(λ)
par rapport à Vi−1 , alors cet algorithme calcule V ∗ . La con~ ← ~0
Q
vergence de cet algorithme est garantie si |γ| < 1. Lorsque
~e ← ~0
|γ| = 1, l’algorithme ne converge que si la fonction valeur est
s0 ← initial state
bien définie. Cet algorithme nécessite de connaître le système
t←0
(r et ν).
loop
δ ← rt + γQ(st+1 , at+1 ) − Q(st , at )
Algorithm 2 Q learning
~e ← λγ~e
~ ← ~0
Q
e(st , at ) ← e(st , at ) + 1
s0 ← initial state
~ ←Q
~ + αδ~e
Q
t←0
t←t+1
loop
end loop
δ ← rt + γ maxa∈A(st+1 ) Q(st+1 , a) − Q(st , at )
Q(st , at ) ← Q(st , at ) + αδ
Sarsa(λ) est typiquement utilisé avec une politique t←t+1
gloutonne
par rapport à l’estimation courante de Q. L’algoend loop
rithme n’apprend pas la valeur de la politique optimale, mais
la valeur de la politique -gloutonne, qui est légèrement inCet algorithme apprend Q∗ en suivant les trajectoires d’une férieure en général. C’est la différence fondamentale avec le
politique π. Pour que l’algorithme converge, il faut que Q-learning, qui apprend toujours Q∗ . Cependant, Sarsa(λ) est
chaque paire état, action soit visitée un nombre infini de fois. souvent plus efficace grace aux traces d’éligibilité.
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 Q learning est de ne pas nécessiter la 3 Approximateurs paramétriques
connaissance des fonctions r et ν. Il suffit à l’agent d’interaLes algorithmes TD(λ) et Sarsa(λ) peuvent être formulés
gir avec son environnement et d’observer les conséquences de
ses actions, sans connaître un modèle de la dynamique et des pour utiliser des approximateurs de fonction paramétriques
plus généraux que les tables, comme les réseaux de neurones.
récompenses.
~ ou Q
~ dans les algorithmes par le vecteur
La variable δ introduite dans l’algorithme précédent s’ap- On remplace alors V
~ Les traces d’éligibilité sont alors mises à
pelle la différence temporelle. C’est le signal d’erreur qui de paramètres w.
guide l’apprentissage. δ > 0 indique une bonne surprise, jour de la façon suivante :
c’est-à-dire que la récompense obtenue est supérieure à la ré~e ← ~e + ∂V
∂w
compense attendue. Inversement, δ < 0 indique une mauvaise ou
surprise.
~e ← ~e + ∂Q
∂w
Le principe des algorithmes TD(λ) et Sarsa(λ) est que
l’erreur est reportée plusieurs pas en arrière dans le temps, On remarque que le cas tabulaire est un cas particulier de cette
avec un amortissement exponentiel réglé par le paramètre équation.
λ ∈ [0, 1].
2
Téléchargement