Apprentissage par renforcement
Un robot doit traverser un lac gelé sans tomber dans les trous. Un site web doit choisir quelle bannière montrer à chaque visiteur. Un modèle de langage doit apprendre à formuler des réponses que les humains jugent utiles. Dans les trois cas, personne ne fournit la bonne réponse : on dispose seulement d’un signal, une récompense, qui arrive parfois longtemps après les décisions qui l’ont provoquée. L’apprentissage par renforcement (reinforcement learning) étudie comment un agent peut apprendre, décision après décision, la conduite qui maximise ces récompenses.
Ce cours part du cadre mathématique, le processus de décision markovien, et des équations de Bellman qui relient la valeur d’une situation à celle des suivantes. Il montre d’abord comment calculer exactement la meilleure politique quand on connaît le modèle, à travers l’étude du lac gelé FrozenLake menée en TP. Il présente ensuite les méthodes qui apprennent sans modèle, par l’expérience, puis ouvre sur le deep RL et son usage pour les grands modèles de langage.
Objectifs pédagogiques
Section intitulée « Objectifs pédagogiques »À la fin de ce cours, vous serez capable de :
- Modéliser un problème de décision séquentielle comme un processus de décision markovien (états, actions, transitions, récompenses, facteur d’actualisation).
- Écrire et interpréter les équations de Bellman d’espérance et d’optimalité, et les résoudre sur de petits exemples.
- Implémenter l’évaluation de politique, policy iteration et value iteration en Python, et comparer honnêtement leur coût.
- Estimer des valeurs sans modèle avec Monte-Carlo et les différences temporelles, et gérer le dilemme exploration-exploitation.
- Appliquer SARSA et Q-learning à un environnement gymnasium et expliquer la différence entre on-policy et off-policy.
- Situer les méthodes de deep RL (DQN, gradient de politique, PPO) et leur rôle dans le RLHF.
Prérequis
Section intitulée « Prérequis »- Les chaînes de Markov : matrice de transition, conditionnement sur le premier pas, absorption. Le cours de modèles stochastiques les présente.
- Les bases des probabilités : espérance, espérance conditionnelle, loi des grands nombres (cours de probabilités).
- Un peu d’algèbre linéaire : résoudre un système linéaire, inverser une matrice.
- Python et NumPy ; pour le dernier chapitre, les notions de réseau de neurones et de descente de gradient du cours d’apprentissage automatique.
Le plan du cours
Section intitulée « Le plan du cours »Partie 1 · Planifier quand on connaît le modèle
Section intitulée « Partie 1 · Planifier quand on connaît le modèle »- Découvrez l’apprentissage par renforcement : agent et environnement, processus de décision markovien, retour actualisé, politique, et le lac gelé FrozenLake.
- Mesurez la valeur d’une politique avec Bellman : fonctions de valeur et , équations de Bellman d’espérance et d’optimalité, résolution matricielle.
- Évaluez puis améliorez une politique : évaluation itérative, amélioration gloutonne et policy iteration, avec les résultats du TP.
- Trouvez la politique optimale avec value iteration : value iteration, comparaison en balayages avec policy iteration, bilan du TP FrozenLake et limites de la programmation dynamique.
Partie 2 · Apprendre sans modèle
Section intitulée « Partie 2 · Apprendre sans modèle »- Apprenez de l’expérience avec Monte-Carlo et TD : estimer une valeur par des retours observés ou par différences temporelles, biais et variance.
- Arbitrez entre exploration et exploitation : le bandit manchot, ε-greedy, valeurs optimistes, UCB et softmax.
- Apprenez à agir avec SARSA et Q-learning : contrôle on-policy et off-policy, et le lac gelé résolu sans modèle.
- Passez à l’échelle avec le deep RL : DQN, gradient de politique, acteur-critique, PPO et RLHF.
Chaque chapitre se termine par un résumé et des exercices corrigés, de difficulté croissante.
D’où vient ce cours
Section intitulée « D’où vient ce cours »Ce cours reprend l’enseignement d’apprentissage par renforcement suivi en 5e année du cycle ingénieur de l’INSA Rennes, en spécialité Data et IA (automne 2025). La partie 1 s’appuie sur le TP de programmation dynamique, mené en Python avec gymnasium sur l’environnement FrozenLake 8x8 : évaluation de politique, policy iteration, value iteration, effet du facteur d’actualisation et questions d’analyse. Les chiffres attribués à « nos TP » (nombres d’itérations et de balayages) sont ceux qui s’affichent dans les sorties du notebook. Les valeurs optimales du lac, l’explication du comportement observé avec et la comparaison en nombre total de balayages ont été recalculées ou déduites à partir du même environnement.
La partie 2 va au-delà du TP : elle présente le programme habituel d’un cours d’apprentissage par renforcement (Monte-Carlo, différences temporelles, exploration, SARSA, Q-learning, deep RL et RLHF), rédigé à partir de sources standard (l’ouvrage de référence sur l’apprentissage par renforcement et la documentation de gymnasium). Ses résultats numériques proviennent de petits calculs et de simulations reproductibles, pas de nos TP.
Le texte, les exemples et les exercices ont été entièrement rédigés pour ce site.