Hola a todos!
Tenemos uno de los mejores libros sobre capacitación en refuerzo disponible para pedidos por adelantado, originalmente llamado "
Deep Reinforcement Learning Hands-on " por Maxim Lapan. Aquí está la portada de la
traducción al
ruso :

Para que pueda apreciar el resumen del libro, le ofrecemos una traducción de la revisión escrita por el autor al lanzamiento del original.
Hola
Soy un entusiasta autodidacta que está interesado en el aprendizaje profundo. Por lo tanto, cuando los representantes de la editorial Packt se pusieron en contacto conmigo y me sugirieron que escribiera un libro práctico sobre el estado actual del aprendizaje profundo con refuerzo, me asusté un poco, pero después de algunas dudas, estuve de acuerdo, asumiendo de manera optimista: "Oh, habrá una experiencia interesante".
No diré que este trabajo me fue dado como una caminata fácil, por supuesto que no. No tiene días libres, no tiene tiempo libre, miedo constante a la "estupidez congelante" y la búsqueda de plazos para cada capítulo (dos semanas por capítulo y código de ejemplo). Sin embargo, en general, todo fue positivo y muy interesante.
Antes de describir brevemente el contenido de cada capítulo, describamos la
idea de todo el libro .
Cuando comencé a experimentar en RL hace más de cuatro años, tenía a mi disposición las siguientes fuentes de información:
Quizás había algo más, pero estas eran las fuentes de información más importantes. Todos ellos están muy lejos de la práctica:
- El libro de Sutton y Barto, también conocido como "El libro RL", proporciona solo los fundamentos teóricos de esta disciplina.
- Los artículos relacionados con RL se publican casi a diario, pero rara vez contienen enlaces a códigos específicos. Solo fórmulas y algoritmos. Si tiene suerte, se indicarán hiperparámetros.
- El curso de David Silver se impartió en el University College London (UCL) en 2015. Proporciona una muy buena visión general de los métodos que existían en ese momento, permitiéndoles dominarlos intuitivamente, sin embargo, aquí la teoría vuelve a prevalecer sobre la práctica.
Al mismo tiempo, estaba profundamente enganchado al
artículo DeepMind ("¡Una red neuronal puede aprender a jugar juegos de Atari en píxeles! ¡GUAU!"), Y sentí que esta teoría seca esconde un enorme valor práctico. Entonces, pasé mucho tiempo estudiando la teoría, implementando varios métodos y depurándolos. Como probablemente haya adivinado, no fue fácil: puede pasar un par de semanas perfeccionando el método y luego descubrir que su implementación es incorrecta (o, lo que es peor, no entendió la fórmula). No considero que dicho entrenamiento sea una pérdida de tiempo; por el contrario, creo que esta es la forma más correcta de aprender algo. Sin embargo, esto lleva mucho tiempo.
Dos años más tarde, cuando comencé a trabajar en el texto, mi objetivo principal era: proporcionar información práctica exhaustiva sobre los métodos de RL a un lector que solo conoce esta fascinante disciplina, como lo hice una vez.
Ahora un poco sobre el libro. Se centra principalmente en la práctica, y traté de minimizar el volumen de la teoría y las fórmulas. Contiene fórmulas clave, pero no se proporciona evidencia. Básicamente, trato de dar una comprensión intuitiva de lo que está sucediendo, sin buscar el máximo rigor de presentación.
Al mismo tiempo, se supone que el lector tiene conocimientos básicos de aprendizaje profundo y estadísticas. Hay un capítulo en el libro con una descripción general de la biblioteca PyTorch (ya que todos los ejemplos se dan usando PyTorch), pero este capítulo no puede considerarse una fuente de información autosuficiente en redes neuronales. Si nunca antes ha oído hablar de las funciones de pérdida y activación, comience mirando otros libros, hoy hay muchos. (Nota: por ejemplo, el libro "
Aprendizaje profundo ").
En mi libro encontrará muchos ejemplos de complejidad variable, comenzando con los más simples (el método
CrossEntropy
en el entorno
CartPole
contiene ~ 100 líneas en python), y termina con proyectos bastante grandes, por ejemplo, estudiar AlphGo Zero o un agente RL para operar en el intercambio.
El código de muestra está completamente cargado en GitHub , hay más de 14k líneas de código en Python.
El libro consta de 18 capítulos que cubren los aspectos más importantes del aprendizaje profundo moderno con refuerzo:
- El Capítulo 1 : proporciona información introductoria sobre el paradigma de aprendizaje reforzado, demuestra cómo difiere del aprendizaje con y sin un maestro. Aquí consideramos el modelo matemático central relacionado con el aprendizaje por refuerzo: los procesos de toma de decisiones de Markov: (MPPR). El conocimiento de MPNR se hizo paso a paso: hablo de las cadenas de Markov, que se transforman en procesos de refuerzo de Markov (con la adición de un componente de refuerzo) y, finalmente, en los procesos de toma de decisiones de Markov en toda regla, donde las acciones del agente también se tienen en cuenta en la imagen general.
- Capítulo 2 : habla sobre OpenAI Gym , una API generalizada para RL, diseñada para trabajar en una variedad de entornos, incluido Atari, para resolver problemas clásicos, como CartPole, tareas de aprendizaje continuo, etc.
- Capítulo 3 : ofrece una descripción general expresa de la API PyTorch. Este capítulo no fue una guía completa de DL, sin embargo, sienta las bases para comprender otros capítulos. Si utiliza otras herramientas para resolver problemas de aprendizaje profundo, debería servir como una buena introducción al hermoso modelo PyTorch, para que le resulte más fácil comprender los ejemplos de los siguientes capítulos. Al final de este capítulo, enseñaremos una GAN simple que generará y distinguirá capturas de pantalla de Atari de diferentes juegos.
- Capítulo 4 : examina uno de los métodos más simples y poderosos: CrossEntropy. En este capítulo, le enseñaremos la primera red que puede resolver problemas en el entorno CartPole .
- Capítulo 5 : Este capítulo comienza la segunda parte del libro sobre el algoritmo de iteración para valores. El Capítulo 5 discute una forma simple de capacitación en hojas de cálculo utilizando la ecuación de Bellman para resolver problemas en el entorno FrozenLake .
- Capítulo 6 : Este capítulo te presenta los DQN que juegan el juego Atari. La arquitectura del agente es exactamente la misma que en el famoso artículo DeepMind .
- Capítulo 7 : presenta varias extensiones modernas de DQN para ayudar a mejorar la estabilidad y el rendimiento del DQN subyacente. En este capítulo, los métodos del artículo " Rainbow: Combinar mejoras en Deep RL "; Todos estos métodos se implementan en el capítulo, y explico las ideas subyacentes. Estos métodos son: DQN de N pasos, DQN dual, redes ruidosas, buffer de reproducción prioritario, redes de duelo y redes de categoría. Al final del capítulo, todos los métodos se combinan en un ejemplo de código común, exactamente como se hizo en el "artículo del arco iris".
- Capítulo 8 : describe el primer proyecto de tamaño mediano, ilustrando el lado práctico de RL en la resolución de problemas del mundo real. En este capítulo, utilizando el DQN, un agente está capacitado para realizar operaciones en el intercambio.
- Capítulo 9 : Este capítulo comienza la tercera parte del libro sobre técnicas de gradiente de políticas. En él nos familiarizamos con tales métodos, sus fortalezas y debilidades en comparación con los métodos de enumeración por valores ya considerados anteriormente. El primer método en esta familia se llama REFORZAR.
- Capítulo 10 : describe cómo lidiar con uno de los problemas más serios de RL: la variabilidad del gradiente de políticas. Después de experimentar con los niveles básicos de PG, se familiarizará con el método actor-crítico.
- Capítulo 11 : habla sobre cómo paralelizar el método actor-crítico en el hardware moderno.
- Capítulo 12 : un segundo ejemplo práctico que describe cómo resolver problemas asociados con el procesamiento del lenguaje natural. En este capítulo, enseñamos un chatbot simple para usar métodos RL en el material del cuadro de diálogo de cine de Cornell .
- Capítulo 13 : otro ejemplo práctico sobre automatización web: MiniWoB se utiliza como plataforma. Desafortunadamente, OpenAI se negó a usar MiniWoB, por lo que es difícil encontrar información al respecto ( aquí hay algunos granos). Pero la idea de MiniWoB es brillante, por lo que en este capítulo muestro cómo configurar y capacitar al agente para resolver algunos de los problemas asociados con él.
- Capítulo 14 : la última y cuarta parte del libro, dedicada a métodos y técnicas más avanzadas, comienza con él. El Capítulo 14 se centra en las tareas de administración continua y describe los métodos A3C, DDPG y D4PG para resolver problemas en algunos entornos PyBullet.
- Capítulo 15 : habla más sobre los problemas de gestión continua y le presenta el fenómeno de la Región de confianza utilizando TRPO, PPO y ACKTR como ejemplos.
- Capítulo 16 : dedicado a los métodos de enseñanza con refuerzo sin gradientes (trabajando sobre el principio de "caja negra"); se posicionan como alternativas más escalables para los métodos DQN y PG. Las estrategias evolutivas y los algoritmos genéticos se aplican aquí para resolver varios problemas de control continuo.
- Capítulo 17 : examina los enfoques de RL basados en modelos y describe el intento de DeepMind para llenar el vacío entre los métodos basados en modelos y no basados en modelos. Este capítulo implementa el agente I2A para Breakout.
- Capítulo 18 : El capítulo final del libro discute el método AlphaGo Zero utilizado al jugar Connect4. Luego, el agente terminado se usa como parte del bot de telegramas para verificar los resultados.
Eso es todo! Espero que disfrutes el libro.