ICCV2021 | 快手联合北大提出多层次对比学习的跨模态检索方法
机器之心专栏
机器之心编辑部
近年来,互联网环境中的多媒体内容大量增加,如何通过视频文本相互检索,提升用户获取信息的效率,满足不同的用户对多媒体内容的消费需求变得异常重要。随着短视频内容社区的兴起,多媒体内容的创作门槛变低,UGC 内容成为主流,视频文本检索任务面临更加复杂和困难的挑战。本文针对视频文本检索任务提出层次化对比学习的跨模态检索思路,实现了更加高效且精准的视频文本检索方法,目前该论文已经被 ICCV2021 接收。
论文链接: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
过去30年,微软研究院一直通过跨学科、跨机构、跨地域的科学研究,为微软、为社会畅想和实现技术远景,致力于培育一个有韧性、可持续且健康的全球社会,并确保技术值得信赖,可以让每一个人受益。
为了进一步探索科学与技术发展的未来,由微软全球八大研究院携手倾力打造的首届微软研究峰会 Microsoft Research Summit 2021将于10月19日至21日线上举办。
来自世界各地的300余位顶尖科学家和技术领导者将带来共150场分享,包括微软公司董事长兼首席执行官 Satya Nadella,首席技术官 Kevin Scott,微软全球资深副总裁、微软研究院负责人 Peter Lee……内容围绕“科学、赋能、可持续发展、医疗健康、信任”五大主题展开,话题涵盖人工智能的行业应用、机器学习、可持续发展、隐私与安全、健康和生命科学等等。
欢迎大家扫描二维码或点击阅读原文注册 Microsoft Research Summit 2021,共享这场全球学术盛宴!
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com
相关文章
- IEEE ICIP 2019 | 更快更好的联邦学习:一种特征融合方法
- 李航《统计学习方法》笔记之朴素贝叶斯法
- GraphMAE:将MAE的方法应用到图中使图的生成式自监督学习超越了对比学习
- Oracle 等待事件 rolling migration: cluster quiesce 官方解释,作用,如何使用及优化方法
- JSP Request.getCookies()方法:获取cookie对象
- Oracle在线重定义表:新的管理方法(oracle在线重定义表)
- 无人作战体系(三)无人体系给现有作战方法带来了怎样的颠覆?
- 指令学习:Linux查看防火墙状态的方法(linux查看防火墙命令)
- 学习Java技术:使用Redis的简单方法(javaredis用法)
- Oracle数据库右连接的使用方法(oracle右连接)
- 学习Linux SSH:完成安装和使用方法(linuxssh教程)
- 掌握MySQL时间数据的年月日处理方法(mysql时间年月日)
- 探究Oracle中外键的设置方法(oracle外键的设置)
- 探究linux内核:学习方法与技巧(怎么研究linux的内核)
- 深入MySQL学习avg函数的使用方法(mysql中avg 用法)
- eBS迁移Oracle数据库简单而有效的方法(ebs迁移oracle)
- Oracle中实现字段间相减的方法(oracle 中字段相减)
- 实例学习Javascript之构建方法、属性
- 惊现学习CSS应该注意的方法
- Prototype学习工具函数学习($w,$F方法)
- asp中文乱码问题解决方法
- PHP5.5在windows安装使用memcached服务端的方法
- ThinkPHP之N方法实例详解