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

Reinforcement learning for continuous state and action space

问题

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

我的方法详情

当前状态是表示对象在环境中的位置(3 维)和对象速度(3 维)的向量。起始位置在环境中随机初始化,起始速度也是如此。

动作是表示从状态t移动到状态t+1.

的向量

奖励只是预测的下一个状态和真实的下一个状态之间的欧氏距离(我已经有目标位置)。

到目前为止我做了什么?

我一直在寻找很多方法来做到这一点。 Deep Deterministic Policy Gradients 适用于连续动作 space,但在我的例子中,我也有一个连续状态 space。如果您对这种方法感兴趣,请参阅 DeepMind 的原始论文: http://proceedings.mlr.press/v32/silver14.pdf

Actor-Critic 方法应该可行,但它通常(或总是)应用于离散和低维状态 space。

Q-LearningDeep-Q Learning无法处理高维状态space,所以我的配置不起作用即使离散化状态 space.

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

看来 this 是一篇值得一看的好论文。如果动作 space 未离散化,则很难从巨大的连续状态 space 中指定或 select 动作。当动作 space 被离散化时,可能会导致大量信息丢失。提出的算法从离散化 space 中策略网络初始化的动作开始。然后,它在连续 space.

中使用置信上限 (UCB) 探索和评估价值网络的行动

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

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

  1. 首先,深度确定性策略梯度(DDPG)可以肯定处理连续的状态和动作。它之所以如此出名,只是因为它。此外,它是有史以来第一个 stable 架构。此外,您 link 编辑的论文实际上是 DPG,而不是 DDPG。然而,DDPG 和 DPG 都可以处理连续的状态和动作,只是后者不稳定得多。这篇论文实际上是由我在 UofA 的 "senior" 发表的。这是 DDPG 的 link:https://arxiv.org/pdf/1509.02971.pdf.

  2. Actor-critic RL 不是一种算法,而是一系列 RL 算法,其中 actor 将状态映射到动作,而 critic "pre-processes" 是反馈信号,因此 actor 可以更有效地学习它。 DDPG 是演员评论家设置的一个例子。在 DDPG 中,DQN 被用作 critic 来预处理反馈信号到确定性策略梯度(actor)。

  3. Q-learning 和深度 Q-learning 也是 RL 算法家族。鉴于计算能力不足,Q-learning 当然无法处理高状态 spaces,但是,深度 Q-learning 肯定可以。一个例子是深度 Q 网络。

回到原来的问题。

我几乎可以保证你可以用DDPG解决你的问题。事实上,DDPG 仍然是仅有的可用于控制 agent 处于连续状态、连续动作的算法之一 space.

另一种可以做到这一点的方法称为信任区域策略优化 (TRPO)。它由 UC Bekelery 团队(以及 OpenAI?)开发。 TRPO 和 DDPG 的基本结构相同(都是 actor-critic),但是训练方式不同。 DDPG 使用目标网络方法来保证收敛和稳定性,而 TRPO 对网络的更新施加 Kullerback-Leibler 散度约束以确保网络的每次更新不会太大(即网络在 t 的最优策略不会相差太大)从 t - 1)。 TRPO 非常难以编码,因此,OpenAI 发表了另一篇名为 Proximal Policy Gradient (PPO) 的论文。这种方法类似于TRPO,但更容易实现。

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