Sora 技术参考文献 - (1)Unsupervised learning of video representations using lstms

189 阅读15分钟

Sora 技术参考文献

-- Unsupervised learning of video representations using lstms

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

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

Unsupervised learning of video representations using lstms

斯里瓦斯塔瓦、尼蒂什、埃尔曼·曼西莫夫和鲁斯兰·萨拉胡迪诺夫。“使用 lstms 对视频表示进行无监督学习。”机器学习国际会议。PMLR,2015 年。

论文链接

论文arxiv

论文主要工作

该文章使用多层长短期记忆(LSTM)网络来学习视频序列的表示。提出的模型使用一个编码器LSTM将输入序列映射到一个固定长度的表示。

这个表示通过单个或多个解码器LSTM进行解码,以执行不同的任务,如重建输入序列或预测未来的序列。

作者尝试了两种类型的输入序列——图像像素块和使用预训练的卷积网络提取的视频帧的高级表示(“感知”)。

论文中探索了不同的设计选择,例如解码器LSTM是否应该基于生成的输出进行条件判断。

通过定性分析模型的输出,来观察模型如何将学习到的视频表示外推到未来和过去。

论文的实验中,使用少量训练样本的情况下,即使是在无关数据集(300小时的YouTube视频)上预训练的模型也可以帮助提高视频中动作识别的性能。

笔者总结

(为了节省大家的时间,我的结论放前面吧)

  • 预训练对于各类相关任务都有提升作用(现在看来这个结论已经被验证过N多次了)
  • 预训练模型有泛化能力。(没吃过猪肉,没见过猪跑?模型训练时候看得多了,就有一定的推理能力了)
  • 模型加深和模型横向参数加多,都能提升模型效果(在现在看就是有用的废话了)
  • 视频里面有天然的时间、空间、相对位置等信息,对于视觉模型的学习很重要
  • 多任务对于提升模型有效

本篇文章对于Sora启发的点

  • 使用大量视频预训练模型
  • 多任务训练
  • 加深加宽模型
  • 训练视频的编码解码器模型
  • 预测未来的视频桢

论文评价

  • 在现在看来,这篇文章的思路比较清晰,很多思想都是自然而然的事情
  • 作者的实验很丰富,有很多思考
  • 实验结果比较弱鸡,效果也就那样吧。感觉是因为模型参数太少的原因(但是对于发论文够用了,能证明思想就行)
  • 作者实验部分先用了小的、简单的数据集做了简单的实验,验证自己的想法是否正确,这样能够比较快速出结果,而且比较聚焦,能说服人。有发论文需要的同学可以参考

论文基本思路

视频是丰富且丰富的视觉信息来源,可以被视为我们所处世界物理性质的窗口,向我们展示了构成物体的因素、物体如何相对于背景移动、相机移动时会发生什么以及物体如何被遮挡。能够学习到解耦这些因素的表示将有助于制造能够理解和在其环境中行动的智能机器。此外,学习良好的视频表示对于许多有用的任务至关重要,例如识别动作和手势。

视频中包含大量的结构(空间和时间规律性),这使得它们特别适合作为构建无监督学习模型的领域。

在设计任何无监督学习模型时,拥有正确的归纳偏置并选择正确的目标函数是至关重要的,这样学习信号才能指引模型学习有用的特征。在本文中,我们使用LSTM编码器-解码器框架来学习视频表示。这里的关键归纳偏置是在每个时间步骤中必须应用相同的操作来将信息传递到下一步。这强制执行了一个事实,即无论输入如何,世界的物理规律保持不变。任何状态下的相同物理作用,在任何时间,都必须产生下一个状态。我们的模型工作如下:编码器LSTM通过一系列帧来生成一个表示。然后通过另一个LSTM对这个表示进行解码,以产生目标序列。我们考虑了目标序列的不同选择。一个选择是预测与输入相同的序列。其动机与自编码器类似——我们希望捕捉到重现输入所需的一切,同时也经历了模型强加的归纳偏置。另一个选择是预测未来的帧。这里的动机是学习一个表示,提取所有需要的信息,以推断出超出已观察到的运动和外观。这两种自然选择也可以结合在一起。在这种情况下,有两个解码器LSTM——一个将表示解码成输入序列,另一个将相同的表示解码以预测未来。

模型的输入原则上可以是任何单个视频帧的表示。然而,为了本工作的目的,将注意力限制在两种类型的输入上。第一种是图像块。为此,使用自然图像块以及一个移动的MNIST数字数据集。第二种是通过在ImageNet上训练的卷积网络提取的高级“感知”。这些感知是从卷积神经网络模型的修正线性隐藏状态的最后(和/或倒数第二)层的状态。

为了定性评估学习到的表示,对模型所做的重建和预测进行了分析。为了进行更定量的评估,将这些LSTM用作监督任务——动作识别的初始化。如果无监督学习模型提出了有用的表示,那么分类器应该能够表现得更好,特别是在只有少量标记示例的情况下。我们发现情况确实如此。

论文模型

长短期记忆(LSTM)网络编码和解码结构

长短期记忆(LSTM)网络编码和解码结构

编码解码模型由两个循环神经网络(RNN)组成——编码器LSTM和解码器LSTM,如图2所示。模型的输入是一系列向量(图像块或特征)。编码器LSTM读取这个序列。在最后一个输入被读取之后,解码器LSTM接管并输出目标序列的预测。目标序列与输入序列相同,但是顺序相反。将目标序列反转使得优化变得更容易,因为模型可以通过观察低范围的相关性来启动。这灵感也来自于LISP中列表的表示方式。编码器可以看作是通过在之前构建的列表和新输入上应用cons函数来创建一个列表。

解码器本质上是展开这个列表,其中隐藏层到输出层的权重提取列表顶部的元素(car函数),隐藏层到隐藏层的权重提取列表的其余部分(cdr函数)。因此,输出的第一个元素是最后输入的元素。

解码器可以是两种类型——条件性的或非条件性的。条件性解码器接收最后生成的输出帧作为输入,即图2中的虚线输入是存在的。非条件性解码器不接收该输入。上图展示了一个单层LSTM自编码器。通过将LSTM堆叠在一起,可以将架构扩展到多层。

为什么这能学习到好的特征呢?

在最后一个输入被读取后,编码器LSTM的状态就是输入视频的表示。解码器LSTM被要求从这个表示中重建输入序列。为了做到这一点,表示必须保留有关物体外观和背景以及视频中包含的运动的信息。然而,对于任何自编码器风格的模型,一个重要的问题是,有什么能阻止它学习一个恒等映射,并有效地将输入复制到输出。在那种情况下,所有关于输入的信息仍然存在,但表示不会比输入更好。有两个因素控制这种行为。首先,只有固定数量的隐藏单元,使得模型不太可能学习任意长度输入序列的平凡映射。其次,相同的LSTM操作被用来递归地解码表示。这意味着在解码的任何阶段都必须应用相同的动态。这进一步防止了模型学习恒等映射。

基于LSTM的未来预测

image.png 另一个自然的无监督学习任务是预测未来。这是用于对单词序列建模的语言模型所采用的方法。未来预测模型的设计与自编码器模型相同,不同之处在于,在这种情况下,解码器LSTM预测的是输入序列之后的视频帧(上图)。Ranzato等人(2014)使用了一个类似的模型,但在每个时间步骤只预测下一帧。而这个模型则预测一个长序列到未来。在这里,同样可以考虑解码器的两种变体——条件性和非条件性的。

为什么这能学习到好的特征呢?

为了正确预测接下来的几帧,模型需要有关哪些物体和背景存在以及它们是如何移动的信息,以便能够推断出运动。从编码器输出的隐藏状态将尝试捕捉这些信息。因此,这个状态可以看作是输入序列的表示。

条件性的解码器

对于这两种模型,都可以考虑两种可能性——一种是解码器LSTM基于最后生成的帧进行条件化,另一种则不是。在实验部分,定量地探索了这些选择。在这里,简要讨论了支持和反对使用条件性解码器的论点。支持使用条件性解码器的一个有力论点是,它允许解码器对目标序列分布中的多种模式进行建模。如果没有这一点,最终会在低级输入空间中平均这些多种模式。然而,这只有在预期目标序列分布中有多种模式时才是一个问题。对于LSTM自编码器,只有一个正确的目标,因此目标分布是单峰的。但对于LSTM未来预测器,给定一个输入可能存在多个目标,因为即使假设宇宙是确定性的,预测未来所需的一切并不一定都能在输入中观察到。

从优化的角度来看,也有反对使用条件性解码器的论点。视频数据中存在强烈的短期相关性,例如,一个帧的大部分内容与前一个帧相同。如果在训练时解码器在生成特定帧时能够访问到最后几个帧,它就会发现这些相关性很容易捕捉。只有非常小的梯度会试图修正那些需要对输入序列有长期知识的极其微妙的错误。在非条件性解码器中,这种输入被移除,模型被迫深入编码器内部寻找信息。

复合模型

image.png

复合模型(A Composite Model)是一个由多个子模型或组件组合而成的模型,旨在通过整合不同部分的专长来提高整体性能。在机器学习和人工智能领域,复合模型通常用于结合不同算法的优势,以解决单一模型难以处理的复杂问题。

例如,在视频处理或自然语言处理的任务中,一个复合模型可能会整合卷积神经网络(CNN)来处理视觉或序列数据的空间特征,同时使用循环神经网络(RNN)或长短期记忆网络(LSTM)来处理时间序列数据的时序特征。这样的组合可以让模型在处理图像、视频或文本时,同时考虑到空间和时间维度的信息,从而提高预测、分类或生成任务的准确性和效率。

在某些情况下,复合模型还可能包括额外的组件,如注意力机制(attention mechanisms)或残差连接(residual connections),以进一步提升模型的表现。通过这种方式,复合模型能够更灵活地适应不同类型的数据和任务需求。

这两个任务——重建输入和预测未来可以结合起来创建一个复合模型,如图4所示。在这个模型中,编码器LSTM被要求生成一个状态,我们可以从中既预测接下来的几帧,也可以重建输入。

这个复合模型试图克服每个模型单独存在时的不足。一个高容量的自编码器会有学习平凡表示的倾向,这些表示只是简单地记忆输入。然而,这种记忆对于预测未来根本没有用处。因此,复合模型不能只是记忆信息。另一方面,未来预测器有只存储关于最后几帧信息的倾向,因为这些对于预测未来是最重要的,即为了预测帧vt,帧集{vt−1, ..., vt−k}比v0重要得多,其中k是一个小值。因此,编码器末端的表示会忘记大部分输入。但如果我们要求模型也预测整个输入序列,那么它就不能只关注最后几帧。

实验

设计实验以达到以下目标:

  • 定性理解LSTM学到的内容:通过实验,我们希望能够直观地了解LSTM网络在学习过程中所执行的操作,包括它如何编码和解码视频序列,以及它如何从输入数据中提取有用的特征。

  • 衡量使用无监督学习找到的权重初始化网络对于监督学习任务的好处:特别是在训练样本非常少的情况下,我们希望量化使用无监督学习预训练的权重对于提高监督学习任务性能的影响。

  • 比较不同提出的模型及其条件变体:我们将对自编码器(Autoencoder)、未来预测器(Future Predictor)和复合模型(Composite models)以及它们的条件性变体进行比较,以评估它们在学习和预测视频序列方面的性能。

  • 与最先进的动作识别技术进行比较:我们的目标是将这些模型的性能与当前领域内最先进的动作识别技术进行比较,以确定它们在识别和分类视频中的动作方面的有效性和实用性。通过这些比较,我们可以更好地理解这些模型在实际应用中的潜力和局限性。

实验结果

1. MNIST 数据集上的实验结果

image.png

这个实验是基于MNIST数据集,选择两个数字的图像,然后生成他们移动的图片序列。这个实验的结果说明的结论是:

  • 论文提出的复合模型是有效的,能预测数字的移动
  • 加深模型的层数,可以得到更好的效果,预测结果更清晰尖锐 (废话)
  • Conditional Future Predictor 也是有用的

Tips 这里的实验提示了一个技巧。做实验的时候,尽量刚开始的时候选择简单的数据集、需要计算量小的,只要能证明自己思路即可。这样可以快速实验,试错成本小。

作者使用了MNIST这个数据集,本身就很简单,而且像素很少,能快速试错。

2. 自然图像上的结果

image.png

在自然图像上的结果说明:

  • 图像的重构和预测结果都很模糊 (说明这个模型还比较弱鸡啊)
  • 网络的单元数量越多,网络预测能力越强(废话)

TIPS 这里作者又取了个巧,只截取了一个很小的图片片段来做实验。大大降低了计算和预测的复杂度。实验结果是能说明作者思路是有效的,但是效果有多好,就难说了。

3. 模型的泛化能力

image.png

作者使用了不包含1和3字眼的数据集训练,然后预测包含1和3的图像序列。实验结论:

  • 模型能进行相关预测,对于1的预测效果较好,对于3,与其他数字模糊到一起了。
  • 模型对于区分个体的能力不足 (这一点作者挺实诚~)

4. 根据视频判断行为类型

比较几类模型:

  • 单帧分类模型
  • 不预训练的LSTM模型
  • 预训练的Composite LSTM

结果肯定是最后一个好(就问你我猜的对不对!)

image.png

image.png

image.png

image.png

这部分没啥好看的。。。