¿Qué es la "reproducción de experiencia" y cuáles son sus beneficios?

19

He estado leyendo DeepMind Atari de Google de papel y yo estoy tratando de entender el concepto de "experiencia de repetición". La repetición de la experiencia aparece en muchos otros documentos de aprendizaje de refuerzo (en particular, el documento AlphaGo), por lo que quiero entender cómo funciona. A continuación se presentan algunos extractos.

Primero, utilizamos un mecanismo inspirado biológicamente denominado repetición de experiencia que aleatoriza los datos, eliminando así las correlaciones en la secuencia de observación y suavizando los cambios en la distribución de datos.

El documento luego elabora de la siguiente manera:

Si bien existen otros métodos estables para entrenar redes neuronales en el entorno de aprendizaje de refuerzo, como la iteración Q ajustada neural, estos métodos implican el entrenamiento repetido de redes de novo cientos de iteraciones. En consecuencia, estos métodos, a diferencia de nuestro algoritmo, son demasiado ineficientes para ser utilizados con éxito con grandes redes neuronales. Parametrizamos una función de valor aproximado utilizando la red neuronal convolucional profunda que se muestra en la figura 1, en la que son los parámetros (es decir, pesos) de la red Q en la iteración . Para realizar la repetición de la experiencia, almacenamos las experiencias del agente en cada paso de tiempo tQ(s,a;θi)θyoyomit=(st,unt,rt,st+1)ten un conjunto de datos ret={mi1,...,mit} . Durante el aprendizaje, aplicamos actualizaciones de Q-learning, en muestras (o mini lotes) de experiencia (s,un,r,s)U(re) , extraídas uniformemente al azar del conjunto de muestras almacenadas. La actualización de Q-learning en la iteración yo utiliza la siguiente función de pérdida:

Lyo(θyo)=mi(s,un,r,s)U(re)[(r+γmaxunQ(s,un;θyo-)-Q(s,un;θyo))2]

¿Qué es la repetición de la experiencia y cuáles son sus beneficios, en términos simples?

Ryan Zotti
fuente

Respuestas:

25

La parte clave del texto citado es:

Para realizar la repetición de la experiencia, almacenamos las experiencias del agente mit=(st,unt,rt,st+1)

Esto significa que, en lugar de ejecutar Q-learning en pares de estado / acción a medida que ocurren durante la simulación o la experiencia real, el sistema almacena los datos descubiertos para [estado, acción, recompensa, estado siguiente], generalmente en una tabla grande. Tenga en cuenta que esto no almacena valores asociados: estos son los datos sin procesar para alimentar los cálculos de valores de acción más adelante.

La fase de aprendizaje se separa lógicamente de la experiencia adquirida y se basa en tomar muestras aleatorias de esta tabla. Todavía desea intercalar los dos procesos, actuar y aprender, porque mejorar la política conducirá a un comportamiento diferente que debería explorar acciones más cercanas a las óptimas, y desea aprender de ellas. Sin embargo, puede dividir esto como desee, por ejemplo, dar un paso, aprender de tres pasos anteriores aleatorios, etc. Los objetivos de Q-Learning al usar la repetición de experiencia usan los mismos objetivos que la versión en línea, por lo que no hay una nueva fórmula para eso. La fórmula de pérdida dada también es la que usaría para DQN sin repetición de experiencia. La diferencia es solo qué s, a, r, s ', a' alimentas.

En DQN, el equipo de DeepMind también mantuvo dos redes y cambió cuál estaba aprendiendo y cuál se alimentaba en las estimaciones actuales del valor de acción como "bootstraps". Esto ayudó con la estabilidad del algoritmo cuando se usa un aproximador de función no lineal. Eso es lo que representa la barra en - denota la versión alternativa congelada de los pesos.θyo ¯

Ventajas de la repetición de experiencia:

  • Uso más eficiente de la experiencia previa, al aprender con ella varias veces. Esto es clave cuando obtener experiencia en el mundo real es costoso, puede aprovecharlo al máximo. Las actualizaciones de Q-learning son incrementales y no convergen rápidamente, por lo que múltiples pases con los mismos datos son beneficiosos, especialmente cuando hay una baja variación en los resultados inmediatos (recompensa, siguiente estado) dado el mismo estado, par de acciones.

  • Mejor comportamiento de convergencia al entrenar un aproximador de funciones. En parte, esto se debe a que los datos son más como iid datos asumidos en la mayoría de las pruebas de convergencia de aprendizaje supervisado.

Desventaja de la experiencia de repetición:

  • Es más difícil usar algoritmos de aprendizaje de varios pasos, como Q ( ), que se puede ajustar para proporcionar mejores curvas de aprendizaje al equilibrar el sesgo (debido al arranque) y la varianza (debido a retrasos y aleatoriedad en los resultados a largo plazo) ) DQN de varios pasos con repetición de experiencia DQN es una de las extensiones exploradas en el artículo Rainbow: Combinar mejoras en el aprendizaje de refuerzo profundo .λ

David Silver describe brevemente el enfoque utilizado en DQN en partes de esta video conferencia (alrededor de las 01:17:00, pero vale la pena ver las secciones anteriores). Recomiendo ver toda la serie, que es un curso de posgrado sobre aprendizaje de refuerzo, si tiene tiempo.

Neil Slater
fuente
Digamos que durante el entrenamiento estamos en un estado y tomamos una acción de acuerdo con la política de épsilon codicioso y usted termina en otro estado. Entonces obtienes recompensas y el siguiente estado. Aquí la recompensa puede ser la puntuación del juego y los estados pueden ser los patrones de píxeles en la pantalla. Y luego tomamos el error entre nuestro aproximador de funciones y el valor que obtuvimos de la política codiciosa nuevamente usando un aproximador de funciones ya congelado. Pero con la repetición de la experiencia al optimizar el aproximador, tomamos un conjunto de datos de acción de estado aleatorio. Estoy en lo cierto?
Shamane Siriwardhana
1
@ShamaneSiriwardhana: Sí, creo que tienes razón. Son exactamente los mismos datos de la trayectoria real, pero en lugar de aprender solo del paso más reciente, los guarda en una tabla grande y muestra de esa tabla (generalmente muestras múltiples, con un almacén de miles de pasos anteriores para elegir ) Si necesita más aclaraciones, quizás haga una pregunta en el sitio.
Neil Slater
Sí, volví a revisar el periódico. También dice que este método también puede mejorar el aprendizaje fuera de la política. Porque en Q aprender con actuar de acuerdo con la política de épsilon codicioso pero actualizar los valores funciona de acuerdo con la política codiciosa. Entonces, cuando cada paso de tiempo nuestros parámetros de red neuronal se actualizan mediante estadísticas de mini lotes, lo que es más importante, no está relacionado con las estadísticas de pasos de tiempo exactos, pero lo que sucedió antes de esto también ayuda a no correlacionar los datos.
Shamane Siriwardhana
@Neil Slater, revisé el artículo de Rainbow y no vi ningún comentario especial sobre el uso de un truco especial para combinar la repetición de la experiencia y el método de varios pasos. También he oído que el método de varios pasos es originalmente imposible de combinar con la repetición de la experiencia, pero ¿por qué no elegir aleatoriamente n-experiencias consecutivas en lugar de 1 de la repetición de la experiencia, sino de la repetición para que entre cada n-experiencias, no se encuentren correlaciones? ¿No es esta repetición de experiencia de varios pasos?
StL
@NeilSlater ¿Por qué es "más difícil usar algoritmos de aprendizaje de varios pasos"? ¿Qué querías decir?
Gulzar