Reinforcement Learning
L’apprentissage par renforcement (RL) entraîne un agent par essais et erreurs pour maximiser les récompenses à long terme. Découvre la boucle RL, Q-learning, les familles d’algorithmes et leurs usages.
L’apprentissage par renforcement (RL) est une branche de l’apprentissage automatique (ML) dans laquelle un agent apprend à prendre une séquence de décisions en essayant des actions dans un environnement et en recevant des récompenses ou des pénalités, dans le but d’accumuler autant de récompenses que possible au fil du temps. Personne n’indique à l’agent quelle action est correcte. Il découvre les actions qui portent leurs fruits, y compris celles dont la récompense n’arrive que plusieurs étapes plus tard, comme un coup aux échecs qui permet de gagner du matériel dix coups après. L’apprentissage par renforcement est ainsi l’approche de référence pour les problèmes de contrôle séquentiel : jouer à des jeux, piloter des robots et entraîner des grands modèles de langage (LLMs) à produire des réponses que les gens préfèrent ou qu’un programme peut vérifier. Richard Sutton et Andrew Barto, dont le manuel a défini le domaine moderne, ont reçu le prix A.M. Turing de l’ACM 2024 pour leurs travaux fondateurs sur l’apprentissage par renforcement.
Fonctionnement de l’apprentissage par renforcement#
Les problèmes d’apprentissage par renforcement sont formalisés sous la forme d’un processus décisionnel markovien (MDP). À chaque pas de temps, l’agent observe l’état actuel, choisit une action dans son espace d’actions et reçoit une récompense ainsi que l’état suivant. Son objectif est le retour, c’est-à-dire la somme des récompenses futures, pondérées par un facteur d’actualisation compris entre 0 et 1 qui réduit l’importance des récompenses éloignées par rapport aux récompenses immédiates. La récompense est la seule description de la tâche dont dispose l’agent ; une récompense mal conçue l’incite donc au piratage de récompense, où il obtient de bons scores sans faire ce que le concepteur avait prévu.
- Agent : l’apprenant et le décideur, par exemple un contrôleur de robot ou un programme qui joue à un jeu.
- Environnement : tout ce avec quoi l’agent interagit, d’un simulateur physique à un véritable entrepôt.
- État : les informations sur lesquelles l’agent fonde ses actions, comme des angles d’articulation, une position sur un plateau ou des caractéristiques extraites d’une image de caméra.
- Action : un choix proposé à l’agent, discret (gauche ou droite) ou continu (un angle de braquage).
- Récompense : un nombre renvoyé par l’environnement après chaque action, positif en cas de progrès et négatif en cas d’erreur ou de perte de temps.
- Politique : la règle de l’agent pour choisir une action dans chaque état ; c’est elle que l’entraînement améliore.
- Fonction de valeur : le retour attendu à partir d’un état, ou après avoir choisi une action donnée dans un état, qui permet à l’agent d’évaluer les actions selon leurs conséquences à long terme.
Comme l’agent ne découvre que les actions qu’il essaie, il doit trouver un équilibre entre l’exploration, qui consiste à essayer des actions dont la valeur est incertaine, et l’exploitation, qui consiste à choisir l’action qui semble actuellement la meilleure. Une règle courante est la stratégie epsilon-greedy : agir au hasard avec une faible probabilité et de manière gloutonne autrement. Cet exemple NumPy utilise le Q-learning, un algorithme classique qui apprend la valeur de chaque paire état-action, pour apprendre à un agent à parcourir un couloir de six cases jusqu’à une récompense située à l’autre bout :
import numpy as np
rng = np.random.default_rng(0)
# Couloir de 6 cases : départ dans la case 0, récompense de +1 en atteignant la case 5 ; actions 0 = gauche, 1 = droite
n_states, goal = 6, 5
Q = np.zeros((n_states, 2)) # retour estimé pour chaque (état, action)
alpha, gamma, epsilon = 0.5, 0.9, 0.2 # taux d’apprentissage, facteur d’actualisation, taux d’exploration
for episode in range(200):
state = 0
while state != goal:
# Explorer avec une probabilité epsilon, sinon exploiter l’action connue comme étant la meilleure
action = rng.integers(2) if rng.random() < epsilon else Q[state].argmax()
next_state = max(0, state - 1) if action == 0 else state + 1
reward = 1.0 if next_state == goal else 0.0
# Mise à jour du Q-learning : se rapprocher de la récompense à laquelle s’ajoute la meilleure valeur actualisée de l’état suivant
Q[state, action] += alpha * (reward + gamma * Q[next_state].max() - Q[state, action])
state = next_state
print("Greedy policy:", ["left" if a == 0 else "right" for a in Q[:goal].argmax(axis=1)])
print("Value of moving right:", Q[:goal, 1].round(2))Le code affiche une politique right dans chaque case et des valeurs [0.66 0.73 0.81 0.9 1. ]. La récompense n’a été donnée que dans la dernière case, mais la mise à jour l’a propagée vers l’arrière, et chaque pas supplémentaire qui éloigne du but vaut 0.9 fois le suivant : c’est exactement le facteur d’actualisation à l’œuvre.
Familles d’algorithmes d’apprentissage par renforcement#
Les méthodes tabulaires comme celle présentée ci-dessus stockent une valeur pour chaque état, ce qui cesse de fonctionner lorsque les états sont des images de caméra ou des angles articulaires continus. L’apprentissage profond par renforcement remplace la table par un réseau de neurones qui généralise à partir d’états similaires, et les principales familles d’algorithmes se distinguent par ce que ce réseau apprend :
Les agents sans modèle apprennent uniquement à partir d’expériences réelles ou simulées, tandis que les agents basés sur un modèle apprennent un modèle du monde qui prédit la réaction de l’environnement, puis planifient à partir de ce modèle, comme dans le contrôle prédictif par modèle ou la recherche arborescente Monte-Carlo. L’optimisation de politique proximale (PPO), qui limite l’ampleur de chaque mise à jour de la politique, est devenue la méthode de gradient de politique par défaut en robotique et pour l’entraînement des modèles de langage, et l’optimisation de politique relative au groupe (GRPO) l’a adaptée au raisonnement des LLM en supprimant le critique appris. Le guide Spinning Up d’OpenAI présente ces algorithmes avec des implémentations de référence.
Applications concrètes#
- Jeux : AlphaGo, de DeepMind, a combiné des réseaux neuronaux profonds, la recherche arborescente et l’auto-jeu par apprentissage par renforcement pour battre le champion de go Lee Sedol par 4 parties à 1 en mars 2016.
- Robotique : Les contrôleurs de locomotion quadrupèdes et humanoïdes sont entraînés par apprentissage par renforcement sur des milliers de robots simulés en parallèle, souvent avec une friction, des masses et des terrains randomisés, afin que la politique se transfère au matériel réel.
- Alignement des modèles de langage : Les assistants conversationnels sont ajustés par apprentissage par renforcement à l’aide d’un modèle de récompense entraîné sur des comparaisons de préférences humaines, et les modèles de raisonnement sont entraînés par apprentissage par renforcement avec des vérificateurs automatiques qui valident les réponses mathématiques ou exécutent des tests unitaires.
- Systèmes de recommandation : Traiter une séquence de recommandations comme une suite de décisions permet à un système d’optimiser l’engagement à long terme plutôt que le prochain clic.
La plupart des politiques robotiques sont entraînées en simulation, car un agent peut avoir besoin de millions d’essais et le matériel réel peut se casser ; des frameworks comme NVIDIA Isaac Lab exécutent des milliers d’environnements sur un seul GPU, et la randomisation de domaine réduit l’écart entre la physique simulée et la physique réelle. Les systèmes d’apprentissage par renforcement basés sur la caméra agissent généralement sur la sortie d’un modèle de perception plutôt que sur des pixels bruts : Ultralytics YOLO26, exécuté sur un robot par l’intermédiaire de l’intégration ROS, publie les classes d’objets de chaque image de caméra et, avec une caméra de profondeur, la distance de chaque objet, sous forme de messages légers qu’une politique peut utiliser comme état.
Apprentissage par renforcement et paradigmes connexes#
- Apprentissage supervisé : Chaque exemple d’entraînement est accompagné de la bonne réponse. Un agent d’apprentissage par renforcement ne reçoit qu’une récompense scalaire, souvent différée, et ses propres actions déterminent les prochaines données qu’il verra.
- Apprentissage non supervisé : Le modèle découvre des structures, comme des groupes, dans des données non étiquetées, sans action à effectuer ni récompense à maximiser.
- Processus de décision de Markov : Le MDP décrit le problème, et l’apprentissage par renforcement regroupe les méthodes qui le résolvent à partir de l’expérience sans recevoir les probabilités de transition.
- Apprentissage par imitation : l’agent reproduit les démonstrations d’un expert, le plus simplement par clonage comportemental, et ne peut pas facilement dépasser son enseignant, tandis que le RL peut découvrir des stratégies qu’aucun démonstrateur n’a montrées. Les deux approches sont souvent combinées : AlphaGo a d’abord appris à partir de 30 millions de positions issues de parties humaines, puis s’est amélioré par autojeu, tandis que son successeur AlphaGo Zero s’est entièrement passé des données humaines et a battu cette version d’AlphaGo 100 parties à 0.










