2009-12-02 8 views
1

Imaginons que nous ayons un plan (x, y) où un robot peut se déplacer. Maintenant, nous définissons le milieu de notre monde comme l'état du but, ce qui signifie que nous allons donner une récompense de 100 à notre robot une fois qu'il atteint cet état. Maintenant, disons qu'il y a 4 états (que j'appellerai A, B, C, D) qui peuvent mener à l'état d'objectif.QApprentissage et épisodes interminables

La première fois que nous sommes en A et passer à l'état d'objectifs, nous mettrons à jour notre table QValues ​​comme suit:

Q(state = A, action = going to goal state) = 100 + 0 

L'une des deux choses peuvent se produire. Je peux terminer l'épisode ici, et en commencer un autre où le robot doit retrouver l'état du but, ou je peux continuer à explorer le monde même après avoir trouvé l'état du but. Si j'essaye de faire ceci, je vois un problème cependant. Si je suis dans l'état de but et de revenir à l'état A, il est qvalue sera le suivant:

Q(state = goalState, action = going to A) = 0 + gamma * 100 

Maintenant, si j'essaie d'aller de nouveau à l'état objectif de A:

Q(state = A, action = going to goal state) = 100 + gamma * (gamma * 100) 

Ce qui signifie que si je continue à faire cela, comme 0 < = gamma < = 0, les deux valeurs q vont augmenter pour toujours.

Est-ce le comportement attendu de QLearning? Est-ce que je fais quelque chose de mal? Si tel est le comportement attendu, cela ne peut-il pas entraîner des problèmes? Je sais que probabilistically, tous les 4 états (A, B, C et D), se développeront au même rythme, mais même si cela m'embête un peu à les faire grandir pour toujours. L'idée de permettre à l'agent de continuer à explorer même après avoir trouvé le but a à voir avec le fait que plus il est proche de l'état du but, plus il est susceptible d'être dans des états qui peuvent être mis à jour pour le moment.

+1

Je ne sais pas vraiment quoi que ce soit, mais ne serait-il pas logique de retirer la récompense du tableau une fois qu'il a été collecté? – Breton

+0

Votre idée ne semble pas mauvaise, mais je ne l'ai jamais vue nulle part. –

Répondre

2

C'est comme prévu, puisque l'estimation de Q est pas prévu récompense, il est le rendement prévu, qui est le (peut-être réduit par gamma) le montant de la récompense que je vous attendriez à tirer de cet état/action si j'ai commencé là et suivi ma politique jusqu'à la fin de l'épisode ou pour toujours.

Si vous me donnez des boutons, et que l'un de ces boutons produit toujours 1 $ lorsqu'il est pressé, la récompense réellement attendue pour appuyer sur ce bouton est de 1 $. Mais le vrai retour attendu pour appuyer sur le bouton est l'infini, en supposant que j'ai un nombre infini de chances de pousser un bouton.

+0

Je n'ai pas très bien compris votre point de vue. Il est clair pour moi que Q estimation n'est pas la récompense attendue, mais je ne vois pas à quoi ça sert si je laisse tout ça pendant toute la semaine, je vais trouver que les états près de l'objectif ont des Qvalues ​​près de 9M ou quelque chose, au lieu d'avoir une sorte de gradient avec 100 dans l'état du but et de plus en plus bas à mesure que je m'en éloignerai. –

+1

Indépendamment de l'état dans lequel il commence, il peut atteindre l'état du but en quelques étapes, après quoi il peut simplement afficher l'état du but aussi souvent qu'il le souhaite. Ainsi, le retour attendu de presque n'importe quelle paire état/action ira vers l'infini (ou la limite supérieure dictée par votre valeur gamma). Si vous souhaitez obtenir des valeurs Q significatives à partir d'une tâche continue, vous devez concevoir les récompenses pour qu'elles soient significatives. – kwatford