Como os gradientes de políticas podem ser aplicados no caso de várias ações contínuas?

11

O Trusted Region Policy Optimization (TRPO) e o Proximal Policy Optimization (PPO) são dois algoritmos avançados de gradientes de políticas.

Ao usar uma única ação contínua, normalmente, você usaria alguma distribuição de probabilidade (por exemplo, Gaussiana) para a função de perda. A versão aproximada é:

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

onde A é a vantagem das recompensas, P(a1) é caracterizado por μ e σ2 que saem da rede neural como no ambiente do pêndulo aqui: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f0/hw4 /main.py .

O problema é que não consigo encontrar nenhum trabalho sobre mais de 2 ações contínuas usando gradientes de política (não métodos críticos de ator que usam uma abordagem diferente ao transferir gradiente da função Q).

Você sabe como fazer isso usando o TRPO para 2 ações contínuas no ambiente LunarLander ?

A abordagem a seguir está correta para a função de perda de gradiente de política?

L(θ)=(logP(a)+logP(a2))A

Evalds Urtans
fonte

Respostas:

6

Como você disse, as ações escolhidas pelo Criador de atores geralmente vêm de uma distribuição normal e é tarefa do agente encontrar a média e o desvio padrão apropriados com base no estado atual. Em muitos casos, essa distribuição é suficiente porque apenas 1 ação contínua é necessária. No entanto, à medida que domínios como a robótica se tornam mais integrados à IA, situações em que são necessárias 2 ou mais ações contínuas são um problema crescente.

Existem 2 soluções para esse problema: A primeira e mais comum é que, para cada ação contínua, haja um agente separado aprendendo sua própria média unidimensional e desvio padrão. Parte de seu estado inclui as ações dos outros agentes, bem como para contextualizar o que todo o sistema está fazendo. Geralmente fazemos isso no meu laboratório e aqui está um artigo que descreve essa abordagem com três agentes críticos de ator trabalhando juntos para mover um braço robótico.

n2nn+n2nn×n

Esta é uma resposta mais geral, mas deve ajudar você e outras pessoas nos problemas relacionados.

Jaden Travnik
fonte
11
Jaden obrigado pela ótima resposta. 1. Tentei a arquitetura multi-agente, mas não é muito eficiente. Leva muito mais tempo para convergir. 2. Agora, a distribuição multivariada também me parece óbvia, obrigado.
Evalds Urtans
11
Dependendo do aplicativo e da arquitetura (se for uma rede profunda), é possível que os agentes compartilhem recursos de baixo nível e depois ramifiquem-se em suas próprias funções de valor. Além disso, ter 1 crítico e vários atores também é uma maneira de aumentar a arquitetura.
Jaden Travnik
No momento, gostaria de aplicar suas sugestões ao TRPO (apenas métodos de gradiente de políticas), não ao ator crítico. Não estou muito confiante na transferência de gradiente de crítico para ator - em muitas implementações, vi que parece que ele não deve funcionar, mesmo que converja.
Evalds Urtans
11
Desculpe pela pergunta noob: como isso é aplicado nos métodos críticos do ator (onde o ator pode executar várias ações contínuas simultâneas), onde o ator tem a função de política e é treinado pelo método de gradiente de política? @JadenTravnik Você pode explicar isso na resposta sob um novo cabeçalho?
Gokul NC