El aprendizaje por refuerzo profundo ( RL profundo ) es un subcampo del aprendizaje automático que combina el aprendizaje por refuerzo (RL) y el aprendizaje profundo . RL considera el problema de un agente computacional que aprende a tomar decisiones mediante prueba y error. Deep RL incorpora el aprendizaje profundo en la solución, lo que permite a los agentes tomar decisiones a partir de datos de entrada no estructurados sin ingeniería manual del espacio de estados . Los algoritmos de RL profundo son capaces de recibir entradas muy grandes (por ejemplo, cada píxel representado en la pantalla de un videojuego) y decidir qué acciones realizar para optimizar un objetivo (por ejemplo, maximizar la puntuación del juego). El aprendizaje por refuerzo profundo se ha utilizado para un conjunto diverso de aplicaciones que incluyen, entre otras, robótica , videojuegos , procesamiento del lenguaje natural , visión por computadora , [1] educación, transporte, finanzas y atención médica . [2]
El aprendizaje profundo es una forma de aprendizaje automático que utiliza una red neuronal para transformar un conjunto de entradas en un conjunto de salidas a través de una red neuronal artificial . Se ha demostrado que los métodos de aprendizaje profundo, que a menudo utilizan aprendizaje supervisado con conjuntos de datos etiquetados, resuelven tareas que implican el manejo de datos de entrada sin procesar complejos y de alta dimensión (como imágenes) con menos ingeniería de funciones manual que los métodos anteriores, lo que permite un progreso significativo en varios campos, incluido Visión por computadora y procesamiento del lenguaje natural . En la última década, la RL profunda ha logrado resultados notables en una variedad de problemas, desde juegos para un solo jugador y multijugador como GO , Atari Games y Dota 2 hasta la robótica. [3]
El aprendizaje por refuerzo es un proceso en el que un agente aprende a tomar decisiones mediante prueba y error. Este problema a menudo se modela matemáticamente como un proceso de decisión de Markov (MDP), donde un agente en cada paso de tiempo está en un estado , toma una acción , recibe una recompensa escalar y pasa al siguiente estado de acuerdo con la dinámica del entorno . El agente intenta aprender una política , o mapear desde observaciones hasta acciones, para maximizar sus retornos (suma esperada de recompensas). En el aprendizaje por refuerzo (a diferencia del control óptimo ), el algoritmo solo tiene acceso a la dinámica a través del muestreo.
En muchos problemas prácticos de toma de decisiones, los estados del MDP son de alta dimensión (por ejemplo, imágenes de una cámara o el flujo de sensor sin procesar de un robot) y no pueden resolverse mediante algoritmos RL tradicionales. Los algoritmos de aprendizaje por refuerzo profundo incorporan aprendizaje profundo para resolver dichos MDP, a menudo representando la política u otras funciones aprendidas como una red neuronal y desarrollando algoritmos especializados que funcionan bien en este entorno.
Junto con el creciente interés en las redes neuronales a partir de mediados de la década de 1980, creció el interés en el aprendizaje por refuerzo profundo, donde se utiliza una red neuronal en el aprendizaje por refuerzo para representar políticas o funciones de valor. Debido a que en un sistema de este tipo, todo el proceso de toma de decisiones, desde los sensores hasta los motores de un robot o agente, implica una única red neuronal , a veces también se le denomina aprendizaje por refuerzo de un extremo a otro. [4] Una de las primeras aplicaciones exitosas del aprendizaje por refuerzo con redes neuronales fue TD-Gammon , un programa informático desarrollado en 1992 para jugar al backgammon . [5] Se utilizaron cuatro entradas para el número de piezas de un color determinado en una ubicación determinada del tablero, con un total de 198 señales de entrada. Sin ningún conocimiento incorporado, la red aprendió a jugar en un nivel intermedio mediante el juego autónomo y TD( ) .
Libros de texto fundamentales de Sutton y Barto sobre aprendizaje por refuerzo, [6] Bertsekas y Tsitiklis sobre programación neurodinámica, [7] y otros [8] conocimientos e interés avanzados en el campo.
El grupo de Katsunari Shibata demostró que en este marco surgen varias funciones, [9] [10] [11] incluyendo el reconocimiento de imágenes, la constancia del color, el movimiento del sensor (reconocimiento activo), la coordinación ojo-mano y el movimiento de alcance de la mano, la explicación de las actividades cerebrales, el conocimiento. transferencia, memoria, [12] atención selectiva, predicción y exploración. [10] [13]
A partir de 2012, la llamada revolución del aprendizaje profundo generó un mayor interés en el uso de redes neuronales profundas como aproximadores de funciones en una variedad de dominios. Esto llevó a un renovado interés en los investigadores que utilizan redes neuronales profundas para aprender las funciones de política, valor y/o Q presentes en los algoritmos de aprendizaje por refuerzo existentes.
A partir de 2013, DeepMind mostró resultados de aprendizaje impresionantes utilizando RL profunda para jugar videojuegos de Atari . [14] [15] El jugador de la computadora entrenó una red neuronal utilizando un algoritmo RL profundo, una versión profunda de Q-learning que denominaron redes Q profundas (DQN), con la puntuación del juego como recompensa. Utilizaron una red neuronal convolucional profunda para procesar 4 fotogramas de píxeles RGB (84x84) como entradas. Los 49 juegos se aprendieron utilizando la misma arquitectura de red y con un conocimiento previo mínimo, superando los métodos de la competencia en casi todos los juegos y funcionando a un nivel comparable o superior al de un probador de juegos humano profesional. [15]
El aprendizaje por refuerzo profundo alcanzó otro hito en 2015 cuando AlphaGo , [16] un programa informático entrenado con RL profundo para jugar Go , se convirtió en el primer programa informático de Go en vencer a un jugador humano profesional de Go sin discapacidad en un tablero de tamaño completo de 19×19. En un proyecto posterior en 2017, AlphaZero mejoró el rendimiento en Go y al mismo tiempo demostró que podían usar el mismo algoritmo para aprender a jugar ajedrez y shogi a un nivel competitivo o superior a los programas informáticos existentes para esos juegos, y nuevamente mejoró en 2019 con MuZero . [17] Por otra parte, investigadores de la Universidad Carnegie Mellon lograron otro hito en 2019 al desarrollar Pluribus , un programa informático para jugar al póquer que fue el primero en vencer a los profesionales en juegos multijugador de Texas Hold'em sin límite . OpenAI Five , un programa para jugar Dota 2 cinco contra cinco, venció a los anteriores campeones del mundo en un partido de demostración en 2019.
El aprendizaje por refuerzo profundo también se ha aplicado a muchos ámbitos más allá de los juegos. En robótica, se ha utilizado para permitir que los robots realicen tareas domésticas sencillas [18] y resuelvan un cubo de Rubik con una mano de robot. [19] [20] Deep RL también ha encontrado aplicaciones de sostenibilidad, utilizadas para reducir el consumo de energía en los centros de datos. [21] La RL profunda para la conducción autónoma es un área activa de investigación en el mundo académico y la industria. [22] Loon exploró RL profundo para navegar de forma autónoma sus globos de gran altitud. [23]
Existen varias técnicas para entrenar políticas para resolver tareas con algoritmos de aprendizaje por refuerzo profundo, cada una con sus propios beneficios. En el nivel más alto, existe una distinción entre aprendizaje por refuerzo basado en modelos y sin modelos, que se refiere a si el algoritmo intenta aprender un modelo directo de la dinámica del entorno.
En los algoritmos de aprendizaje por refuerzo profundo basados en modelos , se estima un modelo directo de la dinámica del entorno, generalmente mediante aprendizaje supervisado utilizando una red neuronal. Luego, las acciones se obtienen mediante el uso de control predictivo del modelo utilizando el modelo aprendido. Dado que la verdadera dinámica del entorno generalmente diverge de la dinámica aprendida, el agente a menudo vuelve a planificar cuando lleva a cabo acciones en el entorno. Las acciones seleccionadas se pueden optimizar utilizando métodos de Monte Carlo, como el método de entropía cruzada , o una combinación de aprendizaje de modelos con métodos sin modelos.
En los algoritmos de aprendizaje por refuerzo profundo sin modelos , se aprende una política sin modelar explícitamente la dinámica directa. Una política se puede optimizar para maximizar los rendimientos estimando directamente el gradiente de la política [24], pero adolece de una alta varianza, lo que la hace poco práctica para su uso con aproximación de funciones en RL profundo. Se han desarrollado algoritmos posteriores para un aprendizaje más estable y se han aplicado ampliamente. [25] [26] Otra clase de algoritmos de aprendizaje por refuerzo profundo sin modelos se basan en la programación dinámica , inspirada en el aprendizaje por diferencias temporales y el Q-learning . En espacios de acción discretos, estos algoritmos generalmente aprenden una función Q de red neuronal que estima los retornos futuros al realizar acciones desde el estado . [14] En espacios continuos, estos algoritmos a menudo aprenden tanto una estimación de valor como una política. [27] [28] [29]
El aprendizaje por refuerzo profundo es un área activa de investigación, con varias líneas de investigación.
Un agente de RL debe equilibrar el equilibrio entre exploración y explotación: el problema de decidir si realizar acciones que ya se sabe que producen altas recompensas o explorar otras acciones para descubrir recompensas mayores. Los agentes de RL suelen recopilar datos con algún tipo de política estocástica, como una distribución de Boltzmann en espacios de acción discretos o una distribución gaussiana en espacios de acción continuos, lo que induce un comportamiento de exploración básico. La idea detrás de la exploración basada en la novedad o impulsada por la curiosidad es darle al agente un motivo para explorar resultados desconocidos con el fin de encontrar las mejores soluciones. Esto se hace "modificando la función de pérdida (o incluso la arquitectura de la red) agregando términos para incentivar la exploración". [30] Un agente también puede recibir ayuda en la exploración mediante la utilización de demostraciones de trayectorias exitosas o la configuración de recompensas, otorgando al agente recompensas intermedias que se personalizan para adaptarse a la tarea que intenta completar. [31]
Una distinción importante en RL es la diferencia entre los algoritmos dentro de la política que requieren evaluar o mejorar la política que recopila datos y los algoritmos fuera de la política que pueden aprender una política a partir de los datos generados por una política arbitraria. Generalmente, los métodos basados en funciones de valor, como Q-learning, son más adecuados para el aprendizaje fuera de políticas y tienen una mayor eficiencia de muestra: la cantidad de datos necesarios para aprender una tarea se reduce porque los datos se reutilizan para el aprendizaje. En el extremo, la RL fuera de línea (o "por lotes") considera aprender una política a partir de un conjunto de datos fijo sin interacción adicional con el entorno.
RL inverso se refiere a inferir la función de recompensa de un agente dado el comportamiento del agente. El aprendizaje por refuerzo inverso se puede utilizar para aprender de demostraciones (o aprendizaje de aprendizaje ) infiriendo la recompensa del demostrador y luego optimizando una política para maximizar los retornos con RL. Se han utilizado enfoques de aprendizaje profundo para diversas formas de aprendizaje por imitación y RL inverso. [32]
Otra área activa de investigación es el aprendizaje de políticas condicionadas por objetivos, también llamadas políticas contextuales o universales, que toman un objetivo adicional como entrada para comunicar un objetivo deseado al agente. [33] La repetición de experiencias en retrospectiva es un método para la RL condicionada por objetivos que implica almacenar y aprender de intentos fallidos anteriores de completar una tarea. [34] Si bien es posible que un intento fallido no haya alcanzado el objetivo previsto, puede servir como lección sobre cómo lograr el resultado no deseado mediante el reetiquetado en retrospectiva.
Muchas aplicaciones del aprendizaje por refuerzo no implican un solo agente, sino más bien un conjunto de agentes que aprenden juntos y se coadaptan. Estos agentes pueden ser competitivos, como en muchos juegos, o cooperativos, como en muchos sistemas multiagente del mundo real. El aprendizaje por refuerzo multiagente estudia los problemas introducidos en este entorno.
La promesa de utilizar herramientas de aprendizaje profundo en el aprendizaje por refuerzo es la generalización: la capacidad de operar correctamente con entradas nunca antes vistas. Por ejemplo, las redes neuronales entrenadas para el reconocimiento de imágenes pueden reconocer que una imagen contiene un pájaro incluso si nunca ha visto esa imagen en particular o incluso ese pájaro en particular. Dado que la RL profunda permite datos sin procesar (por ejemplo, píxeles) como entrada, existe una menor necesidad de predefinir el entorno, lo que permite generalizar el modelo a múltiples aplicaciones. Con esta capa de abstracción, los algoritmos de aprendizaje por refuerzo profundo se pueden diseñar de una manera que les permita ser generales y que el mismo modelo pueda usarse para diferentes tareas. [35] Un método para aumentar la capacidad de generalización de las políticas formadas con políticas de RL profundas es incorporar el aprendizaje de representación .