Reinforcement learning

El deep reinforcement learning es una rama del machine learning que le permite implementar controladores y sistemas de toma de decisiones para sistemas complejos tales como robots y sistemas autónomos. El deep reinforcement learning le permite implementar redes neuronales profundas que pueden aprender comportamientos complejos entrenándolas con datos generados de forma dinámica a partir de modelos de simulación. No requiere un conjunto de datos de entrenamiento predefinido, ya sea etiquetado o sin etiquetar; basta con un modelo de simulación que represente el entorno con el que se interactúa y que se intenta controlar.

MATLAB® y Simulink® admiten el flujo de trabajo completo para diseñar e implementar un controlador basado en reinforcement learning. Puede hacer lo siguiente:

  • Iniciarse en el reinforcement learning mediante el uso de ejemplos de sistemas de control simples, sistemas autónomos y robótica.
  • Alternar, evaluar y comparar con rapidez algoritmos de reinforcement learning de uso habitual con tan solo algunos cambios menores de código.
  • Utilizar redes neuronales profundas para definir políticas de reinforcement learning complejas basadas en datos de imagen, vídeo y sensores.
  • Entrenar políticas con más rapidez mediante la ejecución de varias simulaciones en paralelo a través de núcleos locales o la nube.
  • Implementar controladores de reinforcement learning en dispositivos embebidos.

Agentes de reinforcement learning

Los agentes de reinforcement learning constan de una política que lleva a cabo una asignación desde un estado de entrada a una acción de salida y de un algoritmo responsable de actualizar esta política. Algunos ejemplos habituales de algoritmos son Deep Q-networks, Actor-Critic y Deep Deterministic Policy Gradients. El algoritmo actualiza la política de forma que maximice la señal de recompensa a largo plazo proporcionada por el entorno.

Las políticas se pueden representar mediante redes neuronales profundas, polinomios y tablas de búsqueda. Después, se pueden implementar agentes integrados y personalizados en forma de objetos de MATLAB o bloques de Simulink.

Más información

Modelado de entornos en MATLAB y Simulink

El entrenamiento con algoritmos de reinforcement learning es un proceso dinámico, ya que el agente interactúa con el entorno. En el caso de aplicaciones tales como la robótica y los sistemas autónomos, realizar este entrenamiento en el mundo real con hardware físico puede resultar costoso y peligroso. Por eso, en el caso del reinforcement learning se prefiere sobremanera el uso de modelos virtuales del entorno que generen datos a través de simulaciones.

Puede crear un modelo de su entorno en MATLAB y Simulink que describa la dinámica del sistema, cómo se ve afectada por las acciones realizadas por el agente y una recompensa que evalúe la validez de la acción realizada. Estos modelos pueden ser de naturaleza continua o discreta, y pueden representar su sistema con diferentes niveles de fidelidad. Además, puede paralelizar las simulaciones para acelerar el entrenamiento. En algunos casos, podrá reutilizar los modelos de MATLAB y Simulink existentes de su sistema para el reinforcement learning con mínimas modificaciones.

Más información

Ejemplos y aplicaciones de referencia

Iníciese en el reinforcement learning mediante la implementación de controladores para problemas tales como equilibrar un péndulo invertido, solucionar un problema de grid-world y equilibrar un sistema de carro y poste. También puede diseñar sistemas destinados al control de crucero adaptativo y la asistencia de mantenimiento de carril para vehículos autónomos. El reinforcement learning también se puede utilizar para aplicaciones robóticas, como la planificación de trayectorias, y para la enseñanza de comportamientos, como la locomoción.

Más información