Cuándo elegir SARSA vs. Q Learning

19

SARSA y Q Learning son algoritmos de aprendizaje de refuerzo que funcionan de manera similar. La diferencia más notable es que SARSA está en la política, mientras que Q Learning está fuera de la política. Las reglas de actualización son las siguientes:

Q Aprendizaje:

Q(st,at)Q(st,at)+α[rt+1+γmaxaQ(st+1,a)Q(st,at)]

SARSA:

Q(st,at)Q(st,at)+α[rt+1+γQ(st+1,at+1)Q(st,at)]

donde st,at y rt son el estado, la acción y la recompensa en el tiempo de paso t y γ es un factor de descuento.

En su mayoría se ven iguales, excepto que en SARSA tomamos medidas reales y en Q Learning tomamos las medidas con la mayor recompensa.

¿Existen escenarios teóricos o prácticos en los que uno debería preferir uno sobre el otro? Puedo ver que tomar el máximo en Q Learning puede ser costoso y aún más en espacios de acción continua. ¿Pero hay algo más?

hh32
fuente
En los espacios de acción continua, los métodos de búsqueda de políticas directas, como los diversos métodos de gradiente de políticas, se usan comúnmente, ya que, como se ha dado cuenta, mantener y evaluar una función de valor discreto para un espacio de acción continuo no es práctico, especialmente cuando el espacio de acción tiene muchas dimensiones (debido a la maldición de la dimensionalidad ).
HelloGoodbye

Respuestas:

27

En su mayoría se ven iguales, excepto que en SARSA tomamos medidas reales y en Q Learning tomamos las medidas con la mayor recompensa.

En realidad, en ambos "tomas" la acción única real generada unt+1

untrt+1st+1

¿Existen escenarios teóricos o prácticos en los que uno debería preferir uno sobre el otro?

Q-learning tiene las siguientes ventajas y desventajas en comparación con SARSA:

  • ϵϵ

  • El Q-learning (y el aprendizaje fuera de la política en general) tiene una mayor varianza por muestra que el SARSA, y puede sufrir problemas de convergencia como resultado. Esto aparece como un problema al entrenar redes neuronales a través de Q-learning.

  • SARSA se acercará a la convergencia permitiendo posibles penalizaciones por movimientos exploratorios, mientras que Q-learning los ignorará. Eso hace que SARSA sea más conservador: si existe el riesgo de una recompensa negativa grande cerca del camino óptimo, Q-learning tenderá a activar esa recompensa mientras explora, mientras que SARSA tenderá a evitar un camino óptimo peligroso y solo aprenderá lentamente a usarlo cuando se reducen los parámetros de exploración. El problema clásico del juguete que demuestra este efecto se llama caminar por los acantilados .

En la práctica, el último punto puede marcar una gran diferencia si los errores son costosos, por ejemplo, si está entrenando a un robot no en simulación, sino en el mundo real. Es posible que prefiera un algoritmo de aprendizaje más conservador que evite un alto riesgo, si hay tiempo real y dinero en juego si el robot se dañó.

Si su objetivo es capacitar a un agente óptimo en simulación, o en un entorno de bajo costo y de iteración rápida, entonces Q-learning es una buena opción, debido al primer punto (aprender directamente la política óptima). Si su agente aprende en línea y le interesan las recompensas obtenidas mientras aprende , entonces SARSA puede ser una mejor opción.

Neil Slater
fuente
Pregunta de seguimiento: stats.stackexchange.com/questions/361485/…
Muppet