Cours "Apprentissage par renforcement" Master Mathématiques, Vision, Apprentissage, ENS Cachan
Notes
de cours :
Chapitre
1: Introduction générale à l'A/R et aux
processus de décision markoviens
Chapitre 2: Algorithmes
d'apprentissage par renforcement (et intro aux algorithmes
d'approximation stochastiques)
Chapitre 3:
Introduction aux algorithmes de bandit
Bandits
stochastiques: UCB
Bandits adversarials:
Exp3
Chapitre 4: Programmation dynamique
avec approximation
Analyse en norme sup de
la programmation dynamiques avec approximation
Quelques
algorithmes: Fitted value iteration, Policy Iteration avec LSTD,
Bellman residual
Chapitre 5: Sample
complexity en apprentissage par renforcement
Quelques
outils statistiques
Analyse de LSTD
Horaires des cours et TP (année 2012-2013): ENS Cachan, les mardi:
25 septembre, 11h-13h, salle C102 : cours (Intro apprentissage par renforcement)
2 octobre, 11h-13h, salle C102 : cours (Programmation dynamique)
9 octobre, 11h-13h, salle C102 : cours (Algorithmes d'apprentissage par renforcement)
16 octobre, 11h-13h15, salle C109: TP 1 Sujet
23 octobre, 11h-13h, salle C102 : cours (Le bandit stochastique)
30 octobre, 11h-13h, salle C102 : cours (Le bandit contre un adversaire)
6 novembre, 11h-13h15, salle C109: TP 2 Sujet
13 novembre, 11h-13h15, salle C109: TP 3 Sujet
20 novembre, 11h-13h, salle C102 : cours (A/R et PD avec approximation de fonctions)
27 novembre, 11h-13h15, salle C109: TP 4 Sujet
4 décembre, 11h-13h, salle C102 : cours (A/R et PD avec approximation de fonctions et sample complexity)
11 décembre, 11h-13h, salle C102 : cours (sample complexity en A/R)
Les séances de TP seront assurées par Emilie Kaufmann.
Support de cours :
Livre introductif: Sutton, R. et Barto, A. (1998). Reinforcement Learning: An Introduction.
Livre collectif en francais : Processus décisionnels de Markov et Intelligence Artificielle, Hermès, 2008. Editeurs O. Sigaud et O. Buffet. Draft ici.
Livre pour approfondir : Neuro-Dynamic Programming, Bertsekas et Tsitsiklis, 1996. http://web.mit.edu/jnt/www/ndp.html
Livre récent Algorithms for Reinforcement Learning. Cs. Szepesvari, 2009.
Autres
ressources sur l'Apprentissage par renforcement (Reinforcement
Learning):
Un repository Apprentissage par renforcement : http://www-anw.cs.umass.edu/rlr/
RLAI Lab. at Alberta's University http://rlai.cs.ualberta.ca/RLAI/rlai.html
Applications de l'apprentissage par renforcement et succès
Environnement de programmation pour l'apprentissage par renforcement : RL-Glue
RL competition : http://www.rl-competition.org/
Exemple d'algorithmes d'apprentissage par renforcement:
Itération sur les politiques avec approximation linéaire http://www.cs.duke.edu/~parr/jmlr03.pdf
Itération sur les valeurs avec approximation : http://hal.inria.fr/inria-00116987/en/
Itération sur les politiques avec approximation : http://www.cmap.polytechnique.fr/~munos/papers/jedai.ps.gz
Minimisation du résidu de Bellman : www.leemon.com/papers/1995b.pdf
Autres approches : Gradient de la mesure de performance par rapport à des paramètres de contrôle : http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume15/baxter01a.pdf
Méthodes Actor-Critic : http://www.cs.ualberta.ca/~sutton/papers/SMSM-NIPS99.pdf
Référence en neurosciences : Chapitre 9 du livre de Dayan et Abbott, Theoretical Neuroscience (disponible à la bibliothèque de l'ENS Cachan). Articles de Kenji Doya: http://www.cns.atr.jp/~doya/papers/index.html
Exemples de jeux programmés :
Voir les références en fin du document : http://www.cs.bris.ac.uk/Publications/Papers/2000100.pdf
Le programme TD-Gammon, champion du monde de Backgammon : http://www.research.ibm.com/massive/tdl.html
Et autres jeux à Alberta : http://www.cs.ualberta.ca/~games
Le jeu d'Alésia (équilibre de Nash) : http://sequel.futurs.inria.fr/loth/solving-alesia
Echecs : http://www.soe.ucsc.edu/~levinson/ et http://citeseer.nj.nec.com/183541.html
Le jeu du L-Game : http://gla.ecoledoc.lip6.fr/~poirier/rubrique/projets/l-game/l-game.html
Le jeu du Black-Jack : http://lslwww.epfl.ch/~aperez/rlbj.html
Le Tétris : http://www.math.tau.ac.il/~mansour/rl-course/student_proj/livnat/tetris.html
Le Go : Algorithme UCT et application au go : voir la page de Sylvain Gelly, de Rémi Coulom et de Bruno Bouzy
Validation du cours :
Travail demandé: en binôme ou seul,
choix d'un article dans le domaine de l'apprentissage par renforcement ou théorie des bandits
Compréhension de l'article
Soit implémentation informatique d'un algorithme décrit dans l'article, soit travail plus théorique, selon vos préférences.
Rédaction d'un rapport écrit et présentation orale de votre travail (avec video projecteur)
Ce
qui m'intéresse : que vous fassiez un sujet qui vous intéresse !
Que vous compreniez l'algo utilisé, que vous réfléchissiez aux
applications potentielles de l'algo, la validité des hypothèses,
bref que vous vous posiez les bonnes questions, que vous fassiez un
bon rapport, une bonne soutenance, et que vous travailliez ! Je
voudrais que pour la validation de ce module vous soyez en situation
comparable à celle que vous rencontrerez lorsque vous ferez de la
recherche. Vous êtes libres de choisir votre sujet, mais je veux que
vous travailliez intelligemment et bien !
Timing:
avant fin novembre, vous décider votre sujet avec mon accord,
Rapport à rendre début-janvier
Soutenance mi-janvier avec vidéo-projecteur.
La
stratégie optimiste pour l'apprentissage par renforcement
en-ligne.
Lire
l'article Near-optimal
regret bounds for reinforcement learning. Thomas Jaksch, Ronald
Ortner, and Peter Auer. Journal of Machine Learning Research,
11:1563–1600, 2010. Il s'agit d'une extension des algorithmes de
bandit style UCB à l'apprentissage par renforcement.
Implémenter
l'algorithme sur un problème de votre choix (labyrinthe ou autre),
ou bien faire une étude plus théorique en analysant la notion de
"diamètre" du MDP. Est-ce que les bornes sont fines en
terme du nombre d'états, du diamètre?
Algorithmes
de bandit stochastique de type UCB
Partir
de l'article [Auer et al., Finite-time
analysis of the multi-armed bandit problem,
2002], puis [Audibert, Munos, Szepesvari,Use
of variance estimation in the multi-armed bandit problem 2009]
utilisant la variance empirique et [Cappé, Garivier, Maillard,
Munos, Stoltz, 2012, Kullback-Leibler
upper confidence bounds for optimal sequential allocation]
utilisant la divergence de Kullback Liebler pour affiner les
intervalles de confiance.
Algorithmes
de bandit contre un adversaire, type EXP3
Partir
de l'article [Auer, Cesa-Bianchi, Freund, and Schapire.
The
nonstochastic multi-armed bandit problem. 2003]. Les récompenses
sont choisies par un adversaire. On compare nos performances à
celles qu'on aurait obtenues en suivant la meilleure stratégie
(dans une classe de comparaison donnée). Permet de calculer des
équilibres de Nash dans un jeu à 2 joueurs à somme nulle (voir
par exemple http://www.cs.cmu.edu/~avrim/Papers/regret-chapter.pdf
). Utiliser cette méthode pour calculer l'équilibre de Nash d'un
jeu matriciel.
Bandit
avec un nombre infini de bras
Partir
de l'article [Wang, Audibert, Munos, Algorithms
for inifinitely many-armed bandits. 2008].
Il y a un nombre dénombrable de bras. Hypothèse : un nouveau
bras a une probabilité $\epsilon^\beta$ d'être $\epsilon$-optimal.
Compromis entre exploration - exploitation - découverte. Question:
que faire si l'on ne connait pas à l'avance le paramètre $\beta$?
Monte-Carlo
Tree Search: UCT, HOO
Voir
A
survey on Monte-Carlo Tree Search et l'article The
Optimistic Principle applied to Games, Optimization, and Planning.
Utilisation d'algorithmes de bandits de manière hiérarchique pour
effectuer une recherche dans des grands arbres. Projet : utiliser un
algo de ce type (UCT, HOO, MCTS) pour programmer un jeu. Des
exemples de jeux deja programmés se trouvent sur la page du projet
EXPLORA
ou dans les articles mentionnés ci-dessus.
Planification
optimiste dans les Processus de Décision Markoviens
Planification
optimiste en explorant en priorité les séquences d'actions les
plus prometteuses (de manière similaire aux bandits
hiérarchiques de type UCT, HOO précédemment cités). Ici on
utilise la spécificité du problème de décision markovien pour
déterminer une stratégie optimiste de planification. Références:
The
Optimistic Principle applied to Games, Optimization, and Planning.
et Optimistic
planning in markov decision processes. Coder un algo de type
planification optimiste pour résoudre un processus de décision
markovien déterministe ou stochastique.
Optimisation de politique par gradient pour un POMDP (Partially Observable Markov Decision Problem). Lorsque l'état du système est partiellement observable, une technique usuelle pour reconstruire une fonction de croyance (distribution) sur l'état à partir des observations consiste à utiliser les méthodes de filtrage particulaires. Outils de calcul du gradient présenté dans l'article [Coquelin et al. Particle Filter-based Policy Gradient in POMDPs. 2008] qui utilise les méthodes particulaires. Par exemple application à la digestion anaérobie, dont un modèle simplifié (2 variables, 4 paramètres) des dynamiques d'état est décrit dans : modèle AMH1 [Bernard et al., 2005].
Apprentissage
d'une stratégie de Nash dans un jeu : Un
domain particulièrement intéressant actuellement lié à
l'apprentissage multi-agents est le calcul d'équilibre de Nash dans
des jeux multi-joueurs. Une méthode assez récente consiste à ce
que chaque joueur apprenne à jouer
de mieux en mieux contre des
adversaires dans un jeu répété, et si chaque joueur fait de même,
on peut montrer que leur stratégie jointe converge vers un
équilibre.
Une bonne manière pour chaque joueur d'apprendre
à joueur consiste à "minimiser le regret". Voir par
exemple:
http://www.cs.cmu.edu/~avrim/Papers/regret-chapter.pdf
http://people.csail.mit.edu/lpk/papers/2005/icml2005-chang.pdf
http://citeseer.ist.psu.edu/193720.html
Une
belle application concerne le jeu de poker. Voir
l'article:
http://www.cs.ualberta.ca/~maz/publications/regretpoker.pdf
Le
sujet consiste à étudier un (ou plusieurs) de ces articles, et
faire, soit un travail théorique sur un sujet de votre choix (à en
discuter avec moi avant), soit une implémentation informatique sur
un jeu de votre choix.
Si le poker vous intéresse, vous
pouvez envisager de calculer l'équilibre de Nash pour le poker à
une carte cachée, par exemple décrit
ici:
http://www.cs.cmu.edu/~ggordon/poker/
Une
autre possibilité est le jeu d'Alésia, dont voici une applet pour
jouer contre le
Nash:
http://www.grappa.univ-lille3.fr/~loth/alesia/play_nash.php
Apprentissage
de Tétris.
Lire
les références données sur le site des compétitions en
apprentissage par renforcement :
http://rl-competition.org/content/view/19/35/
Choisir une méthode et l'inplémenter pour faire un programme
apprenant à jouer à Tétris. Je vous recommande l'approche
Least-Squares
Policy Iteration (Lagoudakis
et R. Parr) ou celui-ci.
Autre
proposition : étudier un autre domaine sur le même site
http://rl-competition.org
Sample
complexity in reinforcement learning
Articles
sur LSTD
[Lazaric, Ghavamzadeh, and Munos. Finite-sample analysis
of LSTD, 2010] et Bellman Residual Minimization
[Maillard, Munos, Lazaric, and Ghavamzadeh, Finite
sample analysis of bellman residual minimization, 2010]