文章汉化系列目录
文章目录
《基于三重对比学习的视觉-语言预训练》
摘要
视觉-语言表示学习在很大程度上受益于通过对比损失(例如InfoNCE损失)实现的图像-文本对齐。该对齐策略的成功归因于它能够最大化图像及其匹配文本之间的互信息(MI)。然而,单纯执行跨模态对齐(CMA)会忽视每个模态内部的数据潜力,可能导致表示的质量下降。例如,虽然基于CMA的模型能够在嵌入空间中将图像-文本对紧密映射在一起,但无法确保来自同一模态的相似输入保持接近。当预训练数据存在噪声时,这个问题可能变得更严重。本文提出了一种用于视觉-语言预训练的三重对比学习(TCL),通过结合跨模态和模态内的自监督学习来解决这个问题。除了CMA,TCL还引入了模态内对比目标,为表示学习提供互补的好处。为了充分利用图像和文本输入中的局部化和结构化信息,TCL进一步最大化图像/文本局部区域及其全局摘要之间的平均互信息。据我们所知,这是首个在多模态表示学习中考虑局部结构信息的工作。实验评估表明,我们的方法具有竞争力,并在图像-文本检索和视觉问答等常见的下游视觉-语言任务中达到了新的最先进水平。https://github.com/uta-smile/TCL
1.引言
自监督是视觉和语言表示学习中的一个活跃研究主题。已经提出了许多方法,并在具有挑战性的任务上取得了显著的性能【5, 7, 10, 17, 19, 40】。一种典型的方法是先在大量未标注的数据上以自监督的方式预训练模型,然后将其微调用于感兴趣的下游任务(例如零样本学习和迁移学习)。在视觉领域,自监督可以通过样本学习【13】,预测两个随机图像块之间的相对位置【11】,或者通过拼图解答【32】来实现。在语言领域,掩码语言模型(MLM)被广泛用作自监督的首选方法。
受自监督在各个单一模态中成功应用的启发,近年来对自监督视觉-语言预训练(VLP)的兴趣日益增加【4, 14】。这对多模态任务如视觉问答(VQA)、图像-文本检索和视觉蕴涵至关重要。这些任务依赖于通过建模视觉和语言特征之间的交互来获得联合多模态嵌入。为了实现这一目标,过去几年提出了各种VLP框架,利用大量的图像-文本对【8, 16, 27, 28】。其中的关键思想是应用融合编码器对视觉和语言特征的连接进行建模,以学习联合表示。尽管这种策略简单有效,但由于视觉和语言特征处于不同的嵌入空间,导致特征融合相当具有挑战性【26】。为缓解这个问题,最新的前沿方法【26】将学习过程分为两个阶段: 1) 首先通过对比损失(如InfoNCE【33】)对跨模态特征进行对齐,将匹配的图像-文本对的嵌入拉近,同时将不匹配对的嵌入拉远; 2) 然后对齐图像和文本表示,应用融合编码器学习联合嵌入。具体而言,阶段1通过InfoNCE损失最大化匹配图像-文本对(I, T)之间的互信息(MI),这是基于I和T代表同一语义的两个“视图”的事实【46】。然而,阶段1的局限在于,单纯的跨模态对齐(CMA)不能完全保证所学特征的表达能力,而这对于联合多模态表示学习至关重要。主要原因在于,I和T无法完全描述彼此。例如,(图1A)中的文本只关注配对图像中的显著对象,而忽略了其他细节和细粒度信息。CMA只捕捉到了共同出现的特征【23】。这也可以从CMA特征在图像-文本检索中的表现远好于模态内检索(图像-图像和文本-文本)得到验证。此外,预训练数据集通常从网络收集,固有地存在噪声。这导致学习到的表示能力下降,跨模态特征未能捕捉到某些关键概念。
图1. (A):框架概览,包括视觉编码器、文本编码器和融合编码器。每个编码器都有一个配对的动量编码器,由基于动量的移动平均进行更新。对于图像输入,我们应用了两个独立的数据增强操作(a和b),它们来自同一增强系列。对齐模块包含三个对比目标(即CMA、IMC和LMI),用于跨模态和模态内表示学习,使融合编码器更容易学习联合多模态嵌入。(B):结合跨模态和模态内监督的动机。原始图像(粉色)经过增强,得到两个不同视图(绿色)。仅使用CMA时,中间图像仅有一个正文本示例(绿色)并将其他文本(红色)视为负样本,其嵌入(蓝色圆圈)会接近其正文本示例。通过引入IMC,它有两个正示例(一个文本和一个图像)以及两组负示例(分别来自文本和图像),倾向于学习更合理的嵌入(蓝色方块)。
随着Transformer在视觉和语言任务中越来越流行,现有的视觉-语言预训练(VLP)方法采用了Transformer架构来提取视觉和语言特征。具体来说,视觉Transformer(例如ViT【12】)和文本Transformer(例如BERT【10】)中的[CLS]标记被用来表示输入的全局信息。例如,ALBEF【26】通过最大化视觉[CLS]和文本[CLS]之间的互信息(MI)来进行训练。然而,最大化全局MI忽略了输入中的局部化和结构化信息【1, 20】。一个潜在的副作用是,它可能会促使编码器主要从某些无关或噪声较大的图像块或文本标记中提取信息,这些信息主导了MI。
本文中,我们提出了一种新颖的视觉-语言预训练框架,称为三重对比学习(简称TCL)。其核心思想是通过结合跨模态和模态内的自监督学习,来学习理想的表示,从而使融合编码器更容易学习多模态交互。为实现这一目标,TCL引入了三个对比模块:跨模态对齐(CMA)、模态内对比(IMC) 和 局部互信息最大化(LMI),所有模块均依赖于互信息(MI)最大化。具体而言:i) CMA通过最大化匹配的图像-文本对之间的全局MI,将匹配的图像-文本对的嵌入拉近,并将不匹配对的嵌入拉远;ii) IMC作为对CMA的补充,通过最大化相同数据样本的不同增强视图之间的全局MI,来增强一致性;iii) LMI促进全局表示与输入的每个局部区域(例如图像块和文本标记)之间的高MI,从而缓解全局MI最大化带来的副作用。这三个模块的结合使我们能够:i) 学习出不仅在跨模态图像-文本对中具有语义意义的表示,同时也能在模态内输入中保持表达力;ii) 通过提取跨局部块/标记共享的相关特征,捕捉结构化和局部化信息。
我们的主要贡献可以总结为:
- 我们结合了跨模态和模态内的自监督学习,为表示学习提供互补的优势,这有助于在融合编码器中建模更好的联合多模态特征;
- 我们不仅依赖全局信息进行多模态对比学习,还通过最大化局部区域与其全局摘要之间的局部互信息,充分利用图像和文本输入中的局部化和结构化信息。
综合实证研究表明,TCL在广泛的视觉+语言基准任务(如图像-文本检索和视觉问答(VQA))上实现了新的最先进水平。具体而言,在零样本图像-文本检索任务中,我们的方法相比ALIGN【23】取得了显著的提升(在MSCOCO上的平均召回率为79.5% vs 70.9%)。值得注意的是,ALIGN是在18亿图像-文本对上进行预训练的,这比TCL的规模(5百万)大约大了350倍。通过在包含1400万图像-文本对的大规模数据集上预训练TCL,我们观察到显著的性能提升,这表明TCL在使用更大数据集时有进一步提高的潜力。为了研究TCL中各个组件的有效性,我们还进行了全面的消融实验,并进行了详细分析。
2.相关工作
视觉-语言预训练(VLP) 受自监督学习在模态内任务中成功的启发,近年来对于开发多模态任务(如视觉和语言)预训练目标的兴趣迅速增长。例如,为了从文本中获得更广泛的监督源,开创性工作CLIP【39】通过预测哪个文本对应哪个图像,构建了一个任务无关的模型,该模型甚至与特定任务的监督模型竞争。ALIGN【23】进一步扩展了CLIP,利用了一个超过十亿张图像及其文本描述对的噪声数据集。尽管取得了这些进展,CLIP和ALIGN主要是为基于视觉的下游任务设计的,并在预训练期间忽略了多模态之间的交互。为了适应视觉+语言任务(如VQA【18】和视觉推理),近期的研究提出了联合学习图像内容和自然语言的多模态表示方法。其中,OSCAR【28】、UNIMO【27】、VILLA【16】和UNITER【8】使用了目标检测器(如Faster R-CNN【42】)来首先捕获视觉特征,然后通过多层Transformer【45】对提取的视觉特征和文本特征的连接进行建模,以学习联合嵌入。然而,这种策略存在一些局限性,如:
i) 使用目标检测器提取区域特征计算效率低;
ii) 视觉特征的质量在很大程度上受到预训练目标检测器中预定义视觉词汇的限制。
为了解决这一问题,SOHO【21】不依赖于基于区域的视觉特征,而是将整幅图像作为输入,通过视觉词典提取紧凑的图像特征,这比基于区域的方法推理速度快10倍。ViLT【24】完全抛弃了卷积视觉特征,采用视觉Transformer【12】对固定大小的非重叠图像块序列建模长距离依赖关系。
尽管上述方法取得了显著的性能,它们未能在融合之前进行图像-文本对齐,这使得学习不同模态之间的交互变得具有挑战性。
为了解决上述问题,ALBEF【26】在建模图像和文本联合表示之前应用对比损失来对齐图像和文本特征,取得了最先进的性能。我们的方法与ALBEF有相似之处,但有以下明显区别:
i) 我们不仅进行跨模态对齐(CMA),还结合跨模态和模态内的自监督,确保所学的表示具有语义意义。其原理是,单独的跨模态对齐可能导致特征退化问题:尽管不同模态的特征分离良好,但同一模态的特征可能集中在一个窄范围内,且相似度较高。
ii) 我们通过最大化局部区域和全局表示之间的互信息(MI)引入局部对齐到跨模态场景中。与ALBEF使用的全局对齐策略相比,最大化局部MI促使我们的模型学习图像块/文本标记中共享的特征。此外,局部对齐可以防止模型仅捕获噪声或无关特征。
CODIS【15】是一项同时期的工作,它采用了教师-学生蒸馏范式来指导学习过程。与我们的方法不同,CODIS使用聚类表示进行特征对齐。
互信息最大化 互信息(MI)旨在衡量随机变量之间的关系或确定共享信息的量。MI在无监督特征学习中广泛应用,其核心思想是最大化输入和输出之间的MI【30】。然而,高维随机变量的MI估计非常困难且难以处理,特别是对于深度神经网络【35】。为此,MINE【2】利用双重优化提供了一个通用的MI估计器。另一种选择是InfoNCE【33】,它是一种分类交叉熵损失,通过在一组负样本中识别正样本来实现。InfoNCE被证明是MI的下界【33】,因此最小化InfoNCE损失可以间接最大化MI。然而,现有研究通常只在完整的输入和输出之间最大化MI(即全局MI最大化),这被证明对于有意义的表示学习是不够的【20】。DIM【20】通过引入局部MI来解决这一局限性,即最大化图像输入的局部区域与编码器输出之间的平均MI。AMDIM【1】进一步扩展了DIM,最大化从同一图像的独立增强中提取的特征之间的MI。
DIM 和 AMDIM 都是在模态内任务中进行的。相比之下,我们引入了针对多模态问题的局部互信息最大化,以促进跨模态表示学习。具体来说,我们鼓励输入的全局表示与每个局部区域(例如图像块和文本标记)之间具有较高的MI。这能够生成更具迁移性的表示,我们的实证研究也证明了这一点。此外,与使用基于CNN的网络不同,我们的局部MI是基于Transformer架构构建的。因此,Transformer中的序列块标记实际上使我们能够轻松访问局部特征,而不需要从中间层提取局部信息。我们的实验表明,使用Transformer骨干网络时,来自最后一层的块嵌入表现优于中间层的块嵌入。
3. 方法
在本节中,我们首先描述我们方法的模型架构(如图1所示),接着介绍单模态表示学习。随后,我们详细说明提出的三重对比学习模块:跨模态对齐(CMA)、模态内对比(IMC)和局部互信息最大化(LMI)。最后,我们简要介绍了两个预训练目标,即图像-文本匹配(ITM)和掩码语言模型(MLM)。
3.1. 模型架构
图1展示了我们方法的概述,包括一个视觉编码器 g ( ⋅ ) g(\cdot) g(⋅),用于从图像输入中学习视觉特征;一个文本编码器 h ( ⋅ ) h(\cdot) h(⋅),用于从文本输入中学习语言特征;以及一个融合编码器,用于学习多模态交互。所有这些编码器均采用基于Transformer的架构【45】,其详细说明见第4.3节。对于每个编码器,我们维护一个配对的动量编码器,按照【19】中的设定,使用基于动量的移动平均策略实现。公式上, θ g ^ = m θ g ^ + ( 1 − m ) θ g \hat{\theta_g} = m\hat{\theta_g} + (1 - m)\theta_g θg^=mθg^+(1−m)θg,其中 g ^ ( ⋅ ) \hat{g}(\cdot) g^(⋅)是动量视觉编码器, m ∈ [ 0 , 1 ] m \in [0, 1] m∈[0,1]是动量系数。同样地,我们用 h ^ ( ⋅ ) \hat{h}(\cdot) h^(⋅)表示动量文本编码器。单模态编码器 g ( ⋅ ) g(\cdot) g(⋅)和 h ( ⋅ ) h(\cdot) h(⋅)用于从给定的输入中学习鲁棒的视觉和语言特征,然后将对齐模块应用于学习到的特征,在融合之前对跨模态和模态内表示进行对齐。接下来,我们详细介绍每个组件。
3.2. 单模态表示学习
给定一个图像-文本对 ( I , T ) (I, T) (I,T),对图像应用两种独立的增强操作,以获得两个相关的“视图”,即 I 1 I_1 I1 和 I 2 I_2 I2。根据【5, 19】,我们将同一图像在随机数据增强下的两个随机“视图”视为正样本对。每个增强后的图像被分割为固定大小的图像块,然后通过线性映射并嵌入位置信息【12】。与BERT【10】类似,一个分类标记 [CLS] 被添加到图像块之前,作为整个图像的表示。最终, I 1 I_1 I1 的顺序嵌入被输入到视觉编码器 g ( ⋅ ) g(\cdot) g(⋅) 中,以学习所需的视觉表示 { v c l s , v 1 , . . . , v M } \{v_{cls}, v_1, ..., v_M\} {
vcls,v1,...,vM},其中 M M M 是图像块的总数。对于 I 2 I_2 I2,我们使用动量视觉编码器 g ^ ( ⋅ ) \hat{g}(\cdot) g^(⋅) 学习它的表示 { v ^ c l s , v ^ 1 , . . . , v ^ M } \{\hat{v}_{cls}, \hat{v}_1, ..., \hat{v}_M\} {
v^cls,v^1,...,v^M}。对于文本输入 T T T,我们遵循【10】的做法,通过文本编码器 h ( T ) h(T) h(T) 和动量文本编码器 h ^ ( T + ) \hat{h}(T_+) h^(T+) 获得 { t c l s , t 1 , . . . , t N } \{t_{cls}, t_1, ..., t_N\} {
tcls,t1,...,tN} 和 { t ^ c l s , t ^ 1 , . . . , t ^ N } \{\hat{t}_{cls}, \hat{t}_1, ..., \hat{t}_N\} {
t^cls,t^1,...,t^N},其中 N N N 是文本标记的长度, T + = T T_+ = T T+=T。
为了建模图像和文本特征之间的交互,之前的视觉-语言预训练(VLP)工作直接将 { v c l s , v 1 , . . . , v M } \{v_{cls}, v_1, ..., v_M\} {
vcls,v1,...,vM} 和 { t c l s , t 1 , . . . , t N } \{t_{cls}, t_1, ..., t_N\} {
tcls,t1,...,tN} 连接后输入融合编码器,以学习联合的多模态嵌入。然而,这种策略最明显的缺点是视觉和语言特征处于不同的嵌入空间,融合编码器难以学习它们之间的交互【26】。为了解决这一问题,我们提出了一个对齐模块,在融合之前应用于已学习的视觉和语言特征。具体来说,我们的对齐模块包含三个对比学习目标,即CMA、IMC和LMI。我们将在下文讨论每个目标,并展示它们在特征对齐中发挥的互补作用,从而有助于多模态特征的融合。
3.3. 跨模态对齐(CMA)
CMA的目标是将匹配的图像-文本对(从联合分布中采样)的嵌入拉近,同时将不匹配对(从边缘分布的乘积中采样)的嵌入推远。换句话说,CMA旨在最大化匹配图像和文本之间的互信息(MI),假设它们描述的是相同的语义。例如,图1(A)中的文本描述了配对图像中的高级信息(例如,某些事件的发生或某些对象的存在)。由于直接最大化连续和高维变量的MI是不可行的【2】,我们改为最小化InfoNCE损失【33】,这代表了MI的下界。
形式上,图像到文本的InfoNCE损失定义如下:
L n c e ( I 1 , T + , T ~ ) = − E p ( I , T ) [ log e ( sim ( I 1 , T + ) / τ ) ∑ k = 1 K e ( sim ( I 1 , T ~ k ) / τ ) ] ( 1 ) \mathcal{L}_{nce}(I_1, T_+, \tilde{T}) = - \mathbb{E}_{p(I, T)} \left[ \log \frac{e^{(\text{sim}(I_1, T_+)/\tau)}}{\sum_{k=1}^K e^{(\text{sim}(I_1, \tilde{T}_k)/\tau)}} \right] \qquad (1) Lnce(I1,T+,