Maison > développement back-end > Golang > le corps du texte

Pourquoi mes valeurs Q-Learning explosent-elles ? Une histoire de récompenses gonflées et de limites à virgule flottante.

Mary-Kate Olsen
Libérer: 2024-10-26 00:50:28
original
702 Les gens l'ont consulté

 Why Are My Q-Learning Values Exploding? A Tale of Inflated Rewards and Floating Point Limits.

Valeurs Q-Learning dépassant le seuil

Dans une tentative de mise en œuvre de Q-Learning, un problème est survenu lorsque les valeurs d'état-action dépassaient le seuil limites d’une variable à virgule flottante double précision. L'implémentation initiale attribuait ce problème à l'utilisation de agent.prevState au lieu d'un tuple état-action. Cependant, la cause première a été identifiée comme étant le calcul du prevScore.

Comprendre le problème

Q-Learning met à jour la valeur de Q(s, a) en fonction du formule :

Q(s, a) = Q(s, a) + (LearningRate * (prevScore + (DiscountFactor * reward) - Q(s, a)))
Copier après la connexion

L'aspect crucial est que prevScore représente la récompense pour l'action d'état précédente, pas la valeur Q. Dans la mise en œuvre initiale, prevScore contenait la valeur Q de l'étape précédente au lieu de la récompense elle-même, ce qui entraînait des valeurs gonflées qui dépassaient la limite en virgule flottante.

Résolution

En révisant prevScore pour conserver la véritable récompense de l'étape précédente, le processus d'apprentissage s'est comporté comme prévu. La valeur maximale après 2 millions d'épisodes a été considérablement réduite et le modèle a montré un comportement raisonnable pendant le jeu.

Le rôle de la récompense

Il est important de noter l'influence de la fonction de récompense en apprentissage par renforcement. L’objectif est de maximiser la récompense totale attendue. Si une récompense est donnée pour chaque pas de temps, l’algorithme favorisera la prolongation du jeu, conduisant à des valeurs Q trop élevées. Dans cet exemple, l'introduction d'une récompense négative pour chaque pas de temps a encouragé l'agent à viser la victoire, ramenant les valeurs Q dans des limites appropriées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal