怎样评价Google Brain近期提出的World Models

强化学习有两大流派,model based和model free,区别在于agent是否对环境建模。而在model based方法中,模型的选用面临一个矛盾:
一方面,为了更有效地学习环境,需要更强大、表达力更高的模型。另一方面,强化学习难以学习大型模型数以百万计的权重(奖励分配的搜索空间太大)。
既然模型的规模主要受奖励分配的搜索空间限制,而更大、更复杂的模型主要优势在于学习环境,因此,可不可以将模型拆开呢?让一个较大的复杂模型专门负责学习环境,不涉及奖励分配问题,同时让一个较小的模型执行任务,这样较大的复杂模型就不会影响奖励分配的搜索空间,而较小模型可以通过“询问”较大模型,获取对环境的理解,从而更好地学习。
模型架构World Models就基于以上思路,组合使用两个模型绕过了开头提到的矛盾:
大型的世界模型,建模环境小型的控制者模型,学习执行任务怎样评价Google Brain近期提出的World Models

【怎样评价Google Brain近期提出的World Models】 从上面的架构图中,我们可以看到,世界模型其实包括两部分,一个视觉组件,用来编码视觉信息,一个记忆组件,基于历史信息预测未来的编码。
具体来说,视觉组件基于VAE(自动编码器)实现,将视频帧编码为低维的潜向量。
记忆组件,基于循环神经网络(LSTM)实现,预测视觉组件未来生成的潜向量。

怎样评价Google Brain近期提出的World Models

视觉组件和记忆组件的选择是十分自然的。不过,从上图可以看到,记忆组件的输出层用了MDN(混合密度网络),这样可以输出潜向量的概率分布——混合高斯分布。使用MDN/混合高斯分布的理由将在后面解释。
控制者模型就非常简单了,是一个线性模型。
下图展示了三个组件之间的交互:

怎样评价Google Brain近期提出的World Models

视觉组件和记忆组件用的都是标准的模型(VAE、LSTM、MDN),可以在GPU上训练。
由于控制者模型是非常简单的线性模型,所以各种训练策略都可以尽情使用,包括演化算法。具体使用的是CMA-ES(协方差矩阵自适应演化策略)。CMA-ES在这一规模的线性模型上的表现比较好。
在CarRacing-v0上,世界模型在100次测试中取得906 ± 21的平均成绩,解决了这一问题(达到900分以上),并且得到了新的最先进表现。(传统深度RL方法的平均成绩在591至652之间,之前排行榜上报告的最高成绩是838 ± 11(ceobillionaire算法,未发表)。)这验证了世界模型的有效性。
梦中学习从前面的组件交互图中,我们可以看到,控制者模型(C)并不直接接触环境(observation),它对环境的感知,完全依赖于世界模型。那么,如果世界模型提供给控制者的,并不是基于真实环境观测所得,而是自行编造出来的幻觉,会怎么样?
事实上,由于控制者模型对环境的感知完全依赖世界模型,它并不能区分真实和虚幻。因此,它可以在世界模型为它编造的“梦境”中学习。如果世界模型虚构的“梦境”足够好,那么控制者模型在梦境中所学能够在以后迁移到真实场景中。
论文作者训练世界模型模拟VizDoom环境,让控制者模型学习在梦境中移动,躲避由记忆模型生成的怪兽发射的火球。迁移到实际环境后,100次连续随机测试的成绩是约1100帧,远远超过所需的750帧(问题解决的标准)。
不过训练中遇到了一个问题,就像人做梦的时候有时会梦到自己有超能力一样。处于记忆组件构造的梦境中的控制者模型,可以访问记忆组件的所有隐藏状态——包括内部状态和游戏引擎的内存。因此控制者模型更容易发现世界模型的漏洞,并加以利用,比如通过以特定方式移动,静默梦境中的怪兽,使其不发射火球,甚至魔术般地熄灭即将发射的火球。


推荐阅读