在多个连续动作的情况下,如何应用策略梯度?


11

可信区域策略优化(TRPO)和近端策略优化(PPO)是两种最先进的策略梯度算法。

通常,当使用单个连续动作时,将对损失函数使用一些概率分布(例如,高斯分布)。粗略的版本是:

大号θ=日志P一个1个一个

其中一个是奖励的优点,P一个1个的特征在于,μσ2附带像钟摆环境神经网络在这里:https://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f0/hw4 /main.py

问题是我无法使用策略梯度找到有关2种以上连续动作的任何论文(不是通过从Q函数转移梯度而使用不同方法的参与者批评方法)。

您知道如何使用TRPO在LunarLander环境中进行2次连续动作吗?

以下方法对策略梯度损失函数是否正确?

大号θ=日志P(a)+logP(a2))A

Answers:


6

如您所说,Actor-Critic选择的动作通常来自正态分布,而代理商的工作是根据当前状态找到合适的均值和​​标准差。在许多情况下,这种分布就足够了,因为只需要执行一次连续操作即可。但是,随着诸如机器人技术之类的领域与AI的集成度越来越高,要求2个或更多连续动作的情况成为一个日益严重的问题。

有两个解决方案:第一个也是最常见的解决方案是,对于每个连续动作,都有一个单独的代理学习其自己的一维均值和标准差。其状态的一部分还包括其他代理的动作,以提供整个系统正在做什么的上下文。我们通常在我的实验室中执行此操作,这是一篇论文,其中描述了这种方法,其中3个行为批评者协同工作以移动机械臂。

n2nn+n2nn×ñ

这是一个比较笼统的答案,但应该可以帮助您和其他人解决相关问题。


1
Jaden感谢您的出色回答。1.我尝试了多智能体架构,但是效率不高。收敛需要更长的时间。2.现在,对我来说,多元分布也很明显,谢谢。
Evalds Urtans

1
根据应用程序和体系结构(如果它是一个深层网络),您可以让代理共享低级功能,然后让它们分支成自己的价值功能。此外,拥有1位评论家和多个演员也是增加架构的一种方法。
贾登·特拉夫尼克

目前,我想将您的建议应用于TRPO(只是政策梯度方法),而不是批评者。我对从评论家到演员的渐变过渡不是很有信心-在许多实现中,我看到它似乎收敛了,但似乎不起作用。
Evalds Urtans

1
对这个菜鸟问题感到抱歉:在行为者批判方法(行为者可以执行多个同时的连续动作)中,行为者具有策略功能并通过策略梯度方法进行训练时,该方法如何应用?@JadenTravnik您能在新标题下的答案中解释一下吗?
Gokul NC
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.