参与张倩 王淑婷

循环神经网络不需要训练?复现「世界模型」的新发现

由谷歌大脑研究科学家 David Ha 与瑞士 AI 实验室 IDSIA 负责人 Jürgen Schmidhuber(他也是 LSTM 的发明者)共同提出的「世界模型」可以让人工智能在「梦境」中对外部环境的未来状态进行预测,大幅提高完成任务的效率。这篇论文在今年 3 月份出现时引起了人们的热烈讨论。本文深入探讨了这篇基于模型的强化学习的研究,该论文在颇具挑战的 CarRacing-v0 环境中的表现令人惊喜。

除此之外,研究人员还大胆提出了一个问题:循环网络的训练真的有必要吗?

除简介之外,作者还提供了该论文的 PyTorch 实现及额外的实验,以探讨训练过程在循环网络中的重要程度。

  • PyTorch 实现:https://github.com/ctallec/world-models

「世界模型」总结

论文《World Models》介绍了一种基于模型的强化学习方法,主要围绕模型的三个部分来介绍:

  1. 变分自编码器(VAE, Kingma et al., 2014),这是一种可以学习编码器和解码器的生成模型。编码器的任务是将输入图像压缩为一种紧密的潜在表征。解码器的任务是从潜在表征中还原原始图像。

  2. 混合密度循环网络(MDN-RNN, Graves, 2013),训练用于在给出之前的潜在编码和动作的情况下预测下一帧的潜在编码。混合密度网络输出高斯混合,用于预测下一次观测的分布密度。

  3. 简单线性控制器(C)。它将当前帧的潜在编码和给定之前编码和动作的 MDN-RNN 的隐藏状态作为输入,并输出动作,经过训练后,它能够利用一种通用的黑箱优化算法——协方差矩阵自适应进化策略(CMA-ES,Hansen,2006)来将累积奖励最大化。

论文中解释这一结构的图解如下:

在给定环境下,模型按以下步骤进行训练:

  1. 对从恰当的随机策略中生成的 rollout 进行随机采样。

  2. 在从 rollout 中得到的图像上训练 VAE。

  3. 在使用 VAE 编码器编码的 rollout 上训练 MDN-RNN。为了减少计算量,我们在 rollout 的固定大小子序列上训练 MDN-RNN。

  4. 使用 CMA-ES 在与环境交互的同时训练控制器。在每个时间步上,控制器将编码的当前帧和 MDN-RNN 的循环状态作为输入,MDN-RNN 包含关于所有先前帧和动作的信息。

或者,如果 MDN-RNN 在建模环境方面足够优秀,则控制器可以直接在梦境中的模拟 rollout 上进行训练。

在 CarRacing 环境中的复现性

在 CarRacing-v0 环境中,结果相对容易复现。我们惊喜地发现,相对于深度强化学习算法通常的复现性标准,该模型在第一次尝试中取得了良好的结果。我们自己的实现达到的最高分是 860 分,低于该论文报道的 906 分,但比第二优基准的 780 分要好得多。我们认为,结果的差距与我们降低了的计算能力有关,导致 CMA-ES 的超参数不如世界模型那篇论文中的那么合适。下图展示了我们训练的最好模型的行为。

额外的实验

我们想测试 MDRNN 对结果的影响。事实上,我们在训练过程中发现,该模型能够快速学习动态的简单部分,但大部分没有考虑到长期效应和多模态性。

在原始论文中,作者将其结果与没有 MDRNN 的模型进行比较,并获得以下分数:

我们做了一个额外的实验,在不训练 MDRNN 的情况下测试完整的「世界模型」架构,并保持其随机初始权重。结果如下:

我们展示了我们训练出的最优模型(使用未经训练的 MDRNN)的行为:

MDRNN 的训练似乎并没有提升性能。我们对这一现象的解释是:即使循环模型并不能预测环境的下一个状态,但它的循环状态依然包含一些关于环境动态的关键信息。如果没有循环模型,则单个帧中就不包含车速等一阶信息,如此一来,隐藏代码中也不会包含这些信息。因此,在没有 MDRNN 的情况下学习到的策略就无法利用这些信息。很明显,即使是一个随机的 MDRNN 也包含一些有用的时间信息,这对于学习一个解决该问题的优秀策略来说已经足够。

结论

我们在 CarRacing 环境中复现了论文「世界模型」提出的方法,并进行了一些新的实验。总的来说,我们得出了两大结论:

  • 「世界模型」的结果很容易复现。这很可能意味着解决该问题的方法不仅表现良好,而且非常稳定。这一点对于评价深度强化学习方法来说至关重要。

  • 在 CarRacing-v0 环境中,似乎循环网络只能作为循环库来使用,能够为访问高阶信息提供路径,如速度和加速度。这一观察需要一些论点的支持,以下是对此的一些评论:

  •   在「世界模型」的论文中,作者在 VizDoom 模拟环境中进行训练时报告了不错的结果。如果没有经过训练的循环前向模型,我们无法期待可以获得这样的结果。

  •   而在 CarRacing-v0 上,未经训练的 MDRNN 已经可以达到接近最佳的结果。是因为这个任务太过简单以至于无需好的循环前向模型吗?

  •   学习一个高维的环境,训练一个好模型很难。在长时间的范围内(如预测两种未来:一个是左转,一个是右转),获取连贯的多模态行为显然是困难的。在视觉上,除了隐高斯混合模型(latent gaussian mixture),我们的模型看起来并没有克服这个困难。正确地处理多模态行为对于利用「世界模型」的可用性至关重要吗?

工程Jürgen Schmidhuber循环神经网络智能体
2
相关数据
协方差矩阵技术
Covariance matrix

在统计学与概率论中,协方差矩阵(也称离差矩阵、方差-协方差矩阵)是一个矩阵,其 i, j 位置的元素是第 i 个与第 j 个随机向量(即随机变量构成的向量)之间的协方差。这是从标量随机变量到高维度随机向量的自然推广。

深度强化学习技术
Deep reinforcement learning

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

高斯混合模型技术
Gaussian Mixture Model

高斯混合模型(Gaussian Mixture Model,GMM)是单一高斯概率密度函数的延伸,就是用多个高斯概率密度函数(正态分布曲线)精确地量化变量分布,是将变量分布分解为若干基于高斯概率密度函数(正态分布曲线)分布的统计模型。

超参数技术
Hyperparameter

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

生成模型技术
Generative Model

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

图像压缩技术
Image compression

图像压缩是数据压缩技术在数字图像上的应用,目的是减少图像数据中的冗余信息,从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。

强化学习技术
Reinforcement learning

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

变分自编码器技术
Variational autoencoder

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

张倩
张倩

机器之心编辑

推荐文章
银行利用 AI 发现可疑交易,恐怖组织资金或无处可遁银行利用 AI 发现可疑交易,恐怖组织资金或无处可遁
微胖微胖
随机计算图:在随机结点中执行反向传播的新方法随机计算图:在随机结点中执行反向传播的新方法
机器之心机器之心
1
让人工智能学会谈判,Facebook开源端到端强化学习模型让人工智能学会谈判,Facebook开源端到端强化学习模型
吴攀吴攀
返回顶部