Page web Vincent THOMAS Atelier journées ISN - 2016L'apprentissage par renforcement, ça marche (un chocolat ?)Important **Outils à installer**Dans cet atelier, nous développerons les éléments en python 3.Afin de pouvoir afficher le comportement appris, on affichera différentes animations. On utilisera pour cela la bibliothèque "pygame" (cf atelier sur la création de jeux et d'animation). Le code permettant de gérer l'affichage sera fourni pendant l'atelier. Pour pouvoir aborder cet atelier, si vous souhaitez utiliser votre machine, on vous propose d'installer la distribution EduPython (disponible à l'adresse http://edupython.tuxfamily.org/) qui inclut nativement la bibliothèque pygame. Si vous avez des idées de problemes de décision ou de controle qui vous intéressent, nous pourrons en discuter ou le résoudre lors de l'atelier (vous pouvez aussi m'envoyer un mail au préalable - vincent.thomas@loria.fr) Contenu de l'atelierLes transparents sont accessibles à partir de ce lien: Slides_ISN2016_ApprentissageRenforcement.Description de l'atelierCe projet abordera les problèmes d'apprentissage par renforcement dans lesquels un système (typiquement un robot) est amené à prendre des décisions et à améliorer ses décisions au fur et à mesure de son expérience.L'atelier aura pour objectif de mettre en oeuvre (en python) des algorithmes très simples mais capables de résoudre de nombreux problèmes. On abordera dans l'ordre:
Problèmes abordésUne fois qu'on aura établi un cadre permettant de représenter des problèmes de décisions, on travaillera sur différents types de problèmes possibles.Pour montrer l'aspect générique de l'approche, ces problèmes sera abordés avec la même formalisation et résolu avec les mêmes algorithmes. L'ensemble des fichiers sources seront disponibles à la fin de l'atelier.
Contenu de l'atelierModélisation d'un problème de décisionDans un premier temps, on s'intéressera à modéliser les problèmes de prise de décision dans un cadre simple. Ce cadre permettra de présenter les "processus de décision markoviens" (MDP).On prendra le temps de programmer en python cette modélisation. On fournira pour chaque exemple ci-dessus, le code correspondant à leur modélisation. Équation de BellmanUne fois le problème défini, on s'attardera à la propriété mathématique que la solution (comportement optimal de l'agent) doit vérifierCela nous conduira à l'équation d'optimalité de Bellman Algorithme d'itération sur la valeurOn étudiera un algorithme basé l'application itérée de l'équation d'optimalité de Bellman. Cet algorithme nommé "iteration sur la valeur" permettra de résoudre les problèmes de décision présentés ci-dessus.On programmera cet algorithme en python et on l'appliquera sur un problème simple. Cet algorithme pourra s'appliquer à chacun des problèmes présenté ci-dessus. Algorithme Q-learningEnfin, nous verrons comment il est possible de résoudre des problèmes dans lequel un agent est plongé sans connaitre de modèle du monde.A partir d'une variation de l'algorithme précédent, nous aborderons l'algorithme du "Q-learning" qui permet à un agent de modifier progressivement son comportement en fonction de ses expériences afin de résoudre un problème donné. Fichiers utiles
Références
|
||||||||||||||||
|