Qu'est-ce que le «replay d'expérience» et quels sont ses avantages?

19

J'ai lu DeepMind Atari Google document et je suis en train de comprendre le concept de « replay expérience ». La relecture d'expérience apparaît dans de nombreux autres articles d'apprentissage par renforcement (en particulier, le papier AlphaGo), donc je veux comprendre comment cela fonctionne. Voici quelques extraits.

Premièrement, nous avons utilisé un mécanisme d'inspiration biologique appelé réexécution d'expérience qui randomise les données, supprimant ainsi les corrélations dans la séquence d'observation et lissant les changements dans la distribution des données.

Le document développe ensuite comme suit:

Alors qu'il existe d'autres méthodes stables pour la formation des réseaux de neurones dans le cadre de l'apprentissage par renforcement, comme l'itération Q adaptée aux neurones, ces méthodes impliquent la formation répétée de réseaux de novo de centaines d'itérations. Par conséquent, ces méthodes, contrairement à notre algorithme, sont trop inefficaces pour être utilisées avec succès avec de grands réseaux de neurones. Nous paramétrons une fonction de valeur approximative utilisant le réseau neuronal convolutionnel profond montré sur la figure 1, dans lequel sont les paramètres (c'est-à-dire les poids) du réseau Q à l'itération . Pour effectuer une relecture d'expérience, nous stockons les expériences de l'agent à chaque pas de tempsQ(s,a;θi)θiiet=(st,at,rt,st+1)tdans un ensemble de données . Pendant l'apprentissage, nous appliquons des mises à jour de Q-learning, sur des échantillons (ou mini-lots) d'expérience , tirés uniformément au hasard à partir du pool d'échantillons stockés. La mise à jour de Q-learning à l'itération utilise la fonction de perte suivante:Dt={e1,,et}(s,a,r,s)U(D)i

Li(θi)=E(s,a,r,s)U(D)[(r+γmaxaQ(s,a;θi)Q(s,a;θi))2]

Qu'est-ce que l'expérience rejouée et quels sont ses avantages en termes simples?

Ryan Zotti
la source

Réponses:

25

La partie clé du texte cité est:

Pour effectuer une relecture d'expérience, nous stockons les expériences de l'agent et=(st,at,rt,st+1)

Cela signifie qu'au lieu d'exécuter Q-learning sur des paires état / action lorsqu'elles se produisent pendant la simulation ou l'expérience réelle, le système stocke les données découvertes pour [état, action, récompense, état suivant] - généralement dans un grand tableau. Notez que cela ne stocke pas les valeurs associées - ce sont les données brutes à alimenter ultérieurement dans les calculs de valeur d'action.

La phase d'apprentissage est alors logiquement séparée de l'acquisition d'expérience et basée sur le prélèvement d'échantillons aléatoires dans ce tableau. Vous voulez toujours entrelacer les deux processus - agir et apprendre - parce que l'amélioration de la politique conduira à des comportements différents qui devraient explorer des actions plus proches de celles optimales, et vous voulez apprendre de celles-ci. Cependant, vous pouvez diviser cela comme vous le souhaitez - par exemple, faire un pas, apprendre de trois étapes antérieures aléatoires, etc. Les cibles Q-Learning lors de l'utilisation de la relecture d'expérience utilisent les mêmes cibles que la version en ligne, il n'y a donc pas de nouvelle formule pour cela. La formule de perte donnée est également celle que vous utiliseriez pour DQN sans relecture d'expérience. La différence est seulement quels s, a, r, s ', a' vous y introduisez.

Dans DQN, l'équipe DeepMind a également maintenu deux réseaux et changé celui qui apprenait et celui qui alimentait les estimations de valeur d'action actuelles en tant que "bootstraps". Cela a aidé à la stabilité de l'algorithme lors de l'utilisation d'un approximateur de fonction non linéaire. C'est ce que représente la barre dans - elle désigne la version gelée alternative des poids.θi ¯

Avantages de la relecture d'expérience:

  • Une utilisation plus efficace de l'expérience précédente, en apprenant avec elle plusieurs fois. Ceci est essentiel lorsque l'acquisition d'une expérience dans le monde réel est coûteuse, vous pouvez en tirer pleinement parti. Les mises à jour de Q-learning sont incrémentielles et ne convergent pas rapidement, donc plusieurs passes avec les mêmes données sont bénéfiques, surtout quand il y a une faible variance dans les résultats immédiats (récompense, état suivant) étant donné le même état, la même paire d'actions.

  • Meilleur comportement de convergence lors de la formation d'un approximateur de fonction. Cela est dû en partie au fait que les données ressemblent davantage à des données iid supposées dans la plupart des preuves de convergence d'apprentissage supervisé.

Inconvénient de la relecture d'expérience:

  • Il est plus difficile d'utiliser des algorithmes d'apprentissage en plusieurs étapes, tels que Q ( ), qui peuvent être ajustés pour donner de meilleures courbes d'apprentissage en équilibrant le biais (dû au bootstrap) et la variance (due aux retards et au caractère aléatoire des résultats à long terme). ). DQN en plusieurs étapes avec relecture d'expérience DQN est l'une des extensions explorées dans l'article Rainbow: Combining Improvements in Deep Reinforcement Learning .λ

L'approche utilisée dans DQN est brièvement décrite par David Silver dans certaines parties de cette conférence vidéo (vers 01:17:00, mais vaut la peine de voir des sections avant). Je vous recommande de regarder toute la série, qui est un cours de deuxième cycle sur l'apprentissage par renforcement, si vous en avez le temps.

Neil Slater
la source
Disons que pendant la formation, nous sommes dans un état et nous prenons une action selon la politique epsilon-greedy et vous vous retrouvez dans un autre état. Ainsi, vous obtenez des récompenses et l'état suivant. Ici, la récompense peut être le score du jeu et les états peuvent être les motifs de pixels à l'écran. Et puis nous prenons l'erreur entre notre fonction aproximator et la valeur que nous avons obtenue de la politique gourmande en utilisant à nouveau un approximateur de fonction déjà gelé. Mais avec l'expérience rejouée lors de l'optimisation de l'approximateur, nous prenons un ensemble de données d'action d'état aléatoire. Ai-je raison ?
Shamane Siriwardhana
1
@ShamaneSiriwardhana: Oui, je pense que vous avez raison. Ce sont exactement les mêmes données de la trajectoire réelle, mais au lieu d'apprendre uniquement de l'étape la plus récente, vous les enregistrez dans une grande table et un échantillon de cette table (généralement plusieurs échantillons, avec un magasin de 1000 étapes précédentes à choisir) ). Si vous avez besoin de plus de précisions, posez peut-être une question sur le site.
Neil Slater
Ouais, j'ai relu le journal. Il indique également que cette méthode peut également améliorer l'apprentissage hors politique. Parce que dans Q l'apprentissage avec agir selon la politique epsilon-greedy mais mettre à jour les fonctions de valeurs selon la politique gourmande. Ainsi, lorsque chaque étape de temps, nos paramètres de réseau neuronal sont mis à jour par des statistiques de mini-lots qui ne sont surtout pas liées aux statistiques exactes de pas de temps, mais ce qui s'est passé avant cela aide également à décorréler les données.
Shamane Siriwardhana
@Neil Slater, j'ai parcouru le papier Rainbow et je n'ai vu aucun commentaire spécial sur l'utilisation d'une astuce spéciale pour combiner la relecture d'expérience et la méthode en plusieurs étapes. J'ai également entendu dire que la méthode en plusieurs étapes est à l'origine impossible à combiner avec la relecture d'expérience, mais pourquoi ne pas simplement choisir aléatoirement n expériences consécutives au lieu de 1 à partir de la relecture d'expérience, mais à partir de la relecture afin qu'entre chaque n expériences, aucune corrélation ne soit trouvée? Cette expérience en plusieurs étapes n'est-elle pas rejouée?
StL
@NeilSlater Pourquoi est-il "plus difficile d'utiliser des algorithmes d'apprentissage en plusieurs étapes"? Que voulais-tu dire?
Gulzar