Maison > développement back-end > Golang > Pourquoi mes valeurs Q-Learning sont-elles si élevées ? Une solution pour des récompenses attendues illimitées.

Pourquoi mes valeurs Q-Learning sont-elles si élevées ? Une solution pour des récompenses attendues illimitées.

DDD
Libérer: 2024-10-30 02:01:02
original
398 Les gens l'ont consulté

 Why are my Q-Learning Values So High?  A Solution to Unbounded Expected Rewards.

Les valeurs de Q-Learning deviennent excessivement élevées

Vous avez rencontré un problème courant dans les implémentations de Q-Learning : les valeurs état-action deviennent trop élevées. Explorons ce problème et proposons une solution.

Comprendre le problème

Votre agent tente de maximiser la récompense totale attendue. Cependant, votre fonction de récompense renvoie des récompenses positives pour la poursuite du jeu (0,5). Cela incite l'agent à prolonger les jeux indéfiniment, ce qui entraîne une récompense totale attendue illimitée et des valeurs Q excessivement élevées.

Solution : ajuster la fonction de récompense

Pour résoudre ce problème , ajustez votre fonction de récompense pour fournir des récompenses négatives à chaque pas de temps. Cela pénalisera l'agent qui prolonge les jeux et l'encouragera à rechercher une stratégie gagnante. Par exemple, vous pouvez utiliser le système de récompense suivant :

  • Gagner : 1
  • Perdre : -1
  • Nul : 0
  • Le jeu continue : -0,1

Considérations d'implémentation

Dans votre code, vous utilisez agent.prevScore comme récompense pour l'action d'état précédente. Cependant, il devrait s'agir de la récompense réelle reçue, et non de la valeur Q. Effectuez cet ajustement dans votre code :

<code class="go">agent.values[mState] = oldVal + (agent.LearningRate *
    (reward - agent.prevScore))</code>
Copier après la connexion

Comportement attendu

Après avoir mis en œuvre ces modifications, vous devez observer le comportement suivant :

  • Les valeurs Q doivent rester limitées et dans une plage raisonnable.
  • L'agent doit apprendre à se concentrer sur la victoire plutôt que sur la prolongation des parties.
  • La valeur maximale signalée par le modèle doit être nettement inférieure.

Gardez à l'esprit que les algorithmes d'apprentissage par renforcement présentent parfois des comportements non intuitifs, et comprendre les principes sous-jacents est crucial pour développer des solutions efficaces.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal