深度强化学习领域近期有什么新进展?( 二 )


DQN 和 A3C/A2C 都是非常强大的基线智能体 。但是在面对更加复杂的任务、严重的部分可观察性和/或动作与相关奖励信号之间存在较长延迟时 。这些智能体往往难以为继 。因此 。强化学习研究中有一整个子领域在致力于解决这些问题 。接下来我们看看其中一些优秀的研究 。
分层式强化学习(HRL)
分层式强化学习是一类从多个策略层学习的强化学习方法 。其中每一层都负责控制不同层面的时间和行为抽象 。最低层面的策略负责输出环境动作 。让更高层面的策略可以操作更抽象的目标和更长的时间尺度 。
为什么这种方法很吸引人?首先也是最重要的一点是在认知方面 。有很多研究都认为人类和动物行为都基于分层式结构 。这在日常生活中有直观的体现:当我决定做一顿饭时(实际上我基本从不做饭 。但为了合理论述 。就假设我是一个负责的人类吧) 。我会将这一任务分成多个更简单的子任务(切蔬菜、煮面条等) 。但绝不会忽视我要做饭的总体目标;我甚至还能切换不同的子任务来完成同样的目标 。比如不煮面条而是蒸饭 。这说明真实世界任务中存在固有的层次结构和组合性质 。因此可将简单的基础动作串接、重复或组合起来以完成复杂的工作 。近些年的一些研究甚至发现 HRL 组件与前额叶皮质中的特定神经结构之间存在直接的相似性 。
从技术方面看 。HRL 尤其引人注目 。因为它能帮助解决我们前文提到的第二个问题的两大挑战:如何有效地从经历中学习(比如长期信用分配、稀疏奖励信号) 。在 HRL 中 。因为低层策略是基于高层策略分配的任务从内在奖励中学习的 。所以尽管奖励稀疏 。基础任务仍可得以学习 。此外 。高层策略发展起来的时间抽象让我们的模型可以根据时间上延展的经历来处理信用分配问题 。
所以 HRL 的工作方式是怎样的?目前有一些各不相同的方法都能实现 HRL 。Google Brain 近期的一篇论文采用了一种尤其清晰和简单的方法 。并为数据高效型训练引入了一些很好的离策略修正方法 。他们的模型名为 HIRO:https://arxiv.org/pdf/1805.08296.pdf 。

深度强化学习领域近期有什么新进展?

文章插图
μ_hi 是高层面的策略 。其为低层面的策略输出需要实现的「目标状态」 。μ_lo 是低层面的策略 。输出环境动作以试图达成其目标状态观察 。
其设计思路是有两个策略层 。高层策略的训练目标是最大化环境奖励 R 。每 c 个时间步骤 。高层策略都会采样一个新动作 。这是低层策略所要达成的「目标状态」 。低层策略的训练目标是选取合适的环境动作 。使其能产生类似于给定目标状态的状态观察 。
举一个简单的例子:假设我们在训练一个机器人以特定的顺序堆叠彩色方块 。我们仅有单个奖励 +1 在任务成功最终完成时给出 。所有其它时间步骤的奖励都是 0 。直观地说 。高层策略负责提出所要完成的必要子目标:也许它输出的第一个目标状态是「观察到一个红色方块在你面前」 。第二个目标状态可能是「观察到蓝色方块在红色方块旁边」 。然后是「观察到蓝色方块在红色方块上面」 。低层策略在环境中探索 。直到其找到用于产生这些观察结果所必需的动作序列 。比如选取一个蓝色方块并将其移动到红色方块之上 。
HIRO 使用了 DDPG(深度确定性策略梯度)训练目标的一种变体来训练低层策略 。其内在奖励被参数化为了当前观察与目标观察之间的距离:
深度强化学习领域近期有什么新进展?

文章插图
DDPG 是又一种影响深远的深度强化学习算法 。其将 DQN 的思想扩展到的连续动作空间 。这也是一种 actor-critic 方法 。使用策略梯度来优化策略;但不同于 A3C 中那样根据优势来优化策略 。它是根据 Q 值来进行优化 。因此在 HIRO 中 。所要最小化的 DDPG 邻近误差就变成了:
深度强化学习领域近期有什么新进展?

文章插图
同时 。为了使用离策略的经历 。高层策略使用了离策略修正来进行训练 。其思想是:为了提升样本效率 。我们希望使用某种形式的重放缓存 。就像 DQN 一样 。但是 。过去的经历不能直接用于训练高层策略 。这是因为低层策略会持续学习和改变 。所以就算我们设置了与过去经历一样的目标 。低层策略还是可能表现出不同的动作/转换 。HIRO 中提出的离策略修正是为了回溯性地修改在离策略经历中看到的目标 。从而最大化所观察到的动作序列的可能性 。换句话说 。如果重放经历表明过去的智能体采取动作 (x,y,z) 能达成目标 g 。那么我们就寻找一个目标 g? 。使得它能让当前的智能体最有可能采取同样的动作 (x,y,z) 。即能够最大化该动作序列的对数概率(如下式)的动作 。

推荐阅读