El aprendizaje de refuerzo profundo ( deep RL ) es un subcampo del aprendizaje automático que combina el aprendizaje de refuerzo (RL) y el aprendizaje profundo . RL considera el problema de un agente computacional que aprende a tomar decisiones por ensayo 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 Deep RL pueden tomar entradas muy grandes (por ejemplo, cada píxel representado en la pantalla en un videojuego) y decidir qué acciones realizar para optimizar un objetivo (por ejemplo, maximizar la puntuación del juego). El aprendizaje de 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 características manual que los métodos anteriores, lo que permite un progreso significativo en varios campos, incluida la visión por computadora y el procesamiento del lenguaje natural . En la última década, el aprendizaje profundo 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 robótica. [3]
El aprendizaje por refuerzo es un proceso en el que un agente aprende a tomar decisiones mediante ensayo y error. Este problema suele modelarse matemáticamente como un proceso de decisión de Markov (MDP), donde un agente en cada paso temporal se encuentra en un estado , realiza 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 un mapa de observaciones a 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 datos sin procesar de un robot) y no se pueden resolver con algoritmos de aprendizaje por refuerzo tradicionales. Los algoritmos de aprendizaje por refuerzo profundo incorporan el 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 contexto.
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 de refuerzo profundo, donde se utiliza una red neuronal en el aprendizaje de 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 en un robot o agente involucra una sola red neuronal , a veces también se lo llama aprendizaje de refuerzo de extremo a extremo. [4] Una de las primeras aplicaciones exitosas del aprendizaje de refuerzo con redes neuronales fue TD-Gammon , un programa de computadora desarrollado en 1992 para jugar al backgammon . [5] Se utilizaron cuatro entradas para la cantidad de piezas de un color determinado en una ubicación determinada en el tablero, lo que totaliza 198 señales de entrada. Con cero conocimiento incorporado, la red aprendió a jugar el juego en un nivel intermedio mediante el juego propio y TD( ) .
Los libros de texto fundamentales de Sutton y Barto sobre aprendizaje de refuerzo, [6] Bertsekas y Tsitiklis sobre programación neurodinámica, [7] y otros [8] avanzaron el conocimiento y el interés 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 mano-ojo y el movimiento de alcance de la mano, la explicación de las actividades cerebrales, la transferencia de conocimiento, la memoria, [12] la atención selectiva, la predicción y la 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 generó un renovado interés en los investigadores por usar redes neuronales profundas para aprender las funciones de política, valor y/o Q presentes en los algoritmos de aprendizaje de refuerzo existentes.
A principios de 2013, DeepMind mostró resultados de aprendizaje impresionantes utilizando el aprendizaje profundo para jugar videojuegos de Atari . [14] [15] El jugador de computadora entrenó una red neuronal utilizando un algoritmo de aprendizaje profundo, una versión profunda de aprendizaje Q que denominaron redes Q profundas (DQN), con la puntuación del juego como recompensa. Utilizaron una red neuronal convolucional profunda para procesar 4 cuadros 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 a los métodos de la competencia en casi todos los juegos y con un rendimiento 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 profesional humano de Go sin hándicap en un tablero de tamaño completo de 19×19. En un proyecto posterior en 2017, AlphaZero mejoró el rendimiento en Go al mismo tiempo que 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 volvió a mejorar en 2019 con MuZero . [17] Por otra parte, otro hito fue alcanzado por investigadores de la Universidad Carnegie Mellon en 2019 desarrollando Pluribus , un programa informático para jugar al póquer que fue el primero en vencer a los profesionales en partidas multijugador de Texas Hold'em sin límite . OpenAI Five , un programa para jugar Dota 2 cinco contra cinco, venció a los campeones mundiales anteriores en una partida de demostración en 2019.
El aprendizaje profundo por refuerzo también se ha aplicado a muchos dominios 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 robótica. [19] [20] El aprendizaje profundo por refuerzo también ha encontrado aplicaciones de sostenibilidad, utilizándose para reducir el consumo de energía en los centros de datos. [21] El aprendizaje profundo por refuerzo para la conducción autónoma es un área activa de investigación en el ámbito académico y la industria. [22] Loon exploró el aprendizaje profundo por refuerzo para navegar de forma autónoma sus globos aerostáticos de gran altitud. [23]
Existen varias técnicas para entrenar políticas para resolver tareas con algoritmos de aprendizaje de refuerzo profundo, cada una con sus propios beneficios. En el nivel más alto, existe una distinción entre aprendizaje de refuerzo basado en modelos y libre de modelos, que se refiere a si el algoritmo intenta aprender un modelo hacia adelante de la dinámica del entorno.
En los algoritmos de aprendizaje de refuerzo profundo basados en modelos , se estima un modelo de avance de la dinámica del entorno, generalmente mediante aprendizaje supervisado utilizando una red neuronal. Luego, se obtienen acciones mediante el uso del control predictivo del modelo utilizando el modelo aprendido. Dado que la verdadera dinámica del entorno generalmente divergirá de la dinámica aprendida, el agente vuelve a planificar a menudo cuando realiza 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 algoritmos de aprendizaje de refuerzo profundo sin modelo , se aprende una política sin modelar explícitamente la dinámica hacia adelante. Una política se puede optimizar para maximizar los retornos estimando directamente el gradiente de la política [24] pero sufre de 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 de refuerzo profundo sin modelo se basan en la programación dinámica , inspirada en el aprendizaje de diferencias temporales y el aprendizaje Q. En espacios de acción discretos, estos algoritmos generalmente aprenden una función Q de red neuronal que estima los retornos futuros tomando acción 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 de refuerzo profundo es un área de investigación activa, con varias líneas de investigación.
Un agente de RL debe equilibrar la disyuntiva entre exploración y explotación: el problema de decidir si debe perseguir acciones que ya se sabe que producen grandes 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 dar 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) añadiendo términos para incentivar la exploración". [30] También se puede ayudar a un agente en la exploración utilizando demostraciones de trayectorias exitosas o modelando la recompensa, lo que le da al agente recompensas intermedias que se personalizan para adaptarse a la tarea que está intentando completar. [31]
Una distinción importante en el aprendizaje automático es la diferencia entre los algoritmos basados en políticas que requieren evaluar o mejorar la política que recopila datos y los algoritmos basados en políticas que pueden aprender una política a partir de datos generados por una política arbitraria. En general, los métodos basados en funciones de valor, como el aprendizaje Q, son más adecuados para el aprendizaje basado en políticas y tienen una mejor eficiencia de muestreo: la cantidad de datos necesarios para aprender una tarea se reduce porque los datos se reutilizan para el aprendizaje. En el extremo, el aprendizaje automático fuera de línea (o "por lotes") considera el aprendizaje de una política a partir de un conjunto de datos fijo sin interacción adicional con el entorno.
El aprendizaje por refuerzo 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 a partir de demostraciones (o aprendizaje de aprendizaje ) infiriendo la recompensa del demostrador y luego optimizando una política para maximizar los retornos con el aprendizaje por refuerzo. Los enfoques de aprendizaje profundo se han utilizado para varias formas de aprendizaje por imitación y aprendizaje por refuerzo inverso. [32]
Otra área activa de investigación es el aprendizaje de políticas condicionadas a 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 la experiencia en retrospectiva es un método para el aprendizaje por pares condicionado a objetivos que implica almacenar y aprender de intentos fallidos previos de completar una tarea. [34] Si bien un intento fallido puede no haber alcanzado el objetivo previsto, puede servir como una lección sobre cómo lograr el resultado no deseado a través del reetiquetado en retrospectiva.
Muchas aplicaciones del aprendizaje por refuerzo no implican un solo agente, sino una colección de agentes que aprenden juntos y se adaptan de forma conjunta. 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 que se presentan en este contexto.
La promesa de usar herramientas de aprendizaje profundo en el aprendizaje de refuerzo es la generalización: la capacidad de operar correctamente en entradas nunca vistas previamente. Por ejemplo, las redes neuronales entrenadas para el reconocimiento de imágenes pueden reconocer que una imagen contiene un pájaro incluso si nunca han visto esa imagen en particular o incluso ese pájaro en particular. Dado que el RL profundo permite datos sin procesar (por ejemplo, píxeles) como entrada, hay una necesidad reducida de predefinir el entorno, lo que permite que el modelo se generalice a múltiples aplicaciones. Con esta capa de abstracción, los algoritmos de aprendizaje de refuerzo profundo se pueden diseñar de una manera que les permita ser generales y el mismo modelo se puede utilizar para diferentes tareas. [35] Un método para aumentar la capacidad de las políticas entrenadas con políticas de RL profundo para generalizar es incorporar el aprendizaje de representación .