Reinforcement Learning

Le Deep Reinforcement Learning (apprentissage profond par renforcement) est une branche du Machine Learning vous permettant d’implémenter des contrôleurs et des systèmes décisionnels pour des systèmes complexes comme les robots ou les véhicules autonomes. Le Deep Reinforcement Learning vous permet d'implémenter des réseaux de neurones profonds pouvant adopter des comportements complexes en basant leur apprentissage sur des données générées dynamiquement à partir de modèles de simulation. Vous n’avez pas besoin d'un jeu de données d’apprentissage prédéfini, labélisé ou non, mais seulement d’un modèle de simulation représentatif de l’environnement avec lequel vous interagissez et que vous essayez de contrôler.

Avec MATLAB®, Simulink® et Reinforcement Learning Toolbox™, vous pouvez travailler sur l'ensemble du workflow de design et de déploiement d'un système décisionnel. Vous pouvez :

  • Vous lancer dans le Reinforcement Learning en vous appuyant sur des exemples de systèmes de contrôle simples, de systèmes autonomes et de robotique
  • Évaluer et comparer les algorithmes populaires de Reinforcement Learning puis passer rapidement de l’un à l’autre avec des modifications mineures à apporter au code
  • Utiliser des réseaux de neurones pour définir des politiques de Reinforcement Learning complexes basées sur des images, des vidéos et des données de capteurs
  • Accélérer l’apprentissage des politiques en exécutant plusieurs simulations en parallèle en utilisant des cœurs en local ou dans le cloud
  • Déployer des contrôleurs de Reinforcement Learning sur des dispositifs embarqués

Les agents du Reinforcement Learning

Les agents du Reinforcement Learning comprennent une politique qui met en correspondance un état en entrée et une action en sortie, ainsi qu'un algorithme responsable de la mise à jour de cette politique. Deep Q-networks, actor-critic et deep deterministic policy gradients sont des exemples d’algorithmes populaires. L’algorithme met à jour la politique de façon à maximiser le signal de récompense fourni par l’environnement sur le long terme.

Les politiques peuvent être représentées par des réseaux de neurones profonds, des polynômes et des lookup tables. Vous pouvez ensuite implémenter des agents prédéfinis ou personnalisés en tant qu’objets MATLAB ou blocs Simulink.

En savoir plus

Modéliser l’environnement dans MATLAB et Simulink

L’apprentissage avec des algorithmes de Reinforcement Learning est un processus dynamique au cours duquel l’agent interagit avec son environnement. Pour des applications comme la robotique et les systèmes autonomes, il peut s’avérer coûteux et dangereux de réaliser cet entraînement dans des conditions réelles avec du véritable hardware. C’est pourquoi, pour le Reinforcement Learning, il est largement préférable de générer des données par simulation via des modèles virtuels représentatifs de l’environnement.

Vous pouvez créer un modèle de votre environnement dans MATLAB et Simulink qui décrit la dynamique du système, l’impact des actions réalisées par l’agent et une récompense qui évalue le bien-fondé de l’action réalisée. Ces modèles peuvent être de nature continue ou discrète et peuvent représenter votre système plus ou moins fidèlement. En outre, vous pouvez paralléliser les simulations pour accélérer l’apprentissage. Dans certains cas, vous serez peut-être en mesure de réutiliser les modèles MATLAB et Simulink existants de votre système pour le Reinforcement Learning avec un minimum de modifications.

En savoir plus

Exemples et applications de référence

Lancez-vous dans le Reinforcement Learning en implémentant des contrôleurs pour des problèmes tels que l’équilibrage d’un pendule inversé, la navigation dans un problème Grid World et le maintien en équilibre d’un pendule inversé sur un chariot. Vous pouvez aussi concevoir des systèmes pour la régulation adaptative de la vitesse et l’alerte de franchissement de ligne pour les véhicules autonomes. Le Reinforcement Learning peut aussi vous être utile dans les applications robotiques comme la planification de trajectoire, ainsi que pour l’apprentissage comportemental comme la locomotion.

En savoir plus