J'ai un doute sur la formation exacte de la fonction de perte d'un réseau Deep Q-Learning. J'utilise un réseau feedforward à 2 couches avec une couche de sortie linéaire et des couches cachées relu.
- Supposons que j'ai 4 actions possibles. Ainsi, la sortie de mon réseau pour l'état actuel est . Pour le rendre plus concret, supposons
- Maintenant je passe à l'action correspondant à la valeur c'est à dire la 3ème action, et atteindre un nouvel état .
- Ensuite, je calcule la passe avant avec l'état et disons que j'obtiens les valeurs suivantes sur la couche de sortie . Disons aussi que la récompense, et .
La perte est-elle due à:
OU
OU
Merci, désolé d'avoir dû écrire ceci d'une manière très basique ... Je suis confus par toute la notation. (Je pense que la bonne réponse est la deuxième ...)
Réponses:
Après avoir revu les équations plusieurs fois. Je pense que la perte correcte est la suivante:
Mon raisonnement est que la règle de mise à jour q-learning pour le cas général ne met à jour la valeur q que pour unstate,action paire.
Cette équation signifie que la mise à jour se produit uniquement pour un spécifique paire d' et pour le réseau neuronal q, ce qui signifie que la perte est calculée uniquement pour une unité de sortie spécifique qui correspond à une spécifique .state,action action
Dans l'exemple fourni et la est .Q(s,a)=4.3 target r+γmaxa∗Q(s′,a∗)=11.1
la source
Cela n'aura probablement aucune importance à moins que vous n'ayez un grand espace d'action.
Si votre fonction de perte est MSE , alors la perte calculée est la moitié du terme perte spécifique (si espace d'action = 2). Cela peut être important si votre espace d'action est grand et peut ralentir l'entraînement car la pente de la fonction de perte est réduite d'un facteur égal à l'espace d'action de votre problème.
Comme vous l'avez mentionné, seules les valeurs q qui correspondent à l'action en cours effectuée sont mises à jour. Par conséquent, le numérateur de perte reste constant.
En supposant un espace d'action de 2 (valeurs possibles: {0,1}).
Si l'action sélectionnée était
1
alors la0
valeur e reste inchangée donc, elle s'annule et vice versa. Ainsi, tous les termes s'annulent à l'exception de l'action en cours. Cependant, le dénominateur continuerait à augmenter selon l'espace d'action.Pour un espace d'action de
n = 2
,la source