Comment appliquer des gradients de politique dans le cas de plusieurs actions continues?

11

Trusted Region Policy Optimization (TRPO) et Proximal Policy Optimization (PPO) sont deux algorithmes de gradients de politique de pointe.

Lorsque vous utilisez une seule action continue, normalement, vous utiliseriez une distribution de probabilité (par exemple, gaussienne) pour la fonction de perte. La version approximative est:

L(θ)=log(P(a1))A,

A est l'avantage des récompenses, P(a1) est caractérisé par μ et σ2 qui sort du réseau neuronal comme dans l'environnement Pendulum ici: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f0/h /main.py .

Le problème est que je ne trouve aucun article sur 2+ actions continues utilisant des gradients de politique (pas des méthodes d'acteur-critique qui utilisent une approche différente en transférant le gradient de la fonction Q).

Savez-vous comment faire cela en utilisant TRPO pour 2 actions continues dans l' environnement LunarLander ?

L'approche suivante est-elle correcte pour la fonction de perte de gradient de politique?

L(θ)=(JournalP(une)+JournalP(une2))UNE

Evalds Urtans
la source

Réponses:

6

Comme vous l'avez dit, les actions choisies par Actor-Critic proviennent généralement d'une distribution normale et c'est le travail de l'agent de trouver la moyenne et l'écart-type appropriés en fonction de l'état actuel. Dans de nombreux cas, cette seule distribution suffit car une seule action continue est requise. Cependant, à mesure que des domaines tels que la robotique s'intègrent davantage à l'IA, les situations où 2 actions continues ou plus sont nécessaires sont un problème croissant.

Il existe 2 solutions à ce problème: la première et la plus courante est que pour chaque action continue, un agent distinct apprend sa propre moyenne unidimensionnelle et son écart-type. Une partie de son état comprend également les actions des autres agents pour donner le contexte de ce que fait tout le système. Nous le faisons couramment dans mon laboratoire et voici un article qui décrit cette approche avec 3 acteurs acteurs-critiques travaillant ensemble pour déplacer un bras robotique.

n2nn+n2nn×n

Il s'agit d'une réponse plus générale, mais elle devrait vous aider, vous et les autres, à résoudre leurs problèmes connexes.

Jaden Travnik
la source
1
Jaden merci pour la bonne réponse. 1. J'ai essayé l'architecture multi-agents, mais elle n'est pas très efficace. La convergence prend beaucoup plus de temps. 2. Maintenant, la distribution multivariée me semble évidente aussi, merci.
Evalds Urtans
1
Selon l'application et l'architecture (s'il s'agit d'un réseau profond), vous pouvez faire en sorte que les agents partagent des fonctionnalités de bas niveau, puis les faire se ramifier dans leurs propres fonctions de valeur. De plus, avoir 1 critique et plusieurs acteurs est également un moyen d'augmenter l'architecture.
Jaden Travnik
Pour le moment, je voudrais appliquer vos suggestions à TRPO (juste des méthodes de gradient politique), pas à un acteur-critique. Je ne suis pas très confiant dans le transfert de gradient du critique à l'acteur - dans de nombreuses implémentations, j'ai vu qu'il semble que cela ne devrait pas fonctionner même s'il converge.
Evalds Urtans
1
Désolé pour cette question noob: comment cela est-il appliqué dans les méthodes d'acteur-critique (où l'acteur peut effectuer plusieurs actions continues simultanées), où l'acteur a la fonction de politique et est formé par la méthode du gradient de politique? @JadenTravnik Pouvez-vous expliquer cela dans la réponse sous un nouveau titre?
Gokul NC