L’optimisation des politiques proximales (PPO, Proximal Policy Optimization) est un algorithme d’apprentissage par renforcement profond qui vise à améliorer les performances des modèles en s’appuyant sur ce type d’apprentissage. La politique de PPO indique comment un agent, tel qu’un robot ou un programme, a appris à agir dans le monde. Cette approche a révolutionné l’apprentissage et constitue un élément clé de la manière dont les agents et les systèmes peuvent apprendre en interagissant avec les utilisateurs et avec le monde. Les grands modèles de langage modernes (comme les dérivés de ChatGPT d’OpenAI) utilisent la PPO pour l’apprentissage par renforcement à partir de commentaires humains (RLHF). La PPO est également l’un des algorithmes les plus employés pour entraîner des agents dans les jeux vidéo, l’automatisation robotisée des processus et les véhicules autonomes.
La PPO a été introduite pour la première fois par John Schulman, Filip Wolski et al.1 dans un article intitulé « Proximal Policy Optimization Algorithms ». Pour comprendre le fonctionnement de la PPO et son importance, il convient de commencer par l’apprentissage par renforcement (RL). Le processus de RL emploie le machine learning pour aider un système à choisir une action en fonction de l’environnement et d’un objectif. Les êtres humains prennent constamment ce type de décisions. Par exemple, dans une partie de blackjack, vous décidez de « tirer » (prendre une nouvelle carte) ou de « rester » (conserver les cartes déjà en main). L’apprentissage par renforcement repose sur quatre éléments fondamentaux : l’agent, l’environnement, les actions et les récompenses. Dans l’exemple du blackjack, nous avons :
Un agent : la personne qui joue.
L’environnement : les cartes que possède le joueur et celles du croupier qu’il peut voir.
Les actions : « tirer » (prendre une nouvelle carte) ou « rester » (conserver les cartes actuelles).
Les récompenses : le fait de gagner ou de perdre la main.
Une politique est une stratégie ou un ensemble de règles qu’un agent, comme un robot ou un logiciel, suit pour sélectionner une action discrète en fonction de son environnement. La politique établit un mappage entre les environnements et les actions possibles que l’agent doit entreprendre. Les politiques peuvent être simples, avec une action fixe pour chaque état, ou complexes, lorsqu’elles intègrent des estimations, des calculs et des mécanismes d’apprentissage pour déterminer les actions optimales. L’objectif est de trouver une politique qui maximise la récompense cumulée que l’agent reçoit au fil du temps. Imaginons une politique simple pour le blackjack telle que « tirer si les cartes totalisent moins de 17, rester si elles totalisent plus de 18 ». L’agent compare l’environnement à la politique et sélectionne une action en conséquence.
Le RL est un moyen d’aider un agent à apprendre une politique qui l’aidera à décider quelles actions entreprendre pour maximiser les récompenses. La PPO est une technique efficace qui aide les agents à apprendre plus efficacement. Elle est utilisée dans des applications allant de la construction de robots à l’amélioration du raisonnement et des réponses des grands modèles de langage (LLM) aux prompts. Elle est l’un des éléments fondamentaux de l’apprentissage par renforcement à partir de commentaires humains (RLHF) utilisé pour entraîner les LLM. C’est d’ailleurs cette dernière méthode qui a alimenté une grande partie des recherches récentes sur le RL.
Il existe deux grandes familles de méthodes de RL. La première regroupe les méthodes fondées sur la valeur, qui évaluent l’environnement et déterminent la meilleure action pour cet environnement en fonction de la récompense attendue. Toutes les actions possibles sont évaluées, et l’agent sélectionne celle dont la récompense attendue est la plus élevée. Pour déterminer la meilleure action, l’agent se concentre sur l’apprentissage d’une fonction de valeur qui estime la récompense cumulée attendue (le retour) pour chaque paire environnement ou environnement-action. La politique est déduite indirectement en sélectionnant les actions qui maximisent la valeur estimée. L’idée est de découvrir une fonction de valeur optimale pour chaque action possible, ce qui conduira à une politique optimale. Lorsque le nombre de paires action-environnement à explorer est limité, cette approche peut s’avérer très efficace : l’agent calcule la récompense attendue pour chaque action et choisit en fonction de cette estimation. En revanche, avec de vastes espaces d’actions, lorsque le nombre d’actions possibles est élevé, il devient difficile d’estimer un retour pour chaque action envisageable. Un robot qui doit décider comment orienter un bras à plusieurs articulations dans un espace 3D se trouve confronté à des milliers de décisions possibles, un nombre bien trop important pour calculer une fonction pour chaque combinaison possible de positions articulaires. Cette approche restreint également l’agent à des actions prédéfinies, ce qui l’empêche de concevoir des stratégies nouvelles ou inédites.
D’où une seconde approche : les méthodes fondées sur des politiques. Une politique est une stratégie ou un ensemble de règles qu’un agent, comme un robot ou un logiciel, suit pour prendre des décisions en fonction de son environnement. La politique établit un mappage entre les environnements et les actions possibles que l’agent doit entreprendre. Les politiques peuvent être simples, avec une action fixe pour chaque état, ou complexes, lorsqu’elles intègrent des estimations d’avantage, des calculs et des mécanismes d’apprentissage pour déterminer les actions optimales. L’objectif est de trouver une politique qui maximise la récompense cumulée que l’agent reçoit au fil du temps. Prenons l’exemple d’un modèle qui cherche à déterminer quand acheter, vendre ou conserver certaines actions boursières. Une politique définit le moment où l’agent doit envisager d’acheter ou de vendre une action en fonction de sa tendance ou du comportement général du marché.
Une méthode d’apprentissage fondée sur des politiques apprend quelles actions privilégier pour un état donné, sans en estimer directement les résultats attendus. Cette approche permet à l’agent d’apprendre un bien plus grand nombre d’actions possibles pour chaque état, sans avoir besoin d’estimer une fonction de valeur pour chacune d’elles. L’agent optimise la politique en ajustant la probabilité de choisir une action de manière à maximiser le retour attendu, sans estimer de fonction d’avantage pour chaque action. Ce processus exige beaucoup plus de données et une architecture d’apprentissage plus complexe, car le nombre d’actions possibles pour un état donné est théoriquement infini. Les gradients de politique appartiennent à cette seconde catégorie.
Dans l’apprentissage fondé sur des politiques, il existe deux approches fondamentales pour apprendre la politique d’un agent. Les méthodes « on-policy » (sur politique) utilisent uniquement les actions en cours pour orienter l’apprentissage, c’est-à-dire qu’elles apprennent à partir de ce que l’agent fait lui-même. Imaginons une voiture autonome cherchant l’itinéraire optimal vers une destination au fil de plusieurs trajets. En apprentissage on-policy, cette voiture n’apprendrait qu’à partir des itinéraires qu’elle emprunte elle-même.
La politique dirige les actions de l’agent dans chaque environnement, y compris le processus de décision pendant l’apprentissage. L’agent évalue les résultats de ses actions actuelles et affine sa stratégie de manière incrémentale. Cette méthode lui permet de s’adapter et d’améliorer sa prise de décision en interagissant directement avec l’environnement et en apprenant de ses propres interactions en temps réel.
Les méthodes « off-policy » (hors politique) permettraient à la voiture d’observer les itinéraires empruntés par d’autres véhicules autonomes afin d’apprendre de leurs actions. La voiture n’a pas besoin de suivre la même politique que les véhicules qu’elle analyse, mais elle peut observer les récompenses obtenues par leurs actions et mettre à jour sa propre politique en conséquence. Cela implique d’apprendre la valeur de la politique optimale indépendamment des actions de l’agent. Ces méthodes permettent à l’agent d’apprendre à partir d’observations sur la politique optimale, même lorsqu’il ne la suit pas. Cette méthode est utile pour apprendre à partir d’un jeu de données fixe ou d’une politique d’enseignement.
Le gradient de politique est une approche on-policy qui vise à créer une politique optimisant directement la politique elle-même, en suivant le gradient du retour attendu par rapport aux paramètres de la politique. Sur le plan conceptuel, cette approche est similaire à la descente de gradient stochastique (SGD), qui cherche à minimiser l’erreur d’une prédiction à l’aide d’une fonction de perte. Il existe toutefois une différence essentielle : la SGD estime généralement des paramètres afin de minimiser une perte, tandis que le gradient de politique cherche à estimer les paramètres de la distribution de la politique afin de privilégier les actions qui maximisent la récompense. L’objectif est de créer une distribution de probabilité pour l’ensemble des actions possibles, qui rende plus probables les actions offrant de meilleures récompenses et moins probables celles offrant de moindres récompenses.
Les gradients de politique relèvent de ce que l’on appelle les méthodes acteur-critique. L’acteur est un réseau de politique qui sélectionne les actions, tandis que le critique estime dans quelle mesure cette politique associe correctement les actions aux états pour une récompense donnée.
Si votre politique est (une distribution de probabilité sur les actions) et que l’objectif de l’agent est de maximiser un retour attendu noté alors l’agent effectue des pas de gradient définis comme suit :
Dans est le vecteur des paramètres de la politique qui détermine la distribution de probabilité des actions. L’ancienne politique est mise à jour, , par la politique précédente plus le taux d’apprentissage multiplié par le gradient de politique. Le gradient de la politique est le gradient par rapport à multiplié par une fonction objectif qui représente le retour attendu de la politique.
Un gradient de politique apprend en appliquant la politique actuelle, en sélectionnant une action, en évaluant la récompense, puis en calculant le gradient de la fonction objectif. L’algorithme applique ensuite une mise à jour de la politique pour l’itération suivante, lorsqu’il peut entreprendre une action et observer l’avantage obtenu grâce à cette mise à jour.
Au cœur de l’approche du gradient de politique se trouve le théorème du gradient de politique, qui montre comment une politique peut être optimisée. Le gradient correspond simplement à la mesure dans laquelle la probabilité d’une action est augmentée ou diminuée par la politique, multipliée par les récompenses obtenues grâce à cette action. L’équation du théorème du gradient de politique est la suivante :
Cette équation indique que le gradient d’une politique donnée pour les paramètres peut s’exprimer sous la forme d’une espérance . Cette espérance correspond à une fonction de score multipliée par la log-probabilité de l’action choisie et , la récompense obtenue par l’agent en entreprenant l’action à l’état .
Un gradient de politique permet à un agent d’explorer de nombreuses variantes et de déterminer rapidement et efficacement celles qui offriront la plus grande récompense. Cette technique n’est cependant pas exempte de défauts. Par exemple, les méthodes de gradient de politique convergent souvent vers un maximum local plutôt que vers un optimum global. Le calcul d’un gradient de politique peut également nécessiter un temps d’entraînement plus long que d’autres méthodes on-policy. Le gradient de politique lui-même peut générer une variance élevée, ce qui signifie que son estimation est souvent très imprécise. Ce phénomène peut conduire à une mauvaise estimation de la trajectoire du gradient et de l’incidence des changements de politique sur celle-ci.
L’optimisation des politiques de la zone de confiance (TRPO, Trust Region Policy Optimization)2 est un exemple classique d’algorithme de gradient de politique. Elle a constitué une avancée majeure lors de son introduction, mais présente plusieurs limites bien connues qui compliquent son utilisation en pratique.
La PPO constitue une amélioration de l’apprentissage par gradient de politique. Fondamentalement, elle cherche à effectuer le plus grand pas d’amélioration possible sur une politique à partir des données actuelles, sans procéder à des mises à jour de politique si importantes qu’elles entraîneraient un effondrement des performances. Dans les méthodes de gradient de politique, la politique est améliorée en ajustant ses paramètres dans la direction qui augmente la récompense attendue. Or, des mises à jour trop importantes peuvent nuire aux performances, et un seul pas de gradient trop agressif peut modifier radicalement le comportement de l’agent et provoquer l’effondrement de l’apprentissage. Les algorithmes antérieurs (comme la TRPO) résolvaient ce problème en imposant une contrainte sur l’écart autorisé entre la nouvelle politique et l’ancienne, mais leur formalisation mathématique était complexe.
La PPO maintient les mises à jour de la politique proches de la politique précédente, sans recourir à des contraintes complexes. Plutôt que de choisir la prochaine mise à jour de manière stochastique, elle utilise ce que l’on appelle un objectif de substitution tronqué, qui empêche la politique d’effectuer des sauts trop importants. La politique continue de s’améliorer, c’est-à-dire que le gradient de la récompense évolue à mesure que l’agent l’applique et observe les résultats, mais de manière plus sûre.
Avec un gradient de politique, chaque itération grimpe d’un pas de gradient sur la fonction objectif de la politique. La taille de ce pas pose un défi : s’il est trop petit, le processus d’entraînement est lent ; s’il est trop grand, la politique présente trop de variabilité pour que l’agent puisse trouver une solution optimale.
Dans la PPO, l’idée consiste à contraindre les mises à jour de la politique à l’aide d’une fonction objectif de substitution tronquée, qui limite le changement de politique à une plage définie. Cette fonction est définie comme suit :
Pour décomposer cette formule, la première partie est la fonction de ratio : . Cette fonction de ratio est :
Il s’agit de la probabilité d’entreprendre l’action à l’état selon la politique actuelle, divisée par cette même probabilité selon la politique précédente. Ce calcul donne le ratio de probabilité entre la politique actuelle et l’ancienne politique. Si , alors l’action à l’état est plus probable dans la politique actuelle que dans l’ancienne. Si le ratio est inférieur à 1, alors l’action est moins probable dans la politique actuelle que dans l’ancienne.
Cette section montre comment la PPO tronque la fonction à l’aide de contraintes de substitution, afin de pénaliser les changements qui éloignent le ratio de 1. Cette étape démontre que, lorsque l’algorithme teste des modifications de la politique, ces changements sont maintenus faibles grâce à la valeur epsilon .
Le principal avantage de cette approche de substitution tronquée est qu’elle entraîne de petits changements et se révèle efficace en matière de calcul. Les méthodes plus anciennes, comme la TRPO, utilisent la divergence de Kullback-Leibler (KL) après le calcul de la fonction objectif pour contraindre la mise à jour de la politique. Cette approche peut s’avérer efficace pour contraindre les mises à jour, mais elle nécessite une implémentation complexe et un temps de calcul plus long. La PPO intègre directement ce ratio de probabilité tronqué dans la fonction objectif, ce qui accélère chaque cycle d’entraînement.
Un autre avantage de la PPO par rapport à de nombreuses autres approches réside dans sa plus grande efficacité d’échantillonnage, c’est-à-dire que chaque interaction avec l’environnement se traduit par une amélioration plus importante de la politique. Elle atteint cette efficacité en créant un mini-lot de données de déploiement qui peut réutiliser les mêmes données d’interaction sur plusieurs mises à jour. D’autres approches, comme les réseaux Deep Q-Network, peuvent être encore plus efficaces, mais elles sont plus exigeantes en termes de calcul et ne sont donc pas privilégiées lorsque les données disponibles sont suffisantes.
Un élément essentiel de la mise à jour de la politique consiste à estimer précisément l’avantage que présente la politique par rapport aux itérations précédentes. Cette étape est nettement plus complexe, sur le plan computationnel, que le simple calcul de la différence de récompenses entre deux politiques à une étape donnée. Les agents doivent apprendre comment la distribution des probabilités d’action évolue sur plusieurs étapes. Même dans un jeu relativement simple comme le blackjack, l’action entreprise par un agent ne se concrétise que plusieurs manches plus tard. Cette méthode devient encore plus déterminante dans un jeu comme les échecs, ou dans un scénario de navigation robotique.
Pour apprendre ces mises à jour, la PPO emploie une stratégie appelée estimation généralisée itérative de l’avantage (GAE, Generalized Advantage Estimation). Cette étape permet de déterminer dans quelle mesure la politique fonctionne et à quel point elle doit s’éloigner de la politique actuelle pour s’améliorer. La GAE calcule les avantages en pondérant de manière exponentielle les erreurs futures, ce qui fournit à la PPO un signal d’apprentissage à faible variance et faible biais, rendant les mises à jour de politique stables et efficaces en termes d’échantillonnage.
Arrêter trop tôt l’accumulation des récompenses réelles introduit un biais élevé, car seule une petite partie du retour réel est prise en compte avec un nombre limité de récompenses effectives. À l’inverse, accumuler trop de récompenses entraîne une variance élevée, car le fait de s’appuyer sur un grand nombre d’échantillons réels peut rendre l’estimation instable.
Des bibliothèques comme Stable-Baselines3 et RLlib proposent des implémentations complètes de la PPO, applicables à un large éventail de domaines et de problématiques. Il existe également des implémentations plus légères, comme CleanRL, qui incluent des tutoriels d’auto-apprentissage rédigés en PyTorch et en TensorFlow, disponibles sur GitHub.
Des bibliothèques comme TRL (apprentissage par renforcement avec Transformers) de Hugging Face sont spécifiquement optimisées pour aider à entraîner des modèles de langage Transformer à l’aide d’algorithmes de RL tels que la PPO. Dans ce contexte, la PPO permet de garantir que les modèles apprennent à sélectionner des réponses mieux alignées sur les objectifs des concepteurs du modèle et sur les retours humains.
Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.
Mettez l’IA au service de votre entreprise en vous appuyant sur l’expertise de pointe d’IBM dans le domaine de l’IA et sur son portefeuille de solutions.
Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.
1. Schulman, J., Wolski, F., Dhariwal, P., Radford, A. et Klimov, O. (2017). Proximal policy optimization algorithms. arXiv preprint arXiv:1707.06347.
2. Schulman, J., Levine, S., Abbeel, P., Jordan, M. et Moritz, P. (juin 2015). Trust region policy optimization. Lors de la conférence internationale sur le machine learning (pages 1889 à 1897). PMLR.