Question

Supposons que nous sommes dans une pièce où notre agent peut se déplacer le long de l'axe xx et yy. A chaque point, il peut se déplacer, vers le bas, à droite et à gauche. Ainsi, notre espace d'état peut être défini par (x, y) et nos actions à chaque point sont données par (haut, bas, droite, gauche). Supposons que chaque fois que notre agent fait une action qui va lui faire frapper un mur nous lui donnerons une récompense négative de -1, et le remettre dans l'état où il était avant. S'il trouve dans le centre de la pièce une marionnette il gagne 10 récompense.

Lorsque nous mettons à jour notre qvalue pour une paire d'Etat / action donnée, nous voyons quelles actions peuvent se faire dans le nouvel état et l'informatique ce qui est le qvalue maximum est possible d'y arriver, afin que nous puissions mettre à jour notre Q (s a) la valeur de notre état actuel / action. Ce que cela signifie est que si nous avons un état de but dans le point (10, 10), tous les États qui l'entourent auront un qvalue un peu plus petit et plus petit à mesure qu'ils plus loin. Maintenant, en relation avec les murs, il me semble même n'est pas vrai.

Lorsque l'agent frappe un mur (supposons qu'il est dans la position (0, 0) et a fait l'UP d'action), il recevra pour cet état / l'action une récompense de -1, obtenant ainsi un qvalue de -1.

Maintenant, si je suis plus tard dans l'état (0, 1), et en supposant que toutes les autres actions de l'Etat (0,0) 0 sont nuls, lors du calcul du qvalue de (0, 1) pour la gauche d'action, il le calculer de la manière suivante:

Q([0,1], LEFT) = 0 + gamma * (max { 0, 0, 0, -1 } ) = 0 + 0 = 0

Ceci est, après avoir touché le mur ne se propage pas aux États voisins, contrairement à ce qui se passe lorsque vous avez des états de récompense positifs.

Dans mon optique cela semble étrange. Au début, je pensais trouver état / paires d'actions donnant des récompenses négatives serait learningwise aussi bon que les récompenses positives, mais de l'exemple que je l'ai montré ci-dessus, cette déclaration ne semble pas vrai. Il semble y avoir un biais dans l'algorithme pour prendre beaucoup plus en considération les récompenses positives que négatives.

Est-ce le comportement attendu de QLearning? Ne devraient pas être mauvaises récompenses tout aussi important que les effets positifs? Quels sont pour cela?

« contournements »
Était-ce utile?

La solution

Vous pouvez éviter des prix négatifs en augmentant la récompense par défaut de 0 à 1, la récompense de but 10 et 11, et la peine -1 à 0.

Il y a des tonnes de publications scientifiques sur Q-learning, donc je suis sûr qu'il ya d'autres formulations qui permettraient une rétroaction négative.

EDIT: Je me suis trompé, cela ne change pas le comportement comme je l'ai dit plus tôt. Mon processus de pensée a été que la formulation avec rétroaction négative pourrait être remplacé par un sans.

La raison de votre observation est que vous avez pas d'incertitude sur le résultat de vos actions ou de l'état où il est, par conséquent, votre agent peut toujours choisir l'action qu'il croit a la récompense optimale (donc, la valeur Q max sur tous les actions futures). Voilà pourquoi votre rétroaction négative ne se propage pas. L'agent va tout simplement éviter que l'action dans l'avenir

Si, cependant, votre modèle comprendrait l'incertitude sur le résultat de vos actions (par exemple, il y a toujours une probabilité de 10% de se déplacer dans une direction aléatoire), votre règle d'apprentissage devrait intégrer sur toutes les récompenses futures possibles (remplaçant essentiellement au maximum par une somme pondérée). Dans ce cas, la rétroaction négative peut se propager aussi (ce qui est la raison pour laquelle je pense qu'il devrait être possible: p). Des exemples de tels modèles sont POMDP .

Autres conseils

commentaires négatifs seulement quand il se propage est la seule issue possible d'un mouvement particulier.

Que ce soit délibéré ou non, je ne sais pas.

réponse à votre question dans le livre de « l'apprentissage par renforcement: Introduction », qui a une section de « Maximisation Bias et double apprentissage »

.

L'algorithme « Q-Learing » présente un inconvénient, où un maximum par rapport aux valeurs estimées est utilisé implicitement comme une estimation de la valeur maximale, ce qui peut conduire à une polarisation positive significative.

L'algorithme « Double Q-Learning » peut éviter les biais de maximisation et de résoudre votre question, vous devez apprendre deux estimations indépendantes, appelées Q_1 (a) et Q_2 (a). Ici, je colle le pseudocode pour vous: Double Q-Learning

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top