Vous êtes sur la page 1sur 54

Apprentissage par renforcement 1

A. Cornuéjols

Apprentissage par renforcement

Antoine Cornuéjols
(antoine@lri.fr)

I.I.E.
&
L.R.I., Université d’Orsay
2
A. Cornuéjols

Plan du
Apprentissage par renforcement

cours
• 1- Introduction : motivation, problèmes, notions et principes

• 2- La notion d'utilité

• 3- Apprentissage des fonctions d'utilité en environnement connu

• 4- Univers inconnu : méthodes de différences temporelles


– Principes
– Méthode du Q-Learning
– Extension à plusieurs pas : le TD-Learning

• 5- La généralisation dans l'apprentissage par renforcement

• 7- Exemples d’applications

• 8- Bilan et perspectives
Apprentissage par renforcement 3
A. Cornuéjols

1.1 Introduction : schéma


général

Environnement

Action

Perception

Récompense
Apprentissage par renforcement 4
A. Cornuéjols

1.2 Introduction : Les notations de


base
• Temps discret: t

• États : st  S

• Actions : at  A(st)

• Récompenses : rt  R(st)

• L’agent : st  at

• L’environnement :(st,at)  st+1, rt+1


• Politique : t : S  A , R
 Avec t(s,a ) = Prob que at = a si st = s

• Les transitions et récompenses ne dépendent que de l’état et de l’action


précédents : processus Markovien
Apprentissage par renforcement 5
A. Cornuéjols

1.2 Introduction : Eléments de


base
• Politique :
ensemble d’associations situation  action (une application)
Une simple table ... un algorithme de recherche intensive
Eventuellement stochastique

• Fonction de renforcement :
 Définit implicitement le but poursuivi
 Une fonction : (état, action)  récompense 

• Fonction d’évaluation V(s) ou Q(s,a) :


 Récompense accumulée sur le long-terme

• Modèle de l’environnement :
 Fonctions T et R : (état(t), action) (état(t+1), récompense)
Apprentissage par renforcement 6
A. Cornuéjols

2- La notion
d'utilité

Principe :

• Choisir une action sans avoir besoin de faire une


exploration (simulée) en avant

• Il faut donc disposer d’une fonction d’évaluation locale résumant une


espérance de gain si l’on choisit cette action : fonction d’utilité

• Il faut apprendre cette fonction d’utilité : apprentissage par


renforcement
Apprentissage par renforcement 7
A. Cornuéjols

2- Notion d’utilité. Exemple : Tic-Tac-Toe

X X X X X O X X O X
X O X O X O X O X O X O X
O O O O X

V(s1) V(s3) } x’s coup


x

...
x

V(s2) x
} o’s coup
x o
... ... o

x
... o x

x
} x’s coup
... ... ... ... ...
} o’s coup

La fonction d’utilité une fois apprise } x’s coup


permet de jouer sans exploration de
l’arbre de jeu x o
x
x o
8
A. Cornuéjols

2- Fonctions d'utilité : V(s) et


Apprentissage par renforcement

Q(s,a)
• La valeur d’un état est l’espérance de gain en partant de cet état. Elle
dépend de la politique de l’agent :
State - value function for policy π :
⎧∞ k ⎫
V (s) = Eπ {Rt st = s} = Eπ ⎨∑ γ rt +k +1 st = s⎬
π

⎩k =0 ⎭

• La valeur d’une action dans un état sous la politique  est


l’espérance de gain en partant de cet état, en choisissant cette action et
en suivant ensuite la politique  :

Action - value function for policy π :


⎧∞ k ⎫
Q (s, a) = Eπ {Rt s t = s, at = a} = Eπ ⎨∑γ rt + k +1 s t = s,at = a ⎬
π

⎩k = 0 ⎭
Apprentissage par renforcement 9
A. Cornuéjols

2- Fonctions d'utilité : V(s) et Q (s,a)

Vπ(s) s

r
s’
Vπ(s’)
10
A. Cornuéjols

2- Ordre sur les politiques et politique


Apprentissage par renforcement

optimale
• Pour les MDPs finis,  ! relation d’ordre partiel sur les politiques:
π π′
π ≥ π ′ if and only if V (s) ≥ V (s) for all s ∈S

• Il existe toujours au moins une politique (et peut-être plusieurs) meilleure ou égale à
toute autre politique. Une telle politique est optimale et notée *.

• Les politiques optimales partagent la même fonction d’utilité optimale sur les états :
∗ π
V (s) = max V (s) for all s ∈S
π

• Les politiques optimales partagent aussi la même fonction d’utilité optimale sur les
(état-action) :
∗ π
Q (s,a) = max Q (s, a) for all s ∈S and a ∈A(s)
π
Apprentissage par renforcement 11
A. Cornuéjols

2. Utilisation : avec la fonction d’utilité


V*(s)
• Une politique est une application  : S  A

• Valeur optimale d’un état :


⎛∞ ⎞
V * (s) = max Vπ (s) = max E π ⎜
π π ⎜∑ γ r⎟
t t

⎝t = 0 ⎠
• La fonction de valeur optimale V* est unique


• Une politique stationnaire optimale existe :
Apprentissage par renforcement 12
A. Cornuéjols

2. Utilisation : avec la fonction d’utilité


Q*(s,a)
• Fonction d’évaluation d’action Q(s,a)

• Valeur optimale d’une action (dans un état) :


Q* (s,a) = max Qπ (s,a) = E{rt +1 + γV * (st +1 ) st = s,at = a}
π

• Théorème :

π * (s ) = arg max Q * (s, a) est une politique optimale


a
Apprentissage par renforcement 13
A. Cornuéjols

3-1. Programmation dynamique : Évaluation de


politique

Évaluation de politique : Pour une politique donnée , calculer la


fonction d’utilité d’état V(s) :

Rappel : State - value function for policy π :


⎧∞ k ⎫
V (s) = Eπ {Rt st = s} = Eπ ⎨∑ γ rt +k +1 st = s⎬
π

⎩k =0 ⎭
π
Bellman equation for V :
V π (s) = ∑ π (s,a)∑ Psas′ [ Rsas′ + γ V π ( s′ )]
a s′

— a system of S simultaneous linear equations


Apprentissage par renforcement 14
A. Cornuéjols

3-1. PD : Évaluation itérative d’une


politique

Principe : l’équation de point fixe de Bellman peut fournir


en une procédure itérative d’approximation successive
de la fonction d’utilité V .

Vk +1 (s) ← ∑ π (s,a)∑ Psas′ [ Rsas′ + γ Vk (s′ )]


a s′

π
V0 → V1 → L → Vk → Vk +1 → L → V
une “propagation”
Apprentissage par renforcement 15
A. Cornuéjols

3-1. PD : Algorithme d’évaluation itérative d’une


politique
Apprentissage par renforcement 16
A. Cornuéjols

4. Environnement inconnu : Différences temporelles

Soit la méthode d’estimation par moyennage :


La moyenne des premiers k renforcements r1 + r2 + L rk
est (en ignorant la dépendance sur a ): Qk =
k

Peut-on faire le même calcul incrémentalement ?

1
Oui : Qk +1 = Qk + [ rk +1 − Qk ]
k +1

Règle classique d’amélioration :

NouvelleEstimation = AncienneEstimation + Pas[Cible – AncienneEstimation]


Apprentissage par renforcement 17
A. Cornuéjols

4-1. TD learning : évaluation par méthode des différences


temporelles

Évaluation de politique :
π
pour une politique donnée , calculer la fonction d’utilité V

Simple every - visit Monte Carlo method :


V(st ) ← V(st ) + α [ Rt − V (st )]

cible: le vrai gain sur une durée t

The simplest TD method, TD(0) :


V(st ) ← V(st ) + α [rt +1 + γ V (s t+1 ) − V(st )]

cible: une estimation du gain


Apprentissage par renforcement 18
A. Cornuéjols

4-1. TD learning : Simple Monte


Carlo
V(st ) ← V(s t ) + α [ Rt − V (st )]
where Rt is the actual return following state s t .
st

T
T T TT T T

TT T TT T TT
Apprentissage par renforcement 19
A. Cornuéjols

4-1. TD learning : Simplest TD


Method
V(st ) ← V(s t ) + α [rt +1 + γ V (s t+1 ) − V(st )]
On met à jour
st incrémentalement
par ré-estimations
successives et locales
rt +1
st +1

T TT TT T T

T T
T TT T TT
Apprentissage par renforcement 20
A. Cornuéjols

4-1. TD learning : cf. Dynamic


Programming

V(st ) ← Eπ {rt +1 + γ V(st )} On calcule l’espérance.


Mais il faut connaître
st l’environnement a priori.

rt +1
st +1

T TT T T T

TT T T T T
Apprentissage par renforcement 21
A. Cornuéjols

4-1. TD learning : algo d’évaluation par différences temporelles

Initialisation :
 politique à évaluer
V une fonction arbitraire d’évaluation

Répéter (pour chaque pas de l’épisode) :


a action préconisée par  pour s
Faire a; recevoir r; voir état suivant s’
V(s) V(s) +  [r + V(s’) - V(s)]
s  s’
jusqu’à s terminal
Apprentissage par renforcement 22
A. Cornuéjols

3-2. PD : Comment améliorer une politique

Relation d’ordre sur les politiques :


Soient  et ’ deux politiques déterministes, tq s  E :
π π
Q (s,π' (s)) ≥ V (s) (1)

Alors la politique ’ est au moins aussi bonne que  :


π' π
V (s) ≥ V (s)

 Si l’on trouve une modification ’ de la politique 


vérifiant l’inégalité (1), alors on obtient une meilleure
politique
Apprentissage par renforcement 23
A. Cornuéjols

3-3. PD : Amélioration de
politique
π
Supposons fait le calcul de V pour une politique déterministe .

Pour un état donné s,


serait-il meilleur de faire l’action a ≠ π(s) ?

L’utilité de l’action a dans l’état s est :

Qπ (s,a) = Eπ {rt +1 + γ V π (st +1 ) s t = s, at = a}


= ∑ Psas′ [Rsas′ + γ V π (s ′ )]
s′

Il est préférable de choisir l’action a dans l’état s si :


Qπ (s, a) > V π (s)
Apprentissage par renforcement 24
A. Cornuéjols

3-3. PD : Amélioration de politique


Cont.

Il suffit de faire cela pour tous les états pour obtenir une nouvelle
politique ’ qui est gloutonne par rapport à V :

π ′ (s) = argmax Qπ (s,a)


a

= argmax ∑ Psas ′ [ Rsas ′ + γ V π (s′ )]


a
s′

 Alors V ≥ V
Apprentissage par renforcement 25
A. Cornuéjols

3-3. PD : Amélioration de politique


(Cont.)

What if V π ′ = V π ?
i.e., for all s ∈S, V π ′ (s) = max ∑ Psas′ [Rsas′ + γ V π (s ′ )] ?
a
s′

But this is the Bellman Optimality Equation.


So V π ′ = V ∗ and both π and π ′ are optimal policies.
Apprentissage par renforcement 26
A. Cornuéjols

3-3. PD : Itération de
politique

E A E A E A
π0 π1 * * *
π0 → V → π1 → V → L π → V → π

Évaluation Amélioration de politique


de politique “gloutonne”
27
A. Cornuéjols

3-3. Algorithme d’itération de


Apprentissage par renforcement

politique

Initialisation arbitraire de 
Faire
calcul de la fonction de valeur avec 

V π (s) = R(s,π (s))+ γ ∑ T(s,π (s),s')V π (s')


s'∈S
Amélioration de la politique à chaque état
⎛ ⎞
π ' (s ) ← max ⎜⎜ R(s, a) + γ ∑ T(s, a, s' )V π (s' )⎟⎟
a
⎝ s' ∈S ⎠
’ := 
jusqu’à ce qu’aucune amélioration ne soit possible

 Garantie de convergence vers une politique optimale


Apprentissage par renforcement 28
A. Cornuéjols

3-3. PD : Policy
Iteration
29
A. Cornuéjols

3-3. PD : Itération généralisée de


Apprentissage par renforcement

politique
Generalized Policy Iteration (GPI):
Toute interaction d’étape d’évaluation de politique et d’étape
d’amélioration de politique indépendamment de leur granularité :

Métaphore géométrique pour


La convergence de GPI :
Apprentissage par renforcement 30
A. Cornuéjols

4-1. TD learning : Learning An Action-Value Function


Q(s,a)

Estimate Qπ for the current behavior policy π.

After every transition from a nonterminal state st , do this :


Q(st , at ) ← Q( st , at ) + α [rt +1 + γ Q(st +1 ,at +1 ) − Q(st ,at )]
If st +1 is terminal, then Q(st +1, at +1 ) = 0.
Apprentissage par renforcement 31
A. Cornuéjols

4-2. TD learning : Q-
Learning

One - step Q - learning :

Q (st , at ) ← Q( st , at ) + α [rt +1 + γ max Q (s t+1 , a) − Q (st , at )]


a
Apprentissage par renforcement 32
A. Cornuéjols

4-2. Rappel : Le dilemme exploitation vs.


exploration

Bras A1 Bras A2

Jeto n
2 4

Quelle politique pour maximiser le gain avec 1000 tirages ?


Apprentissage par renforcement 33
A. Cornuéjols

4-2- Sélection d’action -gloutonne

 Sélection d’action gloutonne :

*
at = a = arg max Qt (a)
t
a

 -gloutonne :

at* with probability 1 − ε


at =
{ random action with probability ε

. . . La manière la plus simple de pondérer l’exploration et l’exploitation


34
A. Cornuéjols

4-2- Sélection d’action


Apprentissage par renforcement

Softmax
• Softmax action selection methods grade action probs. by estimated
values.

• The most common softmax uses a Gibbs, or Boltzmann,


distribution:

Choose action a on play t with probability


Qt (a) τ
e
n ,
∑ b=1
e Qt (b) τ

where τ is the
“computational temperature”
Apprentissage par renforcement 35
A. Cornuéjols

4-3. L’apprentissage Q (Q-


learning)

• Idée [Watkins,89] : Estimer les valeurs Q “en-ligne”, en trouvant à la


fois la politique et la fonction d’évaluation d’action :

⎛ ⎞
Q(s, a ) ← (1−α ) Q (s,a) + α ⎜r + γ maxQ (s',a')⎟
⎝ a' ⎠

MAJ à chaque fois que l’action a est prise dans s.

• Théorème : Si chaque action est exécutée un nombre infini de fois dans


chaque état, les valeurs Q calculées convergent vers Q*, conduisant à
une politique optimale.
36
A. Cornuéjols

4-3. Exemple
Apprentissage par renforcement

(1/4)
r(s,a)
r(s,a) récompense
récompenseimmédiate
immédiate

0 100
But
0 0
0 0
0 0 100
0 0

0 0

• Rq: La dernière étape assure la récompense (jeux, monde des


blocs, etc.)
• Tâche: apprendre la meilleure stratégie
37
A. Cornuéjols

4-3. Exemple
Apprentissage par renforcement

(2/4)

• 
On définit la récompense cumulée V (st) = ∑γ r
t =0
t
t

v
π
• Le problème: trouver π * = argmax( (s))
π

90 100
But
0

81 90 100

V*(s)=V*(s)
V*(s)=V*(s) récompense
récompensecumulée
cumuléeoptimale
optimale
38
A. Cornuéjols

4-3. Exemple
Apprentissage par renforcement

(3/4)
• La fonction Q est définit comme étant LA fonction qui résume en
UN nombre toute l’info nécessaire sur le gain cumulé d’une
action a, prise dans l’état s.

Q(s,a)
Q(s,a)

90 100
But
81 0
72 81
81 90 100
81 90

72 81
39
A. Cornuéjols

4-3. Exemple
Apprentissage par renforcement

(4/4)
^
On Prend  =1. 72
Q(s,a)
100

63
81

∧ ∧
Q(s,a )← r + γ maxQ(δ (s,
a),
a'))
a'
adroite
← 0 + 0.9 max{63,81,100}} 90
^
Q(s,a)
90 100

← 90 63
81
40
A. Cornuéjols

5. Apprentissage avec
Apprentissage par renforcement

généralisation
• Si l’espace S (ou S x A) est trop important pour l’utilisation d’une
table mémorisant les prédictions

• Deux options :
 Utilisation d’une technique de généralisation dans l’espace S ou l’espace
SxA (e.g. réseau de neurones, ...)

 Utilisation d’une technique de regroupement d’états en classes d’équivalence


(même prédiction et même action générée).
Apprentissage par renforcement 41
A. Cornuéjols

5. Généralisation : Approximation de la fonction


V(s)

Comme avant : Évaluation de politique :


π
pour une politique donnée , calculer la fonction d’utilité V

Mais avant, les fonctions d’utilité étaient stockées dans des tables.

Maintenant, l' estimation de la fonction d' utilité au temps t, Vt ,


r
dépend d' un vecteur de paramètres θt , et seul ce vecteur de
paramètres est mis à jour.
r
e.g., θ t pourrait être le vecteur de poids de
connexions d' un réseau de neurones.
Apprentissage par renforcement 42
A. Cornuéjols

5. Généralisation : Backups as Training


Examples

e.g., the TD(0) backup :


V(st ) ← V(st ) + α [rt +1 + γ V(st +1 ) − V(s t )]

As a training example:

{description of s t , rt +1 + γ V (st+1 )}

input target output


Apprentissage par renforcement 43
A. Cornuéjols

5. Généralisation : n’importe quelle méthode


inductive ?

• En principe, oui :
 Réseaux de neurones artificiels
 Arbres de décision
 Méthodes de régression multivariées
 etc.

• Mais l’App. par R. a des exigences particulières :


 Apprendre tout en agissant
 S’adapter à des mondes non stationnaires
 Autre ?
44
A. Cornuéjols

6. Some Notable RL
Apprentissage par renforcement

Applications

• TD-Gammon: Tesauro
– world’s best backgammon program

• Elevator Control: Crites & Barto


– high performance down-peak elevator controller

• Inventory Management: Van Roy, Bertsekas, Lee&Tsitsiklis


– 10–15% improvement over industry standard methods

• Dynamic Channel Assignment: Singh & Bertsekas, Nie & Haykin


– high performance assignment of radio channels to mobile telephone calls
45
A. Cornuéjols

6. TD-
Apprentissage par renforcement

Gammon
Tesauro, 1992–1995

Value Action selection


by 2–3 ply search

TD error
V t+1 −Vt

Start with a random network


Play very many games against self
Learn a value function from this simulated experience

This produces arguably the best player in the world


Apprentissage par renforcement 46
A. Cornuéjols

6. Réalisations : TD
Gammon

Tesauro 1992, 1994, 1995, ...

• White has just rolled a 5 and a 2 so


can move one of his pieces 5 and one
(possibly the same) 2 steps

• Objective is to advance all pieces to


points 19-24

• Hitting
• Doubling
• 30 pieces, 24 locations implies
enormous number of configurations

• Effective branching factor of 400


Apprentissage par renforcement 47
A. Cornuéjols

6. Réalisations : A Few
Details

• Reward: 0 at all times except those in which the game is won,


when it is 1

• Episodic (game = episode), undiscounted


• Gradient descent TD() with a multi-layer neural network
 weights initialized to small random numbers
 backpropagation of TD error
 four input units for each point; unary encoding of number of white
pieces, plus other features

• Use of afterstates
• Learning during self-play
Apprentissage par renforcement 48
A. Cornuéjols

6. Réalisations : Multi-layer Neural


Network
Apprentissage par renforcement 49
A. Cornuéjols

6. Réalisations : Summary of TD-Gammon


Results
Apprentissage par renforcement 50
A. Cornuéjols

7. Bilan : trois idées


principales

1. La passage par des fonctions d’utilité

2. La rétro-propagation de ces valeurs le long de


trajectoires réelles ou simulées

3. Itération généralisée de politique : (i) calculer


continuellement une estimation de la fonction d’utilité
optimale et (ii) chercher une politique optimale grâce à
cette estimation, qui, en retour, s’adapte en conséquence
Apprentissage par renforcement 51
A. Cornuéjols

7. Bilan : Frontier
Dimensions
• Prove convergence for bootstrapping control methods.
• Trajectory sampling
• Non-Markov case:
 Partially Observable MDPs (POMDPs)
– Bayesian approach: belief states
– construct state from sequence of observations
 Try to do the best you can with non-Markov states

• Modularity and hierarchies


 Learning and planning at several different levels
– Theory of options
Apprentissage par renforcement 52
A. Cornuéjols

7. Bilan : More Frontier


Dimensions
• Using more structure
 factored state spaces: dynamic Bayes nets

 factored action spaces


Apprentissage par renforcement 53
A. Cornuéjols

7. Bilan : Still More Frontier


Dimensions
• Incorporating prior knowledge
 advice and hints
 trainers and teachers
 shaping
 Lyapunov functions
 etc.
54
A. Cornuéjols

Sources
Apprentissage par renforcement

documentaires
• Ouvrages / articles
 Sutton & Barto (98) : Reinforcement Learning : an introduction. MIT Press,
1998.
 Kaelbling L.P. (93) : Learning in embedded systems. MIT Press, 1993.
 Kaelbling, Littman & Moore (96) : Reinforcement learning : A survey. Journal
of Artificial Intelligence Research, 4:237-285.

• Sites web
 http://http://www-anw.cs.umass.edu/~rich/RL-FAQ.html

(FAQ maintenue par Rich Sutton et point d’entrée pour de nombreux sites)

Vous aimerez peut-être aussi