Sujets de mini-projets pour le cours d`apprentissage par renforcement

Sujets de mini-projets pour le cours
d’apprentissage par renforcement
R´emi Munos et Pierre Arnaud Coquelin
23 novembre 2006
R´esum´e
Ces trois sujets proposent trois alternatives pour tenter d’enrayer la
(fameuse) mal´ediction de la dimension, habituelle en programmation dy-
namique (complexit´e de r´esolution exponentielle avec la dimension de l’es-
pace d’´etat, voir [1]).
Le premier sujet (Direct Policy Improvement) est une m´ethode d’it´erations
sur les politiques o`u l’on ´evite d’approcher la fonction valeur. L’id´ee ´etant
que pour certains probl`emes, la fonction valeur est difficile `a approcher
alors que la politique peut ˆetre simple `a repr´esenter. Dans ces cas, une re-
cherche directe de politique, qui ne consid`ere pas la fonction valeur peut
ˆetre tr`es efficace. L’application traiee concerne des probl`emes de robo-
tique simul´ee.
Le second sujet concerne une m´ethode qui dans certains cas o`u les tran-
sitions sont eguli`eres permet de ”briser” la mal´ediction de la dimension,
grˆace `a l’effet de ”randomisation” (le mˆeme effet qui permet d’inegrer
num´eriquement des fonctions en grande dimensions par l’utilisation de
ethodes de Monte-Carlo). L’application trait´ee concerne les probl`emes
de maintenance de stocks et les gestions de files d’attente (queuing sys-
tems).
Le troisi`eme sujet concerne la recherche de politique par r´esolution
d’un probl`eme dans l’arbre des s´equences d’actions possibles, avec construc-
tion de l’arbre `a chaque pas de temps. On utilisera des m´ethode de re-
cherche efficace dans des arbres de grande dimension. On ´etudiera l’algo-
rithme UCT qui a fourni de bonnes performances pour la programmation
du jeu de go. L’application trait´ee concerne le contrˆole d’un proc´ed´e de
digestion ana´erobie pour la d´epollution de mati`ere organique.
Les questions propos´ees sont une aide pour vous aider `a r´efl´echir et
`a bien traiter le probl`eme consid´er´e. Cependant il s’agit d’un mini-projet
o`u vous avez une certaine libert´e sur le travail demand´e. Vous pouvez
traiter une autre application que celle propos´ee si vous le jugez utile,
mais il faudra bien sˆur justifier vos choix. Vous serez ´evalu´es sur la qua-
lit´e de votre travail, votre r´eflexion, le rapport produit (`a rendre avant
le mardi 9 Janvier 2007, par email, `a remi.[email protected] et coque-
[email protected]olytechnique.fr), ainsi que sur la soutenance qui aura lieu
le jeudi 11 janvier 2007. Si vous souhaitez davantage d’informations,
n’h´esitez pas `a nous contacter... Bon courage !
1
1 Sujet 1 : Direct Policy Improvement
L’id´ee est d’impl´ementer une m´ethode directe d’it´erations sur les politiques,
sans avoir besoin d’approcher la fonction valeur associ´ee aux politiques succes-
sives. En esum´e : On part d’une politique initiale π0. A l’´etape k, on dispose
d’une politique courante πk. Pour construire une nouvelle politique πk+1 , on
effectue les ´etapes suivantes :
1. On tire des ´etats (xn)1nN(par exemple uniform´ement al´eatoirement
sur le domaine)
2. A partir de chaque ´etat (xn), on choisit successivement toutes les actions
aAdisponibles
3. Pour chaque ´etat (xn) action a, on ´evalue par Monte-Carlo la fonction
Q-valeur Qπk(xn, a) en lan¸cant plusieurs trajectoires en suivant la poli-
tique courante πk, et en formulant la moyenne empirique, ce qui retourne
l’estimation ˆ
Qπk(xn, a).
4. On note anl’action qui maximise les estim´es ˆ
Qπk(xn, a).
5. Les donn´ees {(xn, an)}servent de donn´ees d’apprentissage pour un algo-
rithme de classification (utiliser votre classifieur favori, SVM, plus-proches
voisins, r´eseau de neurones, ...) qui retourne ainsi une fonction qui a chaque
´etat associe une action, ce qui d´efini ainsi la nouvelle politique πk+1 .
Cet algorithme est d´efini dans l’article [5]. Questions propoees :
1. Lire l’article [5].
2. Choisir votre classifieur pr´ef´er´e et impl´ementer l’algorithme sur le pendule
invers´e d´ecrit dans l’article. Repr´esenter les politiques successives et des
trajectoires suivant ces politiques.
3. Quelles sont les limitations de cette approche, en termes de complexit´e
de calcul (en fonction du nombre d’actions, du nombre d’´etats, ...), de
capacit´e d’analyse de la ethode, et autres aspects ?
4. Entre chaque it´eration, a t-on la propri´et´e que la performance des poli-
tiques successives s’am´eliore (ie. Vπk+1 Vπk), comme cela est le cas dans
l’algorithme d’it´erations sur les valeurs habituel ? Analysez les termes d’er-
reur (dus au nombre fini de points utilis´es, au nombre de simulations fini,
`a la classification imparfaite, ...)
5. Dans quels cas pensez-vous que cette ethode peut fonctionner efficace-
ment ?
6. On veut faire une version temps continu de cet algorithme. Consid´erons
le cas d’une dynamique d´eterministe, qui s’´ecrit alors
dx(t)
dt =f(x(t), a(t))
o`u l’action suit la politique courante, ie. : a(t) = πk(x(t)).
L’int´erˆet est de ne vouloir lancer qu’une trajectoire `a partir de chaque
point xn, au lieu d’en lancer une par action. Ainsi, on remplace les ´etapes
3 et 4 de l’algorithme pr´ec´edent par : on lance, `a partir de chaque xnune
trajectoire suivant la politique courante πk. Le long de cette trajectoire,
2
on calcule le gradient de la fonction valeur par rapport `a l’´etat initial, ie.
pour un probl`eme `a horizon temporel infini et `a ecompense actualis´ee,
Vπk(xn) = Z
0
γtr(x(t))x(t)dt
o`u (x(t))t0est la trajectoire issue de l’´etat xn`a l’instant t,rest la d´eriv´ee
de la fonction ecompense r, et x(t) est la sensibilit´e de l’´etat x(t) par
rapport `a la condition initiale (il s’agit donc d’une matrice carr´ee de taille
la dimension de l’espace d’´etats), et qui suit la dynamique suivante :
x(t)
dt =f(x(t), a(t))x(t)
avec la condition initiale x(t) = 0 (donc x(t) peut ˆetre calcul´e le long
de la trajectoire).
Une fois ce gradient Vπk(xn) calcul´e, on d´efinit l’action ancomme ´etant
celle qui maximise le produit scalaire :
ak:= arg max
aAVπk(xn)·f(xn, a)
Justifiez le choix de cette action maximisante.
7. Impl´ementer ce nouvel algorithme sur le probl`eme de pendule invere
pr´ec´edent eventuellement en faisant varier le pas de discr´etisation tem-
porelle).
8. Impl´ementer cet algorithme sur un probl`eme de contrˆole de votre choix de
dimension au moins ´egale `a 4 (par exemple l’acrobot, le double pendule
invers´e, la bicyclette, ou tout autre probl`eme de votre choix, dont vous
trouverez les dynamiques sur internet. Voir par exemple mon site pour les
dynamiques de l’acrobot).
9. Quelle r´epartition de points (xn)1nNserait la plus pertinente `a utiliser
(pour un budget de Nparticules disponibles). Discussion et impl´ementation
souhait´ees.
10. Conclusions ?
2 Sujet 2 : Randomization to break the curse of
dimensionality
L’id´ee est d’utiliser des m´ethodes de Monte-Carlo combiees `a la program-
mation dynamique pour traiter des probl`emes de grande dimension. Cette id´ee
est d´ecrite dans l’article [7]. Cette m´ethodologie s’applique `a des probl`emes en
espace continu et temps discret. L’id´ee est d’approcher le processus de ecision
markovien (PDM) initial qui est d´efini sur un espace continu en un PDM d´efini
sur un nombre fini d’´etats (N´etats), de le esoudre, et de consid´erer que la
fonction valeur (not´ee VNde ce PDM fini est proche de la fonction valeur V
du PDM initial. On ”brise” la mal´ediction de la dimension au sens o`u l’erreur
d’approximation ||VNV|| est une fonction en O(1/N) o`u n’apparaˆıt pas
explicitement la dimension dde l’espace d’´etat (contrairement aux m´ethodes de
discr´etisation sur grilles, qui m`enent `a une erreur en O(1/N 1/d).
L’algorithme est efini de la mani`ere suivante :
3
1. On tire des ´etats (xn)1nN(par exemple uniform´ement al´eatoirement
sur le domaine)
2. On construit un PDM sur cet ensemble d’´etats, o`u les probas pNde tran-
sition d’´etat xi`a ´etat xjsont construite `a partir des probas pdu PDM
continu en les renormalisant, ie :
pN(xj|xi, a) := p(xj|xi, a)
PN
n=1 p(xn|xi, a)
3. On esout ce PDM (par n’importe quelle algorithme de programmation
dynamique), dont la fonction valeur VNest efinie en tout ´etat xn. On
souhaite que la fonction VNapproche la fonction valeur Vdu probl`eme
initial aux points xnet on ´etudie l’erreur en fonction de N, le nombre de
points utilis´es.
Questions propos´ees :
1. Lire l’article [7].
2. Dans quels cas pensez-vous que cette m´ethode fonctionne bien ? Dans
quels cas ne va t-elle pas fonctionner ? Pensez-vous que la mal´ediction de
la dimension est eritablement ”bris´ee” ?
3. Quels sont les limitations de cette approche ? En terme de complexit´e
de calcul (en fonction du nombre d’actions, du nombre d’´etats, ...), de
capacit´e d’analyse de la ethode ?
4. Impl´ementer l’algorithme sur le probl`eme de maintenance d’un stock d´ecrit
dans le cours (voir chapitre 2 sur la programmation dynamique). On est en
dimension 1, la variable xtrepr´esente le stock actuel. La ecision consiste
`a commander une quantit´e suppl´ementaire atqui vaut un nombre fini de
valeurs (on pourra commencer par 2 valeurs : 0 ou une valeur d´efinie).
La demande est une variable al´eatoire (par exemple mod´elis´ee par une
variable al´eatoire exponentielle ou gaussienne tronqu´ee ou une loi de pois-
son). Vous choisirez des fonctions coˆut (commande et maintenance) et
revenu `a votre convenance pour que le probl`eme ait un sens physique.
Afficher les fonctions valeurs obtenues VNet Vainsi que les politiques.
5. Est-ce que la distribution `a partir de laquelle on tire les points initiaux est
importante ? A votre avis, quelle serait la ”meilleure” distribution (ie. la
distribution telle qu’en tirant un nombre donn´e Nde points, en utilisant
cette m´ethode, on approche au mieux la fonction valeur Vesir´ee) ?
6. On veut appliquer cette ethode `a des probl`emes de grande dimension
(pour lesquels on esp`ere effectivement voir l’int´erˆet de cette approche).
On consid`ere la classe (tr`es en´erale) des files d’attente avec plusieurs
buffers. Le probl`eme pr´ec´edent de maintenance de stock est en faite une
file d’attente avec un seul buffer.
Une file d’attente avec plusieurs buffers (ou r´eseau de files d’attente) est
constitu´ee de plusieurs files li´ees entre elles. Un job dans une file peut ˆetre
´evacu´e vers une autre file a laquelle elle est li´ee. Evacuer un job et stocker
des jobs ont des coˆuts. Certaine files poss`edent des entr´ees sur lesquelles
des jobs arrivent en suivant un loi de probabili´e. Les actions consistent
`a faire passer un job d’une file vers une autre. Ce type de moelisation
est tr`es utile, penser par example `a la gestion optimale d’une chaine de
4
production. L’utilisation de m´ethodes de programation dynamique pour
l’optimisation dans les r´eseaux de files d’attente `a ´et´e ´etudi´e dans [3]. Votre
travail consiste `a utiliser la file en dimension 4 ou celle en dimension 8 de
[3] et chercher `a faire mieux que les esultats obtenu dans [3].
7. Conclusions ?
3 Sujet 3 : contrˆole optimal par recherche arbo-
rescente et algorithme UCT
L’id´ee de ce projet consiste `a directement esoudre le probl`eme de contrˆole
optimal en effectuant une recherche arborescente dans un arbre dont la racine
correspond `a l’´etat courant, o`u les noeuds correspondent aux ´etats accessibles
et les connexions repr´esentent les diff´erentes actions possibles.
Pour simplifier, on se place dans un cadre d´eterministe, avec un crit`ere `a
horizon temporel infini avec r´ecompense actualis´ee (par γ).
Le probl`eme de contrˆole optimal consiste `a d´eterminer, en chaque instant t
une action atqui maximise la somme des r´ecompenses `a venir. La m´ethode de
recherche arborescente est d´ecrite de mani`ere suivante :
Notons xl’´etat du syst`eme `a l’instant courant. L’objectif est de retour-
ner une action aA. Pour cela, on construit un arbre dont la racine est
x. A cette racine est associ´ee les noeuds qui repr´esentent les ´etats suc-
cesseurs (not´es f(x, a)) du choix d’une action aen x. Il y a autant de
successeurs que d’actions possibles (ce nombre d’actions est not´e M). En
chacun de ces ´etats successeurs, `a nouveau, on associe les successeurs des
{f(x, a)}lorsque l’on choisit une seconde action b(que l’on peut noter
{f(f(x, a), b)}a,bA). Il y a M2tels successeurs `a l’´etape 2. On recom-
mence jusqu’`a une profondeur p. Ainsi, cet arbre dispose de Mpfeuilles.
La r´ecompense correspondant `a une branche est simplement la somme des
ecompenses actualis´ees correspondant `a chacune des transitions.
On calcule la branche (par un algorithme quelconque de recherche arbo-
rescente) dont la r´ecompense est maximale, qui d´efinit ainsi une s´equence
d’actions, et on retourne la premi`ere action de cette equence (l’action
choisie `a la racine de l’arbre).
Cet algorithme retourne une action qui n’est pas n´ecessairement optimale,
mais que l’on souhaite proche de l’optimum, au sens o`u si l’on utilise cet algo-
rithme `a chaque it´eration (on construit ainsi un nouvel arbre `a chaque it´eration,
`a partir de l’´etat courant), la performance de cet algorithme doit ˆetre proche de
la fonction valeur optimale.
On veut analyser cet algorithme, l’impl´ementer dans une application pour le
contrˆole d’un proed´e chimique de digestion ana´erobie, et ´etudier un algorithme
de recherche arborescente particuli`erement ineressant, l’algorithme UCT, qui
fait l’objet de nombreux travaux actuellement. L’algorithme UCT (pour Up-
per Confidence bounds in Trees) est une extension de l’algorithme UCB (Up-
per Confidence Bounds, voir [6]) qui a ´et´e d´evelopp´e ecemment [4] pour la
recherche de solution dans des arbres de grande dimension. Pour motivation,
UCT a ´et´e appliqu´e `a la programmation du jeu de GO (par Yizao Wang et
Sylvain Gelly), jeu d’une complexit´e extrˆeme, et a men´e au programme MoGo,
meilleur programme mondial actuel sur jeux de tailles 9x9 et 13x13. Voir :
5
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !