9
votes

Paramètres alpha et gamma à Qlearning

Quelle différence pour l'algorithme fait-il d'avoir une grande ou petite valeur gamma? Dans mon optique, tant que ce n'est ni 0 ni 1, cela devrait fonctionner exactement de la même manière. De l'autre côté, quel que soit le gamma que je choisis, il semble que les qvalues ​​deviennent assez proches de zéro très rapidement (j'ai ici des valeurs de l'ordre de 10 ^ -300 juste dans un test rapide). Comment habituellement les gens tracent qvalues ​​(je traçais un (x, y, le meilleur qvalue pour cet état) étant donné ce problème? J'essaie de me contourner avec des logarithmes, mais même à ce moment-là, il se sent un peu maladroit.

En outre, je n'obtiens pas quelle est la raison derrière avoir et alpha paramètre dans la fonction de mise à jour de l'apprentissage Q. Il définit essentiellement la magnitude de la mise à jour que nous allons apporter à la fonction Q. J'ai l'idée qu'il est généralement réduit au fil du temps. Quel est l'intérêt pour le faire diminuer avec le temps? Une valeur de mise à jour au début devrait avoir plus d'importance à 1000 épisodes plus tard?

En outre, je pensais qu'une bonne idée d'explorer l'espace d'état à chaque fois que l'agent ne veut pas faire l'action gourmande serait d'explorer d'un État qui a toujours un QValue zéro (ce moyen, au moins la plupart des The Times, un État jamais déjà fait), mais je ne vois pas cela référés dans une littérature. Y a-t-il des descentes à cela? Je sais que cela ne peut pas être utilisé avec (au moins certaines) fonctions de généralisation.

Une autre idée serait de garder une table d'états / actions visitées et d'essayer de faire les actions qui ont été essayées moins de fois dans cet état. Bien sûr, cela ne peut être fait que dans des espaces d'état relativement faibles (dans mon cas, il est certainement possible).

Une troisième idée pour la fin du processus d'exploration serait de regarder non seulement à l'action sélectionnée à la recherche des meilleurs qvalues, mais également de regarder à l'intérieur de toutes ces actions possibles et de cet état, puis dans les autres de cet État.

Je sais que ces questions sont un peu indépendantes, mais j'aimerais entendre les opinions des personnes qui ont déjà travaillé avec cela et (probablement) ont eu des difficultés avec certaines d'entre elles aussi.


1 commentaires

Quelle était la politique? Quel est le problème? Quels sont les états? Qu'est-ce qui motive le travail? Quel code avez-vous utilisé? Avez-vous utilisé un problème de référence pour montrer votre code de code?


3 Réponses :


-4
votes

Je n'ai pas travaillé avec des systèmes exactement comme ça avant, donc je ne sais pas à quel point je peux être utile, mais ...

Gamma est une mesure de la tendance de l'agent à attendre des récompenses futures. Plus il est petit, plus l'agent aura tendance à prendre l'action avec la plus grande récompense, indépendamment de l'état résultant. Les agents atteints de gamma plus gros apprendront de longues chemins à de grandes récompenses. Quant à toutes les valeurs Q approche de zéro, avez-vous essayé avec une carte d'état très simple (disons, un état et deux actions) avec gamma = 0? Qui devrait approcher rapidement q = récompense.

L'idée de réduire l'alpha est d'humidifier les oscillations dans les valeurs Q, de sorte que l'agent puisse s'installer dans un motif stable après une jeunesse sauvage.

Explorer l'espace d'état? Pourquoi ne pas simplement itérer-toi, demandez à l'agent tout essai? Il n'y a aucune raison d'avoir l'agent suivant un plan d'action dans son apprentissage-- à moins que ce soit le point de votre simulation. Si l'idée est juste de trouver le modèle de comportement optimal, ajustez tous les Q, pas seulement les plus hauts le long d'un chemin.


1 commentaires

Le fait de faire Q-L'apprentissage est de ne pas itérer tout espace. C'est précisément l'apprentissage aussi rapide que possible (c'est-à-dire avoir des espaces d'état géants, apprendre rapidement comment les explorer suffisamment pour une tâche donnée). Si l'Idea devait y introduire dessus, j'utiliserais un système de recherche typique (souffle d'abord, recherche profonde, etc.). En outre, je n'obtiens pas ce qui est le point de définir un gamma à zéro. Cela ne fera que les actions qui mènent à l'objectif étant mis à jour. Tous les autres seront égaux à zéro.



16
votes

à partir d'un renforcement candidat de maîtrise penchée:

alpha est le taux d'apprentissage. Si la fonction de récompense ou de transition est stochastique (aléatoire), l'alpha devrait alors changer au fil du temps, approchant de zéro à l'infini. Cela concerne approximatiser le résultat attendu d'un produit interne (T (transition) * R (récompense)), lorsque l'un des deux, ou les deux, avoir un comportement aléatoire.

Ce fait est important à noter.

gamma est la valeur de la récompense future. Cela peut affecter un peu d'apprentissage un peu et peut être une valeur dynamique ou statique. S'il est égal à un, l'agent valorise une récompense future autant que la récompense actuelle. Cela signifie, dans dix actions, si un agent fait quelque chose de bien, cela est aussi précieux que cette action directement. Alors l'apprentissage ne fonctionne pas à cela bien aux valeurs gamma élevées.

Inversement, un gamma de zéro provoquera que l'agent ne valorise que des récompenses immédiates, ce qui fonctionne uniquement avec des fonctions de récompense très détaillées.

Aussi - comme pour le comportement d'exploration ... il y a des tonnes de littérature à ce sujet. Toutes vos idées ont, 100% ont été essayées. Je recommanderais une recherche plus détaillée et même commencer à googler la théorie de la décision et la «amélioration des politiques».

Il suffit d'ajouter une note sur Alpha: Imaginez que vous avez une fonction de récompense qui croit 1, ou zéro, pour une action de l'action de certains états. Maintenant, chaque fois que vous exécutez SA, vous obtiendrez 1 ou 0. Si vous gardez Alpha comme 1, vous obtiendrez des valeurs Q de 1 ou zéro. Si c'est 0.5, vous obtiendrez des valeurs de +0,5 ou 0 et la fonction sera toujours oscillée entre les deux valeurs pour toujours. Cependant, si chaque fois que vous diminuez votre alpha de 50%, vous obtenez des valeurs comme celle-ci. (En supposant que la récompense soit reçue 1,0,1,0, ...). Vos valeurs Q finiront par être, 1,0.5,0.75,0,9,0,8, ... et finiront par converger le type de 0,5. À l'infini, il sera de 0,5, qui est la récompense attendue dans un sens probabiliste.


2 commentaires

Pourriez-vous ajouter des liens?


Tous les faits que vous avez décrits sur le choix de l'alpha sont totalement valables à la fois pour Q-L'apprentissage et de l'apprentissage en justeur profond (et de ses variantes)?



1
votes

Quelle différence pour l'algorithme fait-il avoir une grande ou une petite valeur gamma?

Les gammas doivent correspondre à la taille de l'espace d'observation: vous devez utiliser des gammas plus grands (c'est-à-dire plus près de 1) pour les grands espaces d'état et les petits gammas pour les espaces plus petits.

Un moyen de penser à gamma est-il représente le taux de décomposition d'une récompense de l'état final et réussi.


0 commentaires