Q-learning y DQN: aprender el valor de las acciones, de la tabla a la red neuronal
Aprendizaje por diferencias temporales, Q-learning y SARSA en el paseo por el acantilado, exploración ε-voraz, on-policy y off-policy, DQN con memoria de experiencias y red objetivo en el péndulo invertido sobre un carro escrito desde cero, y por qué el aprendizaje del DQN se desmorona con tanta facilidad.
Serie Fundamentos de IA Parte 48 de 52
- Mapa de la inteligencia artificial: qué es cada cosa y cómo encaja todo
- Breve historia de la inteligencia artificial: de Turing a los modelos de lenguaje
- Datos, modelo, entrenamiento, inferencia: los conceptos básicos en un solo ejemplo
- Cómo leer la notación matemática: símbolos, subíndices, sumatorios y cuantificadores
- Conjuntos y relaciones: las piezas con las que se construyen las definiciones en IA
- Funciones y aplicaciones: por qué todo modelo de IA es una función
- Lógica y demostraciones: las reglas con las que se razona en IA
- Grafos y árboles: la estructura sobre la que se apoyan la búsqueda y las redes neuronales
- Álgebra lineal para aprendizaje automático: vectores, matrices y por qué la IA sobre todo multiplica
- Derivadas, gradiente y regla de la cadena: cómo sabe un modelo en qué dirección aprender
- Descenso de gradiente: cómo aprende un modelo
- Qué es la probabilidad: del lanzamiento de un dado a los axiomas de Kolmogórov
- Probabilidad condicionada y teorema de Bayes: cómo cambiar una estimación cuando te enteras de algo nuevo
- Variable aleatoria y función de distribución: una sola función que lo dice todo sobre la distribución
- Función de densidad y función de probabilidad: por qué una variable continua tiene probabilidad cero en cada punto
- Esperanza, varianza y covarianza: dónde está una distribución, qué anchura tiene y qué se relaciona con qué
- Resumen de las distribuciones de probabilidad: Bernoulli, binomial, Poisson, uniforme, normal y exponencial
- Ley de los grandes números y teorema central del límite: por qué las medias se comportan de forma tan predecible
- Estadística y estimación de parámetros: máxima verosimilitud, MAP e intervalos de confianza
- Teoría de la información: entropía, entropía cruzada y divergencia KL, el origen de las funciones de pérdida
- Búsqueda en el espacio de estados: BFS, DFS, UCS y A* con animaciones
- Juegos y adversarios: minimax, poda alfa-beta y Monte Carlo tree search
- Satisfacción de restricciones: backtracking, propagación de restricciones y AC-3 con un sudoku y un mapa de regiones checas
- Lógica y sistemas basados en conocimiento: encadenamiento hacia delante y hacia atrás, resolución y sistemas expertos
- Planificación: STRIPS, el mundo de bloques, heurísticas a partir de la relajación y la planificación en los agentes de IA
- Búsqueda local y recocido simulado: un viajante por las capitales regionales checas
- Algoritmos genéticos: población, cruce, mutación y selección en una mochila para la excursión
- Estrategias evolutivas y programación genética: de la regla de un quinto a la ley de Kepler
- Optimización por colonia de hormigas: cómo un rastro de feromona encuentra un camino corto
- Optimización por enjambre de partículas: inercia, experiencia propia y experiencia del enjambre
- Neuroevolución: evolución de los pesos y la forma de las redes neuronales, y el algoritmo NEAT
- Conjuntos difusos y funciones de pertenencia: cómo escribir «algo cálido»
- Lógica difusa y probabilidad: por qué «algo cálido» no significa «probablemente cálido»
- Lógica difusa: t-normas, implicaciones y reglas SI–ENTONCES
- Control difuso: Mamdani y Sugeno, del ventilador al péndulo invertido sobre un carro
- Agrupamiento difuso: el algoritmo fuzzy c-means y los puntos entre clusters
- Sistemas neuro-difusos (ANFIS): reglas difusas que aprenden de los datos
- Cadenas de Markov: matriz de transición, distribución estacionaria y PageRank
- Modelos ocultos de Márkov: el algoritmo de Viterbi y el casino deshonesto
- Redes bayesianas: por qué está mojada la hierba y qué significa eso para el aspersor
- El filtro de Kalman: cómo estimar a partir de mediciones imprecisas dónde está un coche y a qué velocidad va
- Tipos de aprendizaje automático: supervisado, no supervisado, semisupervisado y más
- Prompts, contexto y RAG: cómo darle a un modelo la información correcta
- Autocodificadores variacionales (VAE): imágenes nuevas a partir de un espacio latente continuo
- Redes generativas adversarias (GAN): el falsificador contra el detective
- Modelos de difusión: cómo el ruido puro se convierte en una imagen
- Procesos de decisión de Markov: estados, acciones, recompensas y ecuaciones de Bellman
- Q-learning y DQN: aprender el valor de las acciones, de la tabla a la red neuronal
- Gradiente de la política y PPO: aprender directamente la política
- Cómo funciona un agente de IA: un modelo de lenguaje en un bucle con herramientas
- Programación con agentes de IA: encargo, pruebas y revisión
- Evaluación y seguridad de los sistemas de IA: cómo medir y cómo vigilar
Temario completo de la serie 52 de 83 temas publicados
- Cómo aprende el agente el valor de las acciones sin conocer las reglas del mundo.
- Por qué Q-learning y SARSA eligen caminos distintos en el acantilado.
- Qué hacen la memoria de experiencias y la red objetivo en el DQN y por qué el DQN es caprichoso.
Conviene conocer antes: Procesos de decisión de Markov: estados, acciones, recompensas y ecuaciones de Bellman, Neuroevolución: evolución de los pesos y la forma de las redes neuronales, y el algoritmo NEAT
En la parte anterior calculamos la mejor política de forma exacta, porque conocíamos las reglas del mundo: adónde lleva cada acción y con qué probabilidad, y qué recibe el agente a cambio. Un agente real no las conoce. Un robot no sabe exactamente cuánto le patinará la rueda; un programa que juega a un juego no conoce su interior. Tiene que probar y aprender de lo que ha pasado. En esta parte escribiremos dos algoritmos así: el Q-learning con tabla y el DQN, donde la tabla la sustituye una red neuronal — justo la combinación con la que DeepMind enseñó en 2015 a un ordenador a jugar a decenas de juegos de Atari a partir de la pantalla.
Continúa las partes Procesos de decisión de Markov y Red neuronal desde cero.
1. Aprender de la experiencia
Definición — aprendizaje por diferencias temporales (TD)
En lugar de la media sobre todos los estados siguientes posibles (como en la ecuación de Bellman), se usa una sola transición realmente vivida (s, a, r, s′). La estimación se desplaza un poco hacia el objetivo TD r + γ · (estimación del valor de s′): estimación ← estimación + α (objetivo − estimación). A la diferencia objetivo − estimación se le llama error TD, y α es la tasa de aprendizaje. La estimación se corrige, por tanto, según otra estimación (bootstrapping).
Por la mañana calculas que llegarás al trabajo en 30 minutos. A los diez minutos estás en un atasco y el navegador dice que aún faltan 35. No tienes que esperar a llegar: ya sabes que la estimación de la mañana se equivocó en 15 minutos, y la próxima vez la subirás un poco. Aprendes de la diferencia entre dos estimaciones consecutivas.
V(s) ← V(s) + α [r + γ V(s′) − V(s)]
- V(s)
- la estimación actual del valor del estado del que partimos — es la que corregimos; dentro del corchete se resta para que la corrección sea proporcional al error y no al valor entero
- α
- tasa de aprendizaje, 0 < α ≤ 1 — qué parte del error aceptamos; una transición es una muestra aleatoria, así que no nos fiamos de ella del todo
- r
- la recompensa realmente recibida — la única parte del objetivo que se mide y no se estima
- γ
- descuento — el valor del estado siguiente llega un paso más tarde, igual que en la ecuación de Bellman
- V(s′)
- la estimación del valor del estado al que realmente llegamos — representa todo el futuro restante, que aún no hemos vivido (bootstrapping); en lugar de la media ∑ P(s′ | …), una sola muestra
Ejemplo — el camino al trabajo en números
La estimación desde casa es V(casa) = 30 minutos. Tras r = 10 minutos de trayecto estás en un atasco, y la estimación desde allí es V(atasco) = 35. El tiempo no se descuenta (γ = 1) y en lugar de recompensas sumamos minutos, así que el objetivo TD es 10 + 35 = 45 y el error TD, 45 − 30 = 15.
- con α = 0,5: nueva estimación 30 + 0,5 · 15 = 37,5 minutos,
- con α = 0,1: 30 + 0,1 · 15 = 31,5 minutos,
- con α = 1: directamente 45 — la última experiencia borraría por completo todas las anteriores.
Teorema — con α fijo, la estimación es una media móvil de los objetivos
Si la estimación empieza en Q0 y recibe los objetivos c1, c2, …, cn, tras n correcciones vale Qn = (1 − α)n Q0 + ∑k=1n α (1 − α)n−k ck.
Demostración. La regla se puede reescribir como Qn = (1 − α) Qn−1 + α cn y sustituir repetidamente. ∎
Los pesos decrecen geométricamente: con α = 0,5 el último objetivo pesa 0,5, el penúltimo 0,25, el anterior 0,125… Las experiencias antiguas se van olvidando poco a poco — eso ayuda cuando los objetivos cambian (y en el aprendizaje TD cambian, porque se calculan a partir de estimaciones que también aprenden), pero en un mundo aleatorio la estimación oscila. Por eso la teoría, para garantizar la convergencia, pide ir reduciendo α.
2. Q-learning
Definición — Q-learning y SARSA
El Q-learning (Christopher Watkins, 1989) mantiene una tabla Q(s, a) y la corrige después de cada paso:
Q(s, a) ← Q(s, a) + α [r + γ · maxa′ Q(s′, a′) − Q(s, a)].
En condiciones razonables (cada par estado–acción se prueba infinitas veces y α disminuye de forma adecuada) converge al Q* óptimo. SARSA solo se diferencia en el objetivo: en lugar del máximo usa Q(s′, a′) para la acción a′ que el agente realmente va a hacer. El Q-learning aprende, por tanto, el valor del mejor comportamiento; SARSA, el valor de cómo se comporta el agente en realidad, exploración incluida.
Una tabla de «qué tan bueno es hacer esto aquí». Después de cada paso se corrige la casilla según lo que vino justo después: la recompensa más lo bien que pinta todo desde el nuevo sitio. El Q-learning calcula como si a partir de ahí fuera a jugar a la perfección; SARSA cuenta con que de vez en cuando hará alguna tontería.
Q(s, a) ← Q(s, a) + α [r + γ · maxa′ Q(s′, a′) − Q(s, a)]
- Q(s, a)
- la casilla de la tabla para la acción que se acaba de probar — solo se corrige esa; las demás acciones en s no cambian, porque este paso no dijo nada de ellas
- α
- tasa de aprendizaje — aquí 0,5: el mundo del acantilado es determinista, así que no hay que temer al nuevo objetivo
- r
- recompensa por el paso: −1, o −100 por una caída
- γ
- descuento — en el acantilado γ = 1, porque el episodio siempre termina y cada paso cuesta −1, así que el camino más corto es mejor incluso sin descuento
- maxa′ Q(s′, a′)
- el valor de la mejor acción en el nuevo estado — el Q-learning supone que a partir de ahí jugará de la mejor manera, aunque en realidad de vez en cuando pruebe una acción aleatoria; en las gráficas de abajo el Q-learning es ámbar
# Q-learning (y SARSA) en el paseo por el acantilado
Q(s, a) = 0 para todos los estados y acciones
para cada episodio:
s = salida
a = acción ε-voraz según Q en s
mientras s no sea la meta:
ejecuta a, observa r y s′ # caída: r = −100, s′ = salida
a′ = acción ε-voraz según Q en s′
objetivo = max sobre b de Q(s′, b) # Q-learning
objetivo = Q(s′, a′) # SARSA (en lugar de la línea anterior)
if s′ es la meta: objetivo = 0
Q(s, a) = Q(s, a) + α · (r + γ · objetivo − Q(s, a))
s = s′; a = a′
Ejemplo — las primeras caídas (α = 0,5, γ = 1, la tabla empieza en ceros)
Justo en la salida, el agente prueba un paso a la derecha y se cae: r = −100, s′ = salida, donde por ahora todos los valores son 0. El nuevo valor es Q(salida, →) = 0 + 0,5 · (−100 + 1 · 0 − 0) = −50.
Después prueba un paso hacia arriba: r = −1, la nueva casilla solo tiene ceros, Q(salida, ↑) = 0 + 0,5 · (−1 + 0 − 0) = −0,5.
Si se cae en la salida por segunda vez, el mayor valor en la salida sigue siendo 0 (aún no ha probado ↓ ni ←), así que Q(salida, →) = −50 + 0,5 · (−100 + 0 − (−50)) = −75. Con cada caída más se acerca a −100.
Fíjate en un efecto secundario: todas las recompensas reales son negativas, así que las acciones no probadas, con su cero, parecen mejores que las probadas. La tabla que empieza en ceros empuja por sí sola al agente a probar cosas nuevas (el llamado optimismo ante lo desconocido) — en la elección voraz, antes de que llegue el turno del azar ε.
Definición — política ε-voraz (ε-greedy)
Con probabilidad 1 − ε elige la acción con el mayor Q(s, a); con probabilidad ε, una acción aleatoria. Sin acciones aleatorias, el agente nunca probaría nada que hasta ahora no le pareciera lo mejor, y podría quedarse atascado en el primer camino aceptable que encontrara. Es la solución más sencilla al dilema de exploración o explotación.
Vas a tu restaurante favorito nueve veces de cada diez. De vez en cuando pruebas uno nuevo — si no, nunca te enterarías de que una calle más allá se come mejor.
Ejemplo — probabilidades de las acciones con ε = 0,1
La acción aleatoria se elige entre todas las |A| = 4 acciones, es decir, también entre ellas la mejor. Por eso
π(a | s) = 1 − ε + ε/|A| = 1 − 0,1 + 0,025 = 0,925 para la mejor acción y ε/|A| = 0,1/4 = 0,025 para cada una de las otras tres.
Cada acción «mala» concreta — por ejemplo, un paso hacia abajo, al acantilado — aparece, por tanto, en uno de cada 40 pasos.
3. Paseo por el acantilado: Q-learning frente a SARSA
Un experimento clásico del libro de texto de Richard Sutton y Andrew Barto (cliff walking). Una cuadrícula de 12 × 4, la salida abajo a la izquierda, la meta abajo a la derecha y entre ambas un acantilado. Cada paso cuesta −1; caer por el acantilado, −100 y la vuelta a la salida. Sin descuento. El camino más corto va pegado al acantilado (13 pasos). Ambos algoritmos aprenden durante 500 episodios con ε = 0,1 y α = 0,5, cada uno en 50 ejecuciones independientes.
El Q-learning aprendió el camino más corto junto al acantilado en 50 de las 50 ejecuciones. SARSA eligió en 41 ejecuciones el camino por el borde superior de la cuadrícula, lo más lejos posible del acantilado (17 pasos), en una otro aún dos pasos más largo, y en 8 ejecuciones la política voraz, tras 500 episodios, todavía no llega a la meta — se queda dando vueltas en lugares a los que el agente apenas llegó durante el aprendizaje.
Y ahora la paradoja: durante el aprendizaje le va mejor a SARSA. En los últimos cien episodios obtiene de media −25,1, y el Q-learning, −51,1. El Q-learning camina por el borde del acantilado y, como uno de cada diez pasos es aleatorio, se cae de media 0,34 veces por episodio; SARSA, solo 0,04 veces. El Q-learning ha aprendido qué es lo mejor sin explorar; SARSA, qué es lo mejor explorando. Cuál queremos depende de si el agente seguirá explorando también en producción — un robot que aprende en una máquina real debería pensar como SARSA.
Ejemplo — cuántas veces se cae el Q-learning (estimación simplificada)
El camino aprendido por el Q-learning sube desde la salida y luego recorre diez casillas pegadas al acantilado. En la salida y en cada una de esas diez casillas, al acantilado lleva un paso hacia abajo (en la salida, un paso a la derecha), es decir, una acción concreta — con ε = 0,1, con probabilidad 0,025. Atravesar 11 casillas así sin caerse:
0,97511 = 0,757, así que la probabilidad de caerse durante un recorrido es q = 1 − 0,757 = 0,243.
Tras una caída el agente vuelve a empezar en la salida, así que el número de caídas hasta un recorrido con éxito sigue una distribución geométrica con valor esperado q / (1 − q) = 0,243 / 0,757 = 0,32 caídas por episodio. Medido: 0,34 — algo más, porque la estimación ignora los pasos aleatorios hacia la izquierda, tras los cuales el agente pasa aún más pasos sobre el acantilado. SARSA va por el borde superior, tres filas por encima del acantilado: allí solo la haría caer una serie de varios pasos aleatorios hacia abajo seguidos. Arriesga sobre todo en la salida, y eso por sí solo da 0,025 / 0,975 = 0,026 caídas por episodio; medido: 0,04.
Definición — aprendizaje según la propia política y según otra (on-policy / off-policy)
Un método es on-policy cuando aprende el valor de la política según la que está actuando (SARSA). Es off-policy cuando actúa según una política (por ejemplo, ε-voraz) pero aprende el valor de otra (el Q-learning aprende el de la voraz). Los métodos off-policy pueden aprender también de experiencias recogidas antes o por otra persona.
On-policy: aprendo de mis propios trayectos y los valoro tal como son. Off-policy: miro también los trayectos de otros (o los míos antiguos) y deduzco de ellos cómo conduciría el mejor conductor.
4. Cuando la tabla no cabe: DQN
La tabla necesita una fila para cada estado. El péndulo invertido sobre un carro de la parte sobre la neuroevolución tiene un estado de cuatro números reales (posición y velocidad del carro, ángulo y velocidad angular de la barra); un juego de Atari tiene como estado una pantalla de 210 × 160 píxeles. No hay tabla que valga. En su lugar, Q(s, a) se estima con una red neuronal.
Definición — Deep Q-Network (DQN)
El DQN (Volodymyr Mnih et al., DeepMind, 2015) estima Q(s, ·) con una red de parámetros θ y minimiza (r + γ maxa′ Q(s′, a′; θ−) − Q(s, a; θ))². Hay dos ajustes clave: la memoria de experiencias (replay buffer) — las transiciones se guardan y se aprende de lotes aleatorios, no de los últimos pasos seguidos; y la red objetivo θ− (target network) — una copia de la red que solo se actualiza de vez en cuando, para que el objetivo no se desplace con cada paso de aprendizaje.
Memoria de experiencias: en lugar de aprender solo de los últimos minutos, el agente repasa recuerdos aleatorios de toda su historia, así que no olvida lo que sabía hacer ayer. Red objetivo: si estás aprendiendo a dar en una diana, no te ayuda que la diana se mueva cada vez que disparas. La dejamos un rato quieta.
L(θ) = E(s, a, r, s′) ~ D [(r + γ maxa′ Q(s′, a′; θ−) − Q(s, a; θ))²]
- E… ~ D
- media sobre transiciones aleatorias de la memoria de experiencias D — mezcla experiencias viejas y nuevas, así que pasos consecutivos y muy parecidos no arrastran la red en una sola dirección
- r
- recompensa — en el carro, +1 por cada paso en que la barra sigue en pie
- γ
- descuento 0,99 — la red «ve» aproximadamente 1/(1 − γ) = 100 pasos hacia delante
- max Q(s′, a′; θ−)
- el objetivo de la red objetivo, con los parámetros congelados θ− — el mismo máximo que en el Q-learning tabular, solo que no se mueve durante el paso de aprendizaje; cuando el estado s′ significa una caída, este término es 0
- Q(s, a; θ)
- la estimación de la red que se entrena para la acción realmente realizada — lo único que cambia en el paso de aprendizaje (el gradiente pasa solo por θ)
Definición — pérdida de Huber
Nuestro DQN, en lugar del cuadrado del error d = Q(s, a; θ) − objetivo, usa (como el artículo original, que recorta el error a ±1) la pérdida de Huber H(d) = d²/2 para |d| ≤ 1 y |d| − 1/2 en otro caso. Su derivada es d en el centro y ±1 fuera: los errores pequeños se corrigen como con el cuadrado, y un error grande (por ejemplo, cuando el objetivo salta tras copiar la red objetivo) da como mucho un gradiente unitario, de modo que una sola transición rara no desbarata la red.
# DQN en el péndulo invertido sobre un carro
red Q(·; θ) 4 → 64 → 64 → 2, red objetivo θ⁻ = θ, memoria D vacía
s = inicio aleatorio
para t = 1 … 30 000:
ε = max(0,05; 1 − 0,95 · t / 10 000)
a = acción aleatoria con probabilidad ε, si no argmax Q(s, ·; θ)
ejecuta a, observa s′ y si la barra cayó
guarda (s, a, r = 1, s′, cayó) en D # por encima de 20 000 sale la más antigua
s = nuevo inicio si la barra cayó o aguantó 500 pasos, si no s′
de D elige un lote aleatorio de 32 transiciones, para cada una:
objetivo = r, si cayó
objetivo = r + γ · max Q(s′, ·; θ⁻), si no
un paso de Adam sobre la pérdida de Huber media (Q(s, a; θ) − objetivo)
cada 500 pasos: θ⁻ = θ
Ejemplo — exploración y magnitud de los valores
La exploración disminuye linealmente: ε0 = 1 (solo acciones aleatorias), en el paso 5 000 es ε = 1 − 0,95 · 0,5 = 0,525 y a partir del paso 10 000 se queda en 0,05.
¿Qué tamaño tienen los valores que la red debe aprender? Si la barra se mantuviera en pie para siempre, el valor sería 1 + 0,99 + 0,99² + … = 1/(1 − 0,99) = 100; para un episodio limitado a 500 pasos es (1 − 0,99500)/(1 − 0,99) = 99,3. Al principio la red devuelve números cercanos a cero, así que los objetivos tienen que crecer dos órdenes de magnitud durante el aprendizaje — y con ellos se siguen desplazando.
Nuestro DQN: una red 4 → 64 → 64 → 2 (dos acciones: empujar a la izquierda o a la derecha), recompensa +1 por cada paso en que la barra sigue en pie, γ = 0,99, memoria de 20 000 transiciones, lote de 32, la red objetivo se copia cada 500 pasos, ε baja de 1 a 0,05 durante los primeros 10 000 pasos. En total, 30 000 pasos. Cada 2 500 pasos medimos cuántos pasos aguanta la política voraz (media de cuatro inicios, como mucho 500, es decir, 10 segundos).
| variante | mejor medición | cuándo | al final |
|---|---|---|---|
| DQN completo, semilla 1 | 500 | paso 17 500 | 110 |
| DQN completo, semilla 2 | 500 | paso 12 500 | 217 |
| sin memoria de experiencias | 192 | paso 7 500 | 124 |
| sin red objetivo | 9 | paso 2 500 | 9 |
El DQN completo aprende a mantener la barra los 500 pasos completos — en la ejecución con semilla 1, por primera vez en el paso 17 500. Pero enseguida vuelve a olvidarlo: al final del aprendizaje solo aguanta 110 pasos. La segunda ejecución oscila de forma parecida. Sin memoria de experiencias (aprende solo de los últimos 32 pasos), la red no pasa de 192. Y sin red objetivo el aprendizaje se desmorona por completo: la política aguanta durante todo el tiempo solo 9 pasos — exactamente lo que aguanta un carro que empujas siempre hacia la derecha. La red ha «aprendido» una única acción.
5. Por qué el DQN es tan caprichoso
Definición — tríada mortal (deadly triad)
Sutton y Barto llaman así a la combinación de tres elementos: aproximación de funciones (una red en lugar de una tabla), bootstrapping (el objetivo se calcula a partir de la propia estimación) y aprendizaje off-policy. Cada uno por separado es seguro; juntos, el aprendizaje puede oscilar o divergir. El DQN contiene los tres — la memoria de experiencias y la red objetivo solo atenúan el peligro.
La red aprende según sus propias estimaciones. Cuando la estimación sube en un estado, sube también (porque la red generaliza) en estados parecidos, incluido aquel a partir del cual se calcula el objetivo. El objetivo sube, la estimación se estira tras él… Un perro que se persigue la cola.
Por eso, en la práctica se añaden muchos ajustes: Double DQN (Hado van Hasselt et al., 2015) separa la elección de la mejor acción de su valoración y amortigua la sobreestimación sistemática que introduce el máximo en el objetivo; además, la memoria priorizada, la separación del valor y la ventaja (dueling) y otros — su combinación se llama Rainbow (2017). Y un consejo totalmente práctico: durante el aprendizaje guarda la red de la mejor medición, no la última.
y = r + γ Q(s′, argmaxa′ Q(s′, a′; θ); θ−)
- r
- recompensa, sin cambios
- γ
- descuento, sin cambios
- argmax Q(s′, a′; θ)
- elección de la acción con la red que se entrena — qué acción elegiríamos en s′
- Q(s′, …; θ−)
- valoración de esa acción con la red objetivo — otra estimación con otros errores, así que una acción que la red entrenada sobrevaloró por casualidad no recibe automáticamente también un valor sobrevalorado
Ejemplo — por qué el máximo sobreestima (simplificado)
Dos acciones tienen un valor real de 0, pero la estimación de cada una lleva un error independiente de +1 o −1 (ambos con probabilidad 1/2). Las cuatro posibilidades igual de probables dan como máximo de las estimaciones 1, 1, 1 y −1, así que
E[max(Q̂1, Q̂2)] = (1 + 1 + 1 − 1)/4 = 0,5 > 0 = max(Q1, Q2).
El máximo sobre estimaciones con ruido es, de media, mayor que el máximo de los valores reales, y como el objetivo con el máximo se sustituye una y otra vez, la sobreestimación se propaga. Si una estimación elige la acción y otra, independiente, la valora, el valor esperado de la valoración es 0 — el error de la segunda estimación ya no tiene relación con la elección.
Los métodos de valor como el DQN funcionan bien cuando hay pocas acciones (empujar a la izquierda o a la derecha; los botones de un mando). Para acciones continuas — con qué fuerza girar una articulación de un robot — conviene más aprender directamente la política. Ese es el tema de la próxima parte, sobre policy gradient y PPO.
6. Resumen
- Sin conocer las reglas del mundo, los valores se aprenden de transiciones vividas: la estimación se desplaza hacia el objetivo r + γ · estimación del estado siguiente.
- El Q-learning aprende el valor del mejor comportamiento (off-policy); SARSA, el valor del comportamiento con exploración (on-policy).
- En el acantilado: el Q-learning encuentra el camino más corto (13 pasos), pero con ε = 0,1 se cae 0,34 veces por episodio; SARSA va por un camino más seguro y durante el aprendizaje obtiene más (−25,1 frente a −51,1).
- El DQN sustituye la tabla por una red; sin memoria de experiencias y sin red objetivo no aprende (como mucho 192 y 9 pasos, respectivamente).
- Incluso el DQN completo oscila: mantiene la barra 500 pasos y luego vuelve a olvidarlo — la tríada mortal.
¿Quieres tocarlo con tus propias manos? Pide a un agente de IA que entrene un DQN en el entorno CartPole de la biblioteca Gymnasium y que dibuje la curva de aprendizaje para cinco semillas. Después, que añada Double DQN y compare.
¿Lo ves de otra manera? Escribe a support@coden-app.com.