Comprender el aprendizaje de refuerzo con la red neuronal (Q-learning)

9

Estoy tratando de entender el aprendizaje por refuerzo y los procesos de decisión de Markov (MDP) en el caso de que se utilice una red neuronal como aproximador de funciones.

Estoy teniendo dificultades con la relación entre el MDP donde se explora el entorno de manera probabilística, cómo esto se remonta a los parámetros de aprendizaje y cómo se encuentran las soluciones / políticas finales.

¿Estoy en lo cierto al suponer que, en el caso del aprendizaje Q, la red neuronal actúa esencialmente como un aproximador de funciones para el valor q en sí mismo, tantos pasos en el futuro? ¿Cómo se correlaciona esto con los parámetros de actualización mediante retropropagación u otros métodos?

Además, una vez que la red ha aprendido cómo predecir la recompensa futura, ¿cómo encaja esto con el sistema en términos de tomar decisiones? Supongo que el sistema final no haría transiciones de estado probabilísticamente.

Gracias

GatosLoveJazz
fuente

Respuestas:

4

En Q-Learning, en cada paso usará observaciones y recompensas para actualizar su función de valor Q:

Qt+1(st,unat)=Qt(st,unat)+α[Rt+1+γmaxunaQt(st+1,una)-Qt(st,unat)]

Tiene razón al decir que la red neuronal es solo una aproximación de función para la función de valor q.

En general, la parte de aproximación es solo un problema de aprendizaje supervisado estándar. Su red utiliza (s, a) como entrada y la salida es el valor q. A medida que se ajustan los valores q, debe entrenar estas nuevas muestras en la red. Aún así, encontrará algunos problemas a medida que utilice muestras correlacionadas y SGD sufrirá.

Si está mirando el documento DQN, las cosas son ligeramente diferentes. En ese caso, lo que están haciendo es poner muestras en un vector (reproducción de experiencia). Para enseñar a la red, toman muestras de las tuplas del vector, utilizando esta información para obtener un nuevo valor q que se enseña a la red. Cuando digo enseñanza, me refiero a ajustar los parámetros de red utilizando el descenso de gradiente estocástico o su enfoque de optimización favorito. Al no enseñar las muestras en el orden que recoge la política, las relaciona y eso ayuda en la capacitación.

Por último, para tomar una decisión sobre el estado s, elige la acción que proporciona el valor q más alto:

una(s)=unarsolmetrounaXuna Q(s,una)

Si su función de valor Q se ha aprendido completamente y el entorno es estacionario, está bien ser codicioso en este punto. Sin embargo, mientras aprende, se espera que explore. Hay varios enfoques siendoε-greedy una de las formas más fáciles y comunes.

Juan Leni
fuente
Gracias, esto es muy útil, ¡eso tiene mucho sentido! Solo para aclarar, una vez que el sistema ha sido entrenado, ¿simplemente alimentaría cada acción posible con los estados de entrada actuales a la red neuronal y seleccionaría la acción que estima la mayor recompensa (valor q)?
CatsLoveJazz
1
Correcto. Sin embargo, tenga en cuenta que si su entorno no es estacionario, es posible que desee continuar explorando. En general, Q-learning se ejecuta en línea y usted entrena continuamente.
Juan Leni
Genial, ¿conoces alguna literatura que rodee tu respuesta? Supongo que una alternativa al entrenamiento en línea sería volver a entrenar los datos recientemente observados cada n períodos de tiempo para no permitir que la exploración fallida afecte el rendimiento en un entorno de producción.
CatsLoveJazz
1
Básicamente me estoy refiriendo al dilema de exploración-explotación. Hay muchos enfoques. Aquí hay uno fácil de aplicar: tokic.com/www/tokicm/publikationen/papers/… donde ajusta adaptativamente epsilon según el error de su función de valor
Juan Leni
1
Un clásico es este documento / libro (1996): web.mit.edu/people/dimitrib/NDP_Encycl.pdf . athenasc.com/ndpbook.html Hoy en día hay mucho trabajo combinando Deep Neural Networks y RL. Los documentos de Deepmind son un buen ejemplo: storage.googleapis.com/deepmind-data/assets/papers/…
Juan Leni