Quelle est la différence entre le Q-learning et SARSA?

Même si je sais que SARSA est politique, tout en Q-learning est hors de la politique, quand on regarde leurs formules, il est difficile (pour moi) de voir la différence entre ces deux algorithmes.

Selon le livre L'Apprentissage Par Renforcement: Une Introduction (par Sutton et Barto). Dans l'algorithme SARSA, donné un la politique, l'action correspondante de la valeur de la fonction Q (dans l'état s et action, à timestep t), i.e. Q(st,t), peut être mis à jour comme suit

Q(st,t) = Q(st,t) + α*(rt + γ*Q(st+1,t+1) - Q(st,t))

D'autre part, l'étape de mise à jour pour le Q-learning de l'algorithme est le suivant

Q(st,t) = Q(st,t) + α*(rt + γ*maxa Q(st+1, a) - Q(st, t))

qui peut aussi être écrit comme

Q(st,t) = (1 - α) * Q(st,t) + α * (rt + γ*maxa Q(st+1, a))

où γ (gamma) est le facteur d'actualisation et rt est la récompense reçue de l'environnement à timestep t.

Est la différence entre ces deux algorithmes le fait que SARSA ne regarde que le côté politique de la valeur alors que le Q-learning regarde la prochaine maximum valeur de la stratégie?

TLDR (et ma propre réponse)

Merci à tous ceux qui ont répondu à cette question depuis que j'ai demandé. J'ai fait un dépôt github jouer avec Q-Learning et empiriquement compris quelle est la différence. Tous les montants de la façon dont vous sélectionnez votre prochain meilleur de l'action, qui, à partir d'un point de vue algorithmique peut être un dire, max ou meilleur d'action en fonction de la façon dont vous avez choisi de la mettre en œuvre.

L'autre principale différence est quand de sélection de ce qui se passe (par exemple, en ligne vs hors ligne) et comment/pourquoi qui affecte l'apprentissage. Si vous lisez ceci en 2019 et plus de mains sur la personne, en jouant avec un RL jouet problème est probablement la meilleure façon de comprendre les différences.

Une dernière important noter est que les deux Suton & Barto ainsi que Wikipédia ont souvent mixte, déroutant ou mal de formule représentations en ce qui concerne la état suivant le meilleur/max action et de récompenser:

r(t+1)

est en fait

r(t)

Espère que cela aide quelqu'un jamais être bloqué au ce.

InformationsquelleAutor | 2011-07-27