SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Apprentissage par renforcement :
Généralités
Mwamba Bakajika Stany
mwambastany@gmail.com
21 novembre 2020
Résumé
Apprentissage par interaction est une idée fondamentale que sous-tend un grand
nombre de théories sur l’intelligence et l’apprentissage. Cette interaction avec l’environ-
nement permet de réaliser un ensemble d’informations sur les causes et effets des actions
afin d’atteindre les objectifs poursuivis. C’est de cette forme d’apprentissage qu’est tiré
l’Apprentissage par Renforcement.
Le but de ce document est de fournir une introduction à l’Apprentissage par Renfor-
cement à un niveau facile à comprendre. Par ce dernier nous présentons le formalisme,
les principaux algorithmes et leurs performances, une implémentation de base, et les dif-
férentes applications sur l’Apprentissage par Renforcement.
1
Table des matières
1 Introduction 3
2 Concepts de base 4
3 Formalisme 4
3.1 Interface agent/environnement . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2 Récompense et buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Retour attendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4 Tâches épisodiques et continues . . . . . . . . . . . . . . . . . . . . . . . . 5
3.5 Facteur de dépréciation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 Algorithmes d’apprentissage par renforcement 6
4.1 Méthode de Monte-Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1.2 Évaluation d’une politique π par Monte-Carlo . . . . . . . . . . . . 6
4.2 TD-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.1 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2 Prédiction TD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Q-learing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4 Sarsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.5 Dyna-Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.6 Prioritized sweeping (PS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.7 Deep Q-Network :DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5 Méthode d’approximation des fonctions de valeur 20
5.1 Méthode tabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 Méthodes paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.1 Méthodes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2.2 Approximation non-linéaire . . . . . . . . . . . . . . . . . . . . . . 23
6 Implémentation :"Gridworld" 23
6.1 Méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.2 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7 Performance 25
7.1 Monte-Carlo et TD-Learning . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.2 TD-Learning et Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.3 Q-Learning et Sarsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.4 Dyna-Q et Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.5 Dyna-Q et Prioritized sweeping . . . . . . . . . . . . . . . . . . . . . . . . 26
8 Application 26
9 Conclusion 27
2
1 Introduction
L’un des problèmes majeurs de tout être naturel ou artificiel est celui de l’adaptation
à son environnement. Pour les êtres naturels, le processus d’adaptation est très complexe,
ce dernier subit parfois des modifications physiques et change son comportement soit en
développant des nouvelles aptitudes soit en raffinant d’autres.
Pour les êtres artificiels, des nombreuses théories d’adaptation ont été développées
telles que les théories de contrôle et les théories d’intelligence artificielle qui se sont mon-
trées plus performantes et plus proches de celles des êtres naturels.
L’apprentissage par renforcement est une des méthodes d’apprentissage artificiel basée
sur deux disciplines à savoir l’apprentissage supervisé et la programmation dynamique.
La programmation dynamique est une branche de la mathématique qui a été ancienne-
ment utilisée pour résoudre les problèmes d’optimisation et de contrôle[SB18]. Cependant
la traditionnelle programmation dynamique est limitée en taille et en complexité de pro-
blèmes auxquels elle s’adresse. L’apprentissage supervisé quant à lui, c’est une méthode
d’apprentissage basée sur des ensembles de connaissances de sortie et d’entrée dont le
but est d’entraîner l’agent à déterminer (ou estimer pour certains cas) les sorties pour
n’importe quelles entrées prises en charge.
L’idée de l’apprentissage par renforcement est née du processus de décision de Markov
(PDM) où le passage d’un état à un autre est défini par une probabilité de transition.
Contrairement au PDM, pour l’apprentissage par renforcement ce passage est défini par
d’autres principes que la probabilité et l’état du système, ceux-ci ne suffisent plus car
l’action liée à cet état est maintenant un paramètre de plus dans la prise de décision.
Dans le but d’amélioration, le domaine de l’apprentissage par renforcement fait égale-
ment appel à d’autres disciplines dont nous donnons en résumé un schéma illustrant son
interaction à d’autres disciplines.
Figure 1 – Place de l’apprentissage par renforcement | Source :[Sin]
3
2 Concepts de base
Avant d’aller plus loin et pour des raisons introductives, il nous est nécessaire de
présenter quelques concepts de base[HH, SB18] que nous emploierons le plus souvent.
• Politique : Elle détermine l’action à prendre dans chaque état.
• Valeur d’état V π(so) : C’est la somme de récompenses reçues dans un épisode en
commençant par cet état (so) suivant une politique π. Et V π représente la fonction
de valeur d’état en anglais "state-value function", elle permet d’évaluer la valeur
d’un état c’est-à-dire combien est bon pour un agent d’être dans un état donné ;
nous en parlerons en détails un peu plus loin.
• Valeur d’action Qπ(ao) 1 : C’est la moyenne de récompense reçue lorsque l’action
(ao) est choisie. Qπ est la fonction de valeur d’action, "action value function" en
anglais.
• Épisode : C’est la succession d’états.
3 Formalisme
3.1 Interface agent/environnement
Figure 2 – Schéma d’un agent en interaction avec l’environnement | Source :[SB18]p48
Basé sur le PDM (Processus de Décision de Markov), le temps est discrétisé en pas de
temps t ∈ N+. Dans un état st ∈ S 2 , l’agent émet l’action at ∈ A(st) 3 et cette action
est choisie par l’agent selon sa politique courante πt
4.
En retour , il reçoit de l’environnement une récompense immédiate rt+1 ∈ R et trouve
lui-même son nouvel état st+1 ∈ S.
3.2 Récompense et buts
Les récompenses sont déterminées par l’ environnement ; à chaque pas de temps, l’agent
reçoit une récompense immédiate rt ∈ R. L’objectif de l’agent est de maximiser le cumul
des récompenses obtenues à long terme et ces signaux de récompense formalisent la notion
de but ou d’objectif. Par exemple, la récompense peut être égale à −1 si l’agent est dans
une zone non appropriée dans le cas d’un agent en mouvement.
3.3 Retour attendu
Dans ce contexte, l’interaction de l’agent est découpée en en sous-sequence appelée
«épisodes» et un épisode est une succession des états. Le temps est découpé en pas de
1. V π et Qπ sont communement appelés fonction de valeur [SB18]p58
2. S est l’ensemble d’etat
3. A(st) est l’ensemble des actions disponibles à partir de st
4. En PDM πt(s, a) ∈ [0, 1] est la probabilité qu’à l’instant t , l’agent choisisse l’action a dans l’état s, et
cette derniere (action) est choisie si sa probalilité est élévée.
4
temps à chaque pas de temps, l’agent est dans un état St. Retour attendu est cumul donc
la somme des récompenses obtenues à partir d’un instant t.
Ce Retour vaut :
Rt = rt+1 + rt+2 + rt+3 + ... + rT
où T est l’instant final ; il correspond à l’instant à l’état final.
3.4 Tâches épisodiques et continues
Les tâches qui peuvent être découpées en épisodes sont des tâches épisodiques Quand
ce n’est pas possible, on parle de tâches continues. Dans ce cas,l’instant final serait alors
T = ∞. Et le retour Rt pourrait être infini ; pour le borner, on introduit la notion de
retour déprécié. Il est donné par :
Rt = rt+1 + γrt+2 + γ2
rt+3 + ... =
∞
k=0
γk
rt+k+1
où γ ∈ [0, 1] est le facteur de dépréciation (nous en parlons au paragraphe suivant).
3.5 Facteur de dépréciation
La récompense prenant en compte le facteur de dépréciation est donnée par :
Rt =
∞
k=0
γk
rt+k+1
.
γ permet de régler l’importance accordée aux récompenses futures vis-à-vis des ré-
compenses immédiates. Plus une récompense rt+k+1 est lointaine dans le futur, plus k est
grand et moins son poids est important ; le plus souvent, on choisit γ ∈]0, 1[[Gé08a] .
Si γ = 0 , les récompenses futures sont ignorées et seules les récompenses immédiates
comptent (Rt = rt+1).
Si γ = 1 , les récompenses futures comptent autant que les récompenses immédiates
(Rt =
∞
k=0
rt+k+1).
Si γ = 0.5 , la considération est à moitié.
C’est sur base de ce formalisme que les algorithmes d’apprentissage reposent, plusieurs
exemples de compréhension de ce dernier(formalisme) sont donnés dans [SB18]|p51-p56.
Nous présentons aux points suivants les principaux algorithmes d’apprentissage par
renforcement et leurs différentes méthodes d’approximation.
5
4 Algorithmes d’apprentissage par renforcement
Algorithme 1 Fonctionnement général d’un algorithme d’apprentissage par
renforcement
L’apprentissage par renforcement peut se résumer aux étapes
suivantes[BB] :
1: Initialisation du système d’apprentissage
2: boucler
3: Système dans un état s ;
choisir une action a selon la plage d’exploration et l’appliquer au système.
4: Le système renvoie une récompense r.
5: Utiliser l’expérience pour mettre à jour le système d’apprentissage.
6: passer à l’état suivant
s ← s’
7: fin de la boucle
4.1 Méthode de Monte-Carlo
4.1.1 Introduction
La méthode de Monte-Carlo 5 associe l’idée de la programmation dynamique à l’idée
de Monte-Carlo. L’idée de Monte-Carlo consiste à effectuer des simulations au hasard, à
retenir les résultats des simulations et à calculer des moyennes de résultats.
Cette stratégie est adaptée lorsque l’on ne connaît pas le modèle du domaine (les
probabilités de transitions et les retours du PDM 6). C’est une stratégie simple. Il faut
que les tâches de l’agent soient décomposées en épisodes, et un épisode correspondra à
une simulation[Bou10].
4.1.2 Évaluation d’une politique π par Monte-Carlo
L’évaluation d’une politique est tout simplement l’évaluation de la fonction de valeur
d’état V π ou d’action Qπ.
4.1.2.1 Estimation de Monte-Carlo des valeurs d’état
On suppose la politique π donnée et on cherche à l’évaluer avec la fonction de valeur
d’état V π.
V π
(s) = E[
k−1
k=0
rπ
(sk)|s0 = s; π] (1)
, où k est l’indice d’un état.
5. Le terme «Monte-Carlo» date de 1940, quand les scientifiques (physicients et mathematiciens), notamment
John Von Neumann, Stanislaw Ulam et Nicolas Metropolis, à Los Alamos dans le laboratoire national,
invente les jeux de chance générant les variations aléatoires qui leurs permettaient de comprendre et d’etudier
les phenomenes physiques complexes relatifs à l’atome d’Hydrogène pour la bombe dans le projet d’armement
nucleaire Manhattan [T.T13],[SB18]-p116. D’abord elaborée pour la conception des bombes thermonucléaires,
elle s’est révélée féconde, utilisable jusqu’au domaine météorologique. La méthode se présentait à mis-chemin
entre théorie et expérience,et également était mobilisée pour simuler les comportements des hommes [PGG+
06]-
p350.
6. PDM :Processus de décision Markovien
6
La stratégie consiste à lancer des épisodes dans lesquels l’agent utilise la politique π.
En d’autres termes on génère n trajectoires (si
0 = s, si
1, ..., si
ki
= 0)i≤n à partir d’un état
initial x.
Dans un épisode, pour chaque état, on enregistre le résultat de l’épisode (Cette action
est répétée pour chaque épisode). Enfin, la valeur d’état V (s) est la moyenne des résultats
enregistrés de chaque épisode.
Vn(s) =
1
n
n
i=1
[rπ
(si
0) + rπ
(si
1) + ... + rπ
(si
ki−1)] (2)
V (s) converge vers V π(s), démontré par la loi de grands nombres stipulant que l’écart-
type autour de la moyenne décroît en 1/n1/2 (où n est le nombre de résultats moyennés) 7
[GS01, Mon20].
La trajectoire (s0, s1, s2, ..., sK) contient toute sous-trajectoire (sk, sk+1, ..., sK), donc
la somme rπ(sk) + ... + rπ(sK−1) fournit un estimateur de V π(sk). Donc une seule trajec-
toire peut fournir un estimateur pour tous les V π(sk).
Il est possible qu’un état soit visité plusieurs fois, étant donné que les trajectoires sont
générées aléatoirement. Si c’est le cas (un état s est visité plusieurs fois au cours d’une
même trajectoire), alors la moyenne sera biaisée. C’est ainsi que nous distinguons deux
méthodes de Monte-Carlo à savoir :
• Monte-Carlo à chaque visite : Les sous trajectoires issues de s sont dépendantes
car portions d’une même trajectoire. De plus, le nombre d’échantillons de récompense
accumulée est une variable aléatoire, leur moyenne peut être biaisée. Alors, cette mé-
thode de MC peut s’étendre plus naturellement aux fonctions d’approximation et
approches d’éligibilité.
• Monte-Carlo à première visite : On ne considère que la première sous-trajectoire
visitant s. Cet estimateur est non-biaisé, mais on ne dispose que d’une réalisation.
Algorithme 2 Monte-Carlo à valeur d’état
1: Entrée : π //politique à évaluer
2: Initialisation
3: V (s) ∈ R, arbitrairement pour tout s ∈ S //V(s) fonction de valeur d’état
4: Retour(s) ← une liste vide pour tout s ∈ S
5: boucler
6: Générer une épisode suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT
7: G ← 0
8: //t pas de l’épisode
9: pour t = T − 1, T − 2, ..., 0 faire
10: G ← γG + Rt+1
11: si St ∈ {S0, S1, ..., St−1} : alors
12: Ajouter G au Retour(St)
13: V (St) ← Moyenne(Retour(St))
14: fin du si
15: fin pour
16: fin de la boucle
On démarre d’un état et on effectue une série de transitions conduisant à un état final
où le résultat est la somme des récompenses reçues pendant l’épisode. Ce résultat est
enregistré dans l’état de départ pour servir au calcul de la moyenne.
7. Autrement, la dispersion de la variable aléatoire moyenne diminue au fur et à mesure que la taille de
l’échantillon n augmente. Si l’échantillon devient plus grand, le nombre de situations pouvant donner des valeurs
proches de l’espérance augmente (E[Mn(X)] = E[X]).
7
Le processus de passage d’un état à un autre peut être modélisé par un diagramme
appelé «diagramme backup»
Figure 3 – Diagramme backup
Dans cette méthode, la valeur d’un état est indépendante de la valeur d’un autre état
voisin. En ce sens, on dit que la méthode de Monte-Carlo ne "bootstrap" pas contrairement
à la programmation dynamique. Par ailleurs on voit que le coût de cette méthode ne
dépend que de la longueur des épisodes. Et que l’on peut estimer les valeurs d’états d’un
sous-ensemble de l’espace des états, si seul ce sous-ensemble nous intéresse, et ignorer
complètement les autres états[Bou10, SB18].
Connaissant le modèle, les valeurs d’état sont suffisamment optimales pour déterminer
une politique ; on regarde tout simplement une étape et on choisit celle qui conduit à la
meilleure combinaison récompense-état suivant.
Cependant, quand le modèle n’est pas connu(càd sans modèle), l’évaluation de la
politique par Valeur d’état n’est pas suffisante. Il faut explicitement estimer la valeur de
chaque action afin que ces valeurs soient utiles dans la suggestion d’une politique, d’où la
raison d’être de la méthode de Monte-Carlo à estimation de valeur d’action Q.
4.1.2.2 Estimation de Monte-Carlo des valeurs d’action
Si le modèle n’est pas disponible, il est particulièrement utile d’estimer les valeurs d’ac-
tion (les paires valeurs d’état-action) plutôt que les valeurs d’état seulement. Le problème
d’évaluation de politique pour les valeurs d’action consiste à estimer Q(s, a), retour at-
tendu en commençant par l’état s, en prenant une action a suivant la politique π.
Comme pour celle basée seulement sur les valeurs d’état (le point précèdent), l’estima-
tion de Monte-Carlo des valeurs d’action existe également sous deux types : Monte-Carlo
à Première visite et Monte-Carlo à plusieurs visites.
Contrairement à l’estimation des valeurs d’état, la visite avec l’estimation des valeurs
d’action est effectuée aux paires état-action (s, a) avec quelques considérations à prendre
avant d’effectuer cette dernière (visite) ; nous en parlerons aux prochains sous-paragraphes.
4.1.2.2.1 Exploration et Exploitation
Étant donné qu’un état peut disposer de plusieurs actions, si la politique π est déter-
ministe il est possible que d’autres paires action-état ne puissent être visitées c’est-à-dire
on ne visite qu’une seule action (la concernée) pour chaque état. Cela entraîne que les
estimations de Monte-Carlo pour d’autres actions ne s’amélioreront pas avec l’expérience,
un sérieux problème pour l’exploitation car l’objectif d’apprentissage à valeur d’action est
d’aider à choisir une action parmi les actions disponibles dans chaque état.
Pour que l’estimation des valeurs d’action marche avec une politique déterministe, il
faut absolument maintenir un bon niveau d’exploration au départ et assurer la continuité
de l’exploration.
8
La solution est que les épisodes commencent par les paires état-action avec une pro-
babilité non-nulle et que chaque paire état-action doit être visitée une infinité de fois
pour un nombre infini d’épisodes. Ce mécanisme est appelé «hypothèse de démarrage
d’exploration» (en anglais assumption of Exploring start). Cette hypothèse n’est utile
qu’avec une politique et un environnement déterministe, en plus l’apprentissage avec une
interaction directe avec cet environnement n’est pas nécessaire. Si la politique est sto-
chastique, et où il faudrait un apprentissage par interaction direct avec l’environnement,
l’hypothèse ES n’est pas nécessaire. L’alternative serait de considérer les paires état-action
avec une probabilité non-nulle.
De tout ce qui précède, nous savons que l’agent apprend en parcourant les épisodes
générés et choisit son action et/ou son état suivant une politique π. Une question se pose :
comment améliorer cette façon de choisir (optimiser le choix), bref comment améliorer
cette politique π ? La réponse à cette question est le contrôle de Monte-Carlo dont nous
parlons au point suivant.
4.1.2.2.2 Contrôle de Monte-Carlo
Le contrôle Monte-Carlo correspond à un processus alternant une amélioration de po-
litique et une évaluation de celle-ci(politique) comme le montre la figure ci-dessous.
Figure 4 – Contrôle de MC | Source :[SB18]p97
De manière plus détaillée, on commence par une politique π0 et on choisit l’action qπ0
en suite, il s’améliore et devient qπ1 et qui conduira par la suite à une action a1, on évolue
jusqu’à atteindre la politique optimale π.
π0
E
→ qπ0
I
→ π1
E
→ qπ1
I
→ π2
E
→ ...
I
→ π∗
E
→ q∗
En combinant, l’hypothèse de démarrage et le contrôle de MC, l’évaluation de la
politique π à valeur d’action se présente de la manière suivante :
9
Algorithme 3 Monte-Carlo à valeur d’action avec hypothèse de démarrage et
contrôle de MC
1: Initialisation
2: π ∈ A(s), arbitrairement pour tout s ∈ S
3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action
4: Retour(s, a) ← une liste vide pour s ∈ S, a ∈ A(s)
5: boucler
6: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0
7: Générer une épisode partant de S0, A0 suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT
8: G ← 0
9: //t pas de l’épisode
10: pour t = T − 1, T − 2, ..., 0 faire
11: G ← γG + Rt+1
12: si (St, At) ∈ {(S0, A0), (S1, A1), ..., (St−1, At−1)} : alors
13: Ajouter G au Retour(St, At)
14: Q(St, At) ← Moyenne(Retour(St, At))
15: fin du si
16: fin pour
17: pour t = T − 1, T − 2, ..., 0 faire
18: π(St) ← argmaxa∈A(St)Q(St, a)
19: fin pour
20: fin de la boucle
Il est possible d’éviter l’hypothèse de démarrage, de ce fait, on fait recours à deux
méthodes, la méthode sur politique 8, utilisant la politique -greedy et la méthode hors
politique 9 qui n’a pas de politique cible.
8. sur politique : on-policy en anglais
9. hors politique : off-policy en anglais
10
La méthode basée sur la politique de -greedy, dans la plupart de temps, choisit l’action
ayant une valeur d’action maximale mais avec la probabilité en lieu et place de sélection-
ner l’action aléatoirement. Étant donné que dépend d’une personne à une autre, nous
présentons l’algorithme avec la politique -soft dont la politique de -greedy est un cas
particulier.
Algorithme 4 Monte-Carlo selon la politique -soft
1: Paramètre : > 0//valeur très faible
2: Initialisation
3: π ← politique − soft arbitraire
4: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action
5: Retour(s, a) ← une liste vide pour tout s ∈ S, a ∈ A(s)
6: boucler
7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0
8: Générer une épisode partant de S0, A0 suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT
9: G ← 0
10: //t pas de l’épisode
11: pour t = T − 1, T − 2, ..., 0 faire
12: G ← γG + Rt+1
13: si (St, At) ∈ {(S0, A0), (S1, A1), ..., (St−1, At−1)} : alors
14: Ajouter G au Retour(St, At)
15: Q(St, At) ← Moyenne(Retour(St, At))
16: fin du si
17: fin pour
18: pour t = T − 1, T − 2, ..., 0 faire
19: A∗
← argmaxa∈A(St)Q(St, a)
20: pour tout a ∈ A(st) :
21: π(St, a) ←



1 − +
|A(St)|
si a = A∗
|A(St)|
si a = A∗
22: fin pour
23: fin de la boucle
Pour la méthode hors politique (off-policy en anglais), cette dernière n’a pas de poli-
tique cible, il introduit la notion de l’importance de l’échantillon représentée par la variable
poids (weight en anglais) que l’on retrouve aussi dans le réseau de neurones. Nous nous
limiterons à présenter l’algorithme et sa variante (voir la page suivante). Pour plus de
détails, nous vous reportons sur [SB18]-p103-115.
11
Algorithme 5 Monte-Carlo hors politique
1: Entrée :π //politique cible arbitraire
2: Initialisation
3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action
4: C(s, a) ← 0//tableau des sommes cumulées des poids
5: boucler
6: b ← valeur arbitraire avec couverture π
7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0
8: Générer une épisode suivant :
¯
S0, A0, R1, A1, R2, ...ST−1, AT−1, RT
9: G ← 0
10: W ← 1 //poids
11: //t pas de l’épisode
12: pour t = T − 1, T − 2, ..., 0 faire
13: tant que W = 0 faire
14: G ← γG + Rt+1
15: C(St, At) ← γC(St, At) + W
16: Q(St, At) ← Q(St, At) +
W
C(St, At)
[G − Q(St, At)]
17: W ← W
π(St, At)
b(St, At)
18: fin tant que
19: fin pour
20: fin de la boucle
Algorithme 6 Monte-Carlo hors politique avec contrôle de MC
1: Entrée :π //politique cible arbitraire
2: Initialisation
3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action
4: C(s, a) ← 0//tableau des sommes cumulées des poids
5: boucler
6: b ← valeur arbitraire avec couverture π
7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0
8: Générer une épisode suivant :
¯
S0, A0, R1, A1, R2, ...ST−1, AT−1, RT
9: G ← 0
10: W ← 1 //poids
11: //t pas de l’épisode
12: pour t = T − 1, T − 2, ..., 0 faire
13: G ← γG + Rt+1
14: C(St, At) ← γC(St, At) + W
15: Q(St, At) ← Q(St, At) +
W
C(St, At)
[G − Q(St, At)]
16: π(St) ← argmaxa∈A(St)Q(St, a)
17: si At = π(St) alors
18: sortir de la boucle passer à l’épisode suivante
19: fin du si
20: W ← W
1
b(St, At)
21: fin pour
22: fin de la boucle
12
4.2 TD-learning
4.2.1 introduction
L’apprentissage TD (Temporal-Difference en français Différence Temporelle) 10, est une
association d’idées de la PD et de MC. Comme MC, TD apprend à partir de l’expérience
directe de l’agent, sans modèle de la dynamique de l’environnement. Comme PD, TD met
à jour les états en fonction de leurs voisins, sans dépendre des états finaux ; nous dirons
que TD « bootstrap »[SB18]-p124.
L’avantage de cette méthode est qu’elle permet de prédire (estimer) le futur sans une
connaissance complète. Elle ne nécessite pas assez de mémoire et pas assez de calculs et
produit une prédiction de qualité (accurate) pour la pluspart des problemes réels[SUT88].
4.2.2 Prédiction TD
Voyant le point précédent sur MC, de manière non-stationnaire nous pouvons écrire
la règle de mise-à-jour de la manière suivante :
V (St) ← V (St) + α[Gt − V (St)] (3)
Où Gt est le retour courant à l’instant t, et α une constante qui représente le pas d’ap-
prentissage. Cette méthode de mise-à-jour est appelée constant-α MC [SB18]-p120.
C’est avec cette idée que le TD-learning effectue la mise-à-jour. Alors que la cible du
MC était Rt, et qu’il (MC) attend la fin d’un épisode pour mettre à jour un état. La cible
de TD est Rt+1 + γV (St+1) 11 et utilise la règle de mise-à-jour suivante :
V (St) ← V (St) + α[Rt+1 + γV (St+1) − V (St)] (4)
Contrairement à la mise-à-jour complète de la PD qui utilise tous les états suivants
de l’état courant, la mise-à-jour de TD est échantillonnée par l’expérience et ne dépend
que d’un seul état suivant. Ci-dessous nous présentons l’algorithme TD-learning. Cette
methode de TD-learning est appelée «TD(0)» 12 , ou «one-step TD», car c’est un cas
spécial de TD(λ) 13 , la difference temporelle à plusieurs pas, c’est la version générique de
TD, ce dernier ne fera pas l’objet de ce document. Sur ce, nous vous reportons au [SB18].
10. En 1959, la différence temporelle est utlilisée dans un programme de dames d’Arthur Lee Samuel[Sam59].
C’est le tout premier programme d’auto-apprentissage, une de meilleurs et premières applications de TD-learning
de l’époque malgrès que la théorie sur cette méthode (TD-learning) était pauvre. C’est en 1988 que Richard S.
Sutton dans [SB18] explicite de cette théorie en faisant une étude sur le TD-learing pour prédire un événement
arbitraire et prouve également sa convergence.
11. γ (0 γ 1) : Facteur de depréciation, aussi appélé taux de diminution des renforcements, c’est le pour-
centage avec lequel sont considérés les antécédents.Il permet de régler l’importance accordée aux récompenses
futures vis-à-vis des récompenses immédiates
12. La convergence de cette méthode a été prouvée par Sutton dans [SUT88] en utilisant les poids d’un réseau
de connexioniste.
13. λ, appelé trace-decay parameter en anglais [SB18], il fait référence à l’utilisation de la trace d’eligiblité.
λ ∈ [0, 1], il caractérise le taux avec lequel une trace déprécie ou est considérée. Dans ce contexte, la trace
correpond à des k valeurs antécedentes qui sont utilisées pour estimer la valeur actuelle.
13
Algorithme 7 TD(0)pour estimer Vπ
Entrée : π politique à évaluer
Paramètre : α ∈ [0, 1] pas d’apprentissage
1: Initialisation
2: V (S) ← valeur arbitraire pour tout S ∈ St
3: V (temind) ← 0
4: boucler
5: Initialiser :s
6: répéter
7: a ← π(S)
8: Executer a
9: Recevoir la recompense immédiate r et le nouvel etat S
10: V (S) ← V (S) + α[r + γV (S ) − V (S)]
11: S ← S
12: jusqu’à jusqu à sterand
13: fin de la boucle
4.3 Q-learing
Introduit par C.Watkins en 1989 [Wat89]. Dans [WD92], Watkins présente Q-leaning
comme un modèle libre d’apprentissage par renforcement. Il permet à l’agent d’apprendre
avec la possibilité d’agir de manière optimale dans le domaine de Markov 14 par expéri-
mentation des conséquences des actions sans la connaissance de ce domaine. Le processus
d’apprentissage est similaire à celle de différence temporelle (DT) de Sutton (1984, 1988).
La convergence du Q-learning peut être vue dans [WD92]–p282-285.
Dans Q-learning, l’expérience d’un agent consiste à des séquences des différents stages
ou épisodes. Au nième épisode, l’agent effectue des taches ci-après[WD92] :
• Observer l’état courant sn
• Sélectionner et performer une action an
• Observer l’état suivant sn
• Recevoir a récompensé directe rn
• Ajuster les Qn−1 valeurs en utilisant le pas d’apprentissage αn :
Q(s, a) =
(1 − αn)Qn−1 + αn[rn + γVn−1(sn)] si s = sn et a = an
Qn−1(s, a) ailleurs
(5)
avec Vn−1(sn) = max
a
Qn−1(s , a ) (6)
Sous hypothèse que les valeurs initiales Q0(s, a) pour toutes les paires état-action
sont données.
14. Domaine de Markov : C’est un ensemble d’état discret dont le passage d’un état à un autre est défini par
la probabilité de transition[Gra14]
14
Algorithme 8 Q-leaning pour estimer Q
Paramètres :
— α ∈ [0, 1] pas d apprentissage
— > 0 valeur très petite
1: Initialisation :
2: Q(s, a) ← valeur arbitraire pour tout s ∈ St
, a ∈ A(s)
3: Q(termind, ∗) ← 0;
4: boucler
5: Initialiser :s
Choisir A partant de S utilisant une politique dérivé de Q (exemple ξ-greedy)
6: répéter
7: executer A
8: Recevoir la recompense immédiate R et le nouvel etat S
9: Q(S, A) ← Q(S, A) + α[R + γ maxQ(S , A) − Q(S, A)]
10: S ← S
11: jusqu’à S is stermid
12: fin de la boucle
4.4 Sarsa
L’algorithme Sarsa 15 a été introduit par Rummery et Nirajan en 1994. De nom d’orgine
"Modified connectionist Q-learning" en abrégé (MCQ-L)[RN94]-p3,6. Sarsa exploite le
réseau de connexionniste pour évaluer la fonction de valeur d’action Q(s, a).
Le Q-Learning posait problème dans le stockage rapide des paires états-actions dans un
espace d’états continu et dans un espace d’états très grand. L’usage du réseau de neurones
permet de palier à ces problèmes (problème d’espace d’état continue et grand espace
d’états). Cette approche est inspirée de [Lin91], chaque état du système est caractérisé
par un vecteur d’état et constitue l’entrée des réseaux de neurones. Chaque action est
une sortie d’un réseau de neurones. L’action à exécuter est celle dont la récompense est
maximale, en suite la mise-à-jour de la valeur d’action et la mise-à-jour des poids du
réseau neurone concerné[Lin92]-p73-74.
L’originalité de Sarsa est sa règle de mise-à-jour du poids ; une combinaison de TD-
learning et du Q-learning et se présente de la manière suivante :
∆w = η[rt + γQt+1(s, a) − Qt(s, a)]
t
k=0
(γλ)t−k
wQk (7)
Et la règle de mise-à-jour de la fonction de valeur d’action est donnée par :
Q(st, at) ← Q(st, at) + α[rt+1 + γQ(st+1, at+1) − Q(st, at)] (8)
Nous remarquons que sa règle de mise-à-jour de la valeur d’action est presque identique
à celle du Q-learning, la différence est l’utilisation de Qt+1(s, a) (valeur d’action d’action
du prochain état) en lieu et place greedy max
a∈A
Qt+1(s, a). Ce mécanisme permet d’éviter la
limitation d’exploration que cause le greedy max
a∈A
Qt+1(s, a) (certains cas Q(s, a) ne sont
jamais visités)[RN94]-p6-7.
La convergence a été prouvée par Singh, Jaakkola,littman, et Szepsvar(2000) dans
[SJLS96], cette convergence a été démontrée pour Sarsa(0) ou sarsa-one-step, un cas par-
ticulier de sarsa(λ).
15. La terme Sarsa (State-Action-Reward-State-Action) a été introduit par Sutton [Sut96a]-p1039, car il
faudrait connaitre l’état en cours, l’action en cours, la récompense, le prochain état et la prochaine action avant
la mise-à-jour (amélioration)[RN94]-p6.
15
De tout ce qui précède, L’algorithme se présente de la manière suivante :
Algorithme 9 Sarsa pour estimer Q qπ
Paramètres :
— α ∈ [0, 1] pas d apprentissage
— > 0 valeur très petite
1: Initialisation :
2: Q(s, a) ← valeur arbitraire pour tout s ∈ St
, a ∈ A(s)
3: Q(termind, ∗) ← 0
4: Initialiser s
5: Choisir A partant de S utilisant une politique dictée par Q (ex. ξ-greedy)
6: boucler
7: répéter
8: executer A
9: Recevoir la recompense immédiate R et le nouvel etat S
10: Choisir A partant de S utilisant une politique dictée par Q(ex.ξ − greedy)
11: Q(S, A) ← Q(S, A) + α[R + γQ(S , A ) − Q(S, A)]
12: S ← S : A ← A
13: jusqu’à S is stermid
14: fin de la boucle
Nous pouvons remarquer que la politique est absente de cet algorithme car elle est
implicitement dictée par Q. Qui plus est, l’action choisie a correspond à la valeur Q
utilisée pour la mise-à-jour. Sarsa est une méthode « online » car elle ne nécessite aucune
simulation à priori contrairement à Monté-Carlo.
4.5 Dyna-Q
Dyna est une architecture de l’intelligence artificielle qui intègre l’apprentissage, la
planification et la réactivité[Sut91].
Cette architecture a été conçue pour des cas où l’agent n’a pas une connaissance
complète et précise des effets de ses actions dans l’environnement et dans lequel ses effets
peuvent être non-déterministes.
Par effet d’une action nous voyons la récompense et l’état suivant et/ou l’action sui-
vante. Dans cette architecture l’objet de l’agent est de maximiser la récompense totale
qu’il reçoit à long terme car plusieurs systèmes ne comptent pas vraiment les récompenses
qui tardent relativement à la récompense immédiate. De manière détaillée l’architecture
intègre les points ci-après ([Sut91]-p1,p2) :
• Apprentissage par essaie et erreur d’une politique réactive optimale de la situation à
l’action.
• L’apprentissage du domaine se fait sous la forme de modèle d’action d’état , une boite
noire qui prend en entrée une situation et une action et en sortie la prédiction de l’état
suivant.
• La planification : trouver la politique optimale donnée par le domaine de connaissance
basée sur le modèle d’action.
• La réactivité : la planification n’intervient pas entre la perception de l’état courant
et le réponse de ce dernier (la planification intervient après la prise d’une action et
dernière à la prise directe de la prochaine relativement ou prochain état).
16
De façon générique (sans être attaché à une fonction de mise-à-jour), l’algorithme
Dyna se présente de la manière suivante :
Algorithme 10 algorithme Dyna
1: répéter
2: Observer l’état et choisir action en fonction de cela.
3: Observer la récompense résultante et le nouvel état
4: Appliquer l’apprentissage par renforcement à cette expérience
5: Mettre à jour le modèle basé sur cette expérience //planification(simulation)
6: répéter
7: choisir au hasard l’état et l’action
8: prédire la récompense résultante et le nouvel état en utilisant le modèle d’action
9: Appliquer l’apprentissage par renforcement lié à cette expérience.
10: jusqu’à k fois
11: jusqu’à pour toujours
Ci-dessous nous présentons l’algorithme Dyna-Q une combinaison de l’archiecture
Dyna et la méthode Q-learning. Cette combinaison n’est pas unique comme précise[Sut91].Même
un algorithme générique peut faire l’affaire ;l’approche du Q-learning a été choisie vu sa
simplicité 16.
Algorithme 11 Dyna-Q
1: Initialisation
2: //T modèle pour tout s ∈ S et a ∈ A
3: Q(s, a) ← arbitrairement
4: T(s, a) ← valeur arbitraire
5: R(s, a) ← valeur arbitraire boucle
6: S ← état courant(profil de l’état final)
7: répéter
8: A ← πQ(s) ( -greedy (Q,s))
9: Prendre l’action A,observer ret s
10: Q(S, A) ← +α[r + γmaxa ∈A(S )
Q(S , A ) − Q(S, A)]
11: T(s, a) ← s
12: R(s, a) ← r
13: S ← S
14: jusqu’à jusqu à stermind
15: //Simulation (planification)
16: répéter
17: Sm ∈ S et am ∈ A(sm)au hasard
18: Sm ← valeur prise au hasard
19: Am ← valeur prise au hasard
20: Sm ← T(Sm, am)
21: rm ← R(Sm, am)
22: Q(Sm, Am) ← Q(Sm, am) + α[r + γmaxa ∈A(S )
Q(Sm, am) − Q(Sm, Am)]
23: jusqu’à N fois
16. Cette combinaison conduit au modèle d’apprentissage mixte c.à.d direct et indirect. Direct comme le
TD-learning, il choisit l’action directement en fonction de l’état courant, et Indirect comme MC aau travers
une simulation ,il optimise la politique avec très peu d’interaction avec l’environnement. L’expérience vient de
l’interaction directe avec l’environnement,cette dernière est caractérisée par les récompenses[SB18]-p162.
17
4.6 Prioritized sweeping (PS)
L’algorithme «Prioritized sweeping» est une méthode qui utilise à la fois le modèle de
prédiction de Markov et l’apprentissage classique par renforcement[AFP97]. Pour choisir
efficacement une action ou passer une étape, l’agorithme PS hiérarchise les états pour
concentrer le calcul sur les états qui sont susceptibles d’avoir les plus grosses erreurs. De
ce fait, PS se montre plus performant que le modèle de prédiction de Markov, il exploite
toutes les observations de probabilité de transition pour être précis dans la prédiction et
comme les techniques d’apprentissage par renforcement classique, il utilise un apprentis-
sage incrémental tel que le fait le Dyna-Q[MA93]. La priorité est basée sur la variable
A appelée «probabilité d’absorption» en anglais absorption probability qui représente la
marge de probabilité de transition d’un état i à j.
Sur ce, l’algorithme PS supprime dans la liste des prédécesseurs d’un état i tout état
dont la probabilité d’absorption est max ou encore supérieur à une valeur (un seuil) ; en
suite retenir comme prédécesseurs de cet état i, les états ayant une faible priorité d’être
balayés c’est-à-dire ayant une faible probabilité d’absorption[SB18].
L’algorithme se présente de la manière suivante ([SB18]-p170, [Gé08b]-p66-p67) :
Algorithme 12 Prioritized sweeping (PS)
1: Initialisation Pour tout s ∈ S,a ∈ A
2: Q(s, a) ← arbitraire
3: T(s, a) ← arbitraire //Modèle(s,a)
4: Lp ← liste vide // liste contenant les valeurs de probabilité boucler
5: répéter
6: s ← l’état initial de l’épisode
7: a ← πQ(s) // politique(s,Q)
8: prendre l action a ; observer ret s
9: T(s, a) ← s
10: R(s, a) ← r
11: p ← [r + γmaxa ∈A(s )
Q(s , a ) − Q(s, a)]
12: si p > θ alors
13: inserer (s, a) dans Lp avec prioritép
14: fin du si//Simulation d’action par priorité
15: pour N fois et Lp n’est pas vide faire
16: (sm, am) ←prendre élément de Lp
17: s ← T(sm, am)
18: rm ← R(sm, am)
19: Q(sm, am) ← Q(sm, am) + α[r + γmaxa ∈A(S )
Q(sm, am) − Q(sm, am)]
20: pour tout (sm, am) ∈ T−1(sm) faire
21: // T−1(sm) ensemble des valeurs prédit à être chargé
22: rm ← R(sm, am)
23: pm ← [r + γmaxa ∈A(s )
Q(sm, am) − Q(sm, am)]
24: si pm > θ alors
25: inserer (sm, am) dans Lp avec prioritépm
26: fin du si
27: enlever (sm, am)de Lp
28: fin pour
29: fin pour
30: jusqu’à s terminal
18
4.7 Deep Q-Network :DQN
En cas d’approximation non-linéaire de la fonction de valeur, l’apprentissage par ren-
forcement pose un problème de convergence lorsque ce dernier est un réseau de neurones
artificiels.
C’est ainsi qu’en 2015, Mnih et al introduit le Deep Q-Network(DQN)[Li18]-p15 qui
consiste à une combinaison du Q-learning avec un réseau de neurones convolutifs pro-
fond [SB18]. Cette approche a donné naissance à une autre forme d’apprentissage par
renforcement, l’apprentissage par renforcement profond (Deep Reinforcement Lear-
ning en anglais). C’est une approche de généralisation de V (s, a) et Q(s, a) trouvée par
Mnih et al. Ceci consiste à utiliser le réseau de neurones artificiels pour approximer les
différents composants de l’apprentissage par renforcement à savoir les fonctions de valeur
ˆV(s,θ) et ˆQ(s,a,θ), la politique π(a,s,θ) 17 et même le modèle (fonction de transition d’état
et la fonction de récompense)[SB18]-p223-p228.
Dans Mnih et al(2015), ils ont montré comment un agent peut atteindre des hautes perfor-
mances dans plusieurs problèmes sans avoir un ensemble des caractéristiques spécifiques
de ces problèmes.
L’algorithme se présente comme suit :
Algorithme 13 DQN
1: Initialisation
2: la mémoire D // matrice
3: la fonction de valeur d’action Q
4: θ ← aléatoire
5: La cible de la fonction de valeur d’action Q
6: le poids cible θ−
= θ
7: pour l’épisode = 1 à M faire
8: Initialisation
9: S1 = {x1} et φ1 = φ(S1)
10: pour t=1 à T faire
11: Suivant − greedy,
at =
a action aléatoire avec probabilité
arg maxaQ(Q(st), a, θ) ailleurs
12: Exécuter l’action a
13: Observer la récompense rt et l’état suivant xt+1
14: St+1 ← St, at, xt+1
15: φt+1 ← φ(st+1)
16: Sauvegarder la transition (φt, at, rt, ℘t+1) dans D
17: //Refaire l’expérience
18: Prendre la transition (φt, at, rt, ℘t+1) dans D
yj =
rj si l épisode se ferme à j+1
rj + γmaxa
ˆQ(φt+1, a , θ−
) ailleurs
19: Améliorer le paramètre θ−
20: θt+1 = θt + α(yθ
t − Q(st, at; θt)) θt θ(st, at; θt)
21: // mise-à-jour de la cible
22: // ˆQ=θ
23: θ−
= θ
24: fin pour
25: fin pour
17. Dans ce contexte,θ représente le poids dans le réseau de neurones artificiels.
19
Une amélioration de DQN appelée D-DQN a été introduite en 2016 par VAN HESSELT
et al. dont les résultats sont meilleurs que DQN[Li18]-p16.
Cette amélioration consiste à redéfinir la sortie :
yD−DQN
t = rt+1 + γQ(st+1, arg maxaQ(st, at; θt); θt)
Cette artifice permet de trouver une meilleure politique que le DQN.
5 Méthode d’approximation des fonctions de va-
leur
L’intégration de l’apprentissage par renforcement revient à l’implémentation d’un des
algorithmes d’apprentissage par renforcement qui nécessite un bon choix de la méthode
d’approximation ou d’évaluation des fonctions de valeur.
Nous distinguons deux types de méthodes d’approximations dont la méthode ta-
bulaire et les méthodes paramétriques (Les méthodes linéaires et les méthodes non-
linéaires).
5.1 Méthode tabulaire
Dans cette méthode, les espaces d’états et d’actions sont supposés discrets et finis.
Après calculs, les valeurs d’état ou les valeurs d’action sont stockées dans des tables. Et
l’accès à ces dernières se fait par indexation. Les algorithmes fonctionnant de cette manière
sont dits tabulaires ; à titre d’exemple pour ce dont nous avons décrits ci-haut.
Q(s, a) s1 ... sn
a1 0.2 ... 0.6
... ... ... ...
an 0.99 ... 0.41
L’inconvénient de cette méthode est l’Explosion combinatoire[Gé08a]-p47. L’espace
étant continu une bonne approximation serait d’augmenter la taille de discrétisation,
quand la taille de S et A augmente, la taille des tables croît jusqu’à ce que des problèmes
de performances se posent.
5.2 Méthodes paramétriques
Vu les problèmes posés par la méthode tabulaire, on ne peut toujours pas utiliser la
représentation tabulaire de la fonction valeur. Par conséquent, on utilise une fonction pa-
ramétrée qui détermine la manière dont on calcule V (s) en fonction de s. A titre d’exemple
une fonction linéaire y = wx de paramètre poids (w) qui permet de calculer y pour une
infinité de valeurs x.
De ce qui précède, l’apprentissage de la fonction valeur devient un problème d’approxi-
mation de fonction.
5.2.1 Méthodes linéaires
On approxime la fonction de valeur à une fonction linéaire ; Vt est une fonction linéaire
de s.
A chaque état s est associée une représentation en attributs numériques φs présentée
comme suit :
φs = (φs(1), φs(2), ..., φs(n))T .
L’approximation de la fonction valeur s’exprime comme :
Vt(s) = wT
t φs =
n
i=1
wt(i)φs(i) (9)
20
φ, représente la fonction de voisinage dont nous parlerons au paragraphe 5.2.1.1.
Et w suit la loi de mise-à-jour selon la méthode d’apprentissage choisie en utilisant la
descente du gradient.
Pour Monte-Carlo :
wt+1 ← wt + α[Rt + V (st, wt)] wV (st, wt) (10)
Pour TD-Learning :
wt+1 ← wt + α[Rt+1 + γV (st+1, wt) − V (s, wt)] wV (st, wt) (11)
Pour ceux utilisant la valeur d’action Q :
wt+1 ← wt + α[vt + Q(st, at)] wt Q(st, at) (12)
Avec comme gradient d’une fonction f :
wf =
∂f
∂w1
,
∂f
∂w2
, ...,
∂f
∂wn
(13)
5.2.1.1 Fonction de voisinage
On définit n régions Ri qui forment un ensemble de couverture de l’espace d’états S
∀s ∈ S, φs(i) =
1 si s ∈ Ri
0 sinon
Parmi les types de voisinages employés 18 , nous avons : Coarse coding, Tile coding et
les fonctions de base radiale.
Coarse coding
Les attributs sont définis par des régions circulaires (ou sphériques ou hyper-sphèriques)
se recouvrant partiellement[Sut96b]. Donc, une composante de w correspond à chaque
région circulaire.
La valeur d’un état est la somme des paramètres correspondant aux cercles dans les-
quels l’état est présent. Notons que la taille des cercles influe sur les performances et les
résultats obtenus
Figure 5 – Coarse Coding | Source :[SB18]-p215
18. Il existe également d’autres types de voisinage bien que ces derniers ne sont pas assez utilisés ; nous avons
la fonction de base de fourrier et les fonctions polynomiales.
21
Tile coding
Plutôt que de définir des régions circulaires, on définit des régions carrées (ou cubiques
ou hyper-cubiques) Les carrés sont organisés en grilles («tiles»)
Figure 6 – Tile Coding | Source :[SB18]-p217
Les régions ne sont pas obligatoirement carrées et organisées en grilles comme dans
CMAC 19, elles peuvent prendre d’autres formes pourvu que tout l’espace d’états soit
couvert.
Figure 7 – Others coding | Source :[SB18]-p220
les fonctions de base radiale
Généralisation des fonctions de voisinage ; plutôt que de valoir 0 ou 1 , on veut que les
s(i) prennent n’importe quelle valeur entre 0 et 1. On définit des fonctions à base radiale
par leur centre ci et leur écart type σi.
φs(i) = e
−
s−ci
2σi (14)
Figure 8 – Fonction de base radiale | Source :[SB18]-p221
19. CMAC (Cerebellar Model Articulation Controller), c’est un type de réseau de neurones qui modélise
la structure et la fonction de la partie du cerveau en région appelée cervelet dans le but de contrôler un
moteur[Alb75].
22
5.2.2 Approximation non-linéaire
Il se peut qu’il y ait nécessité d’une approximation non-linéaire (Perceptron à couche
cachée de m neurones). Nous avons toujours φs = (φs(1), φs(2), ..., φs(n))T . Et la fonction
de valeur d’état s’écrit :
Vt(s) =
m
k=1
[wt(k)σ(
n
i=1
wt(k, i)φs(i))] (15)
Où σ, la sortie des neurones de la couche cachée est calculée à l’aide d’un fonction sig-
moïde :
σ(x) =
1
1 + e−x
(16)
Figure 9 – Perceptron multi-couche | Source :[Gé08b]-p54
6 Implémentation :"Gridworld"
Le gridworld est l’un des problèmes fondamentaux d’introduction de l’apprentissage
par renforcement.
Un gridworld est une tâche de navigation épisodique, le but est de passer de l’état de
départ à l’état ciblé.
Les actions possibles sont : aller à gauche, à droite, en haut ou en bas. Si des
déplacements diagonaux sont également possibles,nous aurons à gauche en haut, à
gauche en bas, à droite en haut et à droite en bas.
Lorsque vous entrez dans un état trou, vous obtenez une récompense négative élevée
et une transition vers un autre état.
Pour chaque étape, vous obtenez une récompense jusqu’à ce que vous atteigniez l’état
ciblé, alors l’épisode est terminé.
Figure 10 – Gridworld | Source :[SB18]-p130
23
6.1 Méthode de résolution
Une des approches de résolutions est celle d’une politique déterministe en utilisant le
Q-learning, chaque case est liée à une Q(s, a) (Fonction de valeur d’action) qui représente
le valeur d’une action dans un état.
Comme cela à été mentionné, pendant l’exploration le passage d’un état à autre est sui-
vant l’épisode. Pendant l’exploitation, le passage à un état est suivant sa valeur Q(s, a) ;
un état s est choisi si sa valeur Q(s, a) est max. A titre de rappel voir les algorithmes
d’apprentissage par renforcement [§4].
Nous avons implémenté le Q-learning en python en utilisant les solutions suivantes :
— Librairies :
• gym[Ope20]
• itertools[Fou20]
• matplotlib[HDF+20]
• numpy[Num20]
• pandas[pdt20]
— Environnement :
• Jupyter[Jup20]
Figure 11 – Évolution de la longueur des épisodes
Figure 12 – Évolution de la récompense
6.2 Code
le code d’implémentation est disponible sur https://tinyurl.com/y347cwgu
24
7 Performance
7.1 Monte-Carlo et TD-Learning
Contrairement à MC, TD-Learning ne nécessite pas la fin d’un épisode pour mettre
à jour un état (requiert ainsi moins de mémoire) ; donc il est On-line, il prend en charge
toute séquence pour le chargement (mise-à-jour) ([SB18],[Mar11]). En se référant aux
courbes de performances ci-dessous (figure 13), nous remarquons que les deux méthodes
convergent asymptotiquement. Cependant, TD-Learning converge plus rapidement que
MC d’après cette courbe RMS de l’erreur 20.
Figure 13 – Monte-carlo - TD-learning | Source :[SB18]-p127
7.2 TD-Learning et Q-Learning
Sans pour autant évoquer l’optimisation de la politique, Q-Learning est plus perfor-
mant par le fait que sa fonction de valeur Q(s,a) dépend à la fois de l’état et de l’action
contrairement à TD-Learning qui ne prend en compte que l’etat V(s). A titre de rappel
nous reprenons leurs équations à la ligne suivante :
• V (S) ← V (S) + α[r + γV (S ) − V (S)] (règle de mise-à-jour du TD-learning)
• Q(S, A) ← Q(S, A) + α[R + γ maxQ(S , A) − Q(S, A)] (règle de mise-à-jour du Q-
learning)
7.3 Q-Learning et Sarsa
Q-Learning apprend pour une politique optimale ; la faille est qu’il dépend du choix
de − greedy. Sarsa par contre peut prendre une action qui peut ou ne pas être optimale
jusqu’à converger avec toutefois un apprentissage un peu plus long [SB18]-p132 que Q-
Learning.
Figure 14 – sarsa - Q-learning | Source :[SB18]-p132
20. Cette comparaison a été effectuée avec un exemple typique le «Random walk» où l’agent partant d’un
point milieu apprend à choisir la direction gauche ou droite selon la meilleure récompense.
25
7.4 Dyna-Q et Q-Learning
Dyna-Q est meilleur que Q-learning et sarsa par le fait que son architecture combine
la réactivité directe et la simulation des actions dans l’environnement.
Figure 15 – Architecture Dyna | Source :[Sut91]-p2
7.5 Dyna-Q et Prioritized sweeping
L’algorithme Prioritized sweeping est plus performant que Dyna-Q car il évolue plus
rapidement pour trouver la solution optimale, le nombre d’itérations est faible compa-
rativement à Dyna-Q (voir la figure 16). La limitation qu’a ce dernier est que dans un
environnement stochastique (être dans un état est caractérisé par une probabilité), le fait
de parcourir toutes les récompenses rend la probabilité de transition faible [SB18]-p170 ;
ce qui a pour conséquence visible, l’agent prend assez de temps pour réagir.
Figure 16 – Dyna-Q - Prioritized Sweeping | Source :[SB18]-p170
8 Application
L’apprentissage par renforcement possède une large gamme d’applications. Ci-dessous
nous mentionnons quelques applications avec son domaine respectif 21.
— Jeux : AlphaGO qui a battu Ki Jue 3.0 une version améliorée de AlphaGO.200(Silver
et Al 2017)
— Robotique : Mirowski et al (2017) qui ont appliqué la commande du couple de moteur
partant sur les images.
— NLP : Nous avons une application de tout les jours la transcription en d’autres
langues. Vaswani et al(2017) propose approche. Et la génération des textes(clavier,etc...)
est vu dans Yu et al(2017)
— Vision machine : Domaine qui consiste à faire comprendre la machine partant des
images ou vidéo la reconnaissance,analyse des mouvements,etc (Broly et al 2017)
21. Pour une liste plus exhaustive et pour plus de références (cours, blog, etc) [Li18]-p28-p52)
26
— Gestionnaire des affaires : L’AR intervient dans les suggestions des publicités, la
reconnaissance des produits, le marketing comment maximiser les clients (Li et al
2015).
— Finance : Dans le problème économique, dans la gestion des risques (Hill 2014,Wem-
berg 1997)
— Traitoverlapement et santé : Le traitement dynamique ou le traitement adap-
tatif (DTR). Golbert et Kasoroc (2012) Gestion du capteur des malades (patients).
LIN et AL (2017) appliquent Q-learning dans DTR dans le problème d’inférence des
phénotypes.
— Éducation : Lin et al 2014,Mendel et al 2014
— industrie 4.0 : O’Donovan et al (2015),Prévenu et Ilic-Zudoc(2017) maintenance
préventif, diagnostique en temps réel, etc...
— Smart Grid : La réponse à la demande(Wen et al 2015,Ruele et al 2016).
— Système intelligent de transport :
* Le flux de signalisation :Elu Tanteway et al 2015
* Self driving cars : Bojarsk et al (2016)(2017) Zhon et Torel (2017)
— Système ordinateur (à processeur) : radio cognitive,allocation des ressources
Hayicin(2015),Mao et al (2016) ressource RL (gestion des ressources)
* optimisation Mirhoseins et al (2017)
* sécurité Huang et al (2017) Liste des codes et implémentation,livres et cours...
Figure 17 – Apprentissage par renforcement : Applications | Source :[Li18]p29
9 Conclusion
Tout au long de ce document, nous avons présenté les généralités sur apprentissage
par renforcement. Nous avons montré comment cela a évolué avec les algorithmes et
architecture mise en œuvre. Certains se sont montrés plus performants que les autres avec
astuce telle que le choix du maximum et les fonctions de voisinages en vue de s’améliorer.
La résolution directe des équations, la programmation dynamique et MC mettent à
jour indifférement V ou Q, au choix. En revanche, TD s’applique à V et Q-Learning et
ses améliorations s’appliquent à Q.
Q-Learning, Sarsa, Dyna-Q, Prioritized Sweeping sont tous des methodes s’inspirant
du TD-learing. L’intérêt relatif de ces méthodes va avec la taille du problème à résoudre :
27
la résolution des équations de Bellman s’applique aux « petits » problèmes pour lesquels
une inversion directe de matrice est possible. La programmation dynamique s’applique aux
problèmes de taille « moyenne » : tous les états doivent être explicitement en mémoire. TD,
QL ou Sarsa et leurs améliorations s’appliquent respectivement aux « gros » problèmes
et aux « très gros ».
Concernant l’aspect « on-line » ou « off-line » des algorithmes d’Apprentissage par
Renforcement, MC est plutôt off-line mais on peut avoir une version online. TD est l’un
ou l’autre. SARSA et QL sont plutôt onlines.
Ci-dessous un tableau résumé de ces méthodes résolvant le « problème de d’Appren-
tissage par Renforcement»[Bou10]-p14.
Methode
Équations
de
Bellmans
PD MC TD QL/Sarsa
interative ? Ordonnée Ordonnée
Expérimen-
tation
Expérimen-
tation
Expérimen-
tation
freq. mise-à-jour pas pas épisode pas pas
Modele env ? Oui Oui Construit Non Non
retour ? r r R r r
fonction V et/ou Q V et/ou Q V et/ou Q V Q
type probleme petit moyen ass.gros gros tres gros
off/on line ? «on» «off»
«on» ou
«off»
«on»
Table 1 – Tableau résumé de principales méthodes résolvant le « problème de d’Apprentissage par Renfor-
cement »
Dans le but de facilité la perception de l’AR nous avons établi un modèle hiérarchique
sur son organisation (voir figure ci-dessous).
28
Figure 18 – Modèle hiérarchique de l’apprentissage par renforcement
L’apprentissage par renforcement ne cesse d’évoluer et reste un domaine de recherche,
nous parlons aujourd’hui du Deep Reinforcement Learning, en français Apprentissage par
Renforcement Profond, qui consiste à utiliser un réseau de neurones profond pour approxi-
mer les différents composants de l’apprentissage par renforcement notamment la fonction
de valeur ˆV(s,θ), ˆQ(s,a,θ), la politique π(a/s, θ) et le modèle (fonction de transition d’état
et la fonction de récompense).
Retenons que l’apprentissage par renforcement peut encore intégrer plusieurs autres
domaines de la vie. Pour se faire, il suffit d’établir un bon parallélisme entre le formalisme
d’apprentissage par renforcement et le domaine dans lequel il doit être appliqué.
La compréhension du problème reste le point de départ car l’apprentissage par ren-
forcement n’est pas la seule solution. En outre, repérer les caractéristiques clés telles que
l’amélioration par essaie-erreur via l’existence d’une récompense qui conduit à l’usage
l’Apprentissage par Renforcement en vue de résoudre le problème.
29
Références
[AFP97] David Andre, Nir Friedman, and Ronald Parr. Generalized prioritized swee-
ping. Neural Information Processing Systems, 1997. Computer Science Divi-
sion 387 Soda Hall University of California Berkeley CA 94720.
[Alb75] James S. Albus. A new approach to manipulator control :the cerebellar model
articulation controlle. Journal of Dynamic Systems, Measurement and Control,
97 :237–240, 1975.
[BB] Mohamed Boumehraz and Khier Benmahammed. Tuning fuzzy inference sys-
tems by q-learning. Laboratoire MSE, Département Electronique, Université
de Biskra, Département Electronique, Université de Setif.
[Bou10] Bruno Bouzy. Apprentissage par renforcement(3). -, octobre 2010.
[Fou20] Python Software Foundation. itertools — functions creating iterators for effi-
cient looping, 2020. https://docs.python.org/3/library/itertools.
[Gé08a] Pierre Gérard. Apprentissage numérique. Apprentissage par Renforcement,
2008. Université de Paris 13 - LIPN.
[Gé08b] Pierre Gérard. Apprentissage par renforcement. 2008. MICR.
[Gra14] Carl Graham. Markov Chains, Analytic and Monte Carlo Computations.
Wiley-Dunod, 1 edition, 2014.
[GS01] GEOFFEY GRIMMET and DAVID STIRZAKER. Probability and Random
Process. OXFORD, third edition, 2001. 7 Convergence of random variables.
[HDF+20] John Hunter, Darren Dale, Eric Firing, Michael Droettboom, and the Mat-
plotlib development team. Matplotlib : Visualization with python, 2020.
https://matplotlib.org/.
[HH] Mance E. Harmon and Stephanie S. Harmon. Reinforcement learning : A
tutorial. Wright Laboratory.
[Jup20] Project Jupyter. Jupyter, 2020. https://jupyter.org/.
[Li18] Yuxi Li. Deep reinforcement learning : An overview. -, 2018.
[Lin91] Long-Ji Lin. Programming robot using reinforcement learning and teaching.
In AAAI-91 Proceedings, Rittsburgh, Pennsylvania 15213, 1991. AAAI, School
of Compunter Science Carnegie Mellon University.
[Lin92] Long-Ji Lin. Self-improving reactive agents based on reinforcement learning,
planning and teaching. Machine Learning, (8), 1992. School of Compunter
Science Carnegie Mellon University.
[MA93] ANDREW W. MOORE and CHRISTOPHERG. ATKESON. Prioritized swee-
ping" reinforcement learning with less data and less time. Machine Learning
13, 1993. CKluwer AcademicPublishers.
[Mar11] Mario Martin. Reinforcement learning monte carlo and td(λ) learning. LEAR-
NING IN AGENTS AND MULTIAGENTS SYSTEMS, 2011.
[Mon20] Yvan Monka. Concentration - loi des grands nombres. Generalization in
Reinforcement Learning, 2020. Académie de Strasbourg.
[Num20] NumPy. Numpy, 2020. https://numpy.org/.
[Ope20] OpenAI. gym, 2020. https://gym.openai.com/.
[pdt20] pandas development team. pandas, 2020. https://pandas.pydata.org/.
[PGG+06] Olivier Perru, Muriel Guedj, Laeticia Maison Stéphane Le Gars, Jérôme Lamy,
and Isabelle Laboulais-Lesage. Revue d’histoire des sciences, volume Tome 59.
ARMAND COLIN, 1 edition, Janvier-Juin 2006. FONDATION POUR LA
SCIENCE.
30
[RN94] G. A. Rummery and M. Niranjan. On-line q-learning connectionist systems.
CUED/F-INFENG/TR 166, September 1994. Cambridge University Enginee-
ring Departement.
[Sam59] A. L. Samuel. Some studies in machine learning using the game of checkers.
IBM JOURNAL, (3), JULY 1959.
[SB18] Richard S. Sutton and Andrew G. Barto. Reinforcement Learning. The MIT
Press, London, England, second edition, 2018. Cambridge, Massachusetts.
[Sin] Satinder Singh. Reinforcement learning : A tutorial. Computer Science and
Engineering University of Michigan, Ann Arbor.
[SJLS96] SATINDER SINGH, TOMMI JAAKKOLA, MICHAEL L. LITTMAN, and
CSABA SZEPBSV.ARI. Convergence results for single-step on-policy
reinforcement-learning algorithms. 1996. University of Massachusetts.
[SUT88] RICHARD S. SUTTON. Learning to predict by the methods of temporal
differences. Machine Learning, 3, 1988. GTE Laboratories Incorporated, 40
Sylvan Road, Waltham, MA 02254, U.S.A.
[Sut91] Richard S. Sutton. Dyna, an integrated architecture for learning, planning, and
reacting. AAAI Spring Symposium, 1991. GTE Laboratories Incorporated.
[Sut96a] Richard S. Sutton. Generalization in reinforcement learning : Successful
examples using sparse coarse coding. 1996. University of Massachusetts.
[Sut96b] Richard S. Sutton. Successful examples using sparse coarse coding. Generali-
zation in Reinforcement Learning, 1996.
[T.T13] Nick T.Thomopoulos. Essentials of Monte Carlo Simulation - Statistical Me-
thods for Building Simulation Models. Springer, Chicago,Illinois,USA, 1 edi-
tion, 2013. Stuart School of Business Illinois Institute of Technology.
[Wat89] Christopher John Cornish Hellaby Watkins. Learning from Delayed Rewards.
PhD thesis, King’s College, May 1989.
[WD92] CHRISTOPHER J.C.H. WATKINS and PETER DAYAN. Technical note.
Machine Learning, 8, 1992. 25b Framfield Road, Highbury, London N5 1UU,
England - Centre for Cognitive Science, University of Edinburgh, 2 Buccleuch
Place, Edinburgh EH8 9EH, Scotland.
31

Contenu connexe

Tendances

Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]Assia Mounir
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learningQuentin Ambard
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Abel LIFAEFI MBULA
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNSALMARACHIDI1
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neuronesMariam Amchayd
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oraclewebreaker
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neuronesguestf80d95
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMJaouad Dabounou
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleLilia Sfaxi
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleLilia Sfaxi
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminSana Aroussi
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleECAM Brussels Engineering School
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 

Tendances (20)

Digital Signal Processor ( DSP ) [French]
Digital Signal Processor ( DSP )  [French]Digital Signal Processor ( DSP )  [French]
Digital Signal Processor ( DSP ) [French]
 
Introduction to Machine learning
Introduction to Machine learningIntroduction to Machine learning
Introduction to Machine learning
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Les réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNNLes réseaux de neurones convolutifs CNN
Les réseaux de neurones convolutifs CNN
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Les Contraintes | SQL Oracle
Les Contraintes | SQL OracleLes Contraintes | SQL Oracle
Les Contraintes | SQL Oracle
 
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
Cours les Listes doublement chainées Prof. KHALIFA MANSOURI
 
Le Reseau De Neurones
Le Reseau De NeuronesLe Reseau De Neurones
Le Reseau De Neurones
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTM
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Chp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation MultidimensionnelleChp3 - Modélisation Multidimensionnelle
Chp3 - Modélisation Multidimensionnelle
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Chapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court cheminChapitre 2 problème de plus court chemin
Chapitre 2 problème de plus court chemin
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 
Intelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielleIntelligence Artificielle : Introduction à l'intelligence artificielle
Intelligence Artificielle : Introduction à l'intelligence artificielle
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 

Similaire à Apprentissage par renforcement

Projet_Monte_Carlo_Dauphine
Projet_Monte_Carlo_DauphineProjet_Monte_Carlo_Dauphine
Projet_Monte_Carlo_DauphineAli Sana
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle mohamednacim
 
Impl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfImpl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfNuioKila
 
Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Daname KOLANI
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueYosra ADDALI
 
Etude de la convergence du modèle binomial vers le modèle de Black Scholes
Etude de la convergence du modèle  binomial vers le modèle de Black ScholesEtude de la convergence du modèle  binomial vers le modèle de Black Scholes
Etude de la convergence du modèle binomial vers le modèle de Black ScholesAli SIDIBE
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesBenjamin Vidal
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
1_PDFsam_MQG804_NotesDeCours_A23_1.pdf
1_PDFsam_MQG804_NotesDeCours_A23_1.pdf1_PDFsam_MQG804_NotesDeCours_A23_1.pdf
1_PDFsam_MQG804_NotesDeCours_A23_1.pdfJeanPhilippeTurcotte5
 
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015Arthur Crosse
 
Rapport thèse ilef ben slima
Rapport thèse ilef ben slimaRapport thèse ilef ben slima
Rapport thèse ilef ben slimaIlef Ben Slima
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
Reservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&AnnexesReservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&AnnexesAlex Schouleur
 
Polycopie Analyse Numérique
Polycopie Analyse NumériquePolycopie Analyse Numérique
Polycopie Analyse NumériqueJaouad Dabounou
 

Similaire à Apprentissage par renforcement (20)

Projet_Monte_Carlo_Dauphine
Projet_Monte_Carlo_DauphineProjet_Monte_Carlo_Dauphine
Projet_Monte_Carlo_Dauphine
 
recherche operationnelle
recherche operationnelle recherche operationnelle
recherche operationnelle
 
Impl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfImpl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdf
 
Tutorial GGPlot2
Tutorial GGPlot2Tutorial GGPlot2
Tutorial GGPlot2
 
Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2Visualisation graphique R avec ggplot2
Visualisation graphique R avec ggplot2
 
Rapport pfe isi_Big data Analytique
Rapport pfe isi_Big data AnalytiqueRapport pfe isi_Big data Analytique
Rapport pfe isi_Big data Analytique
 
Gestion de Projet
Gestion de ProjetGestion de Projet
Gestion de Projet
 
Rapport
RapportRapport
Rapport
 
Stratégies quantitatives
Stratégies quantitativesStratégies quantitatives
Stratégies quantitatives
 
Etude de la convergence du modèle binomial vers le modèle de Black Scholes
Etude de la convergence du modèle  binomial vers le modèle de Black ScholesEtude de la convergence du modèle  binomial vers le modèle de Black Scholes
Etude de la convergence du modèle binomial vers le modèle de Black Scholes
 
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmesEvaluation de la quantité de travail (in)utile dans l’exécution des programmes
Evaluation de la quantité de travail (in)utile dans l’exécution des programmes
 
Fourth year internship report
Fourth year internship reportFourth year internship report
Fourth year internship report
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
1_PDFsam_MQG804_NotesDeCours_A23_1.pdf
1_PDFsam_MQG804_NotesDeCours_A23_1.pdf1_PDFsam_MQG804_NotesDeCours_A23_1.pdf
1_PDFsam_MQG804_NotesDeCours_A23_1.pdf
 
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015
RAPPORT_STAGE_CROSSE_M2_G2S_2014_2015
 
Rapport thèse ilef ben slima
Rapport thèse ilef ben slimaRapport thèse ilef ben slima
Rapport thèse ilef ben slima
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
73720847 6838-491f-b7df-ac3f144d019f
73720847 6838-491f-b7df-ac3f144d019f73720847 6838-491f-b7df-ac3f144d019f
73720847 6838-491f-b7df-ac3f144d019f
 
Reservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&AnnexesReservoir Computing - ExecSum&Annexes
Reservoir Computing - ExecSum&Annexes
 
Polycopie Analyse Numérique
Polycopie Analyse NumériquePolycopie Analyse Numérique
Polycopie Analyse Numérique
 

Apprentissage par renforcement

  • 1. Apprentissage par renforcement : Généralités Mwamba Bakajika Stany mwambastany@gmail.com 21 novembre 2020 Résumé Apprentissage par interaction est une idée fondamentale que sous-tend un grand nombre de théories sur l’intelligence et l’apprentissage. Cette interaction avec l’environ- nement permet de réaliser un ensemble d’informations sur les causes et effets des actions afin d’atteindre les objectifs poursuivis. C’est de cette forme d’apprentissage qu’est tiré l’Apprentissage par Renforcement. Le but de ce document est de fournir une introduction à l’Apprentissage par Renfor- cement à un niveau facile à comprendre. Par ce dernier nous présentons le formalisme, les principaux algorithmes et leurs performances, une implémentation de base, et les dif- férentes applications sur l’Apprentissage par Renforcement. 1
  • 2. Table des matières 1 Introduction 3 2 Concepts de base 4 3 Formalisme 4 3.1 Interface agent/environnement . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Récompense et buts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3 Retour attendu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.4 Tâches épisodiques et continues . . . . . . . . . . . . . . . . . . . . . . . . 5 3.5 Facteur de dépréciation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 Algorithmes d’apprentissage par renforcement 6 4.1 Méthode de Monte-Carlo . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1.2 Évaluation d’une politique π par Monte-Carlo . . . . . . . . . . . . 6 4.2 TD-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1 introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.2 Prédiction TD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.3 Q-learing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.4 Sarsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5 Dyna-Q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.6 Prioritized sweeping (PS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.7 Deep Q-Network :DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5 Méthode d’approximation des fonctions de valeur 20 5.1 Méthode tabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Méthodes paramétriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2.1 Méthodes linéaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2.2 Approximation non-linéaire . . . . . . . . . . . . . . . . . . . . . . 23 6 Implémentation :"Gridworld" 23 6.1 Méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6.2 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 7 Performance 25 7.1 Monte-Carlo et TD-Learning . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.2 TD-Learning et Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.3 Q-Learning et Sarsa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 7.4 Dyna-Q et Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 7.5 Dyna-Q et Prioritized sweeping . . . . . . . . . . . . . . . . . . . . . . . . 26 8 Application 26 9 Conclusion 27 2
  • 3. 1 Introduction L’un des problèmes majeurs de tout être naturel ou artificiel est celui de l’adaptation à son environnement. Pour les êtres naturels, le processus d’adaptation est très complexe, ce dernier subit parfois des modifications physiques et change son comportement soit en développant des nouvelles aptitudes soit en raffinant d’autres. Pour les êtres artificiels, des nombreuses théories d’adaptation ont été développées telles que les théories de contrôle et les théories d’intelligence artificielle qui se sont mon- trées plus performantes et plus proches de celles des êtres naturels. L’apprentissage par renforcement est une des méthodes d’apprentissage artificiel basée sur deux disciplines à savoir l’apprentissage supervisé et la programmation dynamique. La programmation dynamique est une branche de la mathématique qui a été ancienne- ment utilisée pour résoudre les problèmes d’optimisation et de contrôle[SB18]. Cependant la traditionnelle programmation dynamique est limitée en taille et en complexité de pro- blèmes auxquels elle s’adresse. L’apprentissage supervisé quant à lui, c’est une méthode d’apprentissage basée sur des ensembles de connaissances de sortie et d’entrée dont le but est d’entraîner l’agent à déterminer (ou estimer pour certains cas) les sorties pour n’importe quelles entrées prises en charge. L’idée de l’apprentissage par renforcement est née du processus de décision de Markov (PDM) où le passage d’un état à un autre est défini par une probabilité de transition. Contrairement au PDM, pour l’apprentissage par renforcement ce passage est défini par d’autres principes que la probabilité et l’état du système, ceux-ci ne suffisent plus car l’action liée à cet état est maintenant un paramètre de plus dans la prise de décision. Dans le but d’amélioration, le domaine de l’apprentissage par renforcement fait égale- ment appel à d’autres disciplines dont nous donnons en résumé un schéma illustrant son interaction à d’autres disciplines. Figure 1 – Place de l’apprentissage par renforcement | Source :[Sin] 3
  • 4. 2 Concepts de base Avant d’aller plus loin et pour des raisons introductives, il nous est nécessaire de présenter quelques concepts de base[HH, SB18] que nous emploierons le plus souvent. • Politique : Elle détermine l’action à prendre dans chaque état. • Valeur d’état V π(so) : C’est la somme de récompenses reçues dans un épisode en commençant par cet état (so) suivant une politique π. Et V π représente la fonction de valeur d’état en anglais "state-value function", elle permet d’évaluer la valeur d’un état c’est-à-dire combien est bon pour un agent d’être dans un état donné ; nous en parlerons en détails un peu plus loin. • Valeur d’action Qπ(ao) 1 : C’est la moyenne de récompense reçue lorsque l’action (ao) est choisie. Qπ est la fonction de valeur d’action, "action value function" en anglais. • Épisode : C’est la succession d’états. 3 Formalisme 3.1 Interface agent/environnement Figure 2 – Schéma d’un agent en interaction avec l’environnement | Source :[SB18]p48 Basé sur le PDM (Processus de Décision de Markov), le temps est discrétisé en pas de temps t ∈ N+. Dans un état st ∈ S 2 , l’agent émet l’action at ∈ A(st) 3 et cette action est choisie par l’agent selon sa politique courante πt 4. En retour , il reçoit de l’environnement une récompense immédiate rt+1 ∈ R et trouve lui-même son nouvel état st+1 ∈ S. 3.2 Récompense et buts Les récompenses sont déterminées par l’ environnement ; à chaque pas de temps, l’agent reçoit une récompense immédiate rt ∈ R. L’objectif de l’agent est de maximiser le cumul des récompenses obtenues à long terme et ces signaux de récompense formalisent la notion de but ou d’objectif. Par exemple, la récompense peut être égale à −1 si l’agent est dans une zone non appropriée dans le cas d’un agent en mouvement. 3.3 Retour attendu Dans ce contexte, l’interaction de l’agent est découpée en en sous-sequence appelée «épisodes» et un épisode est une succession des états. Le temps est découpé en pas de 1. V π et Qπ sont communement appelés fonction de valeur [SB18]p58 2. S est l’ensemble d’etat 3. A(st) est l’ensemble des actions disponibles à partir de st 4. En PDM πt(s, a) ∈ [0, 1] est la probabilité qu’à l’instant t , l’agent choisisse l’action a dans l’état s, et cette derniere (action) est choisie si sa probalilité est élévée. 4
  • 5. temps à chaque pas de temps, l’agent est dans un état St. Retour attendu est cumul donc la somme des récompenses obtenues à partir d’un instant t. Ce Retour vaut : Rt = rt+1 + rt+2 + rt+3 + ... + rT où T est l’instant final ; il correspond à l’instant à l’état final. 3.4 Tâches épisodiques et continues Les tâches qui peuvent être découpées en épisodes sont des tâches épisodiques Quand ce n’est pas possible, on parle de tâches continues. Dans ce cas,l’instant final serait alors T = ∞. Et le retour Rt pourrait être infini ; pour le borner, on introduit la notion de retour déprécié. Il est donné par : Rt = rt+1 + γrt+2 + γ2 rt+3 + ... = ∞ k=0 γk rt+k+1 où γ ∈ [0, 1] est le facteur de dépréciation (nous en parlons au paragraphe suivant). 3.5 Facteur de dépréciation La récompense prenant en compte le facteur de dépréciation est donnée par : Rt = ∞ k=0 γk rt+k+1 . γ permet de régler l’importance accordée aux récompenses futures vis-à-vis des ré- compenses immédiates. Plus une récompense rt+k+1 est lointaine dans le futur, plus k est grand et moins son poids est important ; le plus souvent, on choisit γ ∈]0, 1[[Gé08a] . Si γ = 0 , les récompenses futures sont ignorées et seules les récompenses immédiates comptent (Rt = rt+1). Si γ = 1 , les récompenses futures comptent autant que les récompenses immédiates (Rt = ∞ k=0 rt+k+1). Si γ = 0.5 , la considération est à moitié. C’est sur base de ce formalisme que les algorithmes d’apprentissage reposent, plusieurs exemples de compréhension de ce dernier(formalisme) sont donnés dans [SB18]|p51-p56. Nous présentons aux points suivants les principaux algorithmes d’apprentissage par renforcement et leurs différentes méthodes d’approximation. 5
  • 6. 4 Algorithmes d’apprentissage par renforcement Algorithme 1 Fonctionnement général d’un algorithme d’apprentissage par renforcement L’apprentissage par renforcement peut se résumer aux étapes suivantes[BB] : 1: Initialisation du système d’apprentissage 2: boucler 3: Système dans un état s ; choisir une action a selon la plage d’exploration et l’appliquer au système. 4: Le système renvoie une récompense r. 5: Utiliser l’expérience pour mettre à jour le système d’apprentissage. 6: passer à l’état suivant s ← s’ 7: fin de la boucle 4.1 Méthode de Monte-Carlo 4.1.1 Introduction La méthode de Monte-Carlo 5 associe l’idée de la programmation dynamique à l’idée de Monte-Carlo. L’idée de Monte-Carlo consiste à effectuer des simulations au hasard, à retenir les résultats des simulations et à calculer des moyennes de résultats. Cette stratégie est adaptée lorsque l’on ne connaît pas le modèle du domaine (les probabilités de transitions et les retours du PDM 6). C’est une stratégie simple. Il faut que les tâches de l’agent soient décomposées en épisodes, et un épisode correspondra à une simulation[Bou10]. 4.1.2 Évaluation d’une politique π par Monte-Carlo L’évaluation d’une politique est tout simplement l’évaluation de la fonction de valeur d’état V π ou d’action Qπ. 4.1.2.1 Estimation de Monte-Carlo des valeurs d’état On suppose la politique π donnée et on cherche à l’évaluer avec la fonction de valeur d’état V π. V π (s) = E[ k−1 k=0 rπ (sk)|s0 = s; π] (1) , où k est l’indice d’un état. 5. Le terme «Monte-Carlo» date de 1940, quand les scientifiques (physicients et mathematiciens), notamment John Von Neumann, Stanislaw Ulam et Nicolas Metropolis, à Los Alamos dans le laboratoire national, invente les jeux de chance générant les variations aléatoires qui leurs permettaient de comprendre et d’etudier les phenomenes physiques complexes relatifs à l’atome d’Hydrogène pour la bombe dans le projet d’armement nucleaire Manhattan [T.T13],[SB18]-p116. D’abord elaborée pour la conception des bombes thermonucléaires, elle s’est révélée féconde, utilisable jusqu’au domaine météorologique. La méthode se présentait à mis-chemin entre théorie et expérience,et également était mobilisée pour simuler les comportements des hommes [PGG+ 06]- p350. 6. PDM :Processus de décision Markovien 6
  • 7. La stratégie consiste à lancer des épisodes dans lesquels l’agent utilise la politique π. En d’autres termes on génère n trajectoires (si 0 = s, si 1, ..., si ki = 0)i≤n à partir d’un état initial x. Dans un épisode, pour chaque état, on enregistre le résultat de l’épisode (Cette action est répétée pour chaque épisode). Enfin, la valeur d’état V (s) est la moyenne des résultats enregistrés de chaque épisode. Vn(s) = 1 n n i=1 [rπ (si 0) + rπ (si 1) + ... + rπ (si ki−1)] (2) V (s) converge vers V π(s), démontré par la loi de grands nombres stipulant que l’écart- type autour de la moyenne décroît en 1/n1/2 (où n est le nombre de résultats moyennés) 7 [GS01, Mon20]. La trajectoire (s0, s1, s2, ..., sK) contient toute sous-trajectoire (sk, sk+1, ..., sK), donc la somme rπ(sk) + ... + rπ(sK−1) fournit un estimateur de V π(sk). Donc une seule trajec- toire peut fournir un estimateur pour tous les V π(sk). Il est possible qu’un état soit visité plusieurs fois, étant donné que les trajectoires sont générées aléatoirement. Si c’est le cas (un état s est visité plusieurs fois au cours d’une même trajectoire), alors la moyenne sera biaisée. C’est ainsi que nous distinguons deux méthodes de Monte-Carlo à savoir : • Monte-Carlo à chaque visite : Les sous trajectoires issues de s sont dépendantes car portions d’une même trajectoire. De plus, le nombre d’échantillons de récompense accumulée est une variable aléatoire, leur moyenne peut être biaisée. Alors, cette mé- thode de MC peut s’étendre plus naturellement aux fonctions d’approximation et approches d’éligibilité. • Monte-Carlo à première visite : On ne considère que la première sous-trajectoire visitant s. Cet estimateur est non-biaisé, mais on ne dispose que d’une réalisation. Algorithme 2 Monte-Carlo à valeur d’état 1: Entrée : π //politique à évaluer 2: Initialisation 3: V (s) ∈ R, arbitrairement pour tout s ∈ S //V(s) fonction de valeur d’état 4: Retour(s) ← une liste vide pour tout s ∈ S 5: boucler 6: Générer une épisode suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT 7: G ← 0 8: //t pas de l’épisode 9: pour t = T − 1, T − 2, ..., 0 faire 10: G ← γG + Rt+1 11: si St ∈ {S0, S1, ..., St−1} : alors 12: Ajouter G au Retour(St) 13: V (St) ← Moyenne(Retour(St)) 14: fin du si 15: fin pour 16: fin de la boucle On démarre d’un état et on effectue une série de transitions conduisant à un état final où le résultat est la somme des récompenses reçues pendant l’épisode. Ce résultat est enregistré dans l’état de départ pour servir au calcul de la moyenne. 7. Autrement, la dispersion de la variable aléatoire moyenne diminue au fur et à mesure que la taille de l’échantillon n augmente. Si l’échantillon devient plus grand, le nombre de situations pouvant donner des valeurs proches de l’espérance augmente (E[Mn(X)] = E[X]). 7
  • 8. Le processus de passage d’un état à un autre peut être modélisé par un diagramme appelé «diagramme backup» Figure 3 – Diagramme backup Dans cette méthode, la valeur d’un état est indépendante de la valeur d’un autre état voisin. En ce sens, on dit que la méthode de Monte-Carlo ne "bootstrap" pas contrairement à la programmation dynamique. Par ailleurs on voit que le coût de cette méthode ne dépend que de la longueur des épisodes. Et que l’on peut estimer les valeurs d’états d’un sous-ensemble de l’espace des états, si seul ce sous-ensemble nous intéresse, et ignorer complètement les autres états[Bou10, SB18]. Connaissant le modèle, les valeurs d’état sont suffisamment optimales pour déterminer une politique ; on regarde tout simplement une étape et on choisit celle qui conduit à la meilleure combinaison récompense-état suivant. Cependant, quand le modèle n’est pas connu(càd sans modèle), l’évaluation de la politique par Valeur d’état n’est pas suffisante. Il faut explicitement estimer la valeur de chaque action afin que ces valeurs soient utiles dans la suggestion d’une politique, d’où la raison d’être de la méthode de Monte-Carlo à estimation de valeur d’action Q. 4.1.2.2 Estimation de Monte-Carlo des valeurs d’action Si le modèle n’est pas disponible, il est particulièrement utile d’estimer les valeurs d’ac- tion (les paires valeurs d’état-action) plutôt que les valeurs d’état seulement. Le problème d’évaluation de politique pour les valeurs d’action consiste à estimer Q(s, a), retour at- tendu en commençant par l’état s, en prenant une action a suivant la politique π. Comme pour celle basée seulement sur les valeurs d’état (le point précèdent), l’estima- tion de Monte-Carlo des valeurs d’action existe également sous deux types : Monte-Carlo à Première visite et Monte-Carlo à plusieurs visites. Contrairement à l’estimation des valeurs d’état, la visite avec l’estimation des valeurs d’action est effectuée aux paires état-action (s, a) avec quelques considérations à prendre avant d’effectuer cette dernière (visite) ; nous en parlerons aux prochains sous-paragraphes. 4.1.2.2.1 Exploration et Exploitation Étant donné qu’un état peut disposer de plusieurs actions, si la politique π est déter- ministe il est possible que d’autres paires action-état ne puissent être visitées c’est-à-dire on ne visite qu’une seule action (la concernée) pour chaque état. Cela entraîne que les estimations de Monte-Carlo pour d’autres actions ne s’amélioreront pas avec l’expérience, un sérieux problème pour l’exploitation car l’objectif d’apprentissage à valeur d’action est d’aider à choisir une action parmi les actions disponibles dans chaque état. Pour que l’estimation des valeurs d’action marche avec une politique déterministe, il faut absolument maintenir un bon niveau d’exploration au départ et assurer la continuité de l’exploration. 8
  • 9. La solution est que les épisodes commencent par les paires état-action avec une pro- babilité non-nulle et que chaque paire état-action doit être visitée une infinité de fois pour un nombre infini d’épisodes. Ce mécanisme est appelé «hypothèse de démarrage d’exploration» (en anglais assumption of Exploring start). Cette hypothèse n’est utile qu’avec une politique et un environnement déterministe, en plus l’apprentissage avec une interaction directe avec cet environnement n’est pas nécessaire. Si la politique est sto- chastique, et où il faudrait un apprentissage par interaction direct avec l’environnement, l’hypothèse ES n’est pas nécessaire. L’alternative serait de considérer les paires état-action avec une probabilité non-nulle. De tout ce qui précède, nous savons que l’agent apprend en parcourant les épisodes générés et choisit son action et/ou son état suivant une politique π. Une question se pose : comment améliorer cette façon de choisir (optimiser le choix), bref comment améliorer cette politique π ? La réponse à cette question est le contrôle de Monte-Carlo dont nous parlons au point suivant. 4.1.2.2.2 Contrôle de Monte-Carlo Le contrôle Monte-Carlo correspond à un processus alternant une amélioration de po- litique et une évaluation de celle-ci(politique) comme le montre la figure ci-dessous. Figure 4 – Contrôle de MC | Source :[SB18]p97 De manière plus détaillée, on commence par une politique π0 et on choisit l’action qπ0 en suite, il s’améliore et devient qπ1 et qui conduira par la suite à une action a1, on évolue jusqu’à atteindre la politique optimale π. π0 E → qπ0 I → π1 E → qπ1 I → π2 E → ... I → π∗ E → q∗ En combinant, l’hypothèse de démarrage et le contrôle de MC, l’évaluation de la politique π à valeur d’action se présente de la manière suivante : 9
  • 10. Algorithme 3 Monte-Carlo à valeur d’action avec hypothèse de démarrage et contrôle de MC 1: Initialisation 2: π ∈ A(s), arbitrairement pour tout s ∈ S 3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action 4: Retour(s, a) ← une liste vide pour s ∈ S, a ∈ A(s) 5: boucler 6: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0 7: Générer une épisode partant de S0, A0 suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT 8: G ← 0 9: //t pas de l’épisode 10: pour t = T − 1, T − 2, ..., 0 faire 11: G ← γG + Rt+1 12: si (St, At) ∈ {(S0, A0), (S1, A1), ..., (St−1, At−1)} : alors 13: Ajouter G au Retour(St, At) 14: Q(St, At) ← Moyenne(Retour(St, At)) 15: fin du si 16: fin pour 17: pour t = T − 1, T − 2, ..., 0 faire 18: π(St) ← argmaxa∈A(St)Q(St, a) 19: fin pour 20: fin de la boucle Il est possible d’éviter l’hypothèse de démarrage, de ce fait, on fait recours à deux méthodes, la méthode sur politique 8, utilisant la politique -greedy et la méthode hors politique 9 qui n’a pas de politique cible. 8. sur politique : on-policy en anglais 9. hors politique : off-policy en anglais 10
  • 11. La méthode basée sur la politique de -greedy, dans la plupart de temps, choisit l’action ayant une valeur d’action maximale mais avec la probabilité en lieu et place de sélection- ner l’action aléatoirement. Étant donné que dépend d’une personne à une autre, nous présentons l’algorithme avec la politique -soft dont la politique de -greedy est un cas particulier. Algorithme 4 Monte-Carlo selon la politique -soft 1: Paramètre : > 0//valeur très faible 2: Initialisation 3: π ← politique − soft arbitraire 4: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action 5: Retour(s, a) ← une liste vide pour tout s ∈ S, a ∈ A(s) 6: boucler 7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0 8: Générer une épisode partant de S0, A0 suivant π : S0, A0, R1, A1, R2, ...ST−1, AT−1, RT 9: G ← 0 10: //t pas de l’épisode 11: pour t = T − 1, T − 2, ..., 0 faire 12: G ← γG + Rt+1 13: si (St, At) ∈ {(S0, A0), (S1, A1), ..., (St−1, At−1)} : alors 14: Ajouter G au Retour(St, At) 15: Q(St, At) ← Moyenne(Retour(St, At)) 16: fin du si 17: fin pour 18: pour t = T − 1, T − 2, ..., 0 faire 19: A∗ ← argmaxa∈A(St)Q(St, a) 20: pour tout a ∈ A(st) : 21: π(St, a) ←    1 − + |A(St)| si a = A∗ |A(St)| si a = A∗ 22: fin pour 23: fin de la boucle Pour la méthode hors politique (off-policy en anglais), cette dernière n’a pas de poli- tique cible, il introduit la notion de l’importance de l’échantillon représentée par la variable poids (weight en anglais) que l’on retrouve aussi dans le réseau de neurones. Nous nous limiterons à présenter l’algorithme et sa variante (voir la page suivante). Pour plus de détails, nous vous reportons sur [SB18]-p103-115. 11
  • 12. Algorithme 5 Monte-Carlo hors politique 1: Entrée :π //politique cible arbitraire 2: Initialisation 3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action 4: C(s, a) ← 0//tableau des sommes cumulées des poids 5: boucler 6: b ← valeur arbitraire avec couverture π 7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0 8: Générer une épisode suivant : ¯ S0, A0, R1, A1, R2, ...ST−1, AT−1, RT 9: G ← 0 10: W ← 1 //poids 11: //t pas de l’épisode 12: pour t = T − 1, T − 2, ..., 0 faire 13: tant que W = 0 faire 14: G ← γG + Rt+1 15: C(St, At) ← γC(St, At) + W 16: Q(St, At) ← Q(St, At) + W C(St, At) [G − Q(St, At)] 17: W ← W π(St, At) b(St, At) 18: fin tant que 19: fin pour 20: fin de la boucle Algorithme 6 Monte-Carlo hors politique avec contrôle de MC 1: Entrée :π //politique cible arbitraire 2: Initialisation 3: Q(s, a) ∈ R, arbitrairement pour tout s ∈ S, a ∈ A(s) //Q(s,a) fonction de valeur d’action 4: C(s, a) ← 0//tableau des sommes cumulées des poids 5: boucler 6: b ← valeur arbitraire avec couverture π 7: Choisir S0 ∈ S, A0 ∈ A(S0) aléatoirement telque la probabilité > 0 8: Générer une épisode suivant : ¯ S0, A0, R1, A1, R2, ...ST−1, AT−1, RT 9: G ← 0 10: W ← 1 //poids 11: //t pas de l’épisode 12: pour t = T − 1, T − 2, ..., 0 faire 13: G ← γG + Rt+1 14: C(St, At) ← γC(St, At) + W 15: Q(St, At) ← Q(St, At) + W C(St, At) [G − Q(St, At)] 16: π(St) ← argmaxa∈A(St)Q(St, a) 17: si At = π(St) alors 18: sortir de la boucle passer à l’épisode suivante 19: fin du si 20: W ← W 1 b(St, At) 21: fin pour 22: fin de la boucle 12
  • 13. 4.2 TD-learning 4.2.1 introduction L’apprentissage TD (Temporal-Difference en français Différence Temporelle) 10, est une association d’idées de la PD et de MC. Comme MC, TD apprend à partir de l’expérience directe de l’agent, sans modèle de la dynamique de l’environnement. Comme PD, TD met à jour les états en fonction de leurs voisins, sans dépendre des états finaux ; nous dirons que TD « bootstrap »[SB18]-p124. L’avantage de cette méthode est qu’elle permet de prédire (estimer) le futur sans une connaissance complète. Elle ne nécessite pas assez de mémoire et pas assez de calculs et produit une prédiction de qualité (accurate) pour la pluspart des problemes réels[SUT88]. 4.2.2 Prédiction TD Voyant le point précédent sur MC, de manière non-stationnaire nous pouvons écrire la règle de mise-à-jour de la manière suivante : V (St) ← V (St) + α[Gt − V (St)] (3) Où Gt est le retour courant à l’instant t, et α une constante qui représente le pas d’ap- prentissage. Cette méthode de mise-à-jour est appelée constant-α MC [SB18]-p120. C’est avec cette idée que le TD-learning effectue la mise-à-jour. Alors que la cible du MC était Rt, et qu’il (MC) attend la fin d’un épisode pour mettre à jour un état. La cible de TD est Rt+1 + γV (St+1) 11 et utilise la règle de mise-à-jour suivante : V (St) ← V (St) + α[Rt+1 + γV (St+1) − V (St)] (4) Contrairement à la mise-à-jour complète de la PD qui utilise tous les états suivants de l’état courant, la mise-à-jour de TD est échantillonnée par l’expérience et ne dépend que d’un seul état suivant. Ci-dessous nous présentons l’algorithme TD-learning. Cette methode de TD-learning est appelée «TD(0)» 12 , ou «one-step TD», car c’est un cas spécial de TD(λ) 13 , la difference temporelle à plusieurs pas, c’est la version générique de TD, ce dernier ne fera pas l’objet de ce document. Sur ce, nous vous reportons au [SB18]. 10. En 1959, la différence temporelle est utlilisée dans un programme de dames d’Arthur Lee Samuel[Sam59]. C’est le tout premier programme d’auto-apprentissage, une de meilleurs et premières applications de TD-learning de l’époque malgrès que la théorie sur cette méthode (TD-learning) était pauvre. C’est en 1988 que Richard S. Sutton dans [SB18] explicite de cette théorie en faisant une étude sur le TD-learing pour prédire un événement arbitraire et prouve également sa convergence. 11. γ (0 γ 1) : Facteur de depréciation, aussi appélé taux de diminution des renforcements, c’est le pour- centage avec lequel sont considérés les antécédents.Il permet de régler l’importance accordée aux récompenses futures vis-à-vis des récompenses immédiates 12. La convergence de cette méthode a été prouvée par Sutton dans [SUT88] en utilisant les poids d’un réseau de connexioniste. 13. λ, appelé trace-decay parameter en anglais [SB18], il fait référence à l’utilisation de la trace d’eligiblité. λ ∈ [0, 1], il caractérise le taux avec lequel une trace déprécie ou est considérée. Dans ce contexte, la trace correpond à des k valeurs antécedentes qui sont utilisées pour estimer la valeur actuelle. 13
  • 14. Algorithme 7 TD(0)pour estimer Vπ Entrée : π politique à évaluer Paramètre : α ∈ [0, 1] pas d’apprentissage 1: Initialisation 2: V (S) ← valeur arbitraire pour tout S ∈ St 3: V (temind) ← 0 4: boucler 5: Initialiser :s 6: répéter 7: a ← π(S) 8: Executer a 9: Recevoir la recompense immédiate r et le nouvel etat S 10: V (S) ← V (S) + α[r + γV (S ) − V (S)] 11: S ← S 12: jusqu’à jusqu à sterand 13: fin de la boucle 4.3 Q-learing Introduit par C.Watkins en 1989 [Wat89]. Dans [WD92], Watkins présente Q-leaning comme un modèle libre d’apprentissage par renforcement. Il permet à l’agent d’apprendre avec la possibilité d’agir de manière optimale dans le domaine de Markov 14 par expéri- mentation des conséquences des actions sans la connaissance de ce domaine. Le processus d’apprentissage est similaire à celle de différence temporelle (DT) de Sutton (1984, 1988). La convergence du Q-learning peut être vue dans [WD92]–p282-285. Dans Q-learning, l’expérience d’un agent consiste à des séquences des différents stages ou épisodes. Au nième épisode, l’agent effectue des taches ci-après[WD92] : • Observer l’état courant sn • Sélectionner et performer une action an • Observer l’état suivant sn • Recevoir a récompensé directe rn • Ajuster les Qn−1 valeurs en utilisant le pas d’apprentissage αn : Q(s, a) = (1 − αn)Qn−1 + αn[rn + γVn−1(sn)] si s = sn et a = an Qn−1(s, a) ailleurs (5) avec Vn−1(sn) = max a Qn−1(s , a ) (6) Sous hypothèse que les valeurs initiales Q0(s, a) pour toutes les paires état-action sont données. 14. Domaine de Markov : C’est un ensemble d’état discret dont le passage d’un état à un autre est défini par la probabilité de transition[Gra14] 14
  • 15. Algorithme 8 Q-leaning pour estimer Q Paramètres : — α ∈ [0, 1] pas d apprentissage — > 0 valeur très petite 1: Initialisation : 2: Q(s, a) ← valeur arbitraire pour tout s ∈ St , a ∈ A(s) 3: Q(termind, ∗) ← 0; 4: boucler 5: Initialiser :s Choisir A partant de S utilisant une politique dérivé de Q (exemple ξ-greedy) 6: répéter 7: executer A 8: Recevoir la recompense immédiate R et le nouvel etat S 9: Q(S, A) ← Q(S, A) + α[R + γ maxQ(S , A) − Q(S, A)] 10: S ← S 11: jusqu’à S is stermid 12: fin de la boucle 4.4 Sarsa L’algorithme Sarsa 15 a été introduit par Rummery et Nirajan en 1994. De nom d’orgine "Modified connectionist Q-learning" en abrégé (MCQ-L)[RN94]-p3,6. Sarsa exploite le réseau de connexionniste pour évaluer la fonction de valeur d’action Q(s, a). Le Q-Learning posait problème dans le stockage rapide des paires états-actions dans un espace d’états continu et dans un espace d’états très grand. L’usage du réseau de neurones permet de palier à ces problèmes (problème d’espace d’état continue et grand espace d’états). Cette approche est inspirée de [Lin91], chaque état du système est caractérisé par un vecteur d’état et constitue l’entrée des réseaux de neurones. Chaque action est une sortie d’un réseau de neurones. L’action à exécuter est celle dont la récompense est maximale, en suite la mise-à-jour de la valeur d’action et la mise-à-jour des poids du réseau neurone concerné[Lin92]-p73-74. L’originalité de Sarsa est sa règle de mise-à-jour du poids ; une combinaison de TD- learning et du Q-learning et se présente de la manière suivante : ∆w = η[rt + γQt+1(s, a) − Qt(s, a)] t k=0 (γλ)t−k wQk (7) Et la règle de mise-à-jour de la fonction de valeur d’action est donnée par : Q(st, at) ← Q(st, at) + α[rt+1 + γQ(st+1, at+1) − Q(st, at)] (8) Nous remarquons que sa règle de mise-à-jour de la valeur d’action est presque identique à celle du Q-learning, la différence est l’utilisation de Qt+1(s, a) (valeur d’action d’action du prochain état) en lieu et place greedy max a∈A Qt+1(s, a). Ce mécanisme permet d’éviter la limitation d’exploration que cause le greedy max a∈A Qt+1(s, a) (certains cas Q(s, a) ne sont jamais visités)[RN94]-p6-7. La convergence a été prouvée par Singh, Jaakkola,littman, et Szepsvar(2000) dans [SJLS96], cette convergence a été démontrée pour Sarsa(0) ou sarsa-one-step, un cas par- ticulier de sarsa(λ). 15. La terme Sarsa (State-Action-Reward-State-Action) a été introduit par Sutton [Sut96a]-p1039, car il faudrait connaitre l’état en cours, l’action en cours, la récompense, le prochain état et la prochaine action avant la mise-à-jour (amélioration)[RN94]-p6. 15
  • 16. De tout ce qui précède, L’algorithme se présente de la manière suivante : Algorithme 9 Sarsa pour estimer Q qπ Paramètres : — α ∈ [0, 1] pas d apprentissage — > 0 valeur très petite 1: Initialisation : 2: Q(s, a) ← valeur arbitraire pour tout s ∈ St , a ∈ A(s) 3: Q(termind, ∗) ← 0 4: Initialiser s 5: Choisir A partant de S utilisant une politique dictée par Q (ex. ξ-greedy) 6: boucler 7: répéter 8: executer A 9: Recevoir la recompense immédiate R et le nouvel etat S 10: Choisir A partant de S utilisant une politique dictée par Q(ex.ξ − greedy) 11: Q(S, A) ← Q(S, A) + α[R + γQ(S , A ) − Q(S, A)] 12: S ← S : A ← A 13: jusqu’à S is stermid 14: fin de la boucle Nous pouvons remarquer que la politique est absente de cet algorithme car elle est implicitement dictée par Q. Qui plus est, l’action choisie a correspond à la valeur Q utilisée pour la mise-à-jour. Sarsa est une méthode « online » car elle ne nécessite aucune simulation à priori contrairement à Monté-Carlo. 4.5 Dyna-Q Dyna est une architecture de l’intelligence artificielle qui intègre l’apprentissage, la planification et la réactivité[Sut91]. Cette architecture a été conçue pour des cas où l’agent n’a pas une connaissance complète et précise des effets de ses actions dans l’environnement et dans lequel ses effets peuvent être non-déterministes. Par effet d’une action nous voyons la récompense et l’état suivant et/ou l’action sui- vante. Dans cette architecture l’objet de l’agent est de maximiser la récompense totale qu’il reçoit à long terme car plusieurs systèmes ne comptent pas vraiment les récompenses qui tardent relativement à la récompense immédiate. De manière détaillée l’architecture intègre les points ci-après ([Sut91]-p1,p2) : • Apprentissage par essaie et erreur d’une politique réactive optimale de la situation à l’action. • L’apprentissage du domaine se fait sous la forme de modèle d’action d’état , une boite noire qui prend en entrée une situation et une action et en sortie la prédiction de l’état suivant. • La planification : trouver la politique optimale donnée par le domaine de connaissance basée sur le modèle d’action. • La réactivité : la planification n’intervient pas entre la perception de l’état courant et le réponse de ce dernier (la planification intervient après la prise d’une action et dernière à la prise directe de la prochaine relativement ou prochain état). 16
  • 17. De façon générique (sans être attaché à une fonction de mise-à-jour), l’algorithme Dyna se présente de la manière suivante : Algorithme 10 algorithme Dyna 1: répéter 2: Observer l’état et choisir action en fonction de cela. 3: Observer la récompense résultante et le nouvel état 4: Appliquer l’apprentissage par renforcement à cette expérience 5: Mettre à jour le modèle basé sur cette expérience //planification(simulation) 6: répéter 7: choisir au hasard l’état et l’action 8: prédire la récompense résultante et le nouvel état en utilisant le modèle d’action 9: Appliquer l’apprentissage par renforcement lié à cette expérience. 10: jusqu’à k fois 11: jusqu’à pour toujours Ci-dessous nous présentons l’algorithme Dyna-Q une combinaison de l’archiecture Dyna et la méthode Q-learning. Cette combinaison n’est pas unique comme précise[Sut91].Même un algorithme générique peut faire l’affaire ;l’approche du Q-learning a été choisie vu sa simplicité 16. Algorithme 11 Dyna-Q 1: Initialisation 2: //T modèle pour tout s ∈ S et a ∈ A 3: Q(s, a) ← arbitrairement 4: T(s, a) ← valeur arbitraire 5: R(s, a) ← valeur arbitraire boucle 6: S ← état courant(profil de l’état final) 7: répéter 8: A ← πQ(s) ( -greedy (Q,s)) 9: Prendre l’action A,observer ret s 10: Q(S, A) ← +α[r + γmaxa ∈A(S ) Q(S , A ) − Q(S, A)] 11: T(s, a) ← s 12: R(s, a) ← r 13: S ← S 14: jusqu’à jusqu à stermind 15: //Simulation (planification) 16: répéter 17: Sm ∈ S et am ∈ A(sm)au hasard 18: Sm ← valeur prise au hasard 19: Am ← valeur prise au hasard 20: Sm ← T(Sm, am) 21: rm ← R(Sm, am) 22: Q(Sm, Am) ← Q(Sm, am) + α[r + γmaxa ∈A(S ) Q(Sm, am) − Q(Sm, Am)] 23: jusqu’à N fois 16. Cette combinaison conduit au modèle d’apprentissage mixte c.à.d direct et indirect. Direct comme le TD-learning, il choisit l’action directement en fonction de l’état courant, et Indirect comme MC aau travers une simulation ,il optimise la politique avec très peu d’interaction avec l’environnement. L’expérience vient de l’interaction directe avec l’environnement,cette dernière est caractérisée par les récompenses[SB18]-p162. 17
  • 18. 4.6 Prioritized sweeping (PS) L’algorithme «Prioritized sweeping» est une méthode qui utilise à la fois le modèle de prédiction de Markov et l’apprentissage classique par renforcement[AFP97]. Pour choisir efficacement une action ou passer une étape, l’agorithme PS hiérarchise les états pour concentrer le calcul sur les états qui sont susceptibles d’avoir les plus grosses erreurs. De ce fait, PS se montre plus performant que le modèle de prédiction de Markov, il exploite toutes les observations de probabilité de transition pour être précis dans la prédiction et comme les techniques d’apprentissage par renforcement classique, il utilise un apprentis- sage incrémental tel que le fait le Dyna-Q[MA93]. La priorité est basée sur la variable A appelée «probabilité d’absorption» en anglais absorption probability qui représente la marge de probabilité de transition d’un état i à j. Sur ce, l’algorithme PS supprime dans la liste des prédécesseurs d’un état i tout état dont la probabilité d’absorption est max ou encore supérieur à une valeur (un seuil) ; en suite retenir comme prédécesseurs de cet état i, les états ayant une faible priorité d’être balayés c’est-à-dire ayant une faible probabilité d’absorption[SB18]. L’algorithme se présente de la manière suivante ([SB18]-p170, [Gé08b]-p66-p67) : Algorithme 12 Prioritized sweeping (PS) 1: Initialisation Pour tout s ∈ S,a ∈ A 2: Q(s, a) ← arbitraire 3: T(s, a) ← arbitraire //Modèle(s,a) 4: Lp ← liste vide // liste contenant les valeurs de probabilité boucler 5: répéter 6: s ← l’état initial de l’épisode 7: a ← πQ(s) // politique(s,Q) 8: prendre l action a ; observer ret s 9: T(s, a) ← s 10: R(s, a) ← r 11: p ← [r + γmaxa ∈A(s ) Q(s , a ) − Q(s, a)] 12: si p > θ alors 13: inserer (s, a) dans Lp avec prioritép 14: fin du si//Simulation d’action par priorité 15: pour N fois et Lp n’est pas vide faire 16: (sm, am) ←prendre élément de Lp 17: s ← T(sm, am) 18: rm ← R(sm, am) 19: Q(sm, am) ← Q(sm, am) + α[r + γmaxa ∈A(S ) Q(sm, am) − Q(sm, am)] 20: pour tout (sm, am) ∈ T−1(sm) faire 21: // T−1(sm) ensemble des valeurs prédit à être chargé 22: rm ← R(sm, am) 23: pm ← [r + γmaxa ∈A(s ) Q(sm, am) − Q(sm, am)] 24: si pm > θ alors 25: inserer (sm, am) dans Lp avec prioritépm 26: fin du si 27: enlever (sm, am)de Lp 28: fin pour 29: fin pour 30: jusqu’à s terminal 18
  • 19. 4.7 Deep Q-Network :DQN En cas d’approximation non-linéaire de la fonction de valeur, l’apprentissage par ren- forcement pose un problème de convergence lorsque ce dernier est un réseau de neurones artificiels. C’est ainsi qu’en 2015, Mnih et al introduit le Deep Q-Network(DQN)[Li18]-p15 qui consiste à une combinaison du Q-learning avec un réseau de neurones convolutifs pro- fond [SB18]. Cette approche a donné naissance à une autre forme d’apprentissage par renforcement, l’apprentissage par renforcement profond (Deep Reinforcement Lear- ning en anglais). C’est une approche de généralisation de V (s, a) et Q(s, a) trouvée par Mnih et al. Ceci consiste à utiliser le réseau de neurones artificiels pour approximer les différents composants de l’apprentissage par renforcement à savoir les fonctions de valeur ˆV(s,θ) et ˆQ(s,a,θ), la politique π(a,s,θ) 17 et même le modèle (fonction de transition d’état et la fonction de récompense)[SB18]-p223-p228. Dans Mnih et al(2015), ils ont montré comment un agent peut atteindre des hautes perfor- mances dans plusieurs problèmes sans avoir un ensemble des caractéristiques spécifiques de ces problèmes. L’algorithme se présente comme suit : Algorithme 13 DQN 1: Initialisation 2: la mémoire D // matrice 3: la fonction de valeur d’action Q 4: θ ← aléatoire 5: La cible de la fonction de valeur d’action Q 6: le poids cible θ− = θ 7: pour l’épisode = 1 à M faire 8: Initialisation 9: S1 = {x1} et φ1 = φ(S1) 10: pour t=1 à T faire 11: Suivant − greedy, at = a action aléatoire avec probabilité arg maxaQ(Q(st), a, θ) ailleurs 12: Exécuter l’action a 13: Observer la récompense rt et l’état suivant xt+1 14: St+1 ← St, at, xt+1 15: φt+1 ← φ(st+1) 16: Sauvegarder la transition (φt, at, rt, ℘t+1) dans D 17: //Refaire l’expérience 18: Prendre la transition (φt, at, rt, ℘t+1) dans D yj = rj si l épisode se ferme à j+1 rj + γmaxa ˆQ(φt+1, a , θ− ) ailleurs 19: Améliorer le paramètre θ− 20: θt+1 = θt + α(yθ t − Q(st, at; θt)) θt θ(st, at; θt) 21: // mise-à-jour de la cible 22: // ˆQ=θ 23: θ− = θ 24: fin pour 25: fin pour 17. Dans ce contexte,θ représente le poids dans le réseau de neurones artificiels. 19
  • 20. Une amélioration de DQN appelée D-DQN a été introduite en 2016 par VAN HESSELT et al. dont les résultats sont meilleurs que DQN[Li18]-p16. Cette amélioration consiste à redéfinir la sortie : yD−DQN t = rt+1 + γQ(st+1, arg maxaQ(st, at; θt); θt) Cette artifice permet de trouver une meilleure politique que le DQN. 5 Méthode d’approximation des fonctions de va- leur L’intégration de l’apprentissage par renforcement revient à l’implémentation d’un des algorithmes d’apprentissage par renforcement qui nécessite un bon choix de la méthode d’approximation ou d’évaluation des fonctions de valeur. Nous distinguons deux types de méthodes d’approximations dont la méthode ta- bulaire et les méthodes paramétriques (Les méthodes linéaires et les méthodes non- linéaires). 5.1 Méthode tabulaire Dans cette méthode, les espaces d’états et d’actions sont supposés discrets et finis. Après calculs, les valeurs d’état ou les valeurs d’action sont stockées dans des tables. Et l’accès à ces dernières se fait par indexation. Les algorithmes fonctionnant de cette manière sont dits tabulaires ; à titre d’exemple pour ce dont nous avons décrits ci-haut. Q(s, a) s1 ... sn a1 0.2 ... 0.6 ... ... ... ... an 0.99 ... 0.41 L’inconvénient de cette méthode est l’Explosion combinatoire[Gé08a]-p47. L’espace étant continu une bonne approximation serait d’augmenter la taille de discrétisation, quand la taille de S et A augmente, la taille des tables croît jusqu’à ce que des problèmes de performances se posent. 5.2 Méthodes paramétriques Vu les problèmes posés par la méthode tabulaire, on ne peut toujours pas utiliser la représentation tabulaire de la fonction valeur. Par conséquent, on utilise une fonction pa- ramétrée qui détermine la manière dont on calcule V (s) en fonction de s. A titre d’exemple une fonction linéaire y = wx de paramètre poids (w) qui permet de calculer y pour une infinité de valeurs x. De ce qui précède, l’apprentissage de la fonction valeur devient un problème d’approxi- mation de fonction. 5.2.1 Méthodes linéaires On approxime la fonction de valeur à une fonction linéaire ; Vt est une fonction linéaire de s. A chaque état s est associée une représentation en attributs numériques φs présentée comme suit : φs = (φs(1), φs(2), ..., φs(n))T . L’approximation de la fonction valeur s’exprime comme : Vt(s) = wT t φs = n i=1 wt(i)φs(i) (9) 20
  • 21. φ, représente la fonction de voisinage dont nous parlerons au paragraphe 5.2.1.1. Et w suit la loi de mise-à-jour selon la méthode d’apprentissage choisie en utilisant la descente du gradient. Pour Monte-Carlo : wt+1 ← wt + α[Rt + V (st, wt)] wV (st, wt) (10) Pour TD-Learning : wt+1 ← wt + α[Rt+1 + γV (st+1, wt) − V (s, wt)] wV (st, wt) (11) Pour ceux utilisant la valeur d’action Q : wt+1 ← wt + α[vt + Q(st, at)] wt Q(st, at) (12) Avec comme gradient d’une fonction f : wf = ∂f ∂w1 , ∂f ∂w2 , ..., ∂f ∂wn (13) 5.2.1.1 Fonction de voisinage On définit n régions Ri qui forment un ensemble de couverture de l’espace d’états S ∀s ∈ S, φs(i) = 1 si s ∈ Ri 0 sinon Parmi les types de voisinages employés 18 , nous avons : Coarse coding, Tile coding et les fonctions de base radiale. Coarse coding Les attributs sont définis par des régions circulaires (ou sphériques ou hyper-sphèriques) se recouvrant partiellement[Sut96b]. Donc, une composante de w correspond à chaque région circulaire. La valeur d’un état est la somme des paramètres correspondant aux cercles dans les- quels l’état est présent. Notons que la taille des cercles influe sur les performances et les résultats obtenus Figure 5 – Coarse Coding | Source :[SB18]-p215 18. Il existe également d’autres types de voisinage bien que ces derniers ne sont pas assez utilisés ; nous avons la fonction de base de fourrier et les fonctions polynomiales. 21
  • 22. Tile coding Plutôt que de définir des régions circulaires, on définit des régions carrées (ou cubiques ou hyper-cubiques) Les carrés sont organisés en grilles («tiles») Figure 6 – Tile Coding | Source :[SB18]-p217 Les régions ne sont pas obligatoirement carrées et organisées en grilles comme dans CMAC 19, elles peuvent prendre d’autres formes pourvu que tout l’espace d’états soit couvert. Figure 7 – Others coding | Source :[SB18]-p220 les fonctions de base radiale Généralisation des fonctions de voisinage ; plutôt que de valoir 0 ou 1 , on veut que les s(i) prennent n’importe quelle valeur entre 0 et 1. On définit des fonctions à base radiale par leur centre ci et leur écart type σi. φs(i) = e − s−ci 2σi (14) Figure 8 – Fonction de base radiale | Source :[SB18]-p221 19. CMAC (Cerebellar Model Articulation Controller), c’est un type de réseau de neurones qui modélise la structure et la fonction de la partie du cerveau en région appelée cervelet dans le but de contrôler un moteur[Alb75]. 22
  • 23. 5.2.2 Approximation non-linéaire Il se peut qu’il y ait nécessité d’une approximation non-linéaire (Perceptron à couche cachée de m neurones). Nous avons toujours φs = (φs(1), φs(2), ..., φs(n))T . Et la fonction de valeur d’état s’écrit : Vt(s) = m k=1 [wt(k)σ( n i=1 wt(k, i)φs(i))] (15) Où σ, la sortie des neurones de la couche cachée est calculée à l’aide d’un fonction sig- moïde : σ(x) = 1 1 + e−x (16) Figure 9 – Perceptron multi-couche | Source :[Gé08b]-p54 6 Implémentation :"Gridworld" Le gridworld est l’un des problèmes fondamentaux d’introduction de l’apprentissage par renforcement. Un gridworld est une tâche de navigation épisodique, le but est de passer de l’état de départ à l’état ciblé. Les actions possibles sont : aller à gauche, à droite, en haut ou en bas. Si des déplacements diagonaux sont également possibles,nous aurons à gauche en haut, à gauche en bas, à droite en haut et à droite en bas. Lorsque vous entrez dans un état trou, vous obtenez une récompense négative élevée et une transition vers un autre état. Pour chaque étape, vous obtenez une récompense jusqu’à ce que vous atteigniez l’état ciblé, alors l’épisode est terminé. Figure 10 – Gridworld | Source :[SB18]-p130 23
  • 24. 6.1 Méthode de résolution Une des approches de résolutions est celle d’une politique déterministe en utilisant le Q-learning, chaque case est liée à une Q(s, a) (Fonction de valeur d’action) qui représente le valeur d’une action dans un état. Comme cela à été mentionné, pendant l’exploration le passage d’un état à autre est sui- vant l’épisode. Pendant l’exploitation, le passage à un état est suivant sa valeur Q(s, a) ; un état s est choisi si sa valeur Q(s, a) est max. A titre de rappel voir les algorithmes d’apprentissage par renforcement [§4]. Nous avons implémenté le Q-learning en python en utilisant les solutions suivantes : — Librairies : • gym[Ope20] • itertools[Fou20] • matplotlib[HDF+20] • numpy[Num20] • pandas[pdt20] — Environnement : • Jupyter[Jup20] Figure 11 – Évolution de la longueur des épisodes Figure 12 – Évolution de la récompense 6.2 Code le code d’implémentation est disponible sur https://tinyurl.com/y347cwgu 24
  • 25. 7 Performance 7.1 Monte-Carlo et TD-Learning Contrairement à MC, TD-Learning ne nécessite pas la fin d’un épisode pour mettre à jour un état (requiert ainsi moins de mémoire) ; donc il est On-line, il prend en charge toute séquence pour le chargement (mise-à-jour) ([SB18],[Mar11]). En se référant aux courbes de performances ci-dessous (figure 13), nous remarquons que les deux méthodes convergent asymptotiquement. Cependant, TD-Learning converge plus rapidement que MC d’après cette courbe RMS de l’erreur 20. Figure 13 – Monte-carlo - TD-learning | Source :[SB18]-p127 7.2 TD-Learning et Q-Learning Sans pour autant évoquer l’optimisation de la politique, Q-Learning est plus perfor- mant par le fait que sa fonction de valeur Q(s,a) dépend à la fois de l’état et de l’action contrairement à TD-Learning qui ne prend en compte que l’etat V(s). A titre de rappel nous reprenons leurs équations à la ligne suivante : • V (S) ← V (S) + α[r + γV (S ) − V (S)] (règle de mise-à-jour du TD-learning) • Q(S, A) ← Q(S, A) + α[R + γ maxQ(S , A) − Q(S, A)] (règle de mise-à-jour du Q- learning) 7.3 Q-Learning et Sarsa Q-Learning apprend pour une politique optimale ; la faille est qu’il dépend du choix de − greedy. Sarsa par contre peut prendre une action qui peut ou ne pas être optimale jusqu’à converger avec toutefois un apprentissage un peu plus long [SB18]-p132 que Q- Learning. Figure 14 – sarsa - Q-learning | Source :[SB18]-p132 20. Cette comparaison a été effectuée avec un exemple typique le «Random walk» où l’agent partant d’un point milieu apprend à choisir la direction gauche ou droite selon la meilleure récompense. 25
  • 26. 7.4 Dyna-Q et Q-Learning Dyna-Q est meilleur que Q-learning et sarsa par le fait que son architecture combine la réactivité directe et la simulation des actions dans l’environnement. Figure 15 – Architecture Dyna | Source :[Sut91]-p2 7.5 Dyna-Q et Prioritized sweeping L’algorithme Prioritized sweeping est plus performant que Dyna-Q car il évolue plus rapidement pour trouver la solution optimale, le nombre d’itérations est faible compa- rativement à Dyna-Q (voir la figure 16). La limitation qu’a ce dernier est que dans un environnement stochastique (être dans un état est caractérisé par une probabilité), le fait de parcourir toutes les récompenses rend la probabilité de transition faible [SB18]-p170 ; ce qui a pour conséquence visible, l’agent prend assez de temps pour réagir. Figure 16 – Dyna-Q - Prioritized Sweeping | Source :[SB18]-p170 8 Application L’apprentissage par renforcement possède une large gamme d’applications. Ci-dessous nous mentionnons quelques applications avec son domaine respectif 21. — Jeux : AlphaGO qui a battu Ki Jue 3.0 une version améliorée de AlphaGO.200(Silver et Al 2017) — Robotique : Mirowski et al (2017) qui ont appliqué la commande du couple de moteur partant sur les images. — NLP : Nous avons une application de tout les jours la transcription en d’autres langues. Vaswani et al(2017) propose approche. Et la génération des textes(clavier,etc...) est vu dans Yu et al(2017) — Vision machine : Domaine qui consiste à faire comprendre la machine partant des images ou vidéo la reconnaissance,analyse des mouvements,etc (Broly et al 2017) 21. Pour une liste plus exhaustive et pour plus de références (cours, blog, etc) [Li18]-p28-p52) 26
  • 27. — Gestionnaire des affaires : L’AR intervient dans les suggestions des publicités, la reconnaissance des produits, le marketing comment maximiser les clients (Li et al 2015). — Finance : Dans le problème économique, dans la gestion des risques (Hill 2014,Wem- berg 1997) — Traitoverlapement et santé : Le traitement dynamique ou le traitement adap- tatif (DTR). Golbert et Kasoroc (2012) Gestion du capteur des malades (patients). LIN et AL (2017) appliquent Q-learning dans DTR dans le problème d’inférence des phénotypes. — Éducation : Lin et al 2014,Mendel et al 2014 — industrie 4.0 : O’Donovan et al (2015),Prévenu et Ilic-Zudoc(2017) maintenance préventif, diagnostique en temps réel, etc... — Smart Grid : La réponse à la demande(Wen et al 2015,Ruele et al 2016). — Système intelligent de transport : * Le flux de signalisation :Elu Tanteway et al 2015 * Self driving cars : Bojarsk et al (2016)(2017) Zhon et Torel (2017) — Système ordinateur (à processeur) : radio cognitive,allocation des ressources Hayicin(2015),Mao et al (2016) ressource RL (gestion des ressources) * optimisation Mirhoseins et al (2017) * sécurité Huang et al (2017) Liste des codes et implémentation,livres et cours... Figure 17 – Apprentissage par renforcement : Applications | Source :[Li18]p29 9 Conclusion Tout au long de ce document, nous avons présenté les généralités sur apprentissage par renforcement. Nous avons montré comment cela a évolué avec les algorithmes et architecture mise en œuvre. Certains se sont montrés plus performants que les autres avec astuce telle que le choix du maximum et les fonctions de voisinages en vue de s’améliorer. La résolution directe des équations, la programmation dynamique et MC mettent à jour indifférement V ou Q, au choix. En revanche, TD s’applique à V et Q-Learning et ses améliorations s’appliquent à Q. Q-Learning, Sarsa, Dyna-Q, Prioritized Sweeping sont tous des methodes s’inspirant du TD-learing. L’intérêt relatif de ces méthodes va avec la taille du problème à résoudre : 27
  • 28. la résolution des équations de Bellman s’applique aux « petits » problèmes pour lesquels une inversion directe de matrice est possible. La programmation dynamique s’applique aux problèmes de taille « moyenne » : tous les états doivent être explicitement en mémoire. TD, QL ou Sarsa et leurs améliorations s’appliquent respectivement aux « gros » problèmes et aux « très gros ». Concernant l’aspect « on-line » ou « off-line » des algorithmes d’Apprentissage par Renforcement, MC est plutôt off-line mais on peut avoir une version online. TD est l’un ou l’autre. SARSA et QL sont plutôt onlines. Ci-dessous un tableau résumé de ces méthodes résolvant le « problème de d’Appren- tissage par Renforcement»[Bou10]-p14. Methode Équations de Bellmans PD MC TD QL/Sarsa interative ? Ordonnée Ordonnée Expérimen- tation Expérimen- tation Expérimen- tation freq. mise-à-jour pas pas épisode pas pas Modele env ? Oui Oui Construit Non Non retour ? r r R r r fonction V et/ou Q V et/ou Q V et/ou Q V Q type probleme petit moyen ass.gros gros tres gros off/on line ? «on» «off» «on» ou «off» «on» Table 1 – Tableau résumé de principales méthodes résolvant le « problème de d’Apprentissage par Renfor- cement » Dans le but de facilité la perception de l’AR nous avons établi un modèle hiérarchique sur son organisation (voir figure ci-dessous). 28
  • 29. Figure 18 – Modèle hiérarchique de l’apprentissage par renforcement L’apprentissage par renforcement ne cesse d’évoluer et reste un domaine de recherche, nous parlons aujourd’hui du Deep Reinforcement Learning, en français Apprentissage par Renforcement Profond, qui consiste à utiliser un réseau de neurones profond pour approxi- mer les différents composants de l’apprentissage par renforcement notamment la fonction de valeur ˆV(s,θ), ˆQ(s,a,θ), la politique π(a/s, θ) et le modèle (fonction de transition d’état et la fonction de récompense). Retenons que l’apprentissage par renforcement peut encore intégrer plusieurs autres domaines de la vie. Pour se faire, il suffit d’établir un bon parallélisme entre le formalisme d’apprentissage par renforcement et le domaine dans lequel il doit être appliqué. La compréhension du problème reste le point de départ car l’apprentissage par ren- forcement n’est pas la seule solution. En outre, repérer les caractéristiques clés telles que l’amélioration par essaie-erreur via l’existence d’une récompense qui conduit à l’usage l’Apprentissage par Renforcement en vue de résoudre le problème. 29
  • 30. Références [AFP97] David Andre, Nir Friedman, and Ronald Parr. Generalized prioritized swee- ping. Neural Information Processing Systems, 1997. Computer Science Divi- sion 387 Soda Hall University of California Berkeley CA 94720. [Alb75] James S. Albus. A new approach to manipulator control :the cerebellar model articulation controlle. Journal of Dynamic Systems, Measurement and Control, 97 :237–240, 1975. [BB] Mohamed Boumehraz and Khier Benmahammed. Tuning fuzzy inference sys- tems by q-learning. Laboratoire MSE, Département Electronique, Université de Biskra, Département Electronique, Université de Setif. [Bou10] Bruno Bouzy. Apprentissage par renforcement(3). -, octobre 2010. [Fou20] Python Software Foundation. itertools — functions creating iterators for effi- cient looping, 2020. https://docs.python.org/3/library/itertools. [Gé08a] Pierre Gérard. Apprentissage numérique. Apprentissage par Renforcement, 2008. Université de Paris 13 - LIPN. [Gé08b] Pierre Gérard. Apprentissage par renforcement. 2008. MICR. [Gra14] Carl Graham. Markov Chains, Analytic and Monte Carlo Computations. Wiley-Dunod, 1 edition, 2014. [GS01] GEOFFEY GRIMMET and DAVID STIRZAKER. Probability and Random Process. OXFORD, third edition, 2001. 7 Convergence of random variables. [HDF+20] John Hunter, Darren Dale, Eric Firing, Michael Droettboom, and the Mat- plotlib development team. Matplotlib : Visualization with python, 2020. https://matplotlib.org/. [HH] Mance E. Harmon and Stephanie S. Harmon. Reinforcement learning : A tutorial. Wright Laboratory. [Jup20] Project Jupyter. Jupyter, 2020. https://jupyter.org/. [Li18] Yuxi Li. Deep reinforcement learning : An overview. -, 2018. [Lin91] Long-Ji Lin. Programming robot using reinforcement learning and teaching. In AAAI-91 Proceedings, Rittsburgh, Pennsylvania 15213, 1991. AAAI, School of Compunter Science Carnegie Mellon University. [Lin92] Long-Ji Lin. Self-improving reactive agents based on reinforcement learning, planning and teaching. Machine Learning, (8), 1992. School of Compunter Science Carnegie Mellon University. [MA93] ANDREW W. MOORE and CHRISTOPHERG. ATKESON. Prioritized swee- ping" reinforcement learning with less data and less time. Machine Learning 13, 1993. CKluwer AcademicPublishers. [Mar11] Mario Martin. Reinforcement learning monte carlo and td(λ) learning. LEAR- NING IN AGENTS AND MULTIAGENTS SYSTEMS, 2011. [Mon20] Yvan Monka. Concentration - loi des grands nombres. Generalization in Reinforcement Learning, 2020. Académie de Strasbourg. [Num20] NumPy. Numpy, 2020. https://numpy.org/. [Ope20] OpenAI. gym, 2020. https://gym.openai.com/. [pdt20] pandas development team. pandas, 2020. https://pandas.pydata.org/. [PGG+06] Olivier Perru, Muriel Guedj, Laeticia Maison Stéphane Le Gars, Jérôme Lamy, and Isabelle Laboulais-Lesage. Revue d’histoire des sciences, volume Tome 59. ARMAND COLIN, 1 edition, Janvier-Juin 2006. FONDATION POUR LA SCIENCE. 30
  • 31. [RN94] G. A. Rummery and M. Niranjan. On-line q-learning connectionist systems. CUED/F-INFENG/TR 166, September 1994. Cambridge University Enginee- ring Departement. [Sam59] A. L. Samuel. Some studies in machine learning using the game of checkers. IBM JOURNAL, (3), JULY 1959. [SB18] Richard S. Sutton and Andrew G. Barto. Reinforcement Learning. The MIT Press, London, England, second edition, 2018. Cambridge, Massachusetts. [Sin] Satinder Singh. Reinforcement learning : A tutorial. Computer Science and Engineering University of Michigan, Ann Arbor. [SJLS96] SATINDER SINGH, TOMMI JAAKKOLA, MICHAEL L. LITTMAN, and CSABA SZEPBSV.ARI. Convergence results for single-step on-policy reinforcement-learning algorithms. 1996. University of Massachusetts. [SUT88] RICHARD S. SUTTON. Learning to predict by the methods of temporal differences. Machine Learning, 3, 1988. GTE Laboratories Incorporated, 40 Sylvan Road, Waltham, MA 02254, U.S.A. [Sut91] Richard S. Sutton. Dyna, an integrated architecture for learning, planning, and reacting. AAAI Spring Symposium, 1991. GTE Laboratories Incorporated. [Sut96a] Richard S. Sutton. Generalization in reinforcement learning : Successful examples using sparse coarse coding. 1996. University of Massachusetts. [Sut96b] Richard S. Sutton. Successful examples using sparse coarse coding. Generali- zation in Reinforcement Learning, 1996. [T.T13] Nick T.Thomopoulos. Essentials of Monte Carlo Simulation - Statistical Me- thods for Building Simulation Models. Springer, Chicago,Illinois,USA, 1 edi- tion, 2013. Stuart School of Business Illinois Institute of Technology. [Wat89] Christopher John Cornish Hellaby Watkins. Learning from Delayed Rewards. PhD thesis, King’s College, May 1989. [WD92] CHRISTOPHER J.C.H. WATKINS and PETER DAYAN. Technical note. Machine Learning, 8, 1992. 25b Framfield Road, Highbury, London N5 1UU, England - Centre for Cognitive Science, University of Edinburgh, 2 Buccleuch Place, Edinburgh EH8 9EH, Scotland. 31