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

人工智能 深度学习 强化学习 政策梯度 近端策略优化 信任区域策略优化
2021-10-22 20:42:39

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

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

大号(θ)=日志((一个1))一个,

在哪里一个是奖励的优势,(一个1)的特点是μσ2就像在 Pendulum 环境中一样来自神经网络:https ://github.com/leomzhong/DeepReinforcementLearningCourse/blob/69e573cd88faec7e9cf900da8eeef08c57dec0f0/hw4/main.py 。

问题是我找不到任何关于使用策略梯度的 2+ 连续动作的论文(不是通过从 Q 函数转移梯度而使用不同方法的演员批评方法)。

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

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

大号(θ)=(日志(一个1)+日志(一个2))*一个

1个回答

正如您所说,Actor-Critic 选择的动作通常来自正态分布,代理的工作是根据当前状态找到适当的均值和标准差。在许多情况下,这种分布就足够了,因为只需要 1 个连续动作。然而,随着机器人等领域与人工智能的集成度越来越高,需要 2 个或更多连续动作的情况成为一个日益严重的问题。

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

第二种方法是让一个代理找到策略的多变量(通常是正态)分布虽然在理论上,这种方法可以通过基于协方差矩阵“旋转”分布来获得更简洁的策略分布,但这意味着协方差矩阵的所有值也必须被学习。这增加了必须学习的值的数量n从连续输出2n(平均值和标准差),到n+n2(n手段和n×n协方差矩阵)。这个缺点使得这种方法在文献中不那么流行。

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