Reinforcement Learning Toolbox

Concevoir et entraîner des politiques grâce au Reinforcement Learning

 

Reinforcement Learning Toolbox™ offre des fonctions et des blocs pour entraîner des politiques en utilisant des algorithmes de Reinforcement Learning tels que DQN, A2C et DDPG. Vous pouvez utiliser ces politiques pour implémenter des contrôleurs et des systèmes décisionnels pour des systèmes complexes comme des robots ou des systèmes autonomes. Vous pouvez implémenter les politiques avec des réseaux de neurones profonds, des polynômes, ou des lookup tables.

Avec la toolbox, vous pouvez entraîner des politiques en leur permettant d’interagir avec des environnements représentés par des modèles MATLAB® ou Simulink®. Vous pouvez évaluer les algorithmes, tester différents réglages des hyperparamètres et surveiller la progression de l’apprentissage. Pour améliorer les performances de l’apprentissage, vous pouvez exécuter plusieurs simulations en parallèle sur le cloud, sur des clusters et sur des GPU (avec Parallel Computing Toolbox™ et MATLAB Parallel Server™).

En passant par le format de modèle ONNX™, vous pouvez importer des politiques existantes à partir d’environnements de Deep Learning tels que TensorFlow™ Keras et PyTorch (avec Deep Learning Toolbox™). Vous pouvez générer du code optimisé C, C++ et CUDA pour déployer des politiques entraînées sur des microcontrôleurs et des GPU.

La toolbox propose des exemples de référence pour utiliser le Reinforcement Learning afin de concevoir des contrôleurs pour les applications de robotique et de conduite autonome.

En savoir plus :

Les agents du Reinforcement Learning

Implémentez des agents MATLAB et Simulink pour entraîner des politiques représentées par des réseaux de neurones profonds. Utilisez des algorithmes de Reinforcement Learning prédéfinis ou personnalisés.

Algorithmes de Reinforcement Learning

Implémentez des agents en utilisant des algorithmes prédéfinis comme Deep Q-Network (DQN), Advantage Actor Critic (A2C) ou Deep Deterministic Policy Gradients (DDPG). Utilisez des modèles pour implémenter des agents personnalisés afin d’entraîner des politiques.

Les agents comportent une politique et un algorithme.

Représentation des politiques et de la fonction de valeur avec des réseaux de neurones profonds

Utilisez des politiques à base de réseaux de neurones profonds pour les systèmes complexes qui comprennent de vastes espaces état-action. Définissez des politiques avec des réseaux et des architectures provenant de Deep Learning Toolbox. Importez des modèles ONNX pour assurer l’interopérabilité avec d’autres environnements de Deep Learning.

Blocs Simulink pour les agents

Implémentez et entraînez des agents de Reinforcement Learning dans Simulink.

Bloc Reinforcement Learning Agent pour Simulink.

Modéliser l'environnement

Créer des modèles d’environnement dans MATLAB et Simulink. Décrivez la dynamique des systèmes et ajoutez des observations ainsi que des signaux de récompense pour les agents de Reinforcement Learning.

Environnements Simulink et Simscape

Utilisez des modèles Simulink et Simscape™ pour représenter un environnement. Spécifiez l’observation, l’action et les signaux de récompense dans le modèle.

Modèle d’environnement Simulink pour un pendule inversé.

Environnements MATLAB

Utilisez les fonctions et les classes MATLAB pour représenter un environnement. Spécifiez l’observation, l’action et les variables de récompense dans le fichier MATLAB.

Environnement MATLAB pour un pendule inversé sur chariot.

Accélérer l’apprentissage

Accélérez l’apprentissage avec un GPU, un cloud et des ressources informatiques distribuées.

Calcul distribué et accélération multicœurs

Accélérez l’apprentissage en exécutant des simulations en parallèle sur des ordinateurs multicœurs, des ressources cloud ou des clusters de calcul avec Parallel Computing Toolbox et MATLAB Parallel Server.

Accélérer l’apprentissage avec le calcul parallèle.

Accélération GPU

Accélérez l’apprentissage et l’inférence de réseaux de neurones profonds avec des GPU NVIDIA® haute performance. Utilisez MATLAB avec Parallel Computing Toolbox et la plupart des GPU NVIDIA compatibles CUDA® dotés d’une capacité de calcul 3.0 ou supérieure.

Accélérer l’apprentissage avec des GPU.

Générer et déployer du code

Déployez des politiques entraînées dans des systèmes embarqués ou intégrez-les dans un vaste éventail de systèmes de production.

Génération de code

Avec GPU Coder™, générez du code CUDA optimisé à partir de code MATLAB représentant des politiques entraînées. Générez du code C/C++ avec MATLAB Coder™ pour déployer des politiques.

Générer du code CUDA avec GPU Coder.

Support de MATLAB Compiler

 MATLAB Compiler™ et MATLAB Compiler SDK™ vous permettent de déployer des politiques entraînées sous forme de bibliothèques partagées C/C++, d’assemblages Microsoft®.NET, de classes Java® et de packages Python®.

Packager et partager des politiques sous forme de programmes autonomes.

Exemples de référence

Concevez des contrôleurs avec le Reinforcement Learning pour des robots, des voitures autonomes et d’autres systèmes.

En savoir plus

Implémentez des contrôleurs basés sur le Reinforcement Learning pour des problèmes tels que l’équilibrage d’un pendule inversé, la navigation dans un problème Grid World ou le maintien en équilibre d’un pendule inversé sur un chariot.

Résolution d’un problème Grid World.

Applications pour la conduite autonome

Concevez des contrôleurs pour les systèmes de régulation adaptative de la vitesse et d’aide au maintien de la trajectoire.

Apprentissage d’un système d’aide au maintien de la trajectoire.

Nouveautés

Reinforcement Learning Multi-Agents

Entraînez de multiples agents simultanément dans un environnement Simulink

Agent actor-critic soft

Entraînez des politiques d’échantillonnage efficace pour les environnement avec des espaces d’actions continus en utilisant une exploration plus poussée

Agents par défaut

Évitez la formulation manuelle de politiques en créant des agents avec une structure de réseau de neurones par défaut

Consultez les notes de version pour en savoir plus sur ces fonctionnalités et les fonctions correspondantes.

Série de vidéos sur le Reinforcement Learning

Regardez cette série de vidéos pour vous familiariser avec les concepts de Reinforcement Learning.