VideoCLIP-Facebook&CMU开源视频文本理解的对比学习预训练,性能SOTA!适用于零样本学习!

2022-03-29 14:00:48 浏览数 (1)

写在前面

在本文中,作者提出了VideoCLIP,这是一种不需要下游任务的任何标签,用于预训练零样本视频和文本理解模型的对比学习方法。VideoCLIP通过对比时间重叠的正视频文本对最近邻检索的负样本对 ,训练视频和文本的Transformer。

在本文中,作者对一系列下游任务(包括序列级文本视频检索、VideoQA、token级动作定位和动作分割)进行了实验,实验结果表明本文提出的VideoCLIP可以达到SOTA的性能,在某些情况下甚至优于监督方法。

01

论文和代码地址

VideoCLIP: Contrastive Pre-training for Zero-shot Video-Text Understanding

论文地址:https://arxiv.org/pdf/2109.14084.pdf

代码地址:

https://github.com/pytorch/fairseq/tree/main/examples/MMPT

02

Motivation

近几年,“预训练 微调”的训练范式对NLP和CV领域进行了革新。尽管以这种方式训练的模型可以获得不错的性能,但它们仍然需要特定于任务的标注数据,并需要基于每个下游任务进行微调。基于这样的问题,最近也有一些工作致力于研究无需微调的零样本迁移到下游任务的预训练,比如NLP领域中GPT,CV领域中的CLIP。

在本文中,作者主要研究零样本迁移到视频文本理解任务的预训练。本文的方法使用成对的视频本文 clip,基于对比学习的目标函数,对Transformer结构进行预训练。本文的VideoCLIP基于一个公开的预训练数据集HowTo100M来使模型能够获得视频理解的能力。实验表明,所得到的预训练模型可以直接应用于或通过微调应用于一系列视频文本任务。

作者发现,简单直接的目标函数会导致较差的结果,并认为学习视频和文本之间的细粒度关联对于零样本迁移到下游任务至关重要,因为下游任务可能需要不同粒度的视频文本交互。以前的工作是在随机batch中对短时间的、对齐的视频和文本片段进行采样,但没有学习视频帧和单词token之间的细粒度关联。

在本文中,作者提出了VideoCLIP,使用了两种关键技术(如上图所示)来计算训练目标,通过对比学习来预训练统一的视频文本表示。首先,作者的目标是改善视频和文本与不同序列长度的关联。尽管大多数视频和文本没有语义对齐,但当前的视频文本模型是通过精确的时间对齐进行训练的。

因此,多个或更长的文本clip能与视频clip很好地对齐,但是许多视频clip并可能没有任何相应的文本。为了解决这些问题,作者使用临时重叠的视频和文本clip对进行预训练(如上图所示),从而大大提高视频文本对齐的质量和数量

其次,作者隐式了收集更难的负样本对,从对比损失函数中学习细粒度视频文本相似度。现有的工作通过从同一视频中采样多个视频片段来对比视频内的片段,但作者发现从其他视频中挖掘片段可以提供更具挑战性的负样本对。因此,作者提出了一种检索增强预训练方法来检索每个训练batch中相似的视频

在预训练之后,模型能够进行零样本的迁移学习,而不需要在具有标签的目标数据集上进行微调。作者在5个数据集、4个任务上进行了实验,包括文本-视频检索(用于文本-视频相似性)、视频QA(用于视频-文本相似性)、动作定位(用于视频帧-文本标签相似性)和分割(视频token-文本标签相似性),都打到不错的效果。

03

方法

在零样本迁移的多模态视频文本预训练范式中,关键的挑战是学习视频和文本之间的细粒度关联,以满足下游任务的不同需求。在本节中,作者首先介绍视频和文本模型的主干网络和对比损失;然后,提出重叠的视频和文本clip,以提高正样本对的关联性;最后,介绍了检索增强的预训练,以改进负样本对的挖掘。

3.1 Video and Text Encoding

Video and Text Transformers

设是连续帧序列的视频clip,作者首先将输入一个参数冻结的预训练的视频编码器中,然后应用一个参数为的可训练MLP,获得与文本token具有相同嵌入维度的的视频token:

boldsymbol{x}_{v}=f_{theta_{mathrm{MLP}}}left(operatorname{stopgrad}left(f_{theta_{mathrm{CNN}}}left(boldsymbol{c}_{v}right)right)right)

类似于BERT,文本token向量通过查找获得。然后,和分别送入两个独立的可训练Transformerθθ中,以获得视频和文本token的隐藏状态:

boldsymbol{h}_{v}=f_{theta_{mathrm{v}}}left(boldsymbol{x}_{v}right), boldsymbol{h}_{t}=f_{theta_{mathrm{t}}}left(boldsymbol{x}_{t}right)

为了获得视频和文本clip的隐藏状态(即全局特征),作者分别对视频和文本的token序列应用平均池化:

z_{v}=operatorname{AvgPool}left(boldsymbol{h}_{v}right), z_{t}=operatorname{AvgPool}left(boldsymbol{h}_{t}right)

这里用平均池化(而不用[CLS] token)能够促进,token级表示的学习,这有利于token级任务的性能提升。

3.2 Contrastive Loss

作者使用对比损失来学习视频和文本之间的对应关系。学习目标是最小化两个模态之间的对比损失函数之和:

mathcal{L}=-sum_{(v, t) in B}left(log operatorname{NCE}left(z_{v}, z_{t}right) log operatorname{NCE}left(z_{t}, z_{v}right)right)

其中是包含采样视频文本对的batch,和是视频与文本相似性和文本与视频相似性的对比损失。具体而言,视频到文本的对比损失如下所示:

operatorname{NCE}left(z_{v}, z_{t}right)=frac{exp left(z_{v} cdot z_{t}^{ } / tauright)}{sum_{z inleft{z_{t}^{ }, z_{t}^{-}right}} exp left(z_{v} cdot z / tauright)}

其中,τ为温度超参数,为与视频clip 重叠的文本clip(即,正样本),是由训练bacth中的其他文本clip形成的文本clips(即,负样本)。同样的,的定义是对称的。

3.3 Overlapped Video-Text Clips

现有的视频文本预训练方法,考虑了时间上精确对齐的clip。虽然严格对齐看起来很自然,但在片段中,时间对齐的视频和文本片段在语义上也很接近的可能性较小。为了构建重叠的视频/文本对,作者采用了以下的步骤:

1) 对文本clip进行采样(如果先对视频clip进行采样,可能没有相应的文本);

2)在文本clip的边界内采样timestamp,作为视频clip的中心;

3)基于随机持续时间(最多32秒),从该中心timestamp开始对视频clip进行拓展。

实验证明,这种简单的方法能够带来巨大的性能提升。

3.4 Retrieval Augmented Training

通过使用对比预训练目标中更困难的负样例,可以学习建立更细粒度的视频文本相似性模型。因此作者在训练batch中使用难负例样本 ,它们在语义上与正例的样本对相关,这些难负例是通过检索采样得到的。

本文的方法旨在通过视频聚类来构建一个batch的训练样本,因此作者将其建模成了在视频潜在空间中进行检索的任务。整个训练过程可以看成是一个二阶段的方法,在每个迭代过程中交替执行检索和训练任务,如下图所示:

04

实验

4.1. Main Results

Text-video Retrieval

上表展示了 Youcook2和MSR-VTT数据集上,本文的方法在监督和零样本学习设置上和其他方法的比较,可以看出,本文在性能上具有一定的优越性。

上表展示了本文方法在DiDeMo数据集上和其他监督学习方法的对比结果,可以看出 ,本文方法的零样本效果甚至优于许多监督学习的方法。

Video Question Answering

上表展示了Video Question Answering任务上,本文方法和其他方法的对比结果,可以看出,无论是监督学习,还是零样本学习,本文的方法都具备性能上的优越性。

Action Segmentation

上表展示了动作分割任务上,本文方法和其他方法的性能对比。

Action Step Localization

上表展示了 CrossTask数据集上基于Action step localization任务,本文方法和其他方法的性能对比,可以看出,无论是监督学习,还是零样本学习,本文的方法都具备性能上的优越性。

4.2. Ablation Study

上表展示了Youcook2数据集上text→video retrieval任务,本文模型的消融实验结果。

05

总结

在本文中,作者提出VideoCLIP ,这是一种预训练视频文本模型的方法,可以零样本的迁移到需要视频和语言之间细粒度关联的下游任务。为了提高训练效率和性能,作者提出了两种训练策略,即Overlapped Video-Text ClipsRetrieval Augmented Training

实验表明,在下游数据集没有任何监督时,VideoCLIP在各种任务上优于以前的模型,在某些情况下,VideoCLIP甚至优于以前使用监督标签 的模型;此外,下游数据的微调能够带来进一步的性能提升。

0 人点赞