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


在这下一个状态变量上的先验和后验概率分布之间的 KL 距离 。其中后验分布还额外有新观察的条件 。最小化这个 KL 距离能确保新状态变量与之前的观察/动作保持一致 。
状态变量的重构损失;我们试图在这个状态变量中重现输入的观察(比如图像、之前的动作等)并基于该状态变量预测奖励 。如果这个损失很小 。说明我们就找到了一个能准确表征该观察的状态变量 。而且它还可用于产生能得到高奖励的动作 。
下式就是我们最终的 VLB 损失 。其中第一项是重构损失 。第二项是 KL 距离:

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

文章插图
这个策略网络的损失是我们上文讨论过的 A3C 的策略梯度损失的稍微更好的版本;它使用的算法被称为「广义优势估计算法」 。其细节超出了本文的覆盖范围(但能在 MERLIN 论文附录的 4.4 节找到) 。但其看起来就类似于下面给出的标准的策略梯度更新:
深度强化学习领域近期有什么新进展?

文章插图
一旦训练完成 。MERLIN 应该就能通过状态表征和记忆来预测性地建模世界 。其策略也应该能够利用这些预测来选取有用的动作 。
MERLIN 并不是唯一一个使用外部记忆存储的深度强化学习研究 。早在 2016 年 。就有研究者将这一思想用在了 MQN(记忆 Q 网络)中来解决 Minecraft 中的迷宫问题:https://arxiv.org/pdf/1605.09128.pdf ;但使用记忆作为世界的预测模型的概念具有一些独特的神经科学方面的推动力 。有一篇 Medium 文章(https://goo.gl/cVjQK5)很好地解释了这一思想 。所以这里就不再重复了 。只说说其关键论点:不同于对大多数神经网络的解释 。我们的大脑很可能不是以「输入-输出」机器的方式运作的 。相反 。其工作方式类似与一个预测引擎 。我们对世界的感知实际上只是大脑对于我们的感官输入的原因的最佳猜测 。神经科学家 Amil Seth 对 Hermann von Helmholtz 在 19 世纪提出的这一理论进行了很好的总结:
大脑被锁在颅骨中 。它所接受的都是模糊和有噪声的感官信号 。这些信号仅与世界中的物体存在间接的关联 。因此 。感知必然是一个推理过程 。其中非确定性的感官信号会与对世界的先前预期或「信念」结合起来 。以构建大脑对这些感官信号的原因的最佳假设 。
MERLIN 的基于记忆的预测器的目标正是实现这种预测推理 。它会对观察进行编码 。然后将它们与内在的先验结合起来 。从而生成一个涵盖输入的某些表征(或原因)的「状态变量」 。这些状态会被存储在长期记忆中以便智能体之后能基于它们采取行动 。
智能体、世界模型和想象
有意思的是 。大脑类似预测引擎的概念会将我们带回我们想要探究的第一个强化学习问题:如何从环境中有效地学习?如果我们不能直接根据观察得到动作 。那么我们又该如何最好地与周遭环境交互并从中学习呢?
在强化学习领域 。传统的做法要么是无模型学习 。要么是基于模型的学习 。无模型强化学习是学习直接将原始的环境观察映射到价值或动作 。基于模型的强化学习则是首先学习一个基于原始观察的环境的过渡模型 。然后使用该模型来选择动作 。
深度强化学习领域近期有什么新进展?

文章插图
图中外圈表示基于模型的强化学习 。包含「direct RL」的内圈表示无模型强化学习 。
比起无模型学习中单纯的试错方法 。基于模型进行规划的样本效率要高得多 。但是 。学习优良的模型往往非常困难 。因为模型不完美造成的误差往往会导致智能体表现糟糕 。因为这个原因 。深度强化学习领域内很多早期的成功研究(比如 DQN 和 A3C)都是无模型的 。
话虽如此 。1990 年的 Dyna 算法(https://goo.gl/5zrqES)就已经模糊了无模型和基于模型的强化学习方法之间的界线 。其中使用了一个学习后的模型来生成模拟的经历 。以帮助训练无模型策略 。现在 。已有研究将这两种方法直接组合到了一起 。即「想象力增强的智能体」算法(I2A 。https://arxiv.org/abs/1707.06203) 。
在 I2A 中 。最终策略是一个与无模型组件和基于模型的组件相关的函数 。基于模型的组件被称为该智能体对世界的「想象」 。其由该智能体内部的学习后的模型所产生的想象轨迹组成 。但是 。其关键的地方在于基于模型的组件的末端还有一个编码器 。它会将想象轨迹聚合到一起并解读它们 。使得智能体能学习在有必要时忽略自己的想象 。也就是说 。如果智能体发现其内部模型投射的轨迹是无用的和不准确的 。那么它就可以学会忽视该模型并使用其无模型分支进行处理 。