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

问题

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

我的方法详情

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

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

奖励只是预测的下一状态与真实的下一状态之间的欧几里得距离(我已经有了目标位置)。

我目前做了什么?

我一直在寻找许多方法来实现这一点。深度确定性策略梯度适用于连续动作空间,但在我的情况下,我也有一个连续的状态空间。如果你对这种方法感兴趣,这里是DeepMind撰写的原始论文:http://proceedings.mlr.press/v32/silver14.pdf

演员-评论家方法应该有效,但它通常(或总是)应用于离散和低维的状态空间。

Q学习深度Q学习无法处理高维状态空间,因此即使对状态空间进行离散化,我的配置也无法工作。

逆向强化学习(模仿学习的一个实例,包括行为克隆直接策略学习)在寻找奖励函数比寻找策略函数更复杂时,近似一个奖励函数。这是一种有趣的方法,但我还没有看到任何实现,而且在我的情况下,奖励函数非常简单。是否有我尚未探索的处理我的配置的方法?


回答:

在你的问题中,我认为可能存在很多混淆和误解。

  1. 首先,深度确定性策略梯度(DDPG)绝对可以处理连续的状态和动作。正是因为这一点,它才如此出名。它也是第一个能够稳定地做到这一点的架构。此外,你链接的论文实际上是DPG,而不是DDPG。然而,DDPG和DPG都可以处理连续的状态和动作,但后者更加不稳定。这篇论文实际上是由我在亚利桑那大学的“前辈”发表的。这是DDPG的链接:https://arxiv.org/pdf/1509.02971.pdf

  2. 演员-评论家RL不是一种算法,而是一类RL算法,其中演员将状态映射到动作,而评论家“预处理”反馈信号,以便演员可以更有效地学习它。DDPG就是演员-评论家设置的一个例子。在DDPG中,使用DQN作为评论家来预处理反馈信号到确定性策略梯度(演员)。

  3. Q学习和深度Q学习也是一类RL算法。考虑到计算能力不足,Q学习当然无法处理高维状态空间,然而,深度Q学习当然可以。一个例子是深度Q网络。

回到最初的问题。

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

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

长话短说,我建议尝试DDPG,因为如果你说的任务很简单,DDPG肯定会有效。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注