Deep Q-Networks/es
| Article | |
|---|---|
| Topic area | Reinforcement Learning |
| Prerequisites | Neural Networks, Stochastic Gradient Descent, Backpropagation |
Visión general
Una Red Q Profunda (DQN, por Deep Q-Network) es un algoritmo de aprendizaje por refuerzo que combina el Q-learning clásico con una red neuronal profunda como aproximador de funciones. Fue presentado por Mnih y colaboradores en 2013 y refinado en un artículo publicado en Nature en 2015, en el que una única arquitectura aprendió a jugar 49 juegos de Atari 2600 con un rendimiento equiparable al humano directamente a partir de píxeles brutos y de las puntuaciones del juego.[1] DQN demostró que una misma red, entrenada de extremo a extremo con descenso de gradiente estocástico, podía dominar una amplia gama de tareas sin ingeniería de características específica para cada una, y se le atribuye en gran medida el inicio de la era moderna del aprendizaje por refuerzo profundo.
La idea central es aproximar la función valor-acción óptima $ Q^*(s, a) $ — el retorno descontado esperado al ejecutar la acción $ a $ en el estado $ s $ y seguir después la política óptima — mediante una red neuronal parametrizada $ Q(s, a; \theta) $. Dos ingredientes de ingeniería, la repetición de experiencia y una red objetivo actualizada de forma periódica, estabilizan el entrenamiento e impiden la divergencia que históricamente había aquejado a los intentos de combinar Q-learning con aproximadores de funciones no lineales.
Antecedentes: Q-learning
Los problemas de aprendizaje por refuerzo se formalizan habitualmente como un proceso de decisión de Markov con estados $ s \in \mathcal{S} $, acciones $ a \in \mathcal{A} $, recompensas $ r $ y un factor de descuento $ \gamma \in [0, 1) $. La función valor-acción óptima satisface la ecuación de optimalidad de Bellman:
- $ {\displaystyle Q^*(s, a) = \mathbb{E}_{s'} \left[ r + \gamma \max_{a'} Q^*(s', a') \mid s, a \right]} $
El Q-learning tabular actualiza iterativamente una estimación $ Q(s, a) $ a partir de transiciones muestreadas $ (s, a, r, s') $ mediante:
- $ {\displaystyle Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma \max_{a'} Q(s', a') - Q(s, a) \right]} $
Esto converge a $ Q^* $ bajo condiciones suaves cuando todo par estado-acción se visita infinitas veces, pero los métodos tabulares resultan inviables en espacios de estados grandes o continuos. La solución natural es sustituir la tabla por una función parametrizada $ Q(s, a; \theta) $ y aprender los parámetros mediante descenso de gradiente — una receta que, con aproximadores no lineales, puede divergir en la práctica. La contribución de DQN es un conjunto de trucos de estabilización que hacen que esta receta funcione de manera fiable.
El algoritmo DQN
DQN parametriza $ Q(s, a; \theta) $ con una red neuronal convolucional cuya entrada es una pila de observaciones recientes (en Atari, cuatro fotogramas en escala de grises consecutivos) y cuya salida es un vector de valores Q, uno por cada acción discreta. En cada paso del entorno, el agente selecciona una acción mediante una política epsilon-voraz: con probabilidad $ \epsilon $ elige uniformemente al azar, y en caso contrario elige $ \arg\max_a Q(s, a; \theta) $. La tasa de exploración $ \epsilon $ se reduce gradualmente desde 1.0 hasta un valor terminal pequeño (habitualmente 0.1 o 0.05) a lo largo de los primeros varios millones de fotogramas.
La transición $ (s, a, r, s') $ se almacena en un búfer de repetición y se muestrea un mini-lote de transiciones pasadas para la actualización del gradiente. La red Q se entrena para minimizar el error de diferencia temporal entre su predicción y un objetivo bootstrap calculado a partir de una copia lentamente actualizada de sí misma.
Repetición de experiencia
El búfer de repetición es un almacén circular de tamaño fijo que típicamente conserva las últimas $ 10^6 $ transiciones. Cada paso de gradiente muestrea un mini-lote uniformemente al azar del búfer, en lugar de usar la transición más reciente. Esto aborda tres problemas del aprendizaje en línea a partir de trayectorias correlacionadas:
- Eficiencia muestral — cada transición puede contribuir a muchas actualizaciones de gradiente.
- Decorrelación — las transiciones sucesivas están altamente correlacionadas; el muestreo rompe esta dependencia y acerca los datos a la condición i.i.d., que es la que asume el descenso de gradiente estocástico.
- Suavizado — la distribución de los datos de entrenamiento cambia de forma más gradual, lo que reduce las oscilaciones y los bucles de retroalimentación en los que un cambio reciente de política sesga el siguiente lote de datos hacia estados similares.
La repetición de experiencia priorizada refinó posteriormente el esquema muestreando las transiciones en proporción al valor absoluto de su error TD, concentrando el aprendizaje en las experiencias sorprendentes.[2]
Red objetivo
Si el objetivo bootstrap $ r + \gamma \max_{a'} Q(s', a'; \theta) $ se calcula con los mismos parámetros que se están actualizando, cada paso de gradiente desplaza el objetivo que persigue — un problema de objetivo móvil que con frecuencia conduce a la divergencia. DQN introduce una red objetivo separada con parámetros $ \theta^- $ que se mantienen fijos durante $ C $ pasos (habitualmente 10 000) y luego se copian de la red en línea. El objetivo se convierte entonces en:
- $ {\displaystyle y = r + \gamma \max_{a'} Q(s', a'; \theta^-)} $
Desacoplar el objetivo de los parámetros activos mejora notablemente la estabilidad, a costa de un aprendizaje ligeramente más lento porque el objetivo va por detrás del conocimiento más reciente.
Función de pérdida y entrenamiento
La pérdida para un mini-lote muestreado $ \mathcal{B} $ es el error TD cuadrático medio:
- $ {\displaystyle \mathcal{L}(\theta) = \mathbb{E}_{(s, a, r, s') \sim \mathcal{B}} \left[ \left( r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \right)^2 \right]} $
Para las transiciones terminales se omite el término bootstrap: $ y = r $. Los gradientes se toman únicamente respecto a $ \theta $ — los parámetros objetivo $ \theta^- $ se tratan como constantes. El artículo original de DQN empleaba el optimizador RMSProp, recorte de gradientes (recortando el término del error cuadrático a $ [-1, 1] $, equivalente a usar la pérdida de Huber fuera de la región lineal) y omisión de fotogramas (el agente elige una acción cada cuatro fotogramas y la repite en los intermedios).
En pseudocódigo:
inicializar la red en línea theta y la red objetivo theta_minus = theta
inicializar el búfer de repetición D
para episode = 1 hasta M:
observar s
mientras no sea terminal:
con probabilidad epsilon elegir a aleatorio, en otro caso a = argmax Q(s, a; theta)
ejecutar a, observar r y s'
almacenar (s, a, r, s') en D
muestrear mini-lote de D
calcular objetivos y y dar un paso de gradiente sobre theta
cada C pasos: theta_minus <- theta
s <- s'
Variantes y extensiones
Una avalancha de trabajos posteriores abordó modos de fallo concretos del DQN clásico:
- Double DQN — utiliza la red en línea para elegir la siguiente acción y la red objetivo para evaluarla, reduciendo la sobrestimación sistemática de los valores Q causada por el operador máximo.[3]
- Dueling DQN — descompone $ Q(s, a) $ en un valor de estado $ V(s) $ y una ventaja de acción $ A(s, a) $, permitiendo que la red estime el valor del estado sin tener que aprender el efecto de cada acción.[4]
- Repetición priorizada — véase más arriba.
- Retornos multi-paso — sustituyen el bootstrap de un paso por un retorno de $ n $ pasos, intercambiando sesgo por varianza.
- DQN distribucional (C51) — predice la distribución de los retornos y no solo su media, capturando información asociada al riesgo.[5]
- Noisy Nets — sustituyen la política epsilon-voraz por ruido paramétrico sobre los pesos de la red, proporcionando una exploración dependiente del estado.
- Rainbow — combina seis de las mejoras anteriores en un único agente que supera con holgura a cada una por separado.[6]
Comparación con métodos de gradiente de política
DQN es un método basado en valor: aprende una función Q y deriva la política mediante una selección de acción voraz. Está restringido a espacios de acción discretos porque el operador $ \max_{a'} $ es intratable para acciones continuas. Los métodos de gradiente de política como REINFORCE, A2C y PPO, en cambio, parametrizan la política directamente y la optimizan mediante ascenso de gradiente sobre el retorno esperado. Los métodos actor-crítico combinan ambos enfoques, aprendiendo una línea base de valor junto con la política. Para control continuo la receta estándar es un actor-crítico determinista como DDPG, que puede verse como un análogo en acciones continuas de DQN en el que el máximo discreto se sustituye por la salida de una red actora aprendida.
Limitaciones
DQN hereda la fragilidad del bootstrapping fuera de política. El entrenamiento puede ser inestable cuando el entorno, el contenido del búfer y el objetivo móvil interactúan de forma desfavorable, y pequeños detalles de implementación (función de pérdida, optimizador, arquitectura de la red, programa de exploración) afectan de manera apreciable al rendimiento final. El algoritmo es además poco eficiente en muestras: en Atari son habituales decenas de millones de fotogramas, muchísimos más que los que necesita un jugador humano. Las acciones discretas limitan su aplicación al control continuo si no se introducen modificaciones. Por último, la combinación de aproximación de funciones, bootstrapping y aprendizaje fuera de política forma lo que Sutton y Barto denominan la tríada mortal — una combinación que se sabe que provoca divergencia en las garantías tabulares, y los trucos de estabilización de DQN son heurísticas, no demostraciones de convergencia.
Véase también
- Neural Networks
- Convolutional Neural Networks
- Stochastic Gradient Descent
- Backpropagation
- Loss Functions
Referencias
- ↑ Mnih, V. et al. (2015). "Human-level control through deep reinforcement learning". Nature 518, 529–533.
- ↑ Schaul, T., Quan, J., Antonoglou, I. and Silver, D. (2016). "Prioritized Experience Replay". ICLR.
- ↑ van Hasselt, H., Guez, A. and Silver, D. (2016). "Deep Reinforcement Learning with Double Q-learning". AAAI.
- ↑ Wang, Z. et al. (2016). "Dueling Network Architectures for Deep Reinforcement Learning". ICML.
- ↑ Bellemare, M. G., Dabney, W. and Munos, R. (2017). "A Distributional Perspective on Reinforcement Learning". ICML.
- ↑ Hessel, M. et al. (2018). "Rainbow: Combining Improvements in Deep Reinforcement Learning". AAAI.