¿Por qué DQN requiere dos redes diferentes?

12

Estaba pasando por esta implementación de DQN y veo que en la línea 124 y 125 se han inicializado dos redes Q diferentes. Según tengo entendido, creo que una red predice la acción apropiada y la segunda red predice los valores de Q objetivo para encontrar el error de Bellman.

¿Por qué no podemos simplemente hacer una sola red que simplemente predice el valor Q y usarlo para ambos casos? Mi mejor conjetura es que se ha hecho para reducir el tiempo de cálculo, de lo contrario tendríamos que encontrar el valor q para cada acción y luego seleccionar la mejor. ¿Es esta la única razón? ¿Me estoy perdiendo de algo?

amitacion
fuente

Respuestas:

9

Mi mejor conjetura es que se ha hecho para reducir el tiempo de cálculo, de lo contrario tendríamos que encontrar el valor q para cada acción y luego seleccionar la mejor.

No tiene un impacto real en el tiempo de cálculo, aparte de un ligero aumento (debido a la memoria adicional utilizada por dos redes). Usted podría almacenar en caché los resultados de la red de destino, supongo, pero es probable que no valdría la pena para la mayoría de los entornos, y no he visto una aplicación que no hace eso.

¿Me estoy perdiendo de algo?

Tiene que ver con la estabilidad del algoritmo de Q-learning cuando se utiliza la aproximación de funciones (es decir, la red neuronal). El uso de una red de destino separada, actualizada cada tantos pasos con una copia de los últimos parámetros aprendidos, ayuda a evitar que el sesgo fuera de control domine el sistema numéricamente, lo que hace que los valores de Q estimados diverjan.

Imagine que uno de los puntos de datos (en S, A, R, S') causa una sobreestimación actualmente pobre para Q(S', A')empeorar. Quizás S', A'ni siquiera haya sido visitado todavía, o el valor de lo Rvisto hasta ahora es más alto que el promedio, solo por casualidad. Si (S,A)aparece una muestra de repetición de la experiencia varias veces, empeoraría cada vez, porque la actualización Q(S,A)se basa en R + max_a Q(S',a). La fijación de la red objetivo limita el daño que pueden causar tales sobreestimaciones, lo que le da tiempo a la red de aprendizaje para converger y perder más de su sesgo inicial.

A este respecto, el uso de una red de destino separada tiene un propósito muy similar para experimentar la repetición. Estabiliza un algoritmo que de otro modo tiene problemas para converger.

También es posible tener DQN con "doble aprendizaje" para abordar un problema separado: sesgo de maximización. En ese caso, puede ver implementaciones DQN con 4 redes neuronales.

Neil Slater
fuente
Para lecturas adicionales, se puede consultar aaai.org/ocs/index.php/AAAI/AAAI16/paper/download/12389/11847
amitection