Reinforcement Learning
3 choses à savoir
3 choses à savoir
Le Reinforcement Learning est une technique de Machine Learning dans laquelle un agent informatique apprend à exécuter une tâche via des interactions répétées, par essais et erreurs, dans un environnement. Cette approche d'apprentissage permet à l'agent de prendre une série de décisions pour maximiser une fonction de récompense relative à la tâche, sans intervention humaine et sans programmation explicite visant à accomplir la tâche.
Le mécanisme d'apprentissage typique sur lequel repose le Reinforcement Learning se retrouve dans de nombreux scénarios réels. Prenons l'exemple du dressage des animaux domestiques par renforcement positif.
Appliquons la terminologie du Reinforcement Learning au dressage d'un chien : dans ce cas, le but de l'apprentissage est d'entraîner le chien (l'agent) à accomplir une tâche dans un environnement qui englobe à la fois l'animal et le dresseur. Pour commencer, le dresseur donne un ordre ou un signal que le chien observe (observation). Le chien réagit alors par une action. Si cette action correspond au comportement souhaité, le dresseur est susceptible de donner une récompense (telle qu'une friandise ou un jouet) à l'animal ; dans le cas contraire, l'animal ne reçoit aucune récompense. Il est probable qu'en début d'apprentissage le chien réagisse de manière plus ou moins aléatoire, par exemple en se mettant à rouler sur le dos lorsqu'on lui dit « assis », parce qu'il essaie d'associer des observations spécifiques à des actions et à des récompenses. Cette mise en correspondance, ou mapping, entre observations et actions est appelée politique. Du point de vue du chien, l'idéal serait de réagir correctement à chaque demande, afin de recevoir un maximum de friandises. Le but de la phase d'apprentissage du Reinforcement Learning consiste donc à « ajuster » la politique du chien pour qu'il apprenne les comportements qui maximiseront la récompense. À la fin de l'apprentissage, le chien doit être capable d'observer son maître et de faire ce qui est demandé (par exemple, s'asseoir lorsqu'on lui dit « assis »), en s'appuyant sur la politique interne qu'il a développée. À ce stade, les friandises sont les bienvenues mais devraient théoriquement ne plus être nécessaires.
Gardons cet exemple de dressage canin en tête et passons à une autre tâche : garer un véhicule en utilisant un système de conduite autonome. L'objectif est d'apprendre à l'ordinateur de bord (l'agent) à se garer sur la bonne place de parking grâce au Reinforcement Learning. Comme dans le cas du dressage du chien, l'environnement englobe tout ce qui est extérieur à l'agent et peut inclure la dynamique du véhicule, d'autres véhicules situés à proximité, les conditions météorologiques, etc. Durant la phase d'apprentissage, l'agent exploite les données de différents capteurs, par exemple les caméras, le GPS et le LiDAR (les observations), pour générer des commandes de changement de direction, de freinage et d'accélération (les actions). Pour apprendre à générer les actions adéquates à partir des observations (réglage de la politique), l'agent multiplie les tentatives pour garer le véhicule en procédant par essais et erreurs. Un signal positif peut venir récompenser la qualité d'un essai et guider ainsi le processus d'apprentissage.
Dans l'exemple du dressage, l'apprentissage se fait dans le cerveau du chien. Dans celui du stationnement autonome, l'apprentissage est géré par un algorithme d'apprentissage, chargé d'ajuster la politique de l'agent en fonction des données issues des capteurs, des actions et des récompenses associées. Une fois l'apprentissage terminé, l'ordinateur de bord doit être capable de se garer en s'appuyant uniquement sur la politique ainsi définie et sur les informations issues des capteurs. Il convient de noter que ces deux exemples relèvent du Reinforcement Learning sans modèle, car ils font tous deux appel à des interactions par essais et erreurs avec l’environnement, pour générer des données.
Les principaux éléments du Reinforcement Learning (politique, environnement, agent, actions, récompenses et observations) sont formalisés dans un cadre appelé « processus de décision markovien », qui offre un modèle mathématique pour la prise de décision dans les environnements soumis à l'incertitude.
Le compromis entre exploration et exploitation est un aspect essentiel du Reinforcement Learning qui peut grandement influencer la qualité de l'apprentissage. L'idée est la suivante : l'agent doit-il exploiter l'environnement en choisissant les actions qui lui rapportent le plus de récompenses parmi celles qu'il connaît déjà, ou doit-il choisir des actions qui lui permettent d'explorer des parties de l'environnement qui lui sont encore inconnues ? Les choix effectués par l'agent déterminent les informations qu'il reçoit et, par conséquent, les informations à partir desquelles il est en mesure d'apprendre. Un excès d'exploration empêchera l'agent de converger vers une bonne politique. Un excès d'exploitation risque de bloquer l'agent dans des solutions locales et sous-optimales. En général, il est logique qu'un agent explore davantage en début d'apprentissage, lorsqu'il ne dispose pas de suffisamment d'informations à exploiter, puis qu’il passe progressivement à un rôle davantage axé sur l'exploitation en fin d'apprentissage.
Le Deep Reinforcement Learning combine le Reinforcement Learning et le Deep Learning. Si une politique sous forme de lookup tables peut suffire pour les problèmes simples, cette approche ne sera pas adaptée aux problèmes plus complexes et de nature continue. Les réseaux de neurones profonds entraînés via le Deep Reinforcement Learning peuvent encoder des comportements complexes, offrant ainsi une approche alternative pour des applications qui seraient sans cela impossibles à traiter ou plus difficiles à aborder avec des méthodes plus traditionnelles. Par exemple, dans le domaine de la conduite autonome, un réseau de neurones peut remplacer le conducteur et décider de la manière de tourner le volant en examinant simultanément plusieurs capteurs, tels que les images de la caméra et les mesures LiDAR. Sans réseaux de neurones, le problème serait normalement décomposé en plusieurs parties, telles que l'extraction des caractéristiques des images de la caméra, le filtrage des mesures LiDAR, la fusion des sorties de capteurs et les prises de décision de « conduite » basées sur les entrées des capteurs, ce qui serait plus facile à résoudre avec des représentations de politiques plus traditionnelles, telles que des lookup tables ou des fonctions polynomiales.
De manière générale, le workflow d’apprentissage d'un agent par Reinforcement Learning comprend les étapes suivantes :
L'apprentissage d'un agent par Reinforcement Learning est un processus itératif. Les décisions et les résultats obtenus en fin de processus peuvent vous obliger à revenir à une phase antérieure du workflow d'apprentissage. Si le processus d'apprentissage ne converge pas vers une politique optimale dans un délai raisonnable, vous devrez peut-être revenir en arrière et réexaminer la définition du problème (dynamique, observations, actions), le signal de récompense, l'architecture de la politique et les hyperparamètres de l'algorithme avant de relancer l'apprentissage.
Contrairement au Machine Learning supervisé ou non supervisé, le Reinforcement Learning ne repose pas sur un jeu de données statiques : il peut fonctionner dans un environnement dynamique et apprendre à partir des expériences accumulées. Les points de données, ou expériences, peuvent être recueillis lors d'interactions entre un agent logiciel et son environnement, en s'appuyant sur un apprentissage par essai et erreurs. Cet aspect du Reinforcement Learning est important, car il permet de se dispenser de certaines étapes, telles que la collecte, le prétraitement et la labellisation des données, incontournables dans l'apprentissage supervisé ou non supervisé.
Le Deep Learning englobe les trois types de Machine Learning ; le Reinforcement Learning et le Deep Learning ne sont pas mutuellement exclusifs. La résolution de problèmes complexes de Reinforcement Learning s'appuie souvent sur des réseaux de neurones profonds et du Deep Reinforcement Learning.
Les algorithmes de Reinforcement Learning peuvent être classés en plusieurs catégories en fonction de leurs approches en matière d'apprentissage et de prise de décision.
Il existe trois grandes catégories d'algorithmes de Reinforcement Learning :
Le Reinforcement Learning basé sur des modèles consiste à construire ou à exploiter un modèle de la dynamique de l'environnement (probabilités de transition et fonctions de récompense) pour planifier et prendre des décisions. Le terme « planifier » est ici essentiel : ces algorithmes nécessitent généralement peu, voire aucune, interaction avec l'environnement, car ils s'appuient sur leur modèle interne pour simuler des états futurs. Ce modèle interne peut être fourni a priori (auquel cas l'agent n'a pas besoin d'interagir avec l'environnement) ou appris à partir de données issues d'interactions avec l'environnement réel. Le Reinforcement Learning basé sur des modèles est en général plus efficace en termes d'échantillons que l'approche sans modèle, car le modèle permet de générer rapidement de vastes jeux de données d'apprentissage. Toutefois, selon que le modèle interne est disponible dès le départ ou appris à partir des données, les méthodes basées sur des modèles peuvent nécessiter davantage de ressources de calcul que les méthodes sans modèle, car, en plus d’entraîner l'agent principal, elles doivent également entraîner le modèle de l'environnement et générer les données d'apprentissage.
Contrairement aux algorithmes basés sur des modèles, les méthodes sans modèle ne construisent pas de représentation explicite de l'environnement. Elles apprennent à déterminer les actions optimales via des interactions directes, en s'appuyant sur un processus par essais et erreurs (voir les exemples du dressage canin et du stationnement automatique présentés dans la section précédente). Cette approche est plus simple et mieux adaptée aux environnements caractérisés par un grand nombre de dimensions ou non structurés, mais elle est généralement moins efficace en termes d'utilisation des données. La majorité des algorithmes de Reinforcement Learning de pointe reposent aujourd'hui sur des approches sans modèle.
Le Reinforcement Learning en ligne fait intervenir un agent qui interagit activement avec l'environnement pendant l'apprentissage : il recueille des expériences, met à jour sa politique et s'adapte de manière continue au fur à mesure que de nouvelles données arrivent. Les scénarios de dressage canin et de stationnement automatique décrits plus haut constituent des exemples typiques de Reinforcement Learning en ligne.
À l'inverse, le Reinforcement Learning hors ligne (ou batch) repose exclusivement sur un jeu de données statique constitué d'expériences enregistrées (issues par exemple de démonstrations humaines ou de politiques antérieures), sans interaction supplémentaire avec l'environnement. Les méthodes hors ligne sont particulièrement intéressantes lorsque les interactions réelles sont coûteuses ou risquées. Elles peuvent également extraire des informations utiles à partir de données aléatoires ou non expertes (bien que la qualité de l'apprentissage reste inférieure à celle obtenue à partir de données expertes ou plus structurées). En pratique, le Reinforcement Learning hors ligne constitue souvent une approche adaptée pour pré-entraîner une politique avant de passer à un apprentissage en ligne qui, bien que moins efficace en termes d'échantillons, permet généralement d'atteindre de meilleures performances, grâce à son adaptation continue fondée sur de nouvelles données.
Les algorithmes de Reinforcement Learning on-policy évaluent et mettent à jour la même politique que celle utilisée pour générer les données d'apprentissage : l'agent apprend ainsi la valeur de la politique courante à partir de ses propres actions (par exemple SARSA, PPO ou TRPO). Ce type d'approche conduit généralement à des mises à jour plus stables et plus fiables, car il n'est pas nécessaire de concilier les différences entre la politique de comportement et la politique cible, comme c'est le cas avec les méthodes off-policy. Par ailleurs, étant donné qu'une seule politique est maintenue et mise à jour, ces méthodes présentent en général une complexité de calcul plus faible.
En revanche, les méthodes off-policy (par exemple Q-Learning ou DQN) exploitent des données collectées par une politique donnée (appelée politique de comportement) pour apprendre ou améliorer une politique cible différente (telle qu'une stratégie gloutonne ou optimale). Elles peuvent ainsi stocker les expériences (données) passées dans une mémoire tampon de rejeu (replay buffer) et les réutiliser plusieurs fois. Cela permet d'améliorer considérablement l'efficacité en termes d'échantillons par rapport aux méthodes on-policy, qui écartent les données après chaque mise à jour de la politique. Un autre avantage des méthodes off-policy réside dans leur capacité à apprendre à partir de n'importe quelle politique, y compris des politiques aléatoires, obsolètes ou même issues de démonstrations humaines. Cette souplesse permet d'effectuer un apprentissage à partir de jeux de données hors ligne ou de démonstrations.
Les algorithmes basés sur le gradient constituent la pierre angulaire de nombreux algorithmes modernes de Deep Reinforcement Learning : ils exploitent des estimations bruitées du gradient de la politique (par rétropropagation), ce qui permet un apprentissage rapide et efficace en termes d'échantillons. Ils sont en revanche sensibles au réglage des hyperparamètres, sujets aux optima locaux et nécessitent que les fonctions mises en jeu soient différentiables.
À l'opposé, le Reinforcement Learning évolutionnaire considère la politique comme une boîte noire et constitue une approche puissante lorsque les gradients ne sont pas disponibles ou peu fiables, lorsque d'importantes ressources de calcul en parallèle sont disponibles ou lorsqu'une exploration étendue est nécessaire dans des espaces de recherche complexes. Les stratégies évolutionnaires effectuent une recherche globale via des mutations et des sélections fondées sur une population, offrant une bonne robustesse face à des signaux de récompense rares ou non différentiables, mais au prix d'une efficacité nettement inférieure en termes d'échantillons et d'une convergence plus lente.
De plus en plus, les techniques hybrides permettent d’exploiter au mieux les deux approches : elles utilisent les méthodes évolutionnaires pour l'exploration et la recherche globale, puis affinent les politiques prometteuses grâce à des mises à jour basées sur le gradient, ce qui conduit souvent à de meilleures performances globales.
C'est la nature du problème à résoudre qui détermine le plus souvent le ou les algorithmes les plus appropriés. Lorsque les espaces d'état et d'action de l'environnement sont discrets et de petite taille, il est possible d'utiliser un simple tableau pour représenter les politiques. Les algorithmes Q-Learning et SARSA sont des exemples classiques de méthodes tabulaires. Il devient impossible de représenter les paramètres politiques dans un tableau lorsque le nombre de paires état/action devient très important, voire infini. Ce phénomène est connu sous le nom de malédiction de la dimensionnalité : c'est précisément dans ce type de situation que les réseaux de neurones entrent en jeu. En général, la plupart des algorithmes modernes de Reinforcement Learning s'appuient sur des réseaux de neurones, car ils sont bien adaptés aux espaces d'état/action de grande taille ainsi qu'aux problèmes complexes.
Dans le Reinforcement Learning mono-agent, un agent unique interagit avec l'environnement, ce qui rend l'apprentissage plus simple, plus stable et plus facile à analyser. À l'inverse, le Reinforcement Learning multi-agents (MARL pour « Multi-Agent Reinforcement Learning ») fait intervenir plusieurs agents interagissant au sein d'un même environnement. Du fait de l'influence réciproque entre les agents, l'environnement devient non stationnaire, ce qui viole les hypothèses markoviennes et tend à déstabiliser les processus d'apprentissage. Si le MARL permet de résoudre des tâches plus complexes et de faire émerger des comportements tels que la coordination ou la négociation, il introduit également des défis supplémentaires, notamment des problèmes de convergence, des exigences élevées en calcul, ainsi qu'une instabilité accrue lorsque chaque agent est mis à jour indépendamment.
Bien que le Reinforcement Learning ne soit en aucun cas un concept nouveau, les progrès récemment accomplis en matière de Deep Learning et de puissance de calcul ont permis d'obtenir des résultats remarquables dans le domaine de l'intelligence artificielle.
Voici certains avantages du Reinforcement Learning :
Le Reinforcement Learning une technique puissante, mais il présente également un certain nombre de défis, notamment les suivants :
Au cours des dernières années, le Reinforcement Learning a été utilisé dans de nombreux domaines, notamment les chatbots IA et les grands modèles de langage (LLM), les systèmes de recommandation, le marketing et la publicité, ainsi que les jeux vidéo. Toutefois, il est encore (dans la plupart des cas) en phase d'évaluation pour les applications de production, en particulier pour les systèmes techniques. Cela dit, les avantages mentionnés précédemment ouvrent lentement mais sûrement la voie à l'adoption de cette technologie dans de nombreux secteurs. Les applications concrètes du Reinforcement Learning dans les systèmes techniques concernent généralement les domaines suivants :
MATLAB®, Simulink® et Reinforcement Learning Toolbox™ simplifient les tâches de Reinforcement Learning. Vous pouvez implémenter des contrôleurs et des algorithmes décisionnels en suivant chaque étape du workflow de Reinforcement Learning dans le même écosystème. Voici les tâches concrètes qui s'offrent à vous :
Création interactive d'un agent de Reinforcement Learning avec l'application Reinforcement Learning Designer. (Consultez la documentation.)
Création interactive d'un agent de Reinforcement Learning avec l'application Reinforcement Learning Designer. (Consultez la documentation.)
Vous pouvez utiliser MATLAB et Simulink pour relever la plupart des défis généralement associés au Reinforcement Learning.
Familiarisez-vous rapidement avec le Reinforcement Learning : essayez des algorithmes prêts à l'emploi (pas besoin de les développer manuellement vous-même), consultez des exemples de référence pour trouver des idées sur la manière de configurer votre problème, et progressez grâce aux ressources de formation et aux formations gratuites.
Avec Parallel Computing Toolbox™ et MATLAB Parallel Server™, vous pouvez entraîner plus rapidement les politiques de Reinforcement Learning en exploitant plusieurs GPU, plusieurs CPU, des clusters d'ordinateurs et des ressources cloud. Vous pouvez par exemple générer plus rapidement des données d'apprentissage en lançant plusieurs simulations en parallèle, et également accélérer l'apprentissage en accélérant les calculs de gradient.
Reinforcement Learning Toolbox propose aussi des fonctionnalités pour le Reinforcement Learning basé sur les modèles, qui peuvent améliorer l'efficacité des échantillons.
Les agents d'optimisation de politique basée sur des modèles (MBPO pour « Model-Based Policy Optimization ») peuvent s'avérer plus efficaces en termes d'échantillons que les agents sans modèle, car le modèle est en mesure de générer de vastes jeux d'expériences diverses.
Vous pouvez utiliser Reinforcement Learning Toolbox pour réduire le nombre d'hyperparamètres que vous devez ajuster manuellement. Vous pouvez par exemple créer des agents sans spécifier manuellement les politiques d'architecture du réseau de neurones ; vous pouvez régler les hyperparamètres des agents de manière interactive grâce à l'optimisation bayésienne dans l'application Reinforcement Learning Designer. Vous pouvez également générer automatiquement des fonctions de récompense si vous disposez déjà des spécifications Model Predictive Control Toolbox™ ou des contraintes de performance spécifiées avec les blocs de vérification de modèle Simulink Design Optimization™.
Les simulations jouent un rôle essentiel dans le Reinforcement Learning. Grâce à l'intégration étroite avec Simulink, il est facile d'améliorer la généralisation des politiques via la randomisation de domaine en entraînant des agents dans divers scénarios, même dans des conditions extrêmes ou dangereuses qui seraient difficiles et risquées à créer dans le monde réel.
Avec Reinforcement Learning Toolbox, vous pouvez exploiter pleinement toutes les sources de données disponibles pour améliorer la généralisation et combler le fossé sim2real (entre simulation et réalité). Grâce au Reinforcement Learning hors ligne, vous pouvez pré-entraîner une politique en utilisant des données existantes (par exemple celles provenant du hardware cible). Vous pouvez ensuite améliorer la politique en l'entraînant dans un environnement simulé et en appliquant la randomisation de domaine pour la rendre robuste vis-à-vis des facteurs et des scénarios incertains. Pour vous assurer que le modèle de simulation représente fidèlement le système réel, vous pouvez vous appuyer sur l'identification du système. La dernière étape du processus consiste à affiner la politique formée en l'entraînant directement sur le hardware réel, si nécessaire. Bien qu'il soit normalement risqué, voire dangereux, d'inclure du hardware réel dans la boucle d'apprentissage, les deux premières étapes de ce workflow garantissent que le nombre d'interactions avec le hardware physique nécessaires à l'affinage de la politique reste minimal. Cette fonctionnalité peut également être utilisée pour des applications temps réel.
Un workflow de transfert sim2real utilisant Reinforcement Learning Toolbox et exploitant toutes les sources de données disponibles pour obtenir une meilleure généralisation.
Un workflow de transfert sim2real utilisant Reinforcement Learning Toolbox et exploitant toutes les sources de données disponibles pour obtenir une meilleure généralisation.
Le Reinforcement Learning est souvent se caractérise souvent par des « erreurs silencieuses », c'est-à-dire des problèmes subtils et difficiles à détecter qui peuvent survenir lors de l’apprentissage ou de l'exécution. Reinforcement Learning Toolbox vous permet d'enregistrer et visualiser les données d'apprentissage clés pour faciliter l'analyse et le débuggage.
L'interprétabilité et la vérification sont encore des domaines de recherche actifs et ouverts, en particulier en ce qui concerne les réseaux de neurones. Deep Learning Toolbox™ propose toute une gamme de méthodes de visualisation (un type de technique d'interprétabilité qui explique les prédictions du réseau grâce à des représentations visuelles de ce que le réseau observe). Une autre approche consiste à utiliser la logique floue ; en entraînant un système d'inférence floue (FIS pour « Fuzzy Inference System ») à reproduire le comportement d'une politique de (Deep) Reinforcement Learning, vous pouvez utiliser les règles du FIS pour expliquer son comportement.
La vérification par simulation est l'approche la plus courante pour vérifier les politiques de Reinforcement Learning, et cette tâche est facilitée par Simulink. Grâce à l'approche Model-Based Design, la vérification par simulation peut être étendue à la vérification et la validation traditionnelles ; vous pouvez par exemple formaliser les exigences de votre politique et les analyser pour en vérifier la cohérence, l'exhaustivité et l'exactitude avec Requirements Toolbox™. Par ailleurs, vous pouvez évaluer certaines propriétés des politiques des réseaux de neurones, notamment la robustesse et les limites de sortie du réseau, en utilisant les méthodes formelles disponibles dans la Deep Learning Toolbox Verification Library.
Un dernier élément à prendre en compte est le fait que la décomposition d'un problème complexe en sous-problèmes plus simples peut aider à relever tous les défis abordés dans cette section ; le débuggage et l'interprétabilité deviennent plus faciles à gérer (un problème plus simple requiert généralement une architecture de politique plus simple) et les exigences de vérification sont potentiellement réduites. Dans ce type de situation, le Reinforcement Learning peut être combiné avec des méthodes traditionnelles (de contrôle). L'idée principale sous-jacente à ce type d’architecture consiste à utiliser les méthodes vérifiables ou traditionnelles pour traiter les aspects critiques du problème, tandis que les politiques de Reinforcement Learning de type « boîte noire » peuvent gérer les composants de niveau supérieur, potentiellement moins critiques. Il est possible d'envisager d'autres architectures, notamment l'utilisation d'une approche hybride dans laquelle une méthode traditionnelle fonctionne parallèlement au Reinforcement Learning ou dans laquelle le Reinforcement Learning vient compléter ou corriger une méthode traditionnelle. MATLAB facilite l'implémentation de telles architectures ; outre le Reinforcement Learning et les méthodes basées sur l'IA, vous pouvez accéder à toute une série de méthodes traditionnelles prêtes à l'emploi et les combiner sur une seule plateforme de simulation, en l'occurrence Simulink.
Développez vos connaissances grâce à la documentation, aux exemples, aux vidéos et plus encore.
Explorez des sujets similaires pour lesquels on utilise couramment les produits MATLAB et Simulink.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
Europe