Introducción a Reinforcement Learning
3 cosas que debe saber
3 cosas que debe saber
Reinforcement Learning es una técnica de Machine Learning en la que un agente informático aprende a realizar una tarea mediante interacciones repetidas de prueba y error con un entorno. Este enfoque de aprendizaje permite que el agente tome una serie de decisiones que aumentan una métrica de recompensa para la tarea, sin intervención humana y sin estar programado explícitamente para completar la tarea.
El mecanismo de entrenamiento típico de Reinforcement Learning refleja muchos escenarios del mundo real. Piense, por ejemplo, en el adiestramiento de mascotas mediante refuerzo positivo.
Empleando terminología de Reinforcement Learning, el objetivo de aprendizaje en este caso es entrenar al perro (agente) para que complete una tarea en un entorno, que incluye lo que rodea al perro, así como a la adiestradora. En primer lugar, la adiestradora emite un comando o indicación, que el perro observa (observación). Después, el perro responde realizando una acción. Si la acción se aproxima al comportamiento deseado, la adiestradora proporciona una recompensa, como una golosina o un juguete; en caso contrario, no proporciona una recompensa. Al comienzo del entrenamiento, es probable que el perro realice acciones más aleatorias, como rodar por el suelo cuando el comando emitido es “sentado”, ya que intenta asociar observaciones específicas con acciones y recompensas. Esta asociación, o correspondencia, entre observaciones y acciones se denomina política. Desde la perspectiva del perro, lo ideal sería responder correctamente a todas las indicaciones para recibir el mayor número posible de golosinas. Por tanto, el objetivo del entrenamiento con Reinforcement Learning es “ajustar” la política del perro para que aprenda los comportamientos deseados para obtener la mayor recompensa posible. Una vez finalizado el entrenamiento, el perro debería ser capaz de observar a su dueña y realizar la acción adecuada; por ejemplo, sentarse cuando oiga el comando “sentado”, aplicando la política interna que ha desarrollado. En este punto, las golosinas son bienvenidas, pero, en teoría, no deberían ser necesarias.
Teniendo en cuenta el ejemplo del adiestramiento canino, piense en la tarea de estacionar un vehículo utilizando un sistema de conducción autónoma. El objetivo es enseñar al computador del vehículo (agente) a estacionar en la plaza correcta con Reinforcement Learning. Al igual que en el caso del adiestramiento canino, el entorno es todo lo que existe fuera del agente, e incluye la dinámica del vehículo, otros vehículos cercanos y condiciones meteorológicas, entre otros elementos. Durante el entrenamiento, el agente utiliza lecturas de sensores de cámaras, GPS y LiDAR (observaciones) para generar comandos de viraje, frenado y aceleración (acciones). Para aprender a generar las acciones correctas a partir de las observaciones (ajuste de la política), el agente intenta estacionar el vehículo repetidamente utilizando un proceso de prueba y error. Se puede proporcionar una señal de recompensa para evaluar la validez de la prueba y guiar el proceso de aprendizaje.
En el ejemplo del adiestramiento canino, el entrenamiento se produce dentro del cerebro del perro. En el ejemplo del estacionamiento autónomo, el entrenamiento lo gestiona un algoritmo de entrenamiento. El algoritmo de entrenamiento es responsable de ajustar la política del agente en base a las lecturas de sensores, acciones y recompensas recopiladas. Una vez finalizado el entrenamiento, el computador del vehículo debería ser capaz de estacionar utilizando únicamente la política ajustada y las lecturas de los sensores. Tenga en cuenta que estos dos casos son ejemplos de Reinforcement Learning sin modelo, ya que ambos implican interacciones de prueba y error con el entorno para generar datos.
Los componentes principales de Reinforcement Learning (política, entorno, agente, acciones, recompensas y observaciones) se formalizan en un marco denominado proceso de decisión de Markov, que proporciona un modelo matemático para la toma de decisiones en entornos con incertidumbre.
El equilibrio entre exploración y explotación es un aspecto esencial de Reinforcement Learning que puede afectar en gran medida a la calidad del aprendizaje. La idea es la siguiente: ¿el agente debería aprovechar el conocimiento del entorno, seleccionando las acciones que ya sabe que obtienen la mayor recompensa, o debería elegir acciones que exploren partes del entorno que aún desconoce? Las decisiones que toma el agente determinan la información que recibe y, por tanto, la información de la que puede aprender. Con demasiada exploración, el agente no podrá converger en una buena política. Con demasiada explotación, el agente puede quedarse atascado en soluciones locales no óptimas. En general, tiene sentido que el agente explore más al comienzo del aprendizaje, cuando no hay suficiente información para explotar, y que transite gradualmente hacia una mayor explotación al final.
Deep Reinforcement Learning combina Reinforcement Learning y Deep Learning. Aunque para problemas sencillos puede ser suficiente una política en forma de tabla de búsqueda, este enfoque no se puede escalar bien a problemas de gran tamaño ni de naturaleza continua. Las redes neuronales profundas entrenadas con Deep Reinforcement Learning pueden codificar comportamientos complejos, lo que ofrece un enfoque alternativo para aplicaciones que de otro modo serían inabordables o más difíciles de tratar con métodos más tradicionales. Por ejemplo, en conducción autónoma, una red neuronal puede reemplazar al conductor y decidir cómo girar el volante observando simultáneamente múltiples sensores, como fotogramas de cámaras y mediciones de LiDAR. Sin redes neuronales, el problema normalmente se dividiría en partes más pequeñas, como extraer características de los fotogramas de cámaras, filtrar las mediciones de LiDAR, fusionar las salidas de sensores y tomar decisiones de “conducción” basadas en entradas de sensores, lo que se podría resolver más fácilmente con representaciones de políticas más tradicionales, como tablas de búsqueda o funciones polinómicas.
El flujo de trabajo general para entrenar un agente empleando Reinforcement Learning incluye los siguientes pasos:
Entrenar un agente con Reinforcement Learning es un proceso iterativo. Las decisiones y resultados en etapas posteriores pueden requerir que vuelva a una etapa anterior del flujo de trabajo de aprendizaje. Si el proceso de entrenamiento no converge en una política óptima en un plazo razonable, se recomienda revisar la definición del problema (dinámica, observaciones, acciones), señal de recompensa, arquitectura de la política e hiperparámetros del algoritmo antes de volver a realizar el entrenamiento.
A diferencia de Machine Learning no supervisado y supervisado, Reinforcement Learning no necesita un conjunto de datos estático, sino que puede operar en un entorno dinámico y aprender de experiencias recopiladas. Los puntos de datos, o experiencias, pueden recopilarse durante el entrenamiento mediante interacciones de prueba y error entre el entorno y un agente de software. Este aspecto de Reinforcement Learning es importante, porque reduce la necesidad de recopilar datos, preprocesarlos y etiquetarlos antes del entrenamiento, algo que es necesario en el aprendizaje supervisado y no supervisado.
Deep Learning abarca los tres tipos de Machine Learning; Reinforcement Learning y Deep Learning no son mutuamente excluyentes. Para los problemas complejos de Reinforcement Learning se suele recurrir a redes neuronales profundas y Deep Reinforcement Learning.
Los algoritmos de Reinforcement Learning pueden organizarse en varias categorías en base a sus enfoques de aprendizaje y toma de decisiones.
Existen tres clases principales de algoritmos de Reinforcement Learning:
Reinforcement Learning basado en modelos crea o utiliza un modelo de la dinámica del entorno (probabilidades de transición y funciones de recompensa) para planificar y tomar decisiones. La palabra “planificar” es clave; estos algoritmos suelen necesitar menos interacciones con el entorno, o ninguna, ya que recurren a su modelo interno para simular estados futuros. El modelo interno puede proporcionarse de antemano, en cuyo caso el agente no necesita interactuar con el entorno en absoluto, o puede aprenderse a partir de datos recopilados de interacciones con el entorno real. Reinforcement Learning basado en modelos suele ser más eficiente en cuanto a muestras que el enfoque sin modelos, ya que el modelo puede utilizarse para generar rápidamente conjuntos de datos de entrenamiento de gran tamaño. Sin embargo, dependiendo de si el modelo interno está disponible o se aprende, los métodos basados en modelos pueden requerir muchos más recursos de cálculo que los métodos sin modelo, ya que, además de entrenar el agente base, también deben entrenar el modelo del entorno y generar datos de entrenamiento.
A diferencia de los algoritmos basados en modelos, los métodos sin modelos no generan un modelo explícito del entorno. En cambio, aprenden acciones óptimas a través de interacción directa, basándose en prueba y error, como los ejemplos de adiestramiento canino y estacionamiento autónomo de la sección anterior. Este enfoque es más sencillo y se adapta mejor a entornos de alta dimensión o no estructurados, aunque normalmente es menos eficiente en cuanto a uso de datos. La mayoría de los algoritmos de Reinforcement Learning de última generación no utilizan modelos.
Reinforcement Learning online implica un agente que interactúa activamente con el entorno durante el aprendizaje, recopilando experiencias, actualizando su política y adaptándose continuamente a medida que llegan nuevos datos. Los escenarios de adiestramiento canino y estacionamiento autónomo descritos anteriormente son ejemplos de Reinforcement Learning online.
En cambio, Reinforcement Learning offline o por lotes aprende únicamente a partir de un conjunto de datos estático de experiencias registradas, por ejemplo, de demostraciones humanas o políticas anteriores, sin interacción adicional con el entorno. Los métodos offline destacan cuando la interacción con el mundo real es costosa o insegura, y pueden extraer información útil incluso de datos aleatorios o no expertos, aunque la calidad del aprendizaje será inferior a la obtenida con datos expertos o más estructurados. En la práctica, Reinforcement Learning offline suele ser una buena opción para entrenar previamente una política antes de pasar a Reinforcement Learning online, que, aunque es ineficiente en cuanto a muestras, normalmente logra un rendimiento superior, ya que se adapta continuamente usando datos nuevos.
Los algoritmos de Reinforcement Learning on-policy actualizan y evalúan la misma política que se utiliza para generar datos de entrenamiento, lo que significa que el agente aprende el valor de la política actual a partir de sus propias acciones, por ejemplo, SARSA, PPO, TRPO. Este enfoque suele generar actualizaciones más estables y fiables, ya que no se busca conciliar diferencias entre la política de comportamiento y la política objetivo, como ocurre en los métodos off-policy. Dado que se mantiene y actualiza una sola política, también tienden a tener menor complejidad computacional.
En cambio, los métodos off-policy, como Q-Learning, DQN, utilizan datos recopilados por una política de comportamiento para aprender o mejorar una política objetivo diferente, por ejemplo, una estrategia codiciosa u óptima. Como resultado, pueden almacenar experiencias pasadas (datos) en un buffer de repetición y reutilizarlas múltiples veces. Esto mejora de forma notable la eficiencia en el uso de muestras en comparación con los métodos on-policy, que descartan los datos después de cada actualización de la política. Otra ventaja de los métodos off-policy es que pueden aprender de cualquier política, así como datos aleatorios, desactualizados o incluso generados por humanos. Esta flexibilidad permite realizar entrenamiento a partir de conjuntos de datos offline o demostraciones.
Los algoritmos basados en gradientes son el motor de muchos algoritmos contemporáneos de Deep Reinforcement Learning, ya que utilizan estimaciones con ruido del gradiente de política mediante retropropagación, lo que permite un aprendizaje rápido y eficiente en cuanto a muestras. Por otro lado, son sensibles a hiperparámetros, propensos a óptimos locales y requieren diferenciabilidad.
En cambio, Reinforcement Learning evolutivo trata la política como una caja negra y es una herramienta potente cuando no se dispone de gradientes, o no son fiables, cuando se puede acceder a cálculo paralelo masivo o cuando se necesita una exploración amplia en espacios de búsqueda irregulares. Las estrategias evolutivas realizan búsquedas de forma global mediante mutaciones y selecciones basadas en poblaciones, lo que aporta solidez ante señales de recompensa escasas o no diferenciables, aunque son mucho menos eficientes en cuanto a muestras y tardan más en converger.
Las técnicas híbridas permiten cada vez más aprovechar lo mejor de ambos enfoques: usan evolución para exploración y búsqueda global, y luego refinan políticas viables con actualizaciones basadas en gradientes, lo que a menudo proporciona un rendimiento general superior.
El tipo de problema suele determinar el algoritmo más adecuado. Si los espacios de estados y de acciones del entorno son discretos y poco numerosos, puede utilizar una tabla sencilla para representar políticas. Q-Learning y SARSA son ejemplos de algoritmos tabulares comunes. Representar los parámetros de la política en una tabla no es viable cuando el número de pares estado-acción se hace grande o infinito. Esto se conoce como maldición de la dimensionalidad, y aquí son relevantes las redes neuronales. En general, la mayoría de los algoritmos de Reinforcement Learning modernos se basan en redes neuronales porque son una buena opción para espacios de estado-acción de gran tamaño y problemas complejos.
En Reinforcement Learning de agente único, solo un agente interactúa con el entorno, lo que simplifica el aprendizaje, y lo hace más estable y más fácil de analizar. En cambio, Reinforcement Learning multiagente (MARL) utiliza múltiples agentes que interactúan dentro del mismo entorno. Puesto que los agentes se influyen entre sí, el entorno no es estacionario, lo que incumple las suposiciones de Markov y desestabiliza los procesos de aprendizaje. Aunque MARL puede resolver tareas más complejas y desarrollar comportamientos emergentes como coordinación o negociación, también presenta desafíos, como problemas de convergencia, altas exigencias de cálculo, e inestabilidad si cada agente se actualiza de manera independiente.
Aunque Reinforcement Learning no es un concepto nuevo, los avances recientes en Deep Learning y potencia de cálculo han hecho posible lograr resultados notables en el ámbito de la inteligencia artificial.
Entre las ventajas de Reinforcement Learning se cuentan:
Reinforcement Learning es una técnica potente, pero también plantea desafíos, como los siguientes:
Reinforcement Learning se ha utilizado en múltiples áreas en los últimos años, como chatbots de IA y macromodelos de lenguaje (LLM), sistemas de recomendación, marketing y publicidad, y videojuegos. Sin embargo, todavía se encuentra, en gran medida, en fase de evaluación para aplicaciones de producción, y especialmente en el caso de los sistemas de ingeniería. La buena noticia es que las ventajas mencionadas abren, poco a poco pero de forma constante, el uso de la tecnología en varias áreas. Las aplicaciones de la vida real de Reinforcement Learning en sistemas de ingeniería suelen encuadrarse en estas áreas:
MATLAB®, Simulink® y Reinforcement Learning Toolbox™ simplifican las tareas de Reinforcement Learning. Puede implementar controladores y algoritmos de toma de decisiones recorriendo cada paso del flujo de trabajo de Reinforcement Learning dentro del mismo ecosistema. En concreto, puede:
Creación de un agente de Reinforcement Learning de manera interactiva con la app Reinforcement Learning Designer. Consulte la documentación.
Creación de un agente de Reinforcement Learning de manera interactiva con la app Reinforcement Learning Designer. Consulte la documentación.
Puede utilizar MATLAB y Simulink para afrontar muchos de los desafíos comúnmente asociados a Reinforcement Learning.
Iníciese rápidamente en Reinforcement Learning. Pruebe algoritmos listos para usar sin necesidad de desarrollo manual, consulte ejemplos de referencia para obtener ideas sobre cómo plantear un problema, y progrese rápidamente con recursos didácticos y cursos de formación gratuitos.
Con Parallel Computing Toolbox™ y MATLAB Parallel Server™ puede entrenar políticas de Reinforcement Learning más rápidamente utilizando múltiples GPU, múltiples CPU, clusters de equipos informáticos y recursos en la nube. Por ejemplo, puede generar datos de entrenamiento más rápidamente ejecutando múltiples simulaciones en paralelo, y acelerar el aprendizaje aumentando la velocidad de los cálculos de gradientes.
Reinforcement Learning Toolbox también ofrece prestaciones para Reinforcement Learning basado en modelos, que pueden ayudar con la eficiencia en el uso de muestras.
Los agentes de optimización de políticas basada en modelos (MBPO) pueden ser más eficientes en el uso de muestras que los agentes sin modelos, ya que el modelo puede generar grandes conjuntos de experiencias diversas.
Puede utilizar Reinforcement Learning Toolbox para reducir el número de hiperparámetros que se deben ajustar manualmente. Por ejemplo, puede crear agentes sin especificar manualmente la arquitectura de políticas de redes neuronales; puede ajustar hiperparámetros de agentes de manera interactiva con optimización bayesiana en la app Reinforcement Learning Designer. Además, puede generar funciones de recompensa automáticamente si ya cuenta con especificaciones de Model Predictive Control Toolbox™ o restricciones de rendimiento especificadas con bloques de verificación de modelos de Simulink Design Optimization™.
Las simulaciones son clave en Reinforcement Learning. La integración estrecha con Simulink facilita la mejora de la generalización de políticas mediante aleatorización de dominio, entrenando agentes en distintos escenarios, incluso en condiciones extremas o peligrosas que sería difícil y arriesgado recrear en el mundo real.
Con Reinforcement Learning Toolbox, se pueden aprovechar plenamente todas las fuentes de datos disponibles para mejorar la generalización y cerrar la brecha sim2real. Con Reinforcement Learning offline puede entrenar previamente una política usando datos existentes, como datos procedentes de hardware objetivo. Luego, puede mejorar la política entrenándola con un entorno de simulación y aplicar aleatorización de dominio para que sea sólida frente a factores y escenarios inciertos. Para garantizar que el modelo de simulación representa el sistema del mundo real con precisión, puede recurrir a la identificación de sistemas. El último paso del proceso es ajustar la política entrenada mediante entrenamiento directo con el hardware real, si es necesario. Aunque incluir hardware real en el lazo de entrenamiento normalmente sería arriesgado e incluso peligroso, los dos primeros pasos de este flujo de trabajo garantizan que el número de interacciones con el hardware físico necesarias para ajustar la política sea mínimo. Esta funcionalidad también puede utilizarse para aplicaciones en tiempo real.
Flujo de trabajo de transferencia sim2real con Reinforcement Learning Toolbox que aprovecha todas las fuentes de datos disponibles para mejorar la generalización.
Flujo de trabajo de transferencia sim2real con Reinforcement Learning Toolbox que aprovecha todas las fuentes de datos disponibles para mejorar la generalización.
Reinforcement Learning suele caracterizarse por “errores silenciosos”, es decir, problemas sutiles y difíciles de detectar que pueden surgir durante el entrenamiento o la ejecución. Reinforcement Learning Toolbox permite registrar y visualizar datos de entrenamiento claves para facilitar el análisis y la depuración.
La interpretabilidad y la verificación siguen siendo áreas abiertas y activas en la comunidad de investigación, especialmente en lo relativo a redes neuronales. Deep Learning Toolbox™ ofrece una gama de métodos de visualización, un tipo de técnica de interpretabilidad que explica las predicciones de una red sirviéndose de representaciones visuales de lo que una red observa. Otro enfoque consiste en emplear lógica difusa; entrenar un sistema de inferencia difusa (FIS) para replicar el comportamiento de una política de (Deep) Reinforcement Learning permite utilizar las reglas del FIS para explicar su comportamiento.
La verificación basada en simulación es el enfoque más común para validar políticas de Reinforcement Learning, y es más fácil de realizar con Simulink. Con el diseño basado en modelos, la verificación basada en simulación puede ampliarse mediante verificación y validación tradicionales. Por ejemplo, puede formalizar requisitos para una política y analizar su coherencia, integridad y precisión con Requirements Toolbox™. Además, puede evaluar determinadas propiedades de las políticas de redes neuronales, como solidez y límites de resultados de red, sirviéndose de métodos formales disponibles en Deep Learning Toolbox Verification Library.
Una última cuestión que se debe tener en cuenta es que dividir un problema complejo en subproblemas más pequeños puede ayudar con todos los desafíos tratados en esta sección. La depuración y la interpretabilidad se vuelven más abordables, ya que un problema más pequeño suele requerir una arquitectura de política más simple, y los requisitos de verificación podrían reducirse. En estas situaciones, Reinforcement Learning puede combinarse con métodos (de control) tradicionales. La idea principal que subyace a esta arquitectura es que los métodos verificables o tradicionales pueden utilizarse para tratar los aspectos críticos en materia de seguridad del problema, mientras que las políticas de Reinforcement Learning de caja negra pueden ocuparse de componentes de nivel superior, potencialmente menos críticos. Otra arquitecturas que se puede considerar es utilizar un enfoque híbrido en el que un método tradicional se ejecuta junto con Reinforcement Learning, o bien utilizar Reinforcement Learning para complementar o corregir un método tradicional. MATLAB facilita la implementación de estas arquitecturas; además de Reinforcement Learning y métodos basados en IA, puede acceder a diversos métodos tradicionales listos para usar y combinarlos empleando Simulink como única plataforma de simulación.
Amplíe sus conocimientos con documentación, ejemplos, vídeos y mucho más.
Explore áreas temáticas similares comúnmente asociadas con productos de MATLAB y Simulink.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
Europa