11 · Q-learning
El algoritmo de RL más famoso: aprende los valores-acción óptimos directamente de la experiencia, fuera de política, con una actualización de una línea. Sin necesidad de un modelo del entorno.
Q-learning actualiza Q(s,a) ← Q(s,a) + α·[r + γ·max_a' Q(s',a') − Q(s,a)]. Como el objetivo usa el MÁX sobre las acciones siguientes — no la acción que realmente se tomó — aprende los valores-acción ÓPTIMOS sin importar cómo explore el agente. Eso es control fuera de política, y basta para recuperar una política óptima solo por ensayo y error.
Sin esto:
Sin algoritmos de control como Q-learning, la predicción (Capítulo 4) solo evalúa una política fija — nunca la mejora. Q-learning es el puente de 'medir qué tan buena es una política' a 'encontrar la mejor política'.
El Capítulo 4 enseñó predicción: estimar el valor de una política dada. Ahora queremos control: encontrar la mejor política. Q-learning (Watkins, 1989) hace justo eso, y es el algoritmo de RL más influyente — DQN, que superó a humanos en Atari, es Q-learning con una red neuronal.
El agente mantiene una tabla Q(s, a) — su estimación actual del valor de tomar la acción a en el estado s y luego actuar de forma óptima. Cada transición (s, a, r, s') que observa genera una actualización:
Q(s, a) ← Q(s, a) + α·[ r + γ·max_a' Q(s', a') − Q(s, a) ]
El término entre corchetes es el error TD: la diferencia entre una mejor estimación (el objetivo r + γ·max_a' Q(s', a')) y el valor actual. La tasa de aprendizaje α controla qué tan grande es el paso hacia el objetivo.
El detalle crucial es el max en el objetivo. Dice: "asumo que desde s' en adelante actuaré de forma codiciosa." Esto hace a Q-learning fuera de política — aprende el valor de la política óptima aunque el agente mismo esté explorando con una política distinta. Esa política exploratoria suele ser ε-codiciosa: con probabilidad ε elige una acción aleatoria (explorar), si no elige argmax_a Q(s, a) (explotar). La exploración es lo que permite descubrir la recompensa al inicio; el max es lo que permite aprender el óptimo de todas formas.
Abajo entrenamos una tabla Q en un gridworld 4×4 solo desde la experiencia — sin modelo de transición — y vemos subir la recompensa media mientras la política codiciosa se convierte en flechas limpias que apuntan a la meta.
Python (in browser)
Q-learning en un grid 4×4: la recompensa sube al llenarse la tabla, y la política codiciosa se vuelve flechas que canalizan cada celda hacia la meta — aprendido sin modelo, solo con experiencia.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
DQN es la misma regla de Q-learning (nota r + γ·max Q(s′,a′)) pero con una red neuronal, un búfer de repetición de experiencia y una red objetivo congelada para estabilidad — la receta que resolvió Atari.
¿Por qué se llama a Q-learning 'fuera de política'?
- Q-learning es control TD libre de modelo: Q(s,a) ← Q(s,a) + α·[r + γ·max_a' Q(s',a') − Q(s,a)], aprendido solo de tuplas (s,a,r,s').
- El max sobre las acciones siguientes lo hace fuera de política: aprende los valores de la política óptima mientras explora con una política ε-codiciosa.
- ε-codicioso equilibra exploración vs explotación; la política codiciosa argmax_a Q(s,a) es la estrategia aprendida del agente.
DQN (Atari), Q-learning tabular en robótica e investigación de operaciones, y los objetivos de Q-learning dentro de muchos métodos actor-crítico y de RL offline usan esta misma actualización.
Si lo quitas: Sin control basado en valores fuera de política no puedes reutilizar experiencia arbitraria (p. ej. un búfer de repetición) para aprender una política óptima — un pilar del RL profundo.