¿Por qué la reproducción de experiencia requiere un algoritmo fuera de la política?

12

En el documento que presenta DQN " Playing Atari with Deep Reinforcement Learning ", mencionó:

Tenga en cuenta que cuando se aprende por repetición de experiencia, es necesario aprender fuera de la política (porque nuestros parámetros actuales son diferentes a los utilizados para generar la muestra), lo que motiva la elección de Q-learning.

No entendí bien lo que significa. ¿Qué sucede si usamos SARSA y recordamos la acción a'para la acción que debemos realizar s'en nuestra memoria, y luego tomamos muestras de él y actualizamos Q como lo hicimos en DQN? Y, ¿pueden los métodos de actor crítico (A3C, para específicos) usar la repetición de la experiencia? Si no, ¿por qué?

DarkZero
fuente

Respuestas:

2

Los métodos en la política, como SARSA, esperan que las acciones en cada estado se elijan en función de la política actual del agente, que generalmente tiende a explotar las recompensas.

Al hacerlo, la política mejora cuando la actualizamos en función de las últimas recompensas. Aquí, en particular, actualizan los parámetros de la NN que predice el valor de un determinado estado / acción).

Pero, si actualizamos nuestra política basada en transiciones almacenadas, como en la repetición de la experiencia, en realidad estamos evaluando acciones de una política que ya no es la actual, ya que evolucionó en el tiempo, por lo que ya no está en la política.

Los valores Q se evalúan en función de las recompensas futuras que obtendrá de un estado siguiendo la política actual del agente.

Sin embargo, eso ya no es cierto ya que ahora está siguiendo una política diferente. Por lo tanto, utilizan un método común fuera de la política que explora en base a un enfoque de épsilon codicioso.

dante
fuente
Gracias, pero todavía no entiendo esto: si uso la regla de actualización TD (0), recuerdo una transición (s, a, r, s')y aprovecho esta experiencia para volver a reproducirla; Supongamos ahora que mi política actual dice que se debe tomar a'en s', a continuación, marca que Q(s, a)debe ser r + Q(s', a')y hacer descenso de gradiente. Creo que estoy haciendo experiencia reproduciendo en la política. ¿Hay algún problema con el proceso?
DarkZero
Creo que el problema es que, dado que ahora está usando una política diferente a la anterior, y esa acción se elige usando la política anterior, realmente no puede decir que está en la política: para evaluar correctamente el valor Q de una política deberías hacer muchas acciones con esa misma. Aquí intenta evaluar una política actual utilizando una acción que esa política no pudo elegir.
dante
Entonces, ¿puedo decir que lo estoy haciendo fuera de la política aquí? ¿Cuál será el resultado de hacerlo, en teoría?
DarkZero
1
Entonces, si lo entiendo bien, uno debería usar métodos fuera de la política como Q-learning, siempre elija el Q máximo para ser la recompensa esperada futura. No importa cuál sea la acción actual, porque es una propiedad del aprendizaje de Q que si siempre elige la Q máxima para el futuro, Q convergerá a Q bajo una política óptima; O, francamente, debe seguir una política, elegir cada acción, incluidas las futuras a través de esta política, y hacer una actualización de la política. ¿Está bien?
DarkZero
1
Hasta ahora, no puedo entender por qué los métodos en política son buenos. Los métodos fuera de la política parecen tener más libertad y pueden descubrir la política óptima por sí mismos. ¿Te importaría también responder stats.stackexchange.com/questions/265354/… ? Muchas gracias por todas las discusiones.
DarkZero
1

David Silver aborda esto en esta video conferencia a las 46:10 http://videolectures.net/rldm2015_silver_reinforcement_learning/ : La repetición de la experiencia elige a de los usando la política vigente en ese momento, y esta es una de sus ventajas: permite la función Q aprender de las políticas anteriores, lo que rompe la correlación de los estados y políticas recientes y evita que la red se "bloquee" a un cierto modo de comportamiento.as

dilaudido
fuente