Tema
SARSA y aprendizaje dentro de política
- Aprendizaje por refuerzo
- Nivel intermedio
SARSA actualiza el valor de un par de estado y acción usando la acción que la política eligió de verdad en el estado siguiente, de modo que aprende el valor de la política que está ejecutando.
Nombre en inglés
SARSA and on-policy learning
Intuición
El nombre recoge la quíntupla que hace falta para una actualización, formada por estado, acción, recompensa, estado siguiente y acción siguiente. Al usar la acción realmente tomada, el valor aprendido incluye el coste de explorar, razón por la que en un acantilado el agente aprende a caminar por un camino más alejado del borde. Q-learning, en cambio, aprende el valor del camino óptimo aunque su exploración lo tire por el precipicio de vez en cuando.
Fórmula
Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha [R_{t+1} + \gamma Q(S_{t+1}, A_{t+1}) - Q(S_t, A_t)]
Ejemplo resuelto
Sea un par de estado y acción que vale 2, y dos acciones posibles en el estado siguiente que valen 10 y 0. La política voraz con una probabilidad de exploración de 0.1 elige la primera casi siempre, pero supongamos que en este paso exploró y eligió la segunda. Con recompensa 0, descuento 0.9 y tasa 0.5, SARSA usa el valor de la acción realmente tomada y obtiene un error de 0 más 0.9 por 0 menos 2 = -2, de modo que el par baja a 1. Q-learning, que toma el máximo, habría obtenido 0 más 0.9 por 10 menos 2 = 7 y lo habría subido a 5.5. La diferencia es el precio que SARSA pone a la exploración.
Errores frecuentes
- Actualizar con el máximo del estado siguiente y seguir llamándolo SARSA, cuando ese cambio lo convierte en Q-learning.
- No reducir con el tiempo la probabilidad de exploración, lo que deja a SARSA convergiendo al valor de una política que explora para siempre y no a la óptima.
- Sortear la acción siguiente dos veces, una para actualizar y otra para ejecutar, lo que rompe la coherencia dentro de política.
Ejercicio
Con el par actual en 1, recompensa 2, descuento 1, el par siguiente elegido en 3 y tasa 0.5, ¿cuánto vale el par actual tras la actualización de SARSA?
Ver la solución
El error vale 2 más 1 por 3 menos 1, es decir, 4. La actualización suma 0.5 por 4 = 2. El valor nuevo es 1 más 2 = 3.
Respuesta: 3