多模态理解与生成,西南交大&MSRA提出统一的"视频和语言预训练"模型:UniVL!

2022-09-01 10:09:15 浏览数 (1)

关注公众号,发现CV技术之美

本文分享论文『UniVL: A Unified Video and Language Pre-Training Model for Multimodal Understanding and Generation』,由西南交大&MSRA提出《UniVL》,用于多模态理解和生成的统一视频和语言预训练模型!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2002.06353
  • 项目链接:https://github.com/microsoft/UniVL

01

摘要

近年来,随着NLP和图像语言任务预训练技术的成功,一些视频语言预训练工作逐渐发展起来,以改进与视频文本相关的下游任务。然而,大多数现有的多模态模型都是以理解任务来预训练的,这导致了生成任务的预训练差异。

本文提出了UniVL:一个用于多模态理解和生成的统一视频和语言预训练模型。它由四个组件组成,包括两个单模编码器一个交叉编码器一个带Transformer主干的解码器。设计了五个目标,包括视频-文本联合条件掩蔽语言模型(CMLM)条件掩蔽帧模型(CMFM)视频文本对齐和语言重建,以训练每个组成部分。

作者进一步开发了两种预训练策略,即逐步预训练(StagedP)和增强视频表征(EnhancedV),以使UniVL的训练过程更加有效。预训练是在一个相当大的教学视频数据集HowTo100M上进行的。实验结果表明,UniVL可以学习强大的视频文本表示,并在五个下游任务上获得最先进的结果。

02

Motivation

随着自监督学习的发展,预训练技术在视觉和语言表征的学习中起着至关重要的作用。该范式是在大规模未标记数据上预训练模型,并使用特定任务标记的数据优化下游任务。受BERT模型在NLP任务中的成功启发,人们提出了许多多模态图像语言预训练模型。他们的结果证明了各种视觉和语言任务的预训练的有效性。与以往的文本预训练或图像语言预训练不同,本文重点研究了视频语言预训练。

视频包含丰富的视觉、听觉和语言信息,供人们获取知识或学习如何执行任务。这促使研究人员调查人工智能代理是否可以像人类一样从视频中学习任务完成,这些视频既有低级视觉信号,也有高级语义语言信号。因此,多模态视频语言任务的研究和应用都具有重要意义。

在这项工作中,作者首先提出使用视频和ASR预训练统一的视频语言模型来学习视频和语言的联合表达。然后,作者在五个典型的多模态任务(包括理解和生成目标)上微调该模型。上图展示了预训练和微调流程。以多模态视频字幕为例。该模型输入视频和ASR转录本,并预测字幕句子。

以前的大多数模型只在理解任务方面对模型进行预训练。在本文中,作者通过编码器-解码器范例对理解和生成任务进行预训练。尽管并行工作VideoAsMT有一个类似的编码器-解码器,但对于只有一个单一框架的下游任务,它是不灵活的。在本文中,作者开发了一种灵活的方法来学习视频和语言的联合表达,并适应下游的多模态任务。

作者提出了UniVL:一个用于多模态理解和生成的统一视频和语言预训练模型。UniVL模型采用Transformer作为主干,有四个组件,包括两个单模编码器、一个交叉编码器和一个解码器。

具体来说,首先使用两个单模态编码器分别对文本和视觉进行编码。video-text联合目标在这两个编码器上执行,其目的是在融合它们之前为每种模态学习更好的表示。这种双流结构对于检索任务来说是很自然的,因为可以扩展到非常大的数据集。所提出的表示可以被索引,并且在视频数量上具有线性复杂性。

然后,作者采用基于Transformer的编码器-解码器模型,通过四个任务执行理解和生成预训练:条件掩蔽语言模型(CMLM用于语言损)、条件掩蔽帧模型(CMFM用于视频损坏)、视频文本对齐和语言重建。

此外,作者还设计了两种预训练策略,包括逐步预训练策略(StagedP)和增强视频表征(EnhancedV),以促进UniVL预训练。在设置中,StagedP有两个部分。在第一阶段,仅通过视频-文本联合目标对文本编码器和视频编码器进行了预训练。然后,在第二阶段,所有模块都将在总体目标下进行预训练。此外,作者还采用了一种完整的文本掩蔽策略EnhancedV来增强视频的表示

03

方法

问题定义为:给定输入视频和相应的ASR转录本对,预训练模型,以使用自监督方法学习联合视频和文本表示,并确定下游任务。

3.1 Model Architecture

上图显示了作为编码器-解码器体系结构的UniVL。首先,该模型使用各种特征提取器提取输入文本token和视频帧序列的表示。然后,文本编码器采用BERT模型嵌入文本,视频编码器利用Transformer编码器嵌入视频帧。接下来,使用基于Transformer的交叉编码器在文本和视频之间进行交互。最后,使用Transformer解码器重建输入文本。

3.1.1 Pre-processing

首先对视频和语言进行预处理,然后再将其输入UniVL。对于输入文本,按照BERT中的预处理方法,通过单词对所有单词进行tokenize,以获得token序列,其中n是token序列的长度。对于每个视频Clip,采样一个帧序列并采用它们来提取特征,其中是视频帧的第j组,m是帧序列的组长度。

3.1.2 Single Modal Encoders

分别对文本和视频进行编码。这种双流设计有两个优点:模块重用和面向检索。模块重用意味着文本模块可以受益于现有的基于文本的预训练模型,例如BERT。面向检索意味着双流设计对于检索任务来说是自然的,因为它可以扩展到广泛的数据集。提取的表示可以被索引,相似性计算在视频数量上具有线性复杂性。在本文中,作者采用基于BERT的模型来生成文本表示:

其中d是文本表示的隐藏大小。

对于视频帧序列v,采用现成的图像特征提取器,例如S3D,来生成视频特征,其中是隐藏大小。Transformer编码器用于嵌入视频的上下文信息,如下所示:

V的size是。

3.1.3 Cross Encoder

文本编码器和视频编码器主要关注单个模态。为了使文本和视频充分交互,设计了跨编码器,它将文本和视频的模态特征都作为输入。具体来说,首先将文本编码T和视频编码V结合起来,得到编码。然后,Transformer编码器将编码M作为输入来生成编码

其中[;]表示组合运算。需要注意的是,该组合是与序列的维度一起操作的,而不是隐藏大小的维度。一个原因是文本长度n和视频Clip长度m总是不同的。另一个原因是文本和视频之间的语义并不是绝对一致的。人们很可能会在视频中描述表演后或之前的活动。

3.1.4 Decoder

通过附加一个解码器,使预训练的模型能够从生成任务中学习,然后从中受益。解码器通常是一个单向循环/注意模型,用于逐个生成token。这种解码器模块在基于文本的预训练任务中被证明是有用的,例如T5和BART。注意,解码器在不同阶段具有不同的目标。由于没有可用的文本标签,解码器在预训练期间学习重建输入文本。在微调时,解码器用于生成结果,例如视频字幕,其中输入文本和视频并输出字幕。输入为文本和视频的附加编码M。利用Transformer从M获得解码特征:

其中l是解码器长度。

3.2 Pre-training Objectives

模型有五个预训练目标。

3.2.1 Video-Text Joint

作为文本编码器,基于BERT的模型是一个健壮的文本表示提取器。因此,利用视频-文本联合目标来增强视频编码器的性能。这对齐了文本和视频之间的表示空间。考虑到叙事视频中文本和视频片段之间的不一致,在T和V上采用MIL-NCE作为目标,

其中,是一组正视频转录本对。例如,其中和是时间上与t最接近的两个转录本。

3.2.2 CMLM: Conditioned Masked Language Model

在BERT之后,还使用句子中的特殊 token [mask]随机屏蔽15%的token,并在视频输入和已知token的条件下重新生成屏蔽token。该损失函数在M中文本部分的特征矩阵上定义为:

式中,是指围绕屏蔽标token的上下文token,θ是可训练参数。

3.2.3 CMFM: Conditioned Masked Frame Model

同样,提出了一个蒙面框架模型,在给定上下文框架和输入文本的语义约束下预测正确的框架。

同样,提出了一个mask框架模型,在给定上下文框架和输入文本的语义约束下预测正确的框架。然而,很难重建原始RGB帧。采用对比学习的方法来最大化隐藏输出特征和原始特征之间的互信息。该损失函数为NCE。用随机屏蔽15%的向量(也就是15%的帧)。损失函数定义为:

3.2.4 Video-Text Alignment

使用与特殊token [CLS]对应的融合表示来预测视频文本对齐的分数,这类似于BERT句子对分类任务。采用NCE损失来学习区分正负视频文本对。为了增强这一能力,不仅随机抽取负样本,还重新抽取同一视频中的视频片段,原因是同一视频中的帧比不同视频中的帧更相似。该损失函数定义如下:

其中s(·)是指两个线性层,它们之间有一个Tanh激活函数,在第一个隐藏状态M上执行。将同一Batch中的其他视频Clip作为负样本。

3.2.5 Language Reconstruction

为了重建输入句子,使预训练模型具有生成能力,使用了一个具有重建目标的自回归解码器,并对损失函数进行了分析:

值得注意的是,在预训练是,t是ground-truth文本的mask版本。如BART所示,预训练解码器有利于生成任务。

通过加权损失共同优化模型:

3.3 Pre-training Strategies

开发了两种预训练策略来有效地训练UniVL模型。

3.3.1 StagedP: Stage by Stage Pre-training

采用两阶段训练方式。在第一阶段,仅保留文本和视频Transformer,以使用视频文本联合损失来学习权重。接下来,降低学习率,并继续通过所有五个目标对UniVL进行进一步的预训练。一个优点是加快预训练的速度,另一个优点是使预训练过程更加平稳。

3.3.2 EnhancedV: Enhanced Video Representation

为了进一步增强视频的表现力,采用了一种mask模态策略,使视频在不输入文本的情况下生成文本。具体来说,用15%的可能性来mask整个文本token。换句话说,在每个batch中,有15%的文本视频对和整个文本token被mask,模型利用视频信息来完成生成。这样的策略对于模型来说是一项更具挑战性的任务,以学习更好的视频表示。

04

实验

上表展示了本文方法在Youcook2数据集上和其他方法的检索结果对比,可以看出本文方法具备性能上的优势。

上表展示了本文方法在MSR-VTT数据集上和其他方法的检索结果对比。

上表展示了本文方法在Youcook2数据集上和其他方法的Captioning结果对比。

上表展示了本文方法在COIN上和其他方法的Action Segmentation任务的结果对比。

上表展示了本文方法在CrossTask上和其他方法的Action Segmentation任务的结果对比。

上表展示了本文方法在CMU-MOSI数据集上和其他方法的多模态情感分析任务的结果对比。

上表展示了本文方法在检索任务上消融实验结果。

上表展示了本文方法在Youcook2数据集,captioning任务上消融实验结果。

上表展示了不同视觉特征的检索实验结果。

上表展示了不同视觉特征的captioning实验结果。

05

总结

本文提出了一种基于自监督学习的大规模视频语言表示方法UniVL。UniVL设计有四个模块和五个目标,用于视频语言理解和生成任务。它是一个灵活的模型,适用于大多数多模态下游任务,同时考虑效率和有效性。

进行了大量实验,以评估模型的五个下游任务,例如,基于文本的视频检索和多模态视频字幕。实验结果表明,与基线模型相比,预训练的模型可以在很大程度上提高性能,并在五个典型的多模态任务上实现最先进的结果。

参考资料

[1]https://arxiv.org/abs/2002.06353

[2]https://github.com/microsoft/UniVL

0 人点赞