AgeNts Distribues, Robotique, Recherche Opérationnelle, Interaction, DEcision
AgeNts Distribues, Robotique, Recherche Opérationnelle, Interaction, DEcision
Les algorithmes d'apprentissage par renforcement, en particulier profonds, font l'objet d'un compromis entre biais et variance qui joue un rôle important dans leur performance. Comme illustré dans mon cours en ligne et des ouvrages récents, les méthodes de Monte Carlo souffrent surtout de variance tandis que les méthodes dites "de bootstrap" qui utilisent un critique souffrent surtout de biais. Il existe à présent des méthodes intermédiaires, basées sur le "N-step return", qui permettent de régler le compromis entre biais et variance à la recherche de la meilleure performance en jouant sur le paramètre N, qui correspond au nombre de pas dont se souvient l'agent quand il met à jour son critique.
L'objet du projet est de réaliser une maquette logicielle de mise en évidence et d'étude du compromis entre biais et variance, ainsi que de son réglage en utilisant le paramètre N. Cette maquette sera conçue pour servir de support à de futurs travaux pratiques sur le sujet.
Le code sera réalisé en python dans un environnement Google Colab, "environnement de notebook Jupyter qui ne nécessite aucune configuration et qui s'exécute entièrement dans le cloud."
https://colab.research.google.com/notebooks/welcome.ipynb#
En pratique, les étudiants partiront de quelques codes de descente de gradient sur la politique existant, par exemple:
https://github.com/pranz24/pytorch-soft-actor-critic
https://github.com/Shmuma/Deep-Reinforcement-Learning-Hands-On/tree/mast...
puis ils feront le nécessaire pour visualiser l'évolution du biais et de la variance, introduire le N-step return et produire un graphique qui permet de visualiser le réglage du meilleure compromis en faisant évoluer N.
Une première expérience en développement en python autour de l'apprentissage par renforcement est la bienvenue, ainsi qu'une familiarité avec les environnements notebook ou colab. S'agissant de la mise au point de futurs TP, l'accent sera mis sur la clarté et la propreté du code.