stringtranslate.com

Aprendizaje de refuerzo profundo

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]

Descripción general

Aprendizaje profundo

Representación de una red neuronal artificial básica

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]

Aprendizaje por refuerzo

Diagrama que explica el bucle recurrente en los algoritmos de aprendizaje de refuerzo
Diagrama del bucle recurrente en algoritmos de aprendizaje por refuerzo

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.

Aprendizaje de refuerzo profundo

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.

Historia

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]

Algoritmos

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]

Investigación

El aprendizaje de refuerzo profundo es un área de investigación activa, con varias líneas de investigación.

Exploració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]

Aprendizaje de refuerzo fuera de la política

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.

Aprendizaje por refuerzo inverso

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]

Aprendizaje por refuerzo condicionado a objetivos

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.

Aprendizaje por refuerzo de múltiples agentes

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.

Generalización

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 .

Referencias

  1. ^ Le, Ngan; Rathour, Vidhiwar Singh; Yamazaki, Kashu; Luu, Khoa; Savvides, Marios (1 de abril de 2022). "Aprendizaje de refuerzo profundo en visión artificial: un estudio exhaustivo". Revisión de inteligencia artificial . 55 (4): 2733–2819. arXiv : 2108.11510 . doi :10.1007/s10462-021-10061-9. ISSN  1573-7462.
  2. ^ Francois-Lavet, Vincent; Henderson, Peter; Islam, Riashat; Bellemare, Marc G.; Pineau, Joelle (2018). "Introducción al aprendizaje por refuerzo profundo". Fundamentos y tendencias en aprendizaje automático . 11 (3–4): 219–354. arXiv : 1811.12560 . Código Bibliográfico :2018arXiv181112560F. doi :10.1561/2200000071. ISSN  1935-8237. S2CID  54434537.
  3. ^ Graesser, Laura. "Fundamentos del aprendizaje por refuerzo profundo: teoría y práctica en Python". Biblioteca Abierta de la Universidad Telkom . Consultado el 1 de julio de 2023 .
  4. ^ Demis, Hassabis (11 de marzo de 2016). Inteligencia artificial y el futuro (discurso).
  5. ^ Tesauro, Gerald (marzo de 1995). "Aprendizaje de diferencias temporales y TD-Gammon". Comunicaciones de la ACM . 38 (3): 58–68. doi : 10.1145/203330.203343 . S2CID  8763243.
  6. ^ Sutton, Richard; Barto, Andrew (septiembre de 1996). Aprendizaje por refuerzo: una introducción . Athena Scientific.
  7. ^ Bertsekas, John; Tsitsiklis, Dimitri (septiembre de 1996). Programación neurodinámica. Athena Scientific. ISBN 1-886529-10-8.
  8. ^ Miller, W. Thomas; Werbos, Paul; Sutton, Richard (1990). Redes neuronales para el control .
  9. ^ Shibata, Katsunari; Okabe, Yoichi (1997). Aprendizaje por refuerzo cuando las señales sensoriales visuales se dan directamente como entradas (PDF) . Conferencia internacional sobre redes neuronales (ICNN) 1997. Archivado desde el original (PDF) el 2020-12-09 . Consultado el 2020-12-01 .
  10. ^ ab Shibata, Katsunari; Iida, Masaru (2003). Adquisición de la habilidad de empujar cajas mediante aprendizaje por refuerzo basado en visión directa (PDF) . Conferencia anual de SICE 2003. Archivado desde el original (PDF) el 2020-12-09 . Consultado el 2020-12-01 .
  11. ^ Shibata, Katsunari (7 de marzo de 2017). "Funciones que surgen a través del aprendizaje por refuerzo de extremo a extremo". arXiv : 1703.02239 [cs.AI].
  12. ^ Utsunomiya, Hiroki; Shibata, Katsunari (2008). Comportamiento contextual y representaciones internas adquiridas mediante aprendizaje por refuerzo con una red neuronal recurrente en una tarea de espacio de acción y estado continuo (PDF) . Conferencia internacional sobre procesamiento de información neuronal (ICONIP) '08. Archivado desde el original (PDF) el 2017-08-10 . Consultado el 2020-12-14 .
  13. ^ Shibata, Katsunari; Kawano, Tomohiko (2008). Aprendizaje de la generación de acciones a partir de imágenes de cámara sin procesar en un entorno similar al del mundo real mediante el acoplamiento simple del aprendizaje por refuerzo y una red neuronal (PDF) . Conferencia internacional sobre procesamiento de información neuronal (ICONIP) '08. Archivado desde el original (PDF) el 2020-12-11 . Consultado el 2020-12-01 .
  14. ^ ab Mnih, Volodymyr; et al. (diciembre de 2013). Jugar Atari con aprendizaje profundo por refuerzo (PDF) . Taller de aprendizaje profundo NIPS 2013.
  15. ^ ab Mnih, Volodymyr; et al. (2015). "Control a nivel humano mediante aprendizaje de refuerzo profundo". Nature . 518 (7540): 529–533. Bibcode :2015Natur.518..529M. doi :10.1038/nature14236. PMID  25719670. S2CID  205242740.
  16. ^ Plata, David ; Huang, Aja ; Maddison, Chris J.; Guez, Arturo; Sifré, Laurent; Driessche, George van den; Schrittwieser, Julián; Antonoglou, Ioannis; Panneershelvam, Veda; Lanctot, Marc; Dieleman, Sander; Grewe, Dominik; Nham, Juan; Kalchbrenner, Nal; Sutskever, Ilya ; Lillicrap, Timoteo; Lixiviación, Madeleine; Kavukcuoglu, Koray; Graepel, Thore; Hassabis, Demis (28 de enero de 2016). "Dominar el juego de Go con redes neuronales profundas y búsqueda de árboles". Naturaleza . 529 (7587): 484–489. Código Bib :2016Natur.529..484S. doi : 10.1038/naturaleza16961. Código IATA  : 10  ... ​Icono de acceso cerrado
  17. ^ Schrittwieser, Julián; Antonoglou, Ioannis; Hubert, Thomas; Simonyan, Karen; Sifré, Laurent; Schmitt, Simón; Guez, Arturo; Lockhart, Eduardo; Hassabis, Demis; Graepel, Thore; Lillicrap, Timoteo; Plata, David (23 de diciembre de 2020). "Dominar Atari, Go, ajedrez y shogi planificando con un modelo aprendido". Naturaleza . 588 (7839): 604–609. arXiv : 1911.08265 . Código Bib :2020Natur.588..604S. doi :10.1038/s41586-020-03051-4. PMID  33361790. S2CID  208158225.
  18. ^ Levine, Sergey; Finn, Chelsea ; Darrell, Trevor; Abbeel, Pieter (enero de 2016). "Entrenamiento de principio a fin de políticas visomotoras profundas" (PDF) . JMLR . 17 . arXiv : 1504.00702 .
  19. ^ "OpenAI - Resolver el cubo de Rubik con una mano robótica". OpenAI .
  20. ^ OpenAI; et al. (2019). Resolver el cubo de Rubik con una mano robótica . arXiv : 1910.07113 .
  21. ^ "DeepMind AI reduce la factura de refrigeración del centro de datos de Google en un 40 %". DeepMind . 14 de mayo de 2024.
  22. ^ "Taller sobre aprendizaje automático para conducción autónoma en NeurIPS 2021". NeurIPS 2021. Diciembre de 2021.
  23. ^ Bellamare, Marc; Cándido, Salvatore; Castro, Pablo; Gong, junio; Machado, Marlos; Moitra, Subhodeep; Ponda, Samira; Wang, Ziyu (2 de diciembre de 2020). "Navegación autónoma de globos estratosféricos mediante aprendizaje por refuerzo". Naturaleza . 588 (7836): 77–82. Código Bib : 2020Natur.588...77B. doi :10.1038/s41586-020-2939-8. PMID  33268863. S2CID  227260253.
  24. ^ Williams, Ronald J (1992). "Algoritmos estadísticos simples de seguimiento de gradiente para el aprendizaje por refuerzo conexionista". Aprendizaje automático . 8 (3–4): 229–256. doi : 10.1007/BF00992696 . S2CID  2332513.
  25. ^ Schulman, John; Levine, Sergey; Moritz, Philipp; Jordan, Michael; Abbeel, Pieter (2015). Optimización de políticas de regiones de confianza . Conferencia internacional sobre aprendizaje automático (ICML). arXiv : 1502.05477 .
  26. ^ Schulman, John; Wolski, Filip; Dhariwal, Prafulla; Radford, Alec; Klimov, Oleg (2017). Algoritmos de optimización de políticas proximales . arXiv : 1707.06347 .
  27. ^ Lillicrap, Timothy; Hunt, Jonathan; Pritzel, Alexander; Heess, Nicolas; Erez, Tom; Tassa, Yuval; Silver, David; Wierstra, Daan (2016). Control continuo con aprendizaje de refuerzo profundo . Conferencia internacional sobre representaciones de aprendizaje (ICLR). arXiv : 1509.02971 .
  28. ^ Mnih, Volodymyr; Puigdomenech Badia, Adria; Mirzi, Mehdi; Graves, Alex; Harley, Tim; Lillicrap, Timothy; Silver, David; Kavukcuoglu, Koray (2016). Métodos asincrónicos para el aprendizaje por refuerzo profundo . Conferencia internacional sobre aprendizaje automático (ICML). arXiv : 1602.01783 .
  29. ^ Haarnoja, Tuomas; Zhou, Aurick; Levine, Sergey; Abbeel, Pieter (2018). Actor-crítico blando: aprendizaje de refuerzo profundo de máxima entropía fuera de política con un actor estocástico . Conferencia internacional sobre aprendizaje automático (ICML). arXiv : 1801.01290 .
  30. ^ Reizinger, Patrik; Szemenyei, Márton (23 de octubre de 2019). "Exploración impulsada por la curiosidad basada en la atención en el aprendizaje de refuerzo profundo". ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) . págs. 3542–3546. arXiv : 1910.10840 . doi :10.1109/ICASSP40776.2020.9054546. ISBN 978-1-5090-6631-5.S2CID204852215  .​
  31. ^ Wiewiora, Eric (2010), "Modelado de recompensas", en Sammut, Claude; Webb, Geoffrey I. (eds.), Enciclopedia del aprendizaje automático , Boston, MA: Springer US, págs. 863-865, doi :10.1007/978-0-387-30164-8_731, ISBN 978-0-387-30164-8, consultado el 16 de noviembre de 2020
  32. ^ Wulfmeier, Markus; Ondruska, Peter; Posner, Ingmar (2015). "Aprendizaje de refuerzo inverso profundo de máxima entropía". arXiv : 1507.04888 [cs.LG].
  33. ^ Schaul, Tom; Horgan, Daniel; Gregor, Karol; Silver, David (2015). Aproximadores de funciones de valor universal. Conferencia internacional sobre aprendizaje automático (ICML).
  34. ^ Andrychowicz, Marcin; Wolski, Filip; Ray, Alex; Schneider, Jonas; Fong, Rachel; Welinder, Peter; McGrew, Bob; Tobin, Josh; Abbeel, Pieter; Zaremba, Wojciech (2018). Retrospectiva de la experiencia repetida . Avances en sistemas de procesamiento de información neuronal (NeurIPS). arXiv : 1707.01495 .
  35. ^ Packer, Charles; Gao, Katelyn; Kos, Jernej; Krähenbühl, Philipp; Koltun, Vladlen; Song, Dawn (15 de marzo de 2019). "Evaluación de la generalización en el aprendizaje por refuerzo profundo". arXiv : 1810.12282 [cs.LG].