Tema
Red Q profunda
- Aprendizaje por refuerzo
- Nivel avanzado
Una red Q profunda aproxima los valores de acción con una red neuronal y estabiliza el entrenamiento con una memoria de repetición y con una red objetivo que se actualiza con retraso.
Nombre en inglés
Deep Q-network
Intuición
Alimentar una red con transiciones consecutivas viola el supuesto de datos parecidos a independientes, porque dos fotogramas seguidos casi son el mismo. La memoria de repetición guarda transiciones y las sortea, con lo que rompe la correlación y además reutiliza cada experiencia varias veces. La red objetivo congela el blanco durante unos miles de pasos, ya que perseguir un blanco que se mueve al mismo ritmo que uno mismo produce oscilaciones.
Fórmula
L(\theta) = E_{(s, a, r, s') \sim D} \left[ (r + \gamma \max_{a'} Q(s', a'; \theta^{-}) - Q(s, a; \theta))^2 \right]
Ejemplo resuelto
Supongamos una transición sacada de la memoria con recompensa 1, descuento 0.99 y estado siguiente no terminal. La red objetivo asigna al estado siguiente los valores 3 y 5 para las dos acciones, de modo que el blanco vale 1 más 0.99 por 5 = 5.95. La red en línea asigna 4 al par que se está actualizando, así que el error vale 1.95 y la pérdida cuadrática vale 3.8025. Si el estado siguiente fuese terminal, el blanco sería 1 y el error valdría -3, lo que muestra por qué la marca de fin de episodio tiene que llegar correctamente hasta la pérdida. Con la red objetivo congelada mil pasos, ese blanco de 5.95 no se mueve mientras la red en línea se acerca a él.
Errores frecuentes
- Olvidar anular el término del futuro en las transiciones terminales, fallo que propaga valor desde estados que no existen.
- Actualizar la red objetivo en cada paso, con lo que se pierde justo la estabilidad que motivó su existencia.
- Guardar en la memoria de repetición solo las transiciones recientes de una política ya buena, lo que reduce la diversidad y favorece el olvido de lo aprendido.
Ejercicio
Una transición terminal entrega recompensa 2 y la red en línea asigna 0.5 al par actualizado. ¿Cuánto vale el error cuadrático con un descuento de 0.99?
Ver la solución
En una transición terminal el blanco es solo la recompensa, es decir, 2, porque el valor del estado siguiente no cuenta y el descuento resulta irrelevante. El error vale 2 menos 0.5 = 1.5 y su cuadrado vale 2.25.
Respuesta: 2.25