VLM:Meta AI & CMU提出任务无关视频语言模型视频理解预训练VLM,代码已开源!(ACL 2021)

2022-04-18 20:42:58 浏览数 (1)

本文分享 ACL 2021 论文『VLM: Task-agnostic Video-Language Model Pre-training for Video Understanding』,由 Meta AI & CMU 联合提出任务无关视频语言模型视频理解预训练 VLM,代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/2105.09996
  • 项目链接:https://github.com/pytorch/fairseq/tree/main/examples/MMPT

01

摘要

我们提出了一种简单的、任务无关的多模态预训练方法,可以接受视频或文本输入,或同时接受视频或文本输入,用于各种最终的下游任务。现有的预训练是针对特定任务的,通过采用需要两种模态的单一交叉模态编码器,这限制其用于检索式任务,或采用两个单模态编码器进行更复杂的多任务学习,这限制早期交叉模态融合。

相反,我们引入了新的预训练mask方案,可以更好地跨模态混合(例如,通过强制文本mask来预测最近的视频嵌入),同时保持可分性(例如,有时只需要单模态预测,而不使用所有输入)。

实验结果表明,与之前的任何方法相比,本文提出的VLM在更广泛的任务范围内表现出色,通常优于特定任务的预训练。

02

Motivation

我们研究了在多模态视频理解中实现任务无关预训练的挑战,以最近的单模态方法为基础。尽管某些语言模型在NLP任务上接近于任务不可知,但由于文本视频检索等跨模态任务,在多模态任务上不可知任务更具挑战性。

现有的视频和语言预训练是特定于任务的,它们采用(1)需要跨模态推理(例如视频字幕)的任务的单个跨模态编码器,或(2)多个单模态编码器/解码器,来结合需要单独嵌入每个模态的特定任务。相反,我们提出了一种称为视频语言模型(video language model,VLM),证明了任务无关模型的预训练是可能的,该模型可以接受文本、视频或两者作为输入。

如上图所示,这种与任务无关的单一编码器方法有几个优点:(1) 它通过多种损失和模型降低了预训练的复杂性;(2) 与基于检索的预训练相比,它对接近下游任务的假设较少,并且与经典LMs一样通用(3) 它鼓励模态间的特征共享,而不具有很强的可分性;(4) 它的参数效率更高。下表总结了最新模型的设计选择。

我们的编码器是一个Transformer块,结合了现有的mask帧模型和mask语言模型(MFM-MLM),并用两种改进多模态融合学习的新方法。首先,我们引入了一种称为mask模态模型(MMM)的mask方案,该方案为一部分训练样本(其余样本用于传统的MFM-MLM)随机样本整个模态,从而迫使编码器使用来自另一模态的token来生成mask模态的token。

然后,我们引入一个masked token loss,以分别替换MFM-MLM在视频和文本上的两个丢失函数。masked token loss使用视频和文本token的嵌入来学习编码器的联合隐藏状态。

我们还展示了通过使用任务特定的注意掩码来为广泛的任务调整单个编码器是可能的。实验表明,与以前的模型相比,它在更大范围的任务上表现良好,包括在检索任务和视频字幕方面,它比具有类似超参数的单峰编码器的特定任务预训练baseline的表现要好2%以上。与以前的方法相比,这些结果也是通过一个小得多的模型实现的,进一步证明了改进的融合方法和跨模态共享的有效性。

综上所述,本文的主要贡献如下:(1)提出了一种用于视频理解的任务无关编码器的预训练方案;(2) 我们引入了mask模态模型(MMM)和masked token loss,用于预训练的跨模态融合,无需牺牲可分性;(3) 实验结果表明,所提出的简单baseline以显著较少的参数实现了具有竞争力的性能。

03

预训练

我们的目标是为视频文本理解中的各种任务训练一个任务不可知模型。本节介绍用于下游任务无关的代理任务。我们首先描述了两种mask方案作为baseline:视频帧的mask帧模型(MFM)和文本token的mask语言模型(MLM)。然后,我们介绍了mask模态模型(MMM),它鼓励人们从一种模态中学习另一种模态的表示。最后,我们介绍了masked token loss,即将mask视频和文本token的损失作为单一损失函数。

3.1 Vector Quantization and BERT

假设我们从视频中采样了一个片段(v,t),其中v和t分别对应于视频模态和文本模态。由于视频是连续空间中的信号,我们首先从原始视频中提取token嵌入。我们将v解码成帧,然后将它们输入(冻结的)视频编码器和可训练的MLP层,以获得视频token:

其中,我们使用粗体符号表示一个序列,而是视频中连续帧的序列。MLP层允许视频token的隐藏大小与BERT的隐藏大小相同。类似地,文本token的向量是通过嵌入查找获得的,如BERT中所示。

为了简化多模态预训练,我们采用了变化最小的单个BERT Transformer。我们首先通过[SEP] token连接视频token和文本token,以便视频和文本属于一个对应的BERT段:

我们进一步将 mask为,并将整个序列输入到BERT:

其中表示最后一层的隐藏状态。为了鼓励在一个共享空间中学习视频/文本隐藏状态,我们通过共享头的线性投影层预测视频/文本token嵌入:

其中,和是来自BERT预测头的权重。通过这种方式,我们的模型学习了视频和文本token从输入到输出的联合嵌入空间。这允许直接从任何现有LMs预训练单个编码器,唯一需要初始化的层是MLP层。

3.2 MFM-MLM

我们对视频采用mask帧模型(MFM),对文本采用mask语言模型(MLM)作为baseline。与通常带有固定词汇表和特殊[MASK] token的LMs不同,视频token在连续空间中不可数的,我们通过将视频token设置为全零来mask视频token,并要求编码器通过NCE恢复视频token:

其中V是视频token的所有索引,并且

其中表示同一batch中的所有非mask的视频token。最终loss是MFM和MLM的总和:

其中与Bert相同。

3.3 MMM and Masked Token Loss

Masked Modality Model

我们提出了Masked Modality Model(MMM),它可以mask给定视频文本clip示例中的所有视频或所有文本token。该mask方案补充了MFM-MLM(例如,在本文的实验中,50%的训练示例被mask为MMM,其余50%被mask为MFM-MLM)。这鼓励编码器使用一种模态的token来恢复另一种模态的token。

这解决了编码器可能会使用来自其模态的附近token进行预测的问题,仅仅因为来自单个模态的token更接近,如上图中较低的两个子图所示,我们要么mask视频或文本的整个模态,以便可以从另一模态“生成”该模态。我们的实验表明,这对于预训练单个编码器执行检索任务至关重要。

Masked Token Loss

我们进一步引入了Masked Token Loss,它统一了MFM和MLM的损失函数。这种损失鼓励学习视频和文本的联合token嵌入空间,这两种类型的token都有助于预测mask(视频或文本) token。这也提高了MFM和MLM两种不同损失中对比负嵌入的数量。

Masked Token Loss 定义如下:

其中D是BERT词汇表上的单词嵌入,不包括token s。定义如下:

可以是视频或文本token,并且一个预测token 必须更接近ground truth的token embedding(视频token或文字embedding),并且远离视频/文本token的其他嵌入。

04

微调

4.1 Text-Video Retrieval

在单个编码器上进行预训练的一个主要挑战是,如何使这样的模型适应联合空间检索,而不使用单峰编码器进行任务特定的对比损失预训练。主要原因是,许多现有模型通过自注意力将文本和视频token编码在一起,无法单独获得文本/视频的隐藏状态。

为了解决这个问题,我们提出使用一个带有两个方形的独立注意力mask,两个方形mask呈对角放置,如图3中第一个方框的下半部分所示。这两个方块使视频token和文本token无法相互参与和查看,同时仍允许视频token和文本token使用相同的自注意力层来学习相同特征空间中的表示。

此外,请注意,BERT的第一个和第二个[SEP] token将分别用于视频和文本,旨在学习序列级特征。[CLS]被禁用,因为不需要学习视频和文本中的特征。前向传播后,视频和文本token的所有隐藏状态分别平均合并。然后,我们使用文本-视频相似性的对比损失来区分给定文本片段的ground truth视频片段与同一batch中的其他视频片段。在评估过程中,为了确保视频和文本是隔离的,我们将文本和视频分开并分别前向传播。

4.2 Action Segmentation

动作分割是为视频的每一帧指定一个预先定义的标签。这类似于NLP中的命名实体识别(NER)任务,但在视频帧上。我们在VLM中输入整个视频、一个虚拟文本令牌和一个孤立的注意力mask。然后,我们在VLM最后一层的每个视频token的隐藏状态之上添加一个分类头(带有预先定义的标签数量)。

4.3 Action Step Localization

在Action Step Localization中,每个视频都属于一个包含多个步骤的任务,每个步骤都被描述为一个简短的文本。然后,视频的每一帧都需要与文本形式的一个步骤对齐。将BERT应用于Action Step Localization的挑战类似于文本视频检索:视频帧需要与联合空间中的文本步对齐,而且由于帧/文本对的数量很大,几乎不可能进行成对视频/文本匹配。

与文本-视频检索模型类似,我们还对视频和文本应用了独立的注意力mask。主要的区别在于,我们将视频和文本分别传递给BERT。这是因为视频可以长达几分钟(超过100个token),但每个视频的文本标签数量是固定的(例如,10以下)。为了保持多模态输入的BERT格式一致,我们分别为视频前向传播添加了一个虚拟文本token,为文本添加了一个虚拟视频token。对于给定的帧,我们通过点积和softmax函数计算该帧在文本step上的分布。

4.4 Multiple-choice VideoQA

多项选择VideoQA将每个视频与文本中几个候选答案中的一个对齐。Action Step Localization与多项选择VideoQA的主要区别是视频隐藏状态不是帧级别的,而是序列级别的。我们分别对BERT应用单独的注意力mask。然后报告与视频最相似的答案。在微调过程中,我们利用视频文本相似度的对比损失对答案进行排序。

4.5 Video Captioning

使用单个编码器的另一大挑战是如何在不预先训练显式解码器的情况下应用生成性任务(如视频字幕)。我们观察到,transformer解码器与编码器有以下主要区别:(1)自回归损失,不允许文本token看到未来的标记;(2) 生成文本的预测头。要解决(1),通过向文本段传递shifted token和下三角注意力mask,可以很容易地将VLM的文本段重新调整为自回归损失。要解决(2),可以重复使用语言模型的head用于生成。,与标准transformer解码器相比,此设置的架构设计较少。BERT中的隐式文本解码器与视频编码器共享自注意力,以节省参数总数。

05

实验

Quantitative Analysis

上表展示了本文方法在MSR-VTT和Youcook2数据集上检索结果。VLM在这两个数据集上取得了很好的性能,表明MMM和孤立自注意力mask可以一起用于联合检索。

上表展示了Action Segmentation的实验结果。VLM优于其他baseline,表明其良好的token级视频表示。

上表展示了在CrossTask数据集上,VLM在Action Step Localization任务上的实验结果。

作者使用MSR-VTT QA来评估多选择QA任务的实验结果,上表展示了实验结果。从结果上看,VLM的性能优于其他baseline。

最后,作者使用自回归注意力mask和其他具有显式文本解码器的baseline来评估VLM在视频字幕上的性能。

Ablation Study

上表展示了VLM在Youcook2数据集上检索效果的消融实验结果。

上表展示了VLM在Youcook2数据集上captioning效果的消融实验结果。

03

总结

我们提出了一种任务不可知的预训练方法,该方法采用了新的mask方案,可以训练出一种既可以接受视频输入,也可以接受文本输入,或者同时接受视频和文本输入的mask语言模型。我们表明,这个简单的VLM模型可以有效地调整为广泛的下游任务,如文本-视频检索和视频字幕通过不同类型的注意mask。实验结果表明,所提出的方法在保持竞争性能的同时,所需的参数数量明显少于竞争方法。

0 人点赞