论文链接:https://arxiv.org/abs/2103.15049
当前主流的视频文本检索模型基本上都采用了基于 Transformer[1] 的多模态学习框架,主要可以分成 3 类:
- Two-stream,文本和视觉信息分别通过独立的 Vision Transformer 和 Text Transformer,然后在多模态 Transformer 中融合,代表方法例如 ViLBERT[2]、LXMERT[3] 等。
- Single-stream,文本和视觉信息只通过一个多模态 Transformer 进行融合,代表方法例如 VisualBERT[4]、Unicoder-VL[5] 等。
- Dual-stream,文本和视觉信息仅仅分别通过独立的 Vision Transformer 和 Text Transformer,代表方法例如 COOT[6]、T2VLAD[7] 等。
由于类别 1 和类别 2 方法在时间开销上的限制,本文提出的 HiT( Hierarchical Transformer with Momentum Contrast for Video-Text Retrieval)[8] 模型采用了类别 3 Dual-stream 的 Transformer 框架,以满足大规模视频文本检索的需求。然而现有基于 Transformer 的多模态学习方法会有两个局限性:
- Transformer 不同网络层的输出具有不同层次的特性,而现有方法并没有充分利用这一特性;
- 端到端模型受到显存容量的限制,无法在一个 batch 内利用较多的负样本。
针对上述 2 个局限,本文提出(1)层次跨模态对比匹配(Hierarchical Cross-modal Contrast Matching,HCM),对 Transformer 的底层网络和高层网络分别进行对比匹配,解决局限 1 的问题;(2)引入 MoCo[9] 的动量更新机制到跨模态对比匹配中,使跨模态对比匹配的过程中能充分利用更多的负样本,解决局限 2 的问题。实验表明 HiT 在多个视频-文本检索数据集上取得 SOTA 的效果。
HiT 模型主要有两个创新点:
- 提出层次跨模态对比匹配 HCM。Transformer 的底层和高层侧重编码不同层次的信息,以文本输入和 BERT[10] 模型为例,底层 Transformer 侧重于编码相对简单的基本语法信息,而高层 Transformer 则侧重于编码相对复杂的高级语义信息。因此使用 HCM 进行多次对比匹配,可以利用 Transformer 这一层次特性,从而得到更好的视频文本检索性能;
- 引入 MoCo 的动量更新机制到跨模态对比匹配中,提出动量跨模态对比 MCC。MCC 为文本信息和视觉信息分别维护了一个容量很大并且表征一致的负样本队列,从而克服端到端训练方法受到显存容量的限制,只能在一个相对较小的 batch 内寻找负样本这一缺点,利用更多的负例,从而得到更好的视频和文本表征。
方法
HiT 模型整体流程如图所示。输入视频经过视频编码器,输入文本经过文本编码器,然后在 2 种网络层级(特征底层、语义高层)上分别使用 2 种检索方式(文本检索视频、视频检索文本)共完成 4 次跨模态对比匹配。其中编码器都是基于 Transformer 结构,4 次跨模态对比匹配均使用上文提到的 MCC,构建了 4 个负样本队列和对应基于动量更新的 Key 编码器。
编码器
本文提出的 HiT 模型中,编码器有视频编码器和文本编码器两种,视频编码器采用 4 层 Transformer 结构,文本编码器采用 12 层 Transformer 结构。模型的视觉输入包括视觉特征Embedding、视觉Segment Mask、Position Embedding和Expert Embedding。抽取视频编码器的第一层输出作为视频低层特征,最后一层的输出作为视频高层特征。后文有实验对比选取不同的网络层输出对最终结果的影响。
动量跨模态对比(MCC)
现有的端到端多模态学习方法受到显存容量的限制,在参数更新的过程中,只能在当前 batch 内选取很少的负样本进行交互,如果能在这一过程中加入更多的负样本参与计算,对模型得到更好的视频和文本表征是有帮助的。因此,本文引入 MoCo 的动量更新机制到 HiT 模型中。以特征层的对比匹配为例,如下图所示,对视频和文本分别构建负样本队列,对应图中的 Memory Bank,Memory Bank 中存储的表征来自于 Key 编码器。在特征层共进行了两次对比匹配:(1)文本 Query 编码器与视觉 Memory Bank 对比匹配(2)视觉 Query 编码器与文本 Memory Bank 对比匹配。在参数更新的过程中,Query 编码器的参数通过梯度下降更新,文本 Key 编码器的参数基于文本 Query 编码器的参数进行动量更新,视觉 Key 编码器的参数基于视觉 Query 编码器的参数进行动量更新。与单模态的 MoCo 只维护两个相同结构的编码器不同,本文提出的 MCC 为视觉信息和文本信息分别构建了不同结构的编码器,并设计了新颖的参数更新方式,解决不同模态信息之间由于模态差异而带来的难以优化的问题。
层次跨模态对比匹配(HCM)
对于一般的特征提取网络,底层结构偏向于提取输入信息的低层特征,例如输入文本的基本语法结构;高层网络结构则偏向于提取高层特征,例如输入文本的语义信息。基于这个特点,本文提出层次跨模态对比匹配,让视频-文本分别在特征和语义两个层次上进行两次对比匹配,如下图所示。模型共完成 4 次跨模态对比匹配,分别对应 2 个网络层级(特征层,语义层)和 2 种检索方式(文本检索视频、视频检索文本)。每次对比匹配使用 InfoNCE 作为损失函数,因此最终损失函数是 4 个 InfoNCE 的加权求和,本文中权重超参数均设置为 1。
实验
研究进行了消融实验,验证提出的各个模型组件、以及不同参数值对最终结果的影响。
模型在 MSR-VTT、ActivityNet Captions 和 LSMDC 数据上与其他方法的对比:
验证 MCC 的作用,模型使用 MCC、使用不同参数的 MCC 对最终结果的影响。可以看出使用 MCC 的 rsum 结果都优于未使用 MCC 的模型,并且较为有趣的是,随着负样本队列 Memory Bank 容量的增大,rsum 结果先提升后下降,由此可以看出,Memory Bank 的容量不宜设置太大。
本文创新地提出层次对比匹配 HCM,实验对比了不同的 HCM 策略对最终结果的影响。不过这些策略整体的思路是相同的,都是直接选取文本和视觉编码器某一层的输出,对二者进行对比匹配,这里是否可以有其他的 HCM 策略可以更好地利用 Transformer 的层次特性,有待后续研究。
- HiT:本文提出的基础 HiT 模型,在特征层(底层)和语义层(高层)进行了 2 个层次上的对比匹配,特征层匹配选取 (Video Encoder-Layer-1, Text Encoder Layer-1),语义层匹配选取 (Video Encoder-Layer-4, Text Encoder Layer-12)
- HiT-sl:仅使用语义层的对比匹配
- HiT-fl:仅使用特征层的对比匹配
- HiT-4-level:除基础 HiT 的 2 个层次外,新增 2 个层次的对比匹配,分别是(Video Encoder-Layer-2,Text Encoder Layer-5)和(Video Encoder-Layer-3,Text Encoder Layer-9)
- HiT-3-level-a:除基础 HiT 的 2 个层次外,新增 1 个层次的对比匹配,对应(Video Encoder-Layer-3,Text Encoder Layer-9)
- HiT-3-level-b:除基础 HiT 的 2 个层次外,新增 1 个层次的对比匹配,对应(Video Encoder-Layer-2,Text Encoder Layer-5)
样本队列的 Key 编码器使用基于动量更新的编码器,对比如果使用和 Query 编码器相同的梯度更新策略,可以看出基于动量更新的 Key 编码器更优:
对比匹配中使用 InfoNCE 和 Triplet Loss,可以看出 InfoNCE 更优:
模型的视觉输入使用不同 Expert embedding:
使用不同特征融合方式,整体平均池化更优:
总结
本文将 MoCo 方法引入到视频文本检索的跨模态对比学习任务中,通过构建 MMC 模块既实现视觉和文本编码器的交互拖动更新,同时又实现了大规模的负样本对比学习。值得一提的是本文通过 HCM 模块探寻了不同层次的特征匹配的效果,扩宽了主流方法仅使用单一层次维度进行跨模态对比学习的思路。
HiT 已应用在快手多个业务场景中,通过 HiT 产生的embedding,提升了多模态模型表征能力,对视频检索、图文相关性判断、视频内容理解等模型都带来了效果的提升,在视频智能审核、视频冷启动、智能创作等业务场景中发挥重要作用。
参考文献
[1] Attention Is All You Need[2] ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks[3] LXMERT: Learning Cross-Modality Encoder Representations from Transformers[4] VisualBERT: A Simple and Performant Baseline for Vision and Language[5] Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal Pre-training[6] COOT: cooperative hierarchical trans- former for video-text representation learning[7] T2VLAD: Global-Local Sequence Alignment for Text-Video Retrieval[8] HiT: Hierarchical Transformer with Momentum Contrast for Video-Text Retrieval[9] Momentum contrast for unsupervised visual representation learning[10] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding