ICCV2021-《HiT》-北大&FAIR&自动化所&快手提出基于动量对比学习的层次Transformer——HiT,用于视频文本检索!代码已开源!

作者 | 小马

编辑 | CV君

报道 | 我爱计算机视觉(微信id:aicvml)

【写在前面】

随着互联网上多媒体数据的增长,视频文本检索已经成为一个热门的研究课题。用于视频文本学习的Transformer因其良好的性能而受到越来越多的关注。然而,现有的跨模态Transformer方法通常受到两个限制:

1) 不同层具有不同特征的Transformer结构的开发受到了限制 ;

2) 端到端训练机制限制了mini-batch中的负样本交互 。

在本文中,作者提出了一种新的视频文本检索方法,称为层次Transformer(HiT) 。HiT在特征层 和语义层 进行层次化的跨模态对比匹配,实现多视角、综合检索结果。此外,受MoCo的启发,作者提出动量跨模态对比用于跨模态学习,以实现大规模的负样本动态交互,这有助于生成更精确和更具辨别力的表示。在三大视频文本检索基准数据集上的实验结果表明了该方法的优越性。

1. 论文和代码地址

HiT: Hierarchical Transformer with Momentum Contrast for Video-Text Retrieval

论文地址:arxiv.org/abs/2103.1504

代码地址:未开源

2. Motivation

跨模态检索已经引起了越来越多的关注,其目的是从不同模态中搜索语义相似的样本。互联网上视频内容的爆炸式增长给视频文本的准确检索带来了巨大的挑战。在本文中,作者重点研究了视频文本检索的学习,也希望能对其他跨模态任务有所启发。

最近的工作表明,Transformer可以学习高级视频表示。现有的跨模态学习方法大致可分为two-stream、single-stream和dual stream结构。

如上图(a)所示,Two stream 结构利用视觉Transformer和文本Transformer独立学习视觉和文本表示,然后引入多模态Transformer来实现跨模态信息交换。Singe-stream 架构,如上图(b)所示,在Transformer模型的初始阶段融合了视觉和文本表示。

但是,这两种体系结构不适用于大规模跨模态检索任务,因为它们需要[公式]的时间复杂度。在本文中作者采用了Dual Stream 的结构,如上图(c)所示,该结构已成为跨模态检索的最新趋势,具有更高的效率,时间复杂度为[公式]。基于Dual Stream结构,本文提出了一种新的基于Transformer的视频文本检索方法,即分层Transformer(HiT),主要执行两个任务:

层次交叉模态对比匹配(Hierarchical Cross-modal Contrastive Matching) :根据transformer架构中不同层的注意力分配特征,不同层的特征集中在不同的视图上。例如,较低层中的特征倾向于使用基本语法表示对更多局部内容进行编码。更高的层捕获更复杂的语义,通常产生更高级别的语义表示。基于这些特点,作者提出了分层跨模态对比匹配,以实现分层的多视点综合视频文本检索,如上图所示。

动量交叉模态对比度(Momentum Cross-modal Contrast,MCC) :最近,用于无监督视觉表征学习的自监督方法强调了大规模负样本的必要性。受这些工作的启发,作者认为在跨模态对比学习中,训练过程中大规模的负样本交互作用被忽略了。在本文中,作者将MoCo引入HiT,以实现大规模负样本相互作用。

在MCC中,作者构建了几个内存库来保存一组丰富的负样本表示,这有助于在训练期间扩大负样本交互。然而,如果使用梯度下降法大幅更新的视频和文本编码器来生成存储库的表示,将导致存储库中的表示不一致,从而在很大程度上影响检索性能。因此,需要使用动量更新两种模态的键编码器来保持表示一致性。

3. Problem Definition

对于视频文本检索任务,M个视频表示为[公式],N个文本表示为[公式]。每个视频都有多种专家嵌入,以在多个视图中表示视频,例如运动、外观和音频。每个文本都用英语的自然语言表示。形式上,视频文本检索方法的目标是获得两个query encoders[公式][公式],其中f和g分别表示视频域和文本域,[公式]包含了L个公共嵌入空间。在公共嵌入空间中,交叉模态样本由一系列紧凑的嵌入表示。同时,在公共嵌入空间中,相似交叉模态样本之间的距离小于不同交叉模态样本之间的距离。该约束可表述如下:

[公式]

其中[公式]为样本间的距离。

4. 方法

上图展示了用于视频文本检索的分层Transformer(HiT)的结构。对于视频编码,有查询视频编码器 Query Video Encoder和键视频编码器 Key Video Encoder,两个视频编码器使用相同的结构。对于文本编码,有采用相同结构的查询文本编码 Query Text Encoder和键文本编码 Key Text Encoder。其中,键编码器用于利用动量交叉模态对比(MCC)进行更新学习。

4.1. Video Encoders

视频编码器,包括查询和键视频编码器,设计为基于Transformer的结构。作者将原始视觉特征转换为离散的token序列作为输入。为此,作者采用了一系列预训练的视频相关特征,包括运动、外观和音频特征,以获得视觉嵌入[公式]作为输入。视觉段Mask[公式]和视觉位置嵌入[公式]需要分别指示输入特征的真实长度和位置信息。此外,作者还加入了专家嵌入[公式],最终视觉输入如下所示:

[公式]

Video Feature-level Feature

以前工作表明,在基于Transformer的结构中,较低层中的特征捕获描述基本语法信息的低级模式。作者在查询视频编码器和键视频编码器的第一层中获得这些视觉token特征。然后对它们进行平均池化和非线性投影,得到[公式][公式]

Video Semantic-level Feature

基于transformer的结构中的更高层特征捕获了更复杂的语义表示。作者对最后一层中的上下文token进行平均池化,以表示语义级别的特征,然后用两个投影头进行非线性变换得到[公式]

4.2. Text Encoders

作者使用Bert base uncased模型作为文本编码器并对其进行微调。值得注意的是,视频特征是由预训练的深度神经网络生成的,并且已经具有更高级别的语义表示能力。而文本模态与视频模态有着不同的内在复杂性,需要更多的Transformer块来建模词与词之间的语义关系。因此,文本编码器比视频编码器更深。

文本中的每个单词将被嵌入到一个单词嵌入向量中,得到Token Embedding[公式]。[CLS]和[END]表示第一个和最后一个位置。文本段Mask[公式]用来指示输入序列的实际长度。文本位置嵌入[公式]用于表示文本编码器中输入序列的单词索引。文本编码器的最终输入定义为:

[公式]

Text Word-level Feature

作者从查询文本编码器和键字文本编码器的第一层获取词级特征。与视频特征级特征的获取类似,作者执行平均池化,并利用两个投影头进行非线性变换,获得[公式]

Text Semantic-level Feature

来自最后一层的token特征的平均池化称为文本语义特征。这些上下文token表示了给定文本的高层含义。使用两个投影头进行非线性变换以获得[公式]

4.3. Momentum Cross-modal Contrast

在大多数实现方法中,端到端训练机制在很大程度上限制了负样本交互。为了使大规模负样本相互作用产生更精确和更具区别性的表征,作者提出了动量交叉模态对比(MCC) 。并将四个内存库构建为队列,用于动态保存负样本表示。

Text Memory Banks

文本内存库为两个队列(包括用于保存键文本字级特征 (key text word-level features)的[公式]和用于保存键文本语义级特征 (key text semantic-level features)的[公式])。在每次训练迭代中,由键文本编码器编码的当前mini-batch的键文本表示[公式]将排入[公式]队列,最早的mini-batch将退出队列。[公式]中的键文本表示将用于计算查询视频编码器中当前mini-batch视频表示[公式]的损失函数。

Video Memory Banks

类似地,作者构建了用于保存键视频特征级特征 的[公式]和用于保存键视频语义级特征 的[公式]

此外,为了保持内存库中的表示一致性,需要两个执行动量更新的键编码器。将[公式][公式]表示为查询和键视频编码器的参数。[公式][公式]是查询和键文本编码器的参数。[公式][公式]的动量更新公式为:

[公式]

[公式]是动量系数,它是一个相对较大的值。在本文中,作者设定为m=0.9999。参数[公式][公式]通过反向传播更新。动量更新使[公式][公式]的更新比[公式][公式]更平滑。因此,尽管内存库中的键表示由不同的编码器编码,但这些编码器之间的差异将很小。

4.4. Hierarchical Cross-modal Contrastive Matching

作者提出了分层跨模态对比匹配的视频文本检索学习。具体地说,作者利用视频特征级特征和文本词级特征进行特征级对比匹配 ,视频语义级特征和文本语义级特征用于语义级对比匹配 。

Feature-level Contrastive Matching

对于视频文本检索,作者通过计算[公式]之间的余弦相似度得到正样本相似度[公式]。然后,作者通过计算[公式][公式]中的所有键文本表示之间的余弦相似性得到负样本相似度[公式]

因此,就得到了[公式],其中[公式][公式]的队列大小。类似地,对于使用文本检索视频,可以得到[公式],其中[公式][公式]的队列大小。然后使用InfoNCE来计算损失函数:

[公式]

其中γ是温度超参数。

Semantic-level Contrastive Matching

以同样的方式,可以实现了语义级别的正样本相似性和负样本相似性:[公式]。语义级对比匹配的目标函数定义为:

[公式]

最终的损失函数[公式]为:

[公式]

其中α和β是平衡两个目标函数的两个超参数。作者在实验中将α和β都设为1。

5.实验

5.1. Compare to state of the art

上表展示了本文方法在MSR-VTT数据集上和SOTA方法的对比。

上表展示了本文方法在ActivityNet数据集上和SOTA方法的对比。

上表展示了本文方法在 LSMDC数据集上和SOTA方法的对比。

5.2. Ablation Study

Hierarchical Cross-modal Matching

如方法部分所述,作者使用第一层的token特征进行特征级对比匹配,而最后一层的token特征用于语义级对比匹配。在本节中,作者设计了几个变体来验证层次交叉模态对比匹配的影响,结果如上表所示。可以看出,使用更多的层次进行对比匹配能够获得明显的性能改进。

Momentum Cross-modal Contrast

上表展示了不同内存库列表长度实验结果,可以看出,随着队列规模的增长,检索性能在增长后略有下降,这可能是由于一些正样本被误分类为负样本所致。

Momentum Encoders

在本节中,作者减少了两个动量编码器,通过评估检索性能来探索它们在保持表示一致性方面的有效性。可以看出,当不使用动量编码器时,检索性能下降。

Expert Utilization

上表展示了不同损失函数的实验结果,可以看出InfoNCE能够达到更好的实验结果。

Feature Aggregation

上表展示了不同聚合函数的实验结果,可以看出平均池化能够达到更好的实验结果。

6. 总结

本文主要做了两方面的工作:1)在层次交叉模态对比匹配中,作者证明了利用Transformer中的特征层次可以获得良好的性能增益 。2)动量跨模态对比表明,跨模态学习可以受益于大规模负样本学习 。作者在三大视频文本检索基准数据集上进行了广泛的实验,实验结果表明了该方法的优越性。

转载请注明:《ICCV2021-《HiT》-北大&FAIR&自动化所&快手提出基于动量对比学习的层次Transformer——HiT,用于视频文本检索!代码已开源!