【Paper Reading】VideoBERT: A Joint Model for Videoand Language Representation Learning

数据准备:

New_HOI

New_verb

New_object


Paper reading:

Title: VideoBERT: A Joint Model for Videoand Language Representation Learning

Author: Chen Sun, Austin Myers, CarlVondrick, Kevin Murphy, and Cordelia Schmid

摘要:

Self-supervised learning has becomeincreasingly important to leverage the abundance of  unlabeled data available on platforms likeYouTube. Whereas most existing approaches learn low-level representations, wepropose a joint visual-linguistic model to learn high-level features withoutany explicit supervision. In particular, inspired by its recent success inlanguage modeling, we build upon the BERT model to learn bidirectional jointdistributions over sequences of visual and linguistic tokens, derived fromvector quantization of video data and off-the-shelf speech recognition outputs,respectively. We use VideoBERT in numerous tasks, including actionclassification and video captioning. We show that it can be applied directly toopenvocabulary classification, and confirm that large amounts of training dataand cross-modal information are critical to performance. Furthermore, weoutperform the state-of-theart on video captioning, and quantitative resultsverify that the model learns high-level semantic features.

为了利用YouTube等平台上大量未标记的数据,自我监督学习变得越来越重要。现有的方法大多是学习低层表示,而我们提出了一种联合的视觉语言模型来学习高层特征,不需要任何明确的监督。特别是,受其最近在语言建模方面的成功启发,我们在BERT模型的基础上,学习了视觉和语言标记序列上的双向联合分布,它们分别来自视频数据的矢量量化和现成的语音识别输出。我们在许多任务中使用VideoBERT,包括动作分类和视频字幕。我们证明它可以直接应用于开放词汇表分类,并证实大量的训练数据和跨模式信息对性能至关重要。此外,我们在视频字幕方面的表现也超过了现有的技术水平,定量结果验证了该模型能够学习高级语义特征。


要点

摘要:

1. Youtube上存在大量的视频数据,没有标记,给自监督学习提供了大量的数据来源。(视频有语音)

2. 目前存在的方法都是低层次的特征表示。本文提出的视频-语义联合模型在没有显式监督的情况下学习到了高层次的特征信息。

3. 在BERT的基础上,学习视觉-语义的标记序列的双向联合分布,序列分别来自视频数据的向量量化,和现成的语音识别输出。

4. 这个VideoBERT模型用于动作分类和视频字幕。

5. 可以直接用于开放词汇表分类

6. 实验证实了大量的训练数据和多模态对性能至关重要。数据越多效果越好,用了多模态比不是多模态的要好

7. VideoBERT在视频字幕任务上超过了state-of-the-art.

8. 定量结果验证了该模型能够学习高级语义特征。


Introduction:

1. 深度学习可以从标记数据中学习到内容,但标记数据很难大规模获取。

2. 这些方法大多侧重于低层次的特征(如纹理)和短时间尺度(如持续时间不超过一秒的运动模式)。

3. 我们感兴趣的是发现高层次的语义特征,这些特征对应于在更长的时间尺度(如分钟)内展开的动作和事件,因为这样的表示对于各种视频理解任务是有用的。

4. 特别地,我们提出了一种简单的方法来建模视觉域和语言域之间的关系,结合三种现成的方法:自动语音识别系统(ASR)将语音转换成文本;矢量量化(VQ)在低水平时空视觉特征中的应用以及最近提出的用于学习离散标记序列上联合分布的BERT模型。

5. 我们可以执行文本-视频的预测,它可以用来自动演示一组指令(比如菜谱),如图1和图2的顶部示例所示。

6. 我们还可以执行更传统的视频-文本的任务,即对[10]进行密集的视频字幕,如图6所示。

7. 我们的视频字幕方法在YouCook II数据集上达到state-of-the-art

8. 该模型可以在比其他深度生成模型更高的抽象级别上生成可信的猜测,它倾向于预测场景低层次方面的细微变化,比如少量对象的位置或姿态。

9. 我们在这篇论文的主要贡献是一个简单的方法来学习高层次的视频表示,捕获语义上有意义和长时间序列结构。


Related Work

1. 有监督学习:有很多视频表征学习的方法利用已有大量的标记数据集训练卷积神经网络达到视频分类的目的。但是这些方法需要大量的数据;数据集涉及动词和名词范围很小;目前的方法被设计出来用于表示短的视频序列,典型的就只有几秒钟。

2. 相比之下,提出的方法可以关注更长的时间序列;同时不需要利用手工标记

3. 无监督学习:RNN,VAE-style loss, GAN-style loss, SV2P, SVGLP, SAVP, MoCoGAN. 基于gan的方法。

4. 我们与无监督学习的不同之处在于,我们使用BERT模型,没有任何显式的随机潜在变量,应用于从视频中导出的视觉标记。

5. 我们的模型不是像素的生成模型,而是像素衍生出来的特征的生成模型

6. 自监督学习: 避免学习的困难联合模型p (x1: T),它已成为流行的学习条件的模型形式p (xt + 1: T jx1: T) 我们的信号分割成两个或多个块,如灰度、颜色、或前一帧和下一个帧

7. 我们的方法是类似的,除了我们使用量化的视觉文字而不是像素。

8. 此外,虽然我们学习了一个集合条件分布,我们的模型是一个适当的联合生成模型

Cross-modal learning.

9. 视频的多模态特性也成为监督学习视频表示的广泛来源,我们的论文就是建立在这个基础上的。

10. 由于大多数视频包含同步的音频和视觉信号,这两种模式可以互相监督,以学习强大的自我监督视频表示。

11. 在这项工作中,我们使用语音(由ASR提供接口把声音转成文字)而不是低层次声音作为跨模态监控的来源。

Natural language models

12. 我们以最近在NLP社区的进展为基础,在那里,大型语言模型如ELMO[22]和BERT[6]已经为各种NLP任务显示了最先进的结果,包括单词级(例如词性标记)和句子级(例如语义分类)。

13. 然后将BERT模型扩展到多语言数据的预训练

14. 我们的论文建立在BERT模型的基础上,以捕获语言和视觉领域的结构。

Image and video captioning.

15. 最近有很多关于图像字幕的工作(例如,[11,8,15]),这是一个形式p(y|x)的模型,其中y是手动提供的字幕,x是图像。

16. 也有一些工作在视频字幕,使用手动提供的时间分割或估计分段

17. 我们用关节p(x|y)建模并将其应用于视频字幕,并达到最先进的结果

Instructional videos.

18. 各种各样的论文(例如,[16,2,10,38,39])都训练了模型来分析教学视频,比如烹饪。

19. 我们不同于这项工作,我们不使用任何手动标记,我们学习了一个大规模生成模型的文字和(离散化)视觉信号。


Model

1. 为了获取语序信息,我们可以给每个单词加上它在句子中的位置。

2. BERT模型学习每个单词标记和这些标记的嵌入,然后对嵌入向量求和,以获得每个标记的连续表示。

3. 在实践中,我们可以通过采样位置和训练语句随机优化logloss(根据f函数预测的softmax计算)

4. 我们通常不仅简单地建模扩展序列,而且对两个句子之间的关系(是连续的,还是随机选择的两个句子)

5. 通过将两个句子连接在一起,BERT可以被扩展成两个句子的模型。

6. 对应的关节模型可表示为p(x;y;c),其中x是第一个句子,y是第二个句子,c = {0,1}是一个标签,指示源文档中的句子是独立的还是连续的。

7. 为了与原文保持一致,我们还在序列的末尾添加了一个[SEP]标记,尽管它并不是严格需要的。

8. 本例中对应的类标签是c = 1,表示x和y是连续的。

The VideoBERT model

1. 为了将BERT扩展到视频,我们仍然可以利用预先训练好的语言模型和可扩展的实现来进行推理和学习,我们决定进行最小的更改,并将原始的可视数据转换为离散的令牌序列。

2. 为此,我们建议使用一个预先训练的模型,对来自视频的特征应用分层向量量化来生成一个“视觉词汇”序列。

3. 除了简单之外,这种方法还鼓励模型在视频中关注高级语义和更长期的时间动态。

4. 这与大多数现有的视频表示学习的自我监督方法形成了对比,后者学习低水平的属性,如局部纹理和动作

5. 我们可以将语言语句(来自ASR视频)与视觉语句结合起来生成数据

6. 虽然这个完形填空任务很自然地扩展到语言和视觉标记序列,但是应用下一个句子预测任务(如BERT所使用的)就不那么直接了。

7. 我们提出了一个语言-视觉对齐任务,其中我们使用[CLS]标记的最终隐藏状态来预测语言句子是否与视觉句子在时间上对齐。

8. 请注意,这是语义关联的一个嘈杂指标,因为即使在教学视频中,说话者可能指的是一些视觉上不存在的东西。

9. 为了解决这个问题,我们首先将相邻的句子随机连接成一个长句子,这样即使两个句子在时间上没有很好的对齐,模型也可以学习语义对应。

10. 其次,因为即使是相同的动作,不同视频之间的状态转换速度也会有很大的差异,所以我们对视频标记随机选取1到5步的次采样率。

11. 这不仅有助于模型对视频速度的变化更加健壮,而且还允许模型捕获更大时间范围内的时间动态,并学习更长期的状态转换。

12. 我们把对视频和文本结合的其他方式的研究留给未来的工作。

13. 总的来说,我们有三种对应于不同输入数据模式的训练机制:纯文本、纯视频和纯视频文本。

14. 对于纯文本和纯视频,标准的掩码完成目标用于训练模型。

15. 对于文本-视频,我们使用前面描述的语言-视觉对齐分类目标。

16. 总体培训目标是个体目标的加权和。

17. 文本目标迫使VideoBERT做好语言建模;视频目标迫使其学习“视频语言模型”,该模型可用于学习动态和预测;而文本-视频的客观要求它学习这两个领域之间的对应关系。

18. 一旦我们训练了这个模型,我们就可以在各种下游任务中使用它,在这项工作中,我们定量地评估两个应用程序。

19. 在第一个应用程序中,我们将其视为概率模型,并要求它预测或输入被掩盖的符号。

20. 我们在4.4节中对此进行了说明,在这里我们执行“零镜头”分类。

21. 在第二个应用程序中,我们提取了[CLS]令牌的预测表示(来自模型的内部激活),并使用该密集向量表示整个输入。

22. 这可以与其他特征相结合,这些特征来自于下游监督学习任务的输入。


Experiments and Analysis

 

1. 在语言和视觉领域的深度学习模型,在不断增长的大型数据集中,一直显示出显著的性能提升。

2. 例如,“大”BERT模型(我们使用的)是在BooksCorpus(8亿字)和英语维基百科(2500亿字)的连接上预先训练的。

3. wefocus oncooking videosspecifically

4. 不幸的是,这样的数据集相对较小,所以我们转向YouTube来收集大规模的视频数据集进行训练。

5. 我们使用YouTube视频注释系统从YouTube上提取了一组公开的烹饪视频,检索与“烹饪”和“食谱”相关的主题的视频。

6. 收集的视频中,删除了15分钟以上视频。最终得到213K个视频。该数据集的总持续时间为23186小时,大约966天。已有YouCook II 要大两个数量级,YouCook II 是由2K个视频组成,总时长为176个小时

7. 为了从视频中获取文本,我们使用YouTube Data API[1]提供的YouTube自动语音识别(ASR)工具包来检索带有时间戳的语音信息。API返回单词序列和预测的语言类型。在312K的视频中,有180K是可以通过API检索到的ASR,预计有120K是英文的。在我们的实验中,虽然我们将所有的视频都用于纯-视频目的,但我们只将来自英语ASR的文本用于VideoBERT的纯-文本和视频-文本目的

8. 我们在YouCook II数据集[38]上评估了VideoBERT,它包含了2000个YouTube视频,平均时长5.26分钟,总共176个小时。

9. 我们使用提供的数据集分割,其中1333个视频用于培训,457个用于验证。

Video and Language Preprocessing

1. 对于每个输入的视频,我们以每秒20帧的速度采样,并在视频上创建30帧(1.5秒)不重叠窗口的剪辑。

2. 对于每个30帧的剪辑,我们应用一个预先训练的视频卷积网络来提取其特征。

3. 在这项工作中,我们使用了S3D[34],它将可分离的时域卷积添加到Inception网络[25]骨干网中。

4. 我们在最终的线性分类器之前进行特征激活,然后应用3D平均池得到一个1024维的特征向量。

5. 我们在动力学[9]数据集上对S3D网络进行了预培训,该数据集涵盖了来自YouTube视频的广泛操作,并作为每个单独片段的通用表示。

6. 我们用层次知识表示视觉特征。我们通过可视化地检查集群的一致性和代表性来调整层次级别d的数量和每级别k的集群数量。我们设置d=4, k = 12,得到124 = 20736个簇。图4说明了这个“矢量量化”过程的结果

7. 对于每个ASR单词序列,我们使用一个现成的基于lstm的语言模型添加标点符号,从而将单词流分解为句子。对于每个句子,我们遵循BERT[6]中的标准文本预处理步骤,并将文本标记为单词[33]。我们使用BERT的作者提供的相同词汇表,其中包含30,000个令牌

8. 不像语言可以自然地分解成句子,它不清楚如何将视频分解成语义连贯的片段。我们使用一个简单的启发式方法来解决这个问题:当一个ASR语句可用时,它与开始和结束时间戳相关联,并且我们将属于那个时间段的视频标记作为一个片段。当ASR不可用时,我们简单地将16个令牌视为一个段。

Model Pre-training

1. 我们从文本预先训练的checkpoint 初始化BERT权重。具体来说,我们使用由[6]的作者发布的BERTLARGE模型,使用相同的主干架构:它有24层Transformer块,每个Transformer块有1024个隐藏单元和16个self-attention

head。

2. 我们为每个新的“可视单词”在单词嵌入查找表中添加了20736个条目,从而增加了对视频标记的支持。我们使用S3D特性从相应的簇中心初始化这些条目。输入嵌入在训练前被冻结。

3. 我们的模型训练过程在很大程度上遵循BERT的设置:我们在Pod配置中使用了4个Cloud

TPUs,总批处理大小为128,我们训练了50万个迭代,或大约8个epoch的模型。我们使用Adam优化器,初始学习率为1e-5,线性衰减学习率计划。培训过程大约需要2天。

Zero-shot action classification

1. 一旦pretrained, VideoBERT模型可以用于“zero-shot”分类新数据集,如YouCook

II(通过“zero-shot”我们指的是模型不是对准YouCook II具有相同标签的数据也没有本体用于YouCook II)。更确切地说,我们要计算p (y|x)其中x是视觉符号序列,y是一个序列的单词。由于模型被训练来预测句子,我们将y定义为固定的句子,“现在让我向您展示如何[屏蔽][屏蔽]”,并分别从第一个和第二个屏蔽槽中预测的标记中提取动词和名词标签。

2. 为了进行定量评估,我们使用了YouCook II数据集。在[37]中,作者为YouCook II的验证集收集了63个最常见对象的ground truth边界框。然而,对于行为没有ground truth标签,许多其他常见对象也没有标签。因此,我们收集来自ground truth标题的动作和对象标签来解决这个缺点。我们在ground truth标题上运行一个现成的词性标记来检索100个最常见的名词和45个最常见的动词,并使用它们来派生ground truth标签。虽然VideoBERT的词块词汇表为它提供了有效执行开放词汇表分类的能力,但它因此更有可能做出语义上正确的预测,而这些预测并不完全符合更有限的ground true。因此,我们报告了排名前1和前5的分类准确性指标,后者旨在缓解这个问题,我们将更复杂的评估技术留给未来的工作。最后,如果有一个以上的动词或名词与一个视频片段相关联,我们认为预测是正确的,如果它符合其中任何一个。我们报告了YouCook II验证集的性能

3. 我们也使用来自文本BERT模型的先验语言,这在烹饪视频中没有得到很好的调整。我们可以看到VideoBERT比两个基线都好得多。正如所料,VideoBERT的语言先验适用于烹饪句子,并且优于vanilla BERT模型。

4. 然后,我们与使用YouCook II的训练分割训练的完全监督分类器进行比较。我们使用预先计算好的S3D特性(与VideoBERT的输入相同),随着时间的推移应用平均池,然后使用线性分类器。表1显示了结果。正如我们所看到的,supervised framework在动词准确性方面超过了VideoBERT,这并不奇怪,因为VideoBERT拥有一个非常开放的词汇表。(有关操作标签的模糊性,请参见图5。)然而,排名前5的精度指标显示,VideoBERT在没有使用任何来自YouCook II的监督的情况下,实现了与完全监督的S3D基线相当的性能,这表明该模型能够在这种“0次学习”设置下进行竞争。

Benefits of large training sets

1. 我们还研究了训练前数据集大小的影响。在这个实验中,我们从训练前的视频集中随机选取10K、50K和100K的子集,使用与上面相同的设置,对相同的epoch进行训练前的VideoBERT。表2显示了性能。我们可以看到,准确性随着数据量的增加而单调增加,没有饱和的迹象。这表明VideoBERT可能会受益于更大的训练前数据集。

Transfer learning for captioning

1. 我们进一步证明了VideoBERT作为特征提取器的有效性。

2. 我们使用与他们相同的模型,即变压器编码器-解码器,但我们将编码器的输入替换为上面描述的VideoBERT派生的特性。

3. 我们还将视频沙漠功能与平均汇集的S3D功能连接起来;作为基准,我们也考虑只使用S3D功能而不使用VideoBERT。

4. 我们设置transformer层数为2,隐藏单元大小为128,dropout

rate为0.4。我们在训练分割上使用5倍交叉验证来设置超参数,并在验证集上报告性能。我们训练了批大小为128的40K迭代的模型。我们使用相同的亚当优化在VideoBERT前训练,并设置初始学习率为1e-3与线性衰减时间表。

Discussion and conclusion

1. 使用空间细粒度的视觉表示非常重要,而不是只在框架或剪辑级别工作,这样我们就可以区分单个对象及其属性。

2. 我们计划在其他视频理解任务和烹饪之外的其他领域评估我们的方法。

你可能感兴趣的:(【Paper Reading】VideoBERT: A Joint Model for Videoand Language Representation Learning)