Vous êtes sur la page 1sur 34

Apprentissage par renforcement

Cours 4: Policy Gradients

Sylvain Lamprier

UE RLD - Master DAC

2020

Sylvain Lamprier Apprentissage par renforcement


Méthodes Value-Based
Toutes les méthodes vues précédemment travaillaient sur des
estimations de valeurs espérées selon la politique courante π :
V π (st ) = Eπ [Rt |st = s]
Q π (s, a) = Eπ [Rt |st = s, at = a]

Et une re-définition de la politique π selon ces valeurs (sélection


greedy ici) :
π(s) = arg max Q π (s, a)
a0 ∈A(s)

Sylvain Lamprier Apprentissage par renforcement


Policy-Gradients
Les méthodes Policy-Gradients proposent de s’intéresser
directement à la politique :
πθ (a|s) = P[a|s, θ]
Dans ce cadre, la probabilité d’une trajectoire
τ = (s1 , a1 , s2 , a2 , . . . , s|τ | ) est donnée par :
|τ |−1
Y
πθ (τ ) = P(s1 ) πθ (at |st )P(st+1 |st , at )
t=1
L’objectif est de s’orienter plus probablement vers les trajectoires
maximisant les récompenses :

θ∗ = arg max J(θ)  


θ |τ |−1
X
= arg max Eτ ∼πθ  R(st , at , st+1 )
θ t=1
X
= arg max πθ (τ )R(τ )
θ τ
Sylvain Lamprier Apprentissage par renforcement
Policy-Gradients

Avantages des méthodes Policy-gradients :


I Convergence : Méthodes Value-based sujettes à de grosses
oscillations durant l’apprentissage
I L’action préférée peut changer radicalement pour une
modification mineure des valeurs (même avec Bolzmann
softmax selection)
I Policy-gradients : mises à jour plus "smooth"
I Amélioration de la politique souvent plus simple
que l’apprentissage des valeurs

I Policy gradients peuvent travailler


avec un nombre d’actions infini

I Possible intégration de récompenses d’exploration

Sylvain Lamprier Apprentissage par renforcement


Policy-Gradients
Les méthodes Policy-gradients travaillent par montées de gradient
successives :
θ ← θ + α∇θ J(θ)
Problème : Comment calculer le gradient de J(θ)... ?
I ... qui correspond à une somme possiblement infinie sur
l’ensemble des trajectoires ?
I ... dont la probabilité des longues trajectoires tend vers 0 (avec
passage au log impossible directement du fait de la somme
externe) ?

REINFORCE trick : Exploiter une propriété essentielle de la dérivée


de la fonction log
∇x f (x)
∇x f (x) = f (x) = f (x)∇x log f (x)
f (x)
Comment en tirer parti dans notre cas ?
Sylvain Lamprier Apprentissage par renforcement
Policy-Gradients
Log-derivative trick pour Policy gradients :

∇θ J(θ) = ∇θ Eτ ∼πθ (τ ) [R(τ )]


X
= ∇θ πθ (τ )R(τ )
τ
X
= ∇θ (πθ (τ )R(τ ))
τ
X
= R(τ )∇θ πθ (τ )
τ
X
= πθ (τ )R(τ )∇θ log πθ (τ )
τ
= Eτ ∼πθ (τ ) [R(τ )∇θ log πθ (τ )]

UU Passage à des log-vraisemblances de trajectoires


Possibilité d’échantillonner les trajectoires pour l’optimisation
Sylvain Lamprier Apprentissage par renforcement
Policy-Gradients

On a alors à considérer ∇θ log πθ (τ ) pour chaque trajectoire τ :


  
|τ |−1
Y
∇θ log πθ (τ ) = ∇θ log P(s1 ) πθ (at |st )P(st+1 |st , at )
t=1
 
|τ |−1
X
= ∇θ log P(s1 ) + log πθ (at |st ) + log P(st+1 |st , at )
t=1

|τ |−1
X
= ∇θ log πθ (at |st )
t=1

U
U
Somme de gradients de log-probabilités
Plus de problème d’arrondis à 0

Sylvain Lamprier Apprentissage par renforcement


Algorithme REINFORCE

On a alors :
 
|τ |−1
X
∇θ J(θ) = Eτ ∼πθ (τ ) R(τ ) ∇θ log πθ (at |st )
t=1

REINFORCE travaille par échantillonage de Monte-Carlo


(Rollouts) :

Sylvain Lamprier Apprentissage par renforcement


Algorithme REINFORCE

1 X h i
∇θ J(θ) ≈ R(τ (i) )∇θ log πθ (τ (i) )
M (i)
τ ∼πθ

Intuition :
I Renforcement de la probabilité des trajectoires associées à des
fortes récompenses

I Parallèle avec log-vraisemblance d’un ensemble de M


trajectoires T
1 X
∇θ L(T ; θ) = ∇θ log πθ (τ (i) )
M (i)
τ ∈T

Sylvain Lamprier Apprentissage par renforcement


Algorithme REINFORCE

Malheureusement l’algorithme REINFORCE souffre d’une très forte


variance
I Pour un même couple état-action
et une même politique, les sommes
de rewards retournées peuvent être très différentes
⇒ Convergence très lente
Reduction de la variance
I Exploitation de la structure temporelle
I Introduction d’une Baseline
I Facteur de Discount

Sylvain Lamprier Apprentissage par renforcement


Réduction de la variance : Causalité
Causalité : Les décisions à t n’affectent en rien les récompenses obtenues à t’,
avec t’<t
∇θ J(θ) = Eτ ∼πθ [R(τ )∇θ log πθ (τ )]
 
|τ |−1 |τ |
X X X
= πθ (τ ) ( ∇θ log πθ (at |st ))( rt )
τ t=0 t=0
 
|τ |−1 |τ |
X X X
= πθ (τ )  ∇θ log πθ (at |st ) rt 0  + ∇θ C (θ)
τ t=0 t 0 =t
 
|τ |−1 |τ |
X X X
= πθ (τ )  ∇θ log πθ (at |st ) rt 0 
τ t=0 t 0 =t

avec rt le reward obtenu selon R(st , at , st+1 ) dans τ , car :


 
|τ |−1 t−1
X X X
∇θ C (θ) = πθ (τ )  ∇θ log πθ (at |st ) rt 0  = 0 (1)
τ t=0 t 0 =0

Preuve ?

Sylvain Lamprier Apprentissage par renforcement


Réduction de la variance : Baseline
Introduction d’une baseline b(st ) pour réduire la variance
I Idée : retirer à Rt (τ ) la moyenne des récompenses cumulées observées à
partir de st
I Intuition : stabiliser le processus en ne conservant que l’avantage tiré de
l’action choisie
 
|τ |−1
X
∇θ J(θ) = Eτ ∼πθ (τ )  ∇θ log πθ (at |st )(Rt (τ ) − b(st ))
t=0

|τP |−1
1 P
avec b(st ) = Rt (τ ) et Rt (τ ) = rt0 .
N τ t 0 =t
On a le droit de faire çà car ∀t ∈ {0..T − 1}, b(st ) ne dépend pas de πθ (at |st ) :

Eτ ∼πθ (τ ) [∇θ log πθ (at |st )b(st )] =


X X X
πθ (τ0..t−1 ) P(st |st−1 , at−1 )b(st )∇θ π(at |st ) = 0
τ0..t−1 st ∈S at ∈A(st )

On garde alors une estimation non-biaisée.

Sylvain Lamprier Apprentissage par renforcement


Réduction de la variance : Baseline
Baseline optimale ?
I Pour toute trajectoire τ et tout instant t ∈ {0, |τ | − 1}, la meilleure
baseline est celle qui minimise la variance de ∇θ log πθt (τ )(Rt (τ ) − b(st )),
avec πθt (τ ) = πθ (τt..|τ | |τ0..t−1 )

dVAR ∇θ log πθt (τ )(Rt (τ ) − b(st )) dE (∇θ log πθt (τ )(Rt (τ ) − b(st )))2
   
=
db db
 t
2
dE (∇θ log πθ (τ )(Rt (τ ) − b(st )))
car : = 0 (estimateur sans biais)
db

dE (∇θ log πθt (τ )(Rt (τ ) − b(st )))2


 
= 2b(st )E (∇θ log πθt (τ ))2
 
db
− 2E (∇θ log πθt (τ ))2 Rt (τ )
 

E (∇θ log πθt (τ ))2 Rt (τ ) (=moyenne empirique pondérée


 
⇒ b(st ) =
E [(∇θ log πθt (τ ))2 ] par la magnitude des gradients)
I En pratique on utilise le plus souvent la moyenne empirique classique
Sylvain Lamprier Apprentissage par renforcement
Réduction de la variance : Discount
|τP
|−1
Jusqu’alors on a considéré R(τ ) = rt
t=0

Mais on peut aussi intégrer un facteur de discount comme dans les méthodes
|τP
|−1
Value-based : R(τ ) = γ t rt
t=0
On a alors :
  
|τ (i) |−1 |τ (i) |−1
1 X X (i) (i)
X 0
−t (i)
∇θ J(θ) ≈  ∇θ log πθ (at |st )γ t  γt rt 0 − b(st )
M
τ (i) ∼πθ t=0 t 0 =t

(i)
1 P |τ P|−1 t 0 −t
avec b(st ) = γ rt 0
M τ (i) t 0 =t

Certaines approches retirent le facteur γ t :


 (i)  (i) 
|τ |−1 |τ |−1
1 X  X (i) (i) 
X t 0 −t (i) 
∇θ J(θ) ≈ ∇θ log πθ (at |st ) γ rt 0 − b(st )
M (i) t=0 0
τ ∼πθ t =t

I c’est juste un scale qui ne change pas les rapports entre actions selon un
état (du moins dans la version tabulaire)
Sylvain Lamprier Apprentissage par renforcement
Algorithme Vanilla REINFORCE

Version deep :
I b(st ) = Vφ (st ), avec Vφ un réseau de neurones
I Descente de gradient plutôt que minimisation à chaque
itération : (i) |−1
X |τX (i) (i) (i)
φ←φ+ (Rt − Vφ (st ))∇φ Vφ (st )
τ (i) t=0
Sylvain Lamprier Apprentissage par renforcement
Actor-Critic

Les méthodes Actor-Critic sont à la jonction des méthodes


I Policy-Based (Actor) : apprennent à prendre des décisions
I Value-Based (Critic) : émettent des avis sur les possibles
décisions

Actor = π
Critic = récompenses estimées - baseline

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Méthodes Policy Gradient (sans baseline) :


 
|τ |−1 |τ |
0
X X X
∇θ J(θ) = πθ (τ )  ∇θ log πθ (at |st ) γ t −t rt 0 
τ t=0 t 0 =t

Méthodes Actor-Critic (sans baseline) :


 
|τ |−1
X X
∇θ J(θ) = πθ (τ )  ∇θ log πθ (at |st )Q π (st , at )
τ t=0

Ces deux définitions du gradient sont équivalentes (Preuve)

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Forme générale des Policy Gradients [Sch+15] :

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Fonction d’avantage : A(s, a) = Q(s, a) − V (s)

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Sylvain Lamprier Apprentissage par renforcement


Online Actor-Critic

Sylvain Lamprier Apprentissage par renforcement


Asynchronous Advantage Actor-Critic (A3C)

(source : [Mni+16])

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Sylvain Lamprier Apprentissage par renforcement


Actor-Critic

Sylvain Lamprier Apprentissage par renforcement


Generalized Actor-Critic [Sch+15]

Comment choisir k ?

2 (3)
 
GAE(γ,λ) (1) (2)
Ât := (1 − λ) Ât + λÂt + λ Ât + . . .
2 2 V
     
V V V V V
= (1 − λ) δt + λ δt + γδt+1 + λ δt + γδt+1 + γ δt+2 + . . .
2 2 3
    
V V
= (1 − λ) δt 1 + λ + λ + . . . + γδt+1 λ + λ + λ + . . .
2 V 2 3 4
  
+γ δt+2 λ + λ + λ + . . . + . . .

λ2
! !
1 λ
   
V V 2 V
= (1 − λ) δt + γδt+1 + γ δt+2 + ...
1−λ 1−λ 1−λ

l V
X
= (γλ) δt+l
l=0

Sylvain Lamprier Apprentissage par renforcement


Generalized Actor-Critic [Sch+15]

Comment choisir k ? ∞
GAE (γ,λ)
X
Ât = (γλ)l δt+l
V

l=0

I Similaire à TD(λ)
I λ est un hyper-paramètre à régler
I Décroissance exponentielle du poids des δ V
GAE (γ,λ)
⇒ λ = 1 : Ât = Â∞
t (Monte-Carlo)
GAE (γ,λ)
⇒ λ = 0 : Ât = Â1t (TD(0))

Sylvain Lamprier Apprentissage par renforcement


Traces d’éligibilité
(i)
|τ |−1
1 X X GAE (γ,λ)
θ ←θ+α Ât ∇θ πθ (at |st )
M (i) t=0
τ

Comme pour TD(λ), on peut définir des traces d’éligibilité pour faire les mises
à jour de θ au fur et à mesure du processus :

e0 ← 0

et ← λγet−1 + ∇θ log πθ (at |st )


Dont on peut se servir pour pondérer le passé et faire des mises à jour à chaque
étape de la trajectoire :

δt = rt + γVφ (st+1 ) − Vφ (st )

θ ← θ + αδt et
Possible de faire la même chose pour φ :
(i)
|τ |−1
1 X X GAE (γ,λ) 2
φ←φ+α ∇φ (Ât )
M (i) t=0
τ

Sylvain Lamprier Apprentissage par renforcement


Generalized Actor-Critic
Performances pour différents λ sur Cartpole :

I NoVF correspond à un MonteCarlo avec une baseline "moyenne


glissante" ne dépendant pas de l’état courant
I Pour les autres ÂGAE
t
(γ,λ)
avec Value Function apprise selon TD(0)
⇒ Variance augmente lorsque λ augmente
⇒ Biais augmente lorsque λ diminue

Sylvain Lamprier Apprentissage par renforcement


Actor Critic avec critique approximée

Un certain nombre d’approches proposent d’utiliser une approximation de la critique


plutôt que des estimateurs de Monte-Carlo ou Temporal Difference.
Plutôt que de considérer le gradient :
 
|τ |−1
X X
∇θ J(θ) = πθ (τ )  γ t ∇θ log πθ (at |st )Q π (st , at )
τ t=0

Cela revient à utiliser le gradient :


 
|τ |−1
X X
t π
ĝ = πθ (τ )  γ ∇θ log πθ (at |st )Qφ (st , at )
τ t=0

I Découplage complet de l’acteur et de la critique

⇒ Objectifs :
I Utilisation de la structure de l’espace d’états
I Réduction de la variance

Sylvain Lamprier Apprentissage par renforcement


Fonctions Compatibles
" #
|τP
|−1
γt ∇
P
Soit le gradient : ĝ = πθ (τ ) θ log πθ (at |st )fφ (st , at ) , avec fφ une
τ t=0
fonction S × A → R de paramètres φ.
Le seul moyen de rendre ce gradient non biaisé (i.e., ĝ = ∇θ J(θ)) est d’utiliser une
fonction fφ compatible. Deux conditions à cela [Sut+00] :
I Pour tout s et a : ∇φ fφ (s, a) = ∇θ πθ (a|s)
πθ (a|s)
" #
|τ |−1
P t π
I
P
πθ (τ ) γ (Q (st , at ) − fφ (st , at ) − vw (st ))∇φ fφ (st , at ) = 0
τ t=0 Preuve
avec vw (s) une fonction quelconque S → R de paramètres w .
hθ (s,a)
Soit π la fonction softmax : πθ (a|s) = P e h (s,a0 )
, avec hθ : S × A → R
a0 ∈A(s) e θ
Selon la 1ière condition, on a :
h iT
fφ (s, a) = ∇θ hθ (s, a) − a0 ∈A(s) πθ (a0 |s)∇θ hθ (s, a0 ) φ
P
P
Notons que : π(a|s)fφ (s, a) = 0. On peut alors voir fw comme une fonction
a∈A(s)
d’avantage : Aπ (s, a) = Q π (s, a) − V π (s).
⇒ Pour l’estimation de w , la fonction vw qui mininime la variance de l’estimation
de fφ est [Bha+09] : V π (s)
⇒ Estimation de V π (s) selon vw (s) et de Q π (s, a) selon fφ (s, a) + vw (s) par
temporal difference

Sylvain Lamprier Apprentissage par renforcement


Prévenir l’explosion des gradients

Huber Loss plutôt que Quadratic Loss pour l’apprentissage de V :

Sylvain Lamprier Apprentissage par renforcement


Exploration : Entropie

Fréquemment, la politique converge trop vite vers des situations


sous-optimales
I π(st ) tend vers une politique déterministe rapidement
⇒ Plus d’exploration, boucles infinies possibles

Possibilité de rajouter un coût d’entropie permettant de maintenir


l’exploration tant qu’il reste de l’incertitude :

Sylvain Lamprier Apprentissage par renforcement


Sources

I Sergey Levine (UC Berkeley, Spring 2017)


I Daniel Takeshi :
https://danieltakeshi.github.io/2017/03/28/
going-deeper-into-reinforcement-learning-fundamentals-o
I Jonathan Hui : https://medium.com/@jonathan_hui/
rl-deep-reinforcement-learning-series-833319a95530
I Lilian Weng : https://lilianweng.github.io/lil-log/
2018/04/08/policy-gradient-algorithms.html
I Felix Yu :
https ://flyyufelix.github.io/2017/10/12/dqn-vs-pg.html
I Joshua Achiam :
http://rail.eecs.berkeley.edu/deeprlcourse-fa17/
f17docs/lecture_13_advanced_pg.pdf

Sylvain Lamprier Apprentissage par renforcement


References I

[Bha+09] Shalabh Bhatnagar et al. « Natural actor–critic algorithms ». In :


Automatica 45.11 (2009), p. 2471-2482.
[Gro+12] Ivo Grondman et al. « A survey of actor-critic reinforcement learning :
Standard and natural policy gradients ». In : IEEE Transactions on
Systems, Man, and Cybernetics, Part C (Applications and Reviews) 42.6
(2012), p. 1291-1307.
[Mni+16] Volodymyr Mnih et al. « Asynchronous methods for deep reinforcement
learning ». In : International conference on machine learning. 2016,
p. 1928-1937.
[Sch+15] John Schulman et al. « High-dimensional continuous control using
generalized advantage estimation ». In : arXiv preprint arXiv :1506.02438
(2015).
[Sut+00] Richard S Sutton et al. « Policy gradient methods for reinforcement
learning with function approximation ». In : Advances in neural
information processing systems. 2000, p. 1057-1063.

Sylvain Lamprier Apprentissage par renforcement

Vous aimerez peut-être aussi