144 votes

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

Même si je sais que SARSA est conforme à la politique, tandis que Apprentissage par questions-réponses (Q-learning) est hors politique, il est difficile (pour moi) de voir une différence entre ces deux algorithmes lorsque l'on examine leurs formules.

Selon le livre Apprentissage par renforcement : Une introduction (par Sutton et Barto). Dans l'algorithme SARSA, étant donné une politique, la fonction action-valeur Q correspondante (dans l'état s et l'action a, au pas de temps t), c'est-à-dire Q(s t , a t ), peut être mis à jour comme suit

Q(s t , a t ) = Q(s t , a t ) + *(r t + *Q(s) t+1 , a t+1 ) - Q(s t , a t ))

En revanche, l'étape de mise à jour de l'algorithme d'apprentissage Q est la suivante

Q(s t , a t ) = Q(s t , a t ) + *(r t + *max a Q(s t+1 , a) - Q(s t , a t ))

qui peut également s'écrire

Q(s t , a t ) = (1 - ) * Q(s t , a t ) + * (r t + *max a Q(s t+1 , a))

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

La différence entre ces deux algorithmes réside-t-elle dans le fait que SARSA ne recherche que la valeur de la politique suivante alors que Q-learning recherche la valeur de la politique suivante ? maximum valeur de la police ?

TLDR (et ma propre réponse)

Merci à tous ceux qui ont répondu à cette question depuis que je l'ai posée. J'ai fait une repo github jouer avec le Q-Learning et comprendre empiriquement quelle est la différence. Tout se résume à la façon dont vous choisissez la meilleure action suivante qui, d'un point de vue algorithmique, peut être un moyen , max o meilleur selon la manière dont vous avez choisi de la mettre en œuvre.

L'autre différence principale est la suivante quand cette sélection se produit (par ex, en ligne vs hors ligne ) et comment et pourquoi cela affecte l'apprentissage. Si vous lisez ces lignes en 2019 et que vous êtes plutôt du genre à mettre la main à la pâte, le meilleur moyen de comprendre les différences est probablement de jouer avec un problème de jouet RL.

Une dernière important Il est à noter que Suton & Barto, ainsi que Wikipedia, ont souvent des mixte, confus o erroné des représentations de formules en ce qui concerne les état suivant action et récompense optimales/maximales :

r(t+1)

est en fait

r(t)

1voto

Beyhan Gül Points 578

La seule différence entre SARSA et Qlearning est que SARSA prend la prochaine action sur la base de la politique actuelle tandis que Qlearning prend l'action avec l'utilité maximale de l'état suivant.

0voto

Aref Yelghi Points 1

Je n'ai lu aucun livre, mais je vois ce qu'ils impliquent. q apprendre se concentrer sur la (grille d'action) L'apprentissage SARSA se concentre sur le (état à état) et observe la liste d'actions de s et s', puis met à jour la (grille d'état à état).

0voto

cookiemonster Points 1

Les agents SARSA et Q-learnig suivent la politique e-greedy pour interagir avec l'environnement.

L'agent SARSA met à jour sa fonction Q en utilisant la valeur Q du pas de temps suivant et l'action prévue par la politique (le plus souvent gourmande, mais une action aléatoire est également acceptée). La politique exécutée et la politique mise à jour sont identiques.

L'agent d'apprentissage Q met à jour sa fonction Q avec uniquement l'action qui apporte la valeur Q maximale de l'état suivant (avidité totale par rapport à la politique). La politique exécutée et la politique mise à jour sont différentes.

Par conséquent, SARSA est conforme à la politique, tandis que l'apprentissage Q est contraire à la politique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X