¿Cómo se pueden aplicar los gradientes de políticas en el caso de múltiples acciones continuas?

11

Trusted Region Policy Optimization (TRPO) y Proximal Policy Optimization (PPO) son dos algoritmos de gradientes de políticas de vanguardia.

Al usar una sola acción continua, normalmente, usaría alguna distribución de probabilidad (por ejemplo, gaussiana) para la función de pérdida. La versión aproximada es:

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

donde es la ventaja de las recompensas, se caracteriza por y que sale de la red neuronal como en el entorno Pendulum aquí: https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f /hw4/main.py .AP(a1)μσ2

El problema es que no puedo encontrar ningún documento sobre 2+ acciones continuas utilizando gradientes de políticas (no métodos de actor crítico que utilizan un enfoque diferente al transferir el gradiente de la función Q).

¿Sabes cómo hacer esto usando TRPO para 2 acciones continuas en el entorno LunarLander ?

¿Es correcto el siguiente enfoque para la función de pérdida de gradiente de política?

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

Evalds Urtans
fuente

Respuestas:

6

Como ha dicho, las acciones elegidas por Actor-Critic generalmente provienen de una distribución normal y es el trabajo del agente encontrar la media y la desviación estándar adecuadas en función del estado actual. En muchos casos, esta distribución es suficiente porque solo se requiere 1 acción continua. Sin embargo, a medida que dominios como la robótica se integran más con la IA, las situaciones en las que se requieren 2 o más acciones continuas son un problema creciente.

Hay dos soluciones a este problema: la primera y más común es que para cada acción continua, hay un agente separado que aprende su propia desviación estándar y media unidimensional. Parte de su estado incluye las acciones de los otros agentes también para dar contexto a lo que está haciendo todo el sistema. Comúnmente hacemos esto en mi laboratorio y aquí hay un documento que describe este enfoque con 3 agentes críticos actores que trabajan juntos para mover un brazo robótico.

n2nn+n2nn×n

Esta es una respuesta más general, pero debería ayudarlo a usted y a otros en sus problemas relacionados.

Jaden Travnik
fuente
1
Jaden gracias por una gran respuesta. 1. Probé la arquitectura de múltiples agentes, pero no es muy eficiente. Tarda mucho más en converger. 2. Ahora la distribución multivariante también me parece obvia, gracias.
Evalds Urtans
1
Dependiendo de la aplicación y la arquitectura (si es una red profunda), puede hacer que los agentes compartan características de bajo nivel y luego hacer que se ramifiquen en sus propias funciones de valor. Además, tener 1 crítico y múltiples actores también es una forma de aumentar la arquitectura.
Jaden Travnik
Por el momento, me gustaría aplicar sus sugerencias a TRPO (solo métodos de gradiente de políticas), no como actor crítico. No tengo mucha confianza en la transferencia de gradiente de crítico a actor: en muchas implementaciones he visto que parece que no debería funcionar a pesar de que converge.
Evalds Urtans
1
Perdón por esta pregunta novata: ¿Cómo se aplica esto en los métodos de actor crítico (donde el actor puede realizar múltiples acciones continuas simultáneas), donde el actor tiene la función de política y recibe capacitación por el método de gradiente de política? @JadenTravnik ¿Puede explicar eso en la respuesta bajo un nuevo encabezado?
Gokul NC