Sora 技术参考文献 - (2)Recurrent environment simulators

219 阅读10分钟

Sora 技术参考文献

-- Recurrent environment simulators

计划根据openai关于Sora介绍的参考文献,做一系列的技术介绍。

openai 关于Sora的介绍网址。 对于该文章的翻译和简介见文章

Recurrent environment simulators

论文arxiv

论文的主要工作

这篇文章的主要内容涉及使用循环神经网络(RNN)来模拟和预测复杂环境的动态。这种方法的关键在于能够创建模型,这些模型能够学习并模仿现实世界环境中的时间序列数据。

该论文的主要内容:

  1. 循环神经网络的应用:循环神经网络(RNN)特别适用于处理序列数据,如时间序列数据或连续事件。这篇文章探讨了如何利用RNN来模拟环境动态。
  2. 环境模拟器:环境模拟器是指能够模仿现实世界环境的计算模型。这些模拟器可以用于预测环境中的未来状态,基于过去和当前的观察。
  3. 无监督学习:文章还探讨了如何使用无监督学习方法训练这些模拟器。无监督学习不依赖于标记的数据,这对于模拟复杂环境特别重要,因为在这些环境中获取大量标记数据通常是不切实际的。
  4. 应用案例:这种模拟器的潜在应用非常广泛,包括但不限于天气预测、生态系统模拟、经济模型预测,甚至可以用于游戏和虚拟现实中的环境模拟。
  5. 实验和结果:论文中包括一系列实验,以展示这种方法的有效性和模拟器的预测能力。这通常涉及在不同类型的环境数据上测试模拟器,并评估其在预测未来状态方面的准确性。

总的来说,"Recurrent Environment Simulators" 这篇文章提出了一种创新的方法来模拟和预测环境动态,展示了循环神经网络在理解和预测复杂、动态系统方面的强大潜力。这对于需要精准模拟和预测环境变化的领域,如气候科学、生态学和经济学,具有重要的应用价值。

能够模拟环境如何响应行动变化的模型可以被智能体用来高效地规划和行动。文章通过引入能够对未来数百个时间步进行时间和空间上连贯预测的递归神经网络,改进了以往依赖高维像素观测的环境模拟器。文章对影响性能的因素进行了深入分析,提供了最广泛的尝试来推进对这些模型属性的理解。通过一个不需要在每个时间步生成高维图像的模型来解决计算效率低下的问题。文章展示了提出的方法可以用来改善探索过程,并且可以适应许多不同的环境,包括10款雅达利游戏、一个3D赛车环境和复杂的3D迷宫。

笔者总结

论文的贡献主要在两个方面

  1. 设计了一种预测的循环神经网络架构如下面 Figure 1所示。
  2. 思考并实验验证了训练过程中是应该用模型的预测值作为下一个时刻模型的输入,还是用真实观测值作为模型的输入。论是真实值比例作为输入的比例越高,模型短期的准确率越高,预测值作为输入的比例越高,模型的长期准确率越高
  3. 模型的状态并不是直接由输入的图像转换而来,而是经过卷积网络进行降维得来。而预测的状态也不是直接得到输出的图像,也是经过卷积网络解码而来。这种方式降低了输入的维度,减少了计算量,同时也尽量减少无关因素的影响,让模型专注于状态转换和预测。

笔者认为这也是近两年prompt learning的基础。即,使的训练过程与推断过程尽可能一致。

使用卷积神经网络对图像进行编码和解码降维,也是Sora中使用的技巧。大大降低了计算量。

文章的基本思路

模拟环境需要具有时间序列模型,这些模型必须具备一些属性才能有用:模型应该做出准确、时间和空间上长期连贯的预测;并允许在策略和行动序列上具有灵活性。此外,这些模型应该是通用的、可扩展的,并且能够从高维感知输入以及多样化和真实的环境中学到东西。实现这些愿望的模型可以使基于代理的系统获得广泛的能力,包括反事实推理(Pearl, 2009)、直观的物理推理(McCloskey, 1983)、基于模型的探索、情景控制(Lengyel & Dayan, 2008)、内在动机(Oudeyer et al., 2007)和层级控制。

深度神经网络最近在模拟复杂环境方面取得了重大进展,允许模型在广泛的领域内考虑高维视觉输入(Wahlström et al., 2015; Watter et al., 2015; Sun et al., 2015; Patraucean et al., 2015)。Oh等人(2015)的模型代表了这一领域的最新技术,展示了在确定性和离散动作环境中的高长期准确性。

尽管取得了这些进展,但仍存在几个挑战和未解决的问题。首先,这些模拟器在泛化和对模型结构和训练选择的敏感性方面的属性理解不足。其次,实现对未来长时间内的准确预测仍然很困难。最后,这些模型在计算上效率低下,因为在执行每个动作时都需要预测高维图像,这在代理只对执行多个动作后的最终预测感兴趣的情况下是不必要的。

在本文中,推进了环境建模的最新技术。在Oh等人(2015)的工作基础上,开发了替代架构和训练方案,显著提高了性能,并提供了深入分析以推进我们对这些模型属性的理解。还引入了一个模拟器,它不需要在每个动作之后预测视觉输入,减少了使用模型的计算负担。在三个多样化且具有挑战性的环境家族上测试了我们的模拟器,即雅达利2600游戏、一个代理在随机生成的3D迷宫中移动的第一人称游戏,以及一个3D赛车环境;并展示了它们可以用于基于模型的探索。

问题的定义

环境模拟器是一种模型,它给定一系列动作序列 a1,...,aτ1a1:τ1a_1, ..., a_{τ−1} ≡ a_{1:τ−1} 以及相应的环境观测 x1:τx_{1:τ},能够预测后续动作 aτ:τ+τa_{τ:τ+τ'} 的效果,例如形成预测 x^τ+1:τ+τ\hat x_{τ+1:τ+τ'} 或者环境的状态表示 sτ+1:τ+τs_{τ+1:τ+τ'}

模型1

作者从一个基础的模型开始。这个模型是2015年的一篇文章提出的。

论文标题: Action-conditional video prediction using deep networks in Atari games

他的数学公式如下图所示: image.png

公式中sts_t 是环境的隐状态表示,而 ff 是一个非线性的确定性状态转移函数。符号 II 表示选择预测帧 x^t1\hat x_{t−1} 或真实帧 xt1x_{t−1},分别产生两种类型的状态转移,称为预测依赖转移和观测依赖转移。CC 是一个编码函数,由一系列卷积组成,而 DD 是一个解码函数,它通过乘法交互将状态 sts_t 与动作 at1a_{t−1} 结合起来,然后使用一系列全卷积CC将其转换,形成预测帧 x^t\hat x_t。模型训练过程是最小化观测到的时间序列 xτ+1:τ+τx_{τ+1:τ+τ'} 与预测值之间的均方误差。

作者指出这个模型,可以看作是一个极大对数似然的图模型。模型的依赖图结构如Figure 1中的(a)图所示。

image.png

在这个图中,从 xtx_txtx_t 的链接表示随机依赖性,因为 xtx_t 是通过向 x^t\hat x_t 添加一个均值为零、方差为单位的高斯噪声项形成的,而所有剩余的链接表示确定性依赖性。虚线表明,根据状态转换是预测依赖还是观测依赖,这两个链接中只有一个是活跃的。

用通俗的话说就是当前时刻的状态sts_t依赖于前一个时刻的状态st1s_{t-1},以及前一个时刻的观测xt1x_{t-1}或者是预测出来的观测x^t1\hat x_{t-1}。而当前时刻的观测的真值x^t\hat x_t 依赖于当前时刻的状态sts_t,以及用户的操作at1a_{t-1}。而真实的观测值xtx_t是在预测的真值x^t\hat x_t上加入了高斯噪声的结果。

模型2

作者提出的模型如下公式所示:

image.png

对应到Figure 1中的(b)图。 image.png

作者修改的地方在于当前时刻的状态sts_t,还依赖于用户前一个时刻的动作at1a_{t-1}。而当前观测的真值x^t\hat x_t 只依赖于当前的状态sts_t

需要注意的是历史时刻的状态sts_t都是依赖于前一个时刻的真实观测值。而未来的状态sts_t则可以选择是依赖于真实观测值xtx_t 还是预测值x^t\hat x_t

上述的思想在近些年也讨论比较多。也就是一个循环神经网络在训练过程中,输出是下一个时刻的预测值,但是输入应该是当前的真实值,还是预测值呢?

例如:文本预测任务中,一句真实的语句是: “今天的天气很好啊”。 使用循环神经网络不断地进行下一个字的预测。那训练过程中,假设当前到了”很 ”字。模型预测下一个字是”差”。那我们模型继续预测的时候,是应该输入“好“字呢,还是”差”字呢? 这是一个需要详细分析的问题。

短期和长期的准确率

作者认为目前流行的训练方法是,模型的每次训练,输入的都是前一个时刻的真实观测值xt1x_{t-1}.这样可以减少训练早期的误差传播。毕竟训练的梯度传导到输入xt1x_{t-1}就停止了。也不会出现因为预测错误导致的误差积累。模型也能更快地收敛。但是这种训练方法与模型推断的阶段是有偏差的。毕竟你实际使用该模型的时候,是无法获得未来几个时刻的真实观测值的。

因此,作者认为使用模型的预测值作为模型的输入,更能使的模型学习到预测的能力。

目前也有研究人员研究从真实观测值和预测值之间进行采样,作为预测下一个时刻的输入。

作者也认为应该两种方式都使用。作者认为使用真实的观测值作为模型输入,可以提升模型短期内的预测准确性,而使用模型的预测值作为下一个时刻的输入,可以提升模型学习预测的能力,能够提升对于长期的预测准确率。

作者提出了一种训练方法,先使用几个真实的观测值作为模型预测过程中的输入,然后后续使用模型的预测值作为模型的输入。即,有一个warm-up 时间段τ\tau,以及后续需要连续预测的时间长度TT.

作者通过实验得出的结论是:

TT所占的比例,会提升长期预测的准确率,并降低短期内的预测准确率。 在实验中的具体现象就是,他们的模型在短期内预测的游戏画面会比较模糊,但是长期的预测结果准确性更好。