Tema
Q-learning
- Aprendizaje por refuerzo
- Nivel intermedio
- Con simulador interactivo
Q-learning estima directamente la función de valor óptima de los pares de estado y acción usando el máximo sobre las acciones del estado siguiente, con independencia de la política que genera los datos.
Nombre en inglés
Q-learning
Intuición
El máximo dentro del objetivo hace que la tabla converja al valor óptimo aunque el agente se mueva al azar, siempre que visite todos los pares infinitas veces. Por eso se dice que aprende fuera de política, ya que separa lo que se ejecuta de lo que se evalúa. El precio del máximo es un sesgo optimista, porque tomar el máximo de estimaciones ruidosas sobreestima el valor verdadero.
Fórmula
Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha [R_{t+1} + \gamma \max_a Q(S_{t+1}, a) - Q(S_t, A_t)]
Ejemplo resuelto
Se toma el mundo de tres estados con la meta que paga 10, descuento 0.9 y tasa 0.5, con toda la tabla en cero. La transición de B a la meta da un error de 10 más 0 menos 0 = 10 y deja ese par en 5. La transición de A a B da un error de 0 más 0.9 por 5 menos 0 = 4.5 y deja ese par en 2.25. En un segundo episodio, el par de B pasa a 5 más 0.5 por (10 menos 5) = 7.5 y el de A pasa a 2.25 más 0.5 por (0.9 por 7.5 menos 2.25) = 4.5. Las dos cifras se acercan a 10 y a 9, que son los valores óptimos calculados por la iteración de valor.
Errores frecuentes
- Usar el máximo del estado siguiente en una transición terminal en lugar de cero, fallo que infla toda la tabla.
- Explorar poco al principio y dar por buena una tabla que nunca visitó parte del espacio, ya que la garantía de convergencia exige visitar cada par infinitas veces.
- Ignorar la sobreestimación que introduce el máximo cuando el ruido es alto, problema que el doble Q-learning ataca separando la selección de la evaluación.
Ejercicio
Con el par actual en 0, recompensa 5, descuento 0.5, los valores del estado siguiente iguales a 4 y 8 y tasa 0.1, ¿cuánto vale el par actual tras la actualización?
Ver la solución
El objetivo usa el máximo del estado siguiente, que vale 8. El error es 5 más 0.5 por 8 menos 0, es decir, 9. La actualización suma 0.1 por 9 = 0.9, de modo que el valor pasa de 0 a 0.9.
Respuesta: 0.9
Temas relacionados
- SARSA y aprendizaje dentro de política
- Iteración de valor
- Red Q profunda
- Aprendizaje por diferencias temporales
Cursos a los que prepara
Simulador
Este tema tiene un simulador interactivo en la guía.