Python 连续状态和动作空间的强化学习

Python 连续状态和动作空间的强化学习,python,machine-learning,artificial-intelligence,reinforcement-learning,Python,Machine Learning,Artificial Intelligence,Reinforcement Learning,问题 我的目标是在3D环境中应用强化学习来预测物体在已知力下的下一个状态(该方法将简化为监督学习、离线学习) 我的方法的详细信息 当前状态是表示对象在环境中的位置(三维)和速度(三维)的向量。在环境中随机初始化起始位置以及起始速度 动作是表示从状态t到状态t+1的移动的向量 奖励就是预测的下一个状态和真实的下一个状态之间的欧几里德距离(我已经有了目标位置) 到目前为止我做了什么? 我一直在寻找很多方法来做到这一点。深度确定性策略梯度适用于连续的动作空间,但在我的例子中,我也有一个连续的状态空间。

问题

我的目标是在3D环境中应用强化学习来预测物体在已知力下的下一个状态(该方法将简化为监督学习、离线学习)

我的方法的详细信息

当前状态是表示对象在环境中的位置(三维)和速度(三维)的向量。在环境中随机初始化起始位置以及起始速度

动作是表示从状态t到状态t+1的移动的向量

奖励就是预测的下一个状态和真实的下一个状态之间的欧几里德距离(我已经有了目标位置)

到目前为止我做了什么?

我一直在寻找很多方法来做到这一点。深度确定性策略梯度适用于连续的动作空间,但在我的例子中,我也有一个连续的状态空间。如果您对这种方法感兴趣,以下是DeepMind的原始论文:

参与者-批评家方法应该有效,但它通常(或总是)应用于离散和低维状态空间

Q-Learning和Deep-Q-Learning无法处理高维状态空间,因此即使将状态空间离散化,我的配置也无法工作

反向强化学习(模仿学习的一个实例,带有行为克隆和直接策略学习)在发现奖励函数比发现策略函数更复杂时近似于奖励函数。有趣的方法,但我还没有看到任何实现,在我的例子中,奖励函数非常简单。 有没有一种方法来处理我的配置,我还没有探讨过呢?

似乎是一篇很好的论文。如果动作空间没有离散化,那么很难从巨大的连续状态空间中指定或选择动作。当动作空间离散化时,可能会导致信息的重大损失。该算法从离散空间中策略网络初始化的动作开始。然后,在连续空间中使用置信上限(UCB)对价值网络中的行为进行探索和评估


还有几篇论文可能值得一看,但上面的论文是最新的一篇。希望这能有所帮助。

在你的问题中,我相信可能会有很多困惑和误解

  • 首先,深度确定性策略梯度(DDPG)可以明确地处理连续的状态和动作。它之所以如此出名,仅仅是因为它。而且,它是有史以来第一个这样做的稳定体系结构。另外,你链接的文件实际上是DPG,而不是DDPG。然而,DDPG和DPG都可以处理连续状态和动作,但后者更不稳定。这篇论文实际上是由我在大华的“前辈”发表的。以下是DDPG的链接:

  • 演员-评论家RL不是一个算法,而是一系列RL算法,演员将状态映射到动作,而评论家“预处理”反馈信号,以便演员能够更有效地学习。DDPG是演员-评论家组合的一个例子。在DDPG中,一个DQN被用作一个批评家来预处理反馈信号到确定性策略梯度(actor)

  • Q-学习和深度Q-学习也是RL算法家族。在计算能力不足的情况下,Q-学习当然不能处理高状态空间,然而,深度Q-学习当然可以。一个例子是深度Q网络
  • 回到原来的问题

    我几乎可以保证您可以使用DDPG解决您的问题。事实上,DDPG仍然是唯一可用于在连续状态、连续动作空间中控制agent的算法之一

    另一种方法称为信任区域策略优化(TRPO)。它是由UC Bekelery团队(以及OpenAI?)开发的。TRPO和DDPG的基本结构是相同的(都是演员-评论家),但是训练是不同的。DDPG使用目标网络方法来保证收敛性和稳定性,而TRPO对网络的更新施加Kullerback-Leibler发散约束,以确保网络的每次更新不会太大(即,t处网络的最优策略与t-1没有太大差异)。TRPO极难编码,因此,OpenAI发表了另一篇论文,称为“近端策略梯度”(PPO)。此方法类似于TRPO,但更易于实现


    长话短说,我建议您尝试DDPG,因为如果您的任务像您所说的那样简单,DDPG肯定会工作。

    DDPG使用连续状态空间,并且是一种演员-评论家算法。您好,感谢您的澄清。我有一个包含状态数组(6维)和操作数组(6维)的日志。这两个数组包含连续变量。你认为可以用DDPG处理吗?我明确地读到动作空间可以是连续的,但是这种方法返回动作的单个实数(在我的例子中,我有一个向量)。谢谢嗨,毛罗,这个问题对DDPG来说应该是完全好的。在第12页的DDPG论文中,它列出了它成功完成的所有不同的物理任务。从列表中可以看出,一些活动具有dim(37)状态,dim(12)动作,并且可以观察到100多个不同的特征。TRPO和DDPG结构之间的一个关键区别是,DDPG为关闭策略,TRPO为打开策略。DDPG的优点是它的采样效率更高(重放缓冲区),但稳定性可能更低。TRPO是随机政策梯度的一个例子。另一方面,DDPG学习确定性策略,这会影响代理在具有别名状态的特定环境中运行的能力。