Apprentissage par renforcement

Le Deep Reinforcement Learning (apprentissage 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 neuronaux 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.

MATLAB® et Simulink® supportent l’ensemble du processus de design et de déploiement d’un contrôleur basé sur le Reinforcement Learning. 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, et passer rapidement de l’un à l’autre avec des modifications mineures à apporter au code
  • Utiliser des réseaux neuronaux 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 à l’aide 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 neuronaux profonds, des polynômes et des lookup tables. Vous pouvez ensuite implémenter des agents intégrés et personnalisés en tant qu’objets MATLAB ou blocs Simulink.

En savoir plus

Modéliser l’environnement dans MATLAB et Simulink

L’apprentissage via 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 entrainement dans des conditions réelles, avec du véritable matériel. 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 développer 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