Estoy entrenando un DQN para una tarea en la que un agente debe alcanzar una meta en un espacio 2D, con acciones como arriba, abajo, izquierda y derecha. La recompensa en cada paso de tiempo es un decaimiento exponencial basado en la distancia entre el agente y la meta.
El problema que tengo es que, a veces, los valores q predichos por el DQN son muy altos, mucho, mucho más altos de lo que deberían ser teóricamente. Por ejemplo, la recompensa máxima disponible en cualquier paso de tiempo es de 0,1 (cuando el agente está exactamente en la meta), sin embargo, el DQN está prediciendo q-valores de más de 20. Después de un tiempo, este exceso se apaga. Después de un tiempo, este rebasamiento desaparece, pero causa problemas significativos cuando ocurre.
El siguiente gráfico muestra los valores q medios comparados con el número de episodios:
Una causa común de esto es que el aumento de un valor q hará que los valores q vecinos aumenten (debido a la suavidad de la salida de la red neuronal), y por lo tanto hay un efecto compuesto donde los valores q se salen de control. Sin embargo, estoy utilizando una red objetivo separada de la red q, como se propone en el documento original de DeepMind sobre DQN, que está diseñada para eliminar este problema. Estoy reseteando la red-objetivo a la red-q cada 500 pasos.
¿Cuáles podrían ser las otras causas?