Reinforcement Learning Toolbox

Diseño y entrenamiento de políticas con reinforcement learning

Reinforcement Learning Toolbox™ proporciona una app, funciones y un bloque de Simulink® para entrenar políticas usando algoritmos de reinforcement learning, tales como DQN, PPO, SAC y DDPG. Estas políticas se pueden emplear para implementar controladores y algoritmos de toma de decisiones para aplicaciones complejas, tales como asignación de recursos, robótica y sistemas autónomos.

Esta toolbox permite representar políticas y funciones de valores usando redes neuronales profundas o tablas de búsqueda, y entrenarlas a través de interacciones con entornos modelados en MATLAB® o Simulink. Puede evaluar los algoritmos de reinforcement learning monoagente o multiagente proporcionados en la toolbox o desarrollar los suyos propios. Puede experimentar con configuraciones de hiperparámetros, supervisar el progreso del entrenamiento y simular agentes entrenados de forma interactiva a través de la app o de forma programática. Para mejorar el rendimiento del entrenamiento, es posible ejecutar simulaciones en paralelo en varias CPU, GPU, clusters y en la nube (con Parallel Computing Toolbox™ y MATLAB Parallel Server™).

El formato ONNX™ permite importar políticas existentes a partir de marcos de Deep Learning como TensorFlow™ Keras y PyTorch (con Deep Learning Toolbox™). Puede generar código C, C++ y CUDA® optimizado para desplegar las políticas entrenadas en microcontroladores y GPU. Los ejemplos de referencia de esta toolbox le ayudarán a iniciar sus proyectos.

 

Más información:

Agentes de reinforcement learning

Cree y configure agentes de reinforcement learning para entrenar políticas en MATLAB y Simulink. Utilice los algoritmos de reinforcement learning integrados o desarrolle algoritmos personalizados.

Algoritmos de aprendizaje por refuerzo

Cree agentes con Deep Q-Network (DQN), Deep Deterministic Policy Gradient (DDPG), Proximal Policy Optimization (PPO) y otros algoritmos integrados. Utilice plantillas para desarrollar agentes personalizados para entrenar políticas.

Algoritmos de entrenamiento disponibles en Reinforcement Learning Toolbox.

App Reinforcement Learning Designer

Diseñe, entrene y simule interactivamente agentes de reinforcement learning. Exporte agentes entrenados a MATLAB para su posterior uso y despliegue.

Representación de funciones de valores y políticas con redes neuronales profundas

Para sistemas complejos con grandes espacios de estado-acción, defina políticas de redes neuronales profundas de forma programática, con capas de Deep Learning Toolbox, o de forma interactiva con Deep Network Designer. Si lo prefiere, puede utilizar la arquitectura de red predeterminada sugerida por la toolbox. Inicialice la política utilizando el aprendizaje por imitación para acelerar el entrenamiento. Importe y exporte modelos ONNX para permitir la interoperabilidad con otros marcos de Deep Learning.

Reinforcement learning monoagente y multiagente en Simulink

Cree y entrene agentes de reinforcement learning en Simulink con el bloque RL Agent. Entrene varios agentes simultáneamente (reinforcement learning multiagente) en Simulink utilizando varias instancias del bloque RL Agent.

Bloque RL Agent de Simulink.

Modelado de entornos

Cree modelos de entorno de MATLAB y Simulink. Describa la dinámica del sistema y proporcione señales de observación y recompensa para el entrenamiento de agentes.

Modelo de entorno de Simulink de un robot bípedo.

Entornos de MATLAB

Utilice funciones y clases de MATLAB para modelar un entorno. Especifique las variables de observación, acción y recompensa en el archivo de MATLAB.

Entorno de MATLAB para un cohete de tres grados de libertad.

Aceleración del entrenamiento

Acelere el entrenamiento mediante el cálculo con GPU, en la nube y distribuido.

Aceleración por GPU

Acelere el entrenamiento y la inferencia de redes neuronales profundas con las GPU NVIDIA® de alto rendimiento. Puede utilizar MATLAB con Parallel Computing Toolbox y la mayoría de las GPU NVIDIA habilitadas para CUDA con una capacidad de cálculo 3.0 o superior.

Acelere el entrenamiento con varias GPU.

Generación y despliegue de código

Implemente políticas entrenadas en dispositivos embebidos o intégrelas en una amplia gama de entornos de producción.

Generación de código

Utilice GPU Coder™ para generar código CUDA optimizado a partir de código de MATLAB que represente redes entrenadas. Genere código C/C++ con MATLAB Coder™ para desplegar políticas.

Generación de código CUDA con GPU Coder.

Soporte de MATLAB Compiler

Utilice MATLAB Compiler™ y MATLAB Compiler SDK™ para desplegar políticas entrenadas como aplicaciones independientes, librerías C/C++ compartidas, ensamblados Microsoft® .NET, clases de Java® y paquetes de Python®.

Empaquetado y uso compartido de políticas como programas independientes.

Ejemplos de referencia

Diseñe controladores y algoritmos de toma de decisiones para aplicaciones de robótica, conducción autónoma, calibración y planificación, entre otras.

Primeros pasos

Descubra cómo desarrollar políticas de reinforcement learning para problemas tales como invertir un péndulo simple, navegar en un entorno de grid-world, equilibrar un péndulo invertido, y resolver procesos de decisión genéricos de Markov.

Conducción autónoma

Diseñe políticas de reinforcement learning para aplicaciones de conducción autónoma, tales como control de crucero adaptativo, asistencia de mantenimiento de carril y estacionamiento automático.

Ajuste, calibración y planificación

Diseñe políticas de reinforcement learning para aplicaciones de ajuste, calibración y planificación.

Problema de asignación de recursos para la distribución de agua.

Serie de vídeos sobre reinforcement learning

Aprenda más sobre reinforcement learning con esta serie de vídeos.

Recursos adicionales de Reinforcement Learning Toolbox