Cómo aprender el aprendizaje por refuerzo.

Puse algunos enlaces relevantes en la parte superior de la publicación de mi blog en RL: Deep Reinforcement Learning: Pong de Pixels. El post es una introducción suave a la idea básica detrás de RL que hacemos hoy. Para obtener más información técnica, recomiendo comenzar con el libro de Sutton para obtener los cimientos, luego ver algunas charlas recientes de John Schulman o Pieter Abbeel (por ejemplo, la reciente de la escuela de verano de Aprendizaje Profundo en Montreal) y luego volver a implementar DQN / Policy Gradients tú mismo desde cero. Aprovecha el gimnasio de OpenAI para acceder a los entornos. A partir de ahí, se lee en papel y se lee código (varias implementaciones recientes han aparecido en repositorios en Github).

Desafortunadamente, en muchas áreas nuevas puede ser difícil entrar desde afuera. Entonces, si fuera más serio, creo que querría encontrar una manera de colaborar con alguien que tenga mucha más experiencia en el área. Este es especialmente el caso en RL porque hay bastantes consejos / trucos / trucos para aprovechar funciones, líneas de base, cómo configurar los experimentos, cómo depurar de manera efectiva, etc., y no todo esto se serializa correctamente en los papeles. . En su lugar, simplemente se distribuye a través de un conocimiento común entre los investigadores. Esto no significa que no pueda ingresar, es mucho más fácil si puede aprovechar el aprendizaje de aprendizaje 1–1.

Hola,

En mi opinión, la mejor introducción que puede tener para RL es del libro Reinforcement Learning, An Introduction, de Sutton and Barto. Un borrador de su segunda edición está disponible aquí: book2015oct.pdf

Otro libro que presenta una perspectiva diferente, pero también muy bueno, es Algorithms for Reinforcement Learning, de Szepesvári . También está disponible en línea: Página en http: //www.ualberta.ca&nbsp ; Es más corto, pero tiene muy buenas intuiciones y derivaciones. Primero leí el libro de Sutton, y luego el libro de Szepesvári.

Si quieres algo mucho más teórico, con pruebas formales, etc., recomendaría la Programación neuro-dinámica, por Bertsekas y Tsikilis, y la Programación dinámica y el Control óptimo, por Bertsekas. Pero estos libros son mucho más complejos.

Si desea ver algunas clases, Michael Littman es un excelente orador y tiene un MOOC en RL: Curso de aprendizaje automático sobre el aprendizaje por refuerzo.

Para 2017:

  • Deep RL at MIPT -> Содержание курса Deep Refforcement Aprendizaje con tareas prácticas aquí -> deepmipt / deep-rl-seminar
  • Deep RL Bootcamp -> Deep RL Bootcamp – Conferencias
  • CS 294: Aprendizaje de refuerzo profundo , otoño de 2017 -> CS 294 Aprendizaje de refuerzo profundo, otoño de 2017

Creo que realmente estás haciendo 2 preguntas posiblemente diferentes.

“¿Cuál es la mejor manera de aprender el aprendizaje por refuerzo en 2017?”

Mi plan sería:

  1. Las conferencias de David Silver aquí: Enseñanza.
  2. Sergey Levine da una conferencia aquí: CS 294 Deep Refforcement Learning, Primavera 2017
  3. Práctica práctica práctica.

La otra pregunta es sobre “¿cómo enseñar a los quad-copters a hacer trayectorias personalizadas según las necesidades?”

Digo por esto que tomaría el curso EdX: Información del curso AUTONAVx | edX

Puede que no necesites RL para lograr este objetivo, pero ciertamente puedes agregarlo y hacer otras cosas elegantes.

Creo que es mejor comenzar con la lectura del libro: Aprendizaje de refuerzo: una introducción de Rich Sutton y Andy Barto. Explica todo desde el principio sin necesidad de un gran conocimiento matemático de antemano.

Si después de leer ese libro desea profundizar en el campo, puede leer mi libro editado: Reinforcement Learning: State of the Art, 2012, Marco Wiering y Martijn van Otterlo, que cubre muchos temas en RL como POMDPs, RL y Robótica, Transfer Learning, Batch RL, etc. con mucho más detalle. Sin embargo, este libro requiere más conocimiento matemático.

Georgia Tech tiene un curso gratuito sobre aprendizaje por refuerzo | Udacity. Es muy interesante y los instructores explican las teorías de manera clara y accesible.

Realmente me gusta la serie de Arthur Juliani sobre Aprendizaje de refuerzo simple con Tensorflow, explica algunos de los conceptos básicos de RL de manera accesible, junto con numerosos cuadernos de jupyter para referencia.

Ok, supongo que la respuesta es la misma que para 2016 🙂

Hay un gran libro de Richard Sutton y Andrew Barto [1]. ¡Todavía es lo primero que señalaría! Ir a través de él y ver algunos cursos en el lado como el curso de David [2] o el curso RL por Michael Littman en Udacity [3]. O como Miguel escribió el curso de Sergey desde Berkeley [7].

Lo mejor que puedes hacer es implementar algunos experimentos básicos primero y luego ir a cosas más complicadas a medida que lo recojas. Una gran fuente de entornos de entrenamiento es Open AI Universe [4], DeepMind Labs [5] o Minecraft [6].

¡Buena suerte! ¡Es un campo increíble!

[1] https://webdocs.cs.ualberta.ca/~…

[2]

[3] Aprendizado por Reforço

[4] Universo

[5] DeepMind Lab de código abierto | Mente profunda

[6] Proyecto Malmo – Microsoft Research

[7] Aprendizaje de refuerzo profundo CS 294, primavera de 2017

Andrej Karpathy y otros han brindado algunos recursos bastante sorprendentes y completos.
Realicé una pasantía en Unity Technologies (The Game Engine: p) el verano pasado y la publicación del blog de mi equipo también es una [1] Unity: Aprendizaje automático para seguir. La mayoría de ellos están en contacto directo con los entornos de juego de Unity.

Notas al pie

[1] Unidad – Aprendizaje Automático

Como las respuestas anteriores no lo han mencionado, recomendaría una gran serie de conferencias:

Curso de RL por David Silver (Youtube)

Las primeras 5 conferencias explican los antecedentes matemáticos y el aprendizaje Q muy claramente.

Además, Andrej Karpathy (que aparece en esta Q) tiene una muy buena introducción a los gradientes de políticas:

Aprendizaje de refuerzo profundo: Pong de píxeles

Altamente recomendado el curso de UC Berkeley, CS294, Insight y delicias. Es el curso más claro que puedo encontrar.