Génération de `` nouvelles probabilités logarithmiques '' dans l'espace d'action continue PPO

Aug 27 2020

J'ai une question conceptuelle pour vous tous que j'espère pouvoir exprimer clairement. Je construis un agent RL à Keras en utilisant PPO continu pour contrôler un laser attaché à une tourelle panoramique / inclinaison pour le suivi de la cible. Ma question est de savoir comment la nouvelle politique est mise à jour. Ma mise en œuvre actuelle est la suivante

  1. Faire une observation (distance du laser à la cible en panoramique et inclinaison)
  2. Passer l'observation au réseau d'acteurs qui génère une moyenne (std pour l'instant est fixe)
  3. J'échantillonne d'un gaussien avec la sortie moyenne de l'étape 2
  4. Appliquez la commande et observez la récompense (distance 1 / L2 par rapport à la cible)
  5. collecter N étapes d'expérience, calculer l'avantage et les anciennes probabilités de log,
  6. former l'acteur et le critique

Ma question est la suivante. J'ai mes anciennes probabilités log (probabilités des actions entreprises compte tenu des moyens générés par le réseau d'acteurs), mais je ne comprends pas comment les nouvelles probabilités sont générées. Au début du tout premier minibatch, ma nouvelle politique est identique à mon ancienne politique car il s'agit du même réseau neuronal. Étant donné que dans la fonction model.fit, je transmets le même ensemble d'observations pour générer des valeurs 'y_pred', et que je transmets les actions réelles prises en tant que mes valeurs 'y_true', la nouvelle politique devrait générer exactement les mêmes probabilités de log que mon ancien. La seule (légère) variation qui fait la mise à jour du réseau provient du bonus d'entropie, mais mon score np.exp (new_log_probs-old.log_probs) est presque identique à 1 car les politiques sont les mêmes.

Dois-je utiliser une paire de réseaux similaires à DDQN afin qu'il y ait des différences initiales dans les politiques entre celle utilisée pour générer les données et celle utilisée pour la formation?

Réponses

2 HaiNguyen Aug 27 2020 at 14:30

L'idée dans PPO est que vous souhaitez réutiliser le lot plusieurs fois pour mettre à jour la stratégie actuelle. Cependant, vous ne pouvez pas mettre à jour sans réfléchir de manière régulière d'acteurs-critiques, car votre politique pourrait s'éloigner trop du point optimal.

Cela signifie que vous répétez votre étape 6. epochnombre de fois pour le même lot de trajectoires. Il epochse situe généralement entre 3 et 30, mais c'est un hyper-paramètre que vous devez ajuster. Pour la première répétition , l'ancienne et la nouvelle politique sont les mêmes, donc leur ratio devrait être 1. Après la première mise à jour, les nouvelles probabilités changeront en raison de la politique mise à jour, alors que vous devrez toujours utiliser les anciennes probabilités vous donnant un ratio différent de 1. Les anciennes probabilités resteront les mêmes pendant ces epochétapes de mise à jour, tandis que vos nouvelles probabilités continueront de changer.