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

问题

我的目标是应用强化学习来预测一个在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

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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