文章汉化系列目录
文章目录
- 文章汉化系列目录
- 《基于三重对比学习的视觉-语言预训练》
- 摘要
- 1.引言
- 2.相关工作
- [3. 方法](#3. 方法)
-
- [3.1. 模型架构](#3.1. 模型架构)
- [3.2. 单模态表示学习](#3.2. 单模态表示学习)
- [3.3. 跨模态对齐(CMA)](#3.3. 跨模态对齐(CMA))
- [3.4. 模态内对比(IMC)](#3.4. 模态内对比(IMC))
- [3.5. 局部互信息最大化(LMI)](#3.5. 局部互信息最大化(LMI))
- [3.6. 图像-文本匹配(ITM)](#3.6. 图像-文本匹配(ITM))
- [3.7. 掩码语言模型(MLM)](#3.7. 掩码语言模型(MLM))
- 4.实验
-
- [4.1. 预训练数据集](#4.1. 预训练数据集)
- [4.2. 下游任务](#4.2. 下游任务)
- [4.3. 实现细节](#4.3. 实现细节)
- [4.4. 图像-文本检索评估](#4.4. 图像-文本检索评估)
- [4.5. VQA、VE和NLVR2](#4.5. VQA、VE和NLVR2)
- [4.6. 消融研究](#4.6. 消融研究)
- [5. 局限性](#5. 局限性)
- [6. 结论](#6. 结论)
- 7.致谢
《基于三重对比学习的视觉-语言预训练》
摘要
视觉-语言表示学习在很大程度上受益于通过对比损失(例如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+,T~)=−Ep(I,T)[log∑k=1Ke(sim(I1,T~k)/τ)e(sim(I1,T+)/τ)](1)
其中, τ \tau τ 是一个温度超参数, T ~ = { T ~ 1 , . . . , T ~ K } \tilde{T} = \{\tilde{T}1, ..., \tilde{T}K\} T~={T~1,...,T~K} 是与 I 1 I_1 I1 不匹配的负文本示例集, sim ( I 1 , T + ) \text{sim}(I_1, T+) sim(I1,T+) 定义为 f v ( v c l s ) T f ^ t ( t ^ c l s ) f_v(v{cls})^T \hat{f}t(\hat{t}{cls}) fv(vcls)Tf^t(t^cls),其中 f v ( ⋅ ) f_v(\cdot) fv(⋅) 和 f ^ t ( ⋅ ) \hat{f}_t(\cdot) f^t(⋅) 是两个投影头,将表示映射到特定空间,其中,InfoNCE损失被应用。为了维护负文本样本 T ~ \tilde{T} T~,按照【26】的方法,我们使用一个大的队列,保存最近 K K K个投影表示 f ^ t ( t ^ c l s ) \hat{f}t(\hat{t}{cls}) f^t(t^cls)。类似地,文本到图像的损失被公式化为:
L n c e ( T , I 2 , I ~ ) = − E p ( I , T ) [ log e ( sim ( T , I 2 ) / τ ) ∑ k = 1 K e ( sim ( T , I ~ k ) / τ ) ] ( 2 ) \mathcal{L}{nce}(T, I_2, \tilde{I}) = - \mathbb{E}{p(I, T)} \left[ \log \frac{e^{(\text{sim}(T, I_2)/\tau)}}{\sum_{k=1}^K e^{(\text{sim}(T, \tilde{I}_k)/\tau)}} \right] \qquad(2) Lnce(T,I2,I~)=−Ep(I,T)[log∑k=1Ke(sim(T,I~k)/τ)e(sim(T,I2)/τ)](2)
其中, sim ( T , I 2 ) = f t ( t c l s ) T f ^ v ( v ^ c l s ) \text{sim}(T, I_2) = f_t(t_{cls})^T \hat{f}v(\hat{v}{cls}) sim(T,I2)=ft(tcls)Tf^v(v^cls), f t ( ⋅ ) f_t(\cdot) ft(⋅)和 f ^ v ( ⋅ ) \hat{f}_v(\cdot) f^v(⋅)是两个投影头。 I ~ = { I ~ 1 , . . . , I ~ K } \tilde{I} = \{\tilde{I}_1, ..., \tilde{I}_K\} I~={I~1,...,I~K}是负图像示例的队列,存储最近 K K K个投影特征 f ^ v ( v ^ c l s ) \hat{f}v(\hat{v}{cls}) f^v(v^cls)。
综合来看,我们将CMA的损失定义为:
L c m a = 1 2 [ L n c e ( I 1 , T + , T ~ ) + L n c e ( T , I 2 , I ~ ) ] ( 3 ) \mathcal{L}{cma} = \frac{1}{2}[\mathcal{L}{nce}(I_1, T_+, \tilde{T}) + \mathcal{L}_{nce}(T, I_2, \tilde{I})] \qquad (3) Lcma=21[Lnce(I1,T+,T~)+Lnce(T,I2,I~)](3)
直观上,通过最小化 L c m a \mathcal{L}_{cma} Lcma,我们促使视觉特征和语言特征在嵌入空间中对齐,从而简化特征融合。
然而,CMA损失忽略了每个模态内的自监督,因此无法保证学习到的特征具有理想的表达能力。原因是:
i) 文本通常不能完全描述配对的图像。例如,尽管图1(A)中的文本捕捉到了图像中大部分显著的对象,但它忽略了每个对象的详细特征,如男人的衣服。因此,单纯将图像-文本对的嵌入拉近会导致退化的表示(图1 B);
ii) 用于预训练的图像-文本对本质上是噪声较大的,这使得问题i)更加严重。
为了缓解这些局限性,我们提出通过引入模态内对比(IMC)目标,进一步利用模态内的自监督,具体如下。
3.4. 模态内对比(IMC)
不同于CMA,IMC尝试学习同一模态内正负样本之间的语义差异。对于视觉模态,我们考虑同一图像 I I I 在随机数据增强下的两个随机"视图"( I 1 I_1 I1, I 2 I_2 I2)为一个正样本对。按照【5, 19】的做法,我们通过使用对比损失 L n c e ( I 1 , I 2 , I ~ ) \mathcal{L}{nce}(I_1, I_2, \tilde{I}) Lnce(I1,I2,I~) 最大化 I 1 I_1 I1 和 I 2 I_2 I2 之间的一致性。类似于公式(2),我们定义 sim ( I 1 , I 2 ) = f v ( v c l s ) T f ^ v ( v ^ c l s ) \text{sim}(I_1, I_2) = f_v(v{cls})^T \hat{f}v(\hat{v}{cls}) sim(I1,I2)=fv(vcls)Tf^v(v^cls)。
对于文本输入,我们遵循【17】的做法,将文本视为自身预测的对象。在对比目标中,这是通过将标准的dropout作为最小的数据增强,并为相同的正样本对应用独立采样的dropout掩码来实现的,即 T + = T T_+ = T T+=T。不同于【17】使用批内负样本的做法,我们使用与公式(1)中相同的负文本队列 T ~ \tilde{T} T~。对比目标可描述为 L n c e ( T , T + , T ~ ) \mathcal{L}{nce}(T, T+, \tilde{T}) Lnce(T,T+,T~),其中 sim ( T , T + ) = f t ( t c l s ) T f ^ t ( t ^ c l s ) \text{sim}(T, T_+) = f_t(t_{cls})^T \hat{f}t(\hat{t}{cls}) sim(T,T+)=ft(tcls)Tf^t(t^cls)。
总体上,我们最小化以下目标以保证合理的模态内表示学习:
L i m c = 1 2 [ L n c e ( T , T + , T ~ ) + L n c e ( I 1 , I 2 , I ~ ) ] ( 4 ) \mathcal{L}{imc} = \frac{1}{2} \left[ \mathcal{L}{nce}(T, T_+, \tilde{T}) + \mathcal{L}_{nce}(I_1, I_2, \tilde{I}) \right] \qquad(4) Limc=21[Lnce(T,T+,T~)+Lnce(I1,I2,I~)](4)
具体而言,我们的模型被激励学习保持模态内语义相关的正样本对之间的对齐表示。最重要的是, L i m c \mathcal{L}_{imc} Limc 强制图像和文本整个表示空间的均匀性,使得嵌入均匀分布【47】。
因此,CMA 和 IMC 被设计为在表示学习中起互补作用:
i) CMA 将匹配的图像-文本对在嵌入空间中拉近;
ii) IMC 最大化同一数据样本不同增强视图之间的一致性。
它们的结合提高了学习到的表示的质量(图1 B),并进一步促进融合编码器中的联合多模态学习。
IMC的一个局限性在于它仅在视觉编码器和文本编码器的[CLS]标记上执行对比目标,假设[CLS]标记表示输入的全局信息。换句话说,IMC最大化不同增强视图之间的全局互信息(MI)。然而,全局MI最大化的缺点在于:
i) 它忽略了输入中的局部化和结构化信息【1, 20】;
ii) 某些无关的局部区域可能主导MI,导致模型偏向学习无关特征。例如,噪声块可能比语义相关的块表示出更多的"信息量",因为这些噪声块重复出现【20】。
为了解决这个问题,我们将局部MI最大化引入多模态表示学习,具体如下所述。
3.5. 局部互信息最大化(LMI)
局部互信息最大化的目标是鼓励全局表示与输入的每个局部区域(例如,图像块和文本标记)之间具有较高的MI。与其考虑[CLS]标记对(例如, ( v c l s , v ^ c l s ) (v_{cls}, \hat{v}{cls}) (vcls,v^cls) 或 ( I 1 , I 2 ) (I_1, I_2) (I1,I2))作为正样本对,我们将来自一个增强版本的[CLS]标记与输入的另一个独立增强版本中的块嵌入配对。为了不失一般性,我们以视觉输入 ( I 1 , I 2 ) (I_1, I_2) (I1,I2)为例。具体来说,我们将 { v ^ i } i = 1 M \{\hat{v}i\}{i=1}^M {v^i}i=1M视为 v c l s v{cls} vcls的正样本,而来自同一批次中其他图像的块嵌入用于构建负样本。同样地, { t ^ j } j = 1 N \{\hat{t}j\}{j=1}^N {t^j}j=1N被视为 t c l s t_{cls} tcls的正样本,而来自同一批次中其他文本的文本标记为负样本。
我们通过最小化以下损失函数来最大化全局与局部区域之间的平均MI:
L l m i = 1 2 [ 1 M ∑ i = 1 M L n c e ( I 1 , I 2 i , I ~ l ) + 1 N ∑ j = 1 N L n c e ( T , T + j , T ~ l ) ] ( 5 ) \mathcal{L}{lmi} = \frac{1}{2} \left[ \frac{1}{M} \sum{i=1}^M \mathcal{L}{nce}(I_1, I_2^i, \tilde{I}l) + \frac{1}{N} \sum{j=1}^N \mathcal{L}{nce}(T, T_+^j, \tilde{T}_l) \right] \qquad(5) Llmi=21[M1i=1∑MLnce(I1,I2i,I~l)+N1j=1∑NLnce(T,T+j,T~l)](5)
其中, sim ( I 1 , I 2 i ) = f v ( v c l s ) T f ^ v ( v ^ i ) \text{sim}(I_1, I_2^i) = f_v(v_{cls})^T \hat{f}v(\hat{v}i) sim(I1,I2i)=fv(vcls)Tf^v(v^i), sim ( T , T + j ) = f t ( t c l s ) T f ^ t ( t ^ j ) \text{sim}(T, T+^j) = f_t(t{cls})^T \hat{f}_t(\hat{t}_j) sim(T,T+j)=ft(tcls)Tf^t(t^j), I ~ l \tilde{I}_l I~l 和 T ~ l \tilde{T}l T~l 分别是批内负图像和文本块嵌入。因此,最小化 L l m i \mathcal{L}{lmi} Llmi使我们的模型能够编码跨所有块共享的数据表示,而不是只编码主导MI的某些块的表示。从另一个角度来看,局部MI最大化促使模型通过全局表示预测局部特征,这迫使模型捕捉细粒度信息,从而有助于联合表示学习。
3.6. 图像-文本匹配(ITM)
为了融合视觉和语言表示,我们采用了ITM,它在之前的VLP研究中被广泛使用。给定一个图像-文本对,ITM预测它们是否匹配(正样本)或不匹配(负样本),这可以被看作是一个二分类问题。按照【26】的方法,融合编码器将 { 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}作为输入。我们使用融合编码器的[CLS]标记作为输入图像-文本对的联合表示,然后将其输入一个全连接层以预测匹配概率 ϕ ( I , T ) \phi(I, T) ϕ(I,T)。
我们假设从预训练数据集中采样的每个图像-文本对 ( I , T ) (I, T) (I,T)是一个正样本(标签为1),并通过批量采样【26】构造负样本(标签为0)。ITM损失定义为:
L i t m = E p ( I , T ) H ( ϕ ( I , T ) , y ( I , T ) ) ( 6 ) \mathcal{L}{itm} = \mathbb{E}{p(I, T)} H(\phi(I,T), y^{(I,T)}) \qquad(6) Litm=Ep(I,T)H(ϕ(I,T),y(I,T))(6)
其中, H ( ; ) H(;\ ) H(; )是交叉熵, y ( I , T ) y^{(I,T)} y(I,T)表示标签。
3.7. 掩码语言模型(MLM)
我们采用了来自BERT【10】的MLM,其目标是预测被掩码的文本标记 T m s k T^{msk} Tmsk的真实标签。具体来说,我们随机掩码文本标记,概率为15%,并且80%的情况下用特殊的[MASK]标记替换,10%情况下用随机词替换,剩下的10%保持不变【10】。不同于BERT,我们的MLM依赖于 T m s k T^{msk} Tmsk的周围文本标记和图像表示。MLM损失定义为:
L m l m = E p ( I , T m s k ) H ( Φ ( I , T m s k ) , y T m s k ) ( 7 ) \mathcal{L}{mlm} = \mathbb{E}{p(I, T^{msk})} H(\Phi(I, T^{msk}), y^{T^{msk}}) \qquad(7) Lmlm=Ep(I,Tmsk)H(Φ(I,Tmsk),yTmsk)(7)
其中, Φ ( I , T m s k ) \Phi(I, T^{msk}) Φ(I,Tmsk)是 T m s k T^{msk} Tmsk的预测概率, y T m s k y^{T^{msk}} yTmsk是真实标签。
我们模型的整体训练目标为:
L = L c m a + L i m c + L l m i + L i t m + L m l m ( 8 ) \mathcal{L} = \mathcal{L}{cma} + \mathcal{L}{imc} + \mathcal{L}{lmi} + \mathcal{L}{itm} + \mathcal{L}_{mlm} \qquad(8) L=Lcma+Limc+Llmi+Litm+Lmlm(8)
4.实验
4.1. 预训练数据集
遵循之前的实验方案【8,26】,我们在本研究中使用了COCO【29】、Visual Genome (VG)【25】、Conceptual Captions (CC)【43】和SBU Captions【34】作为预训练数据集,共覆盖了4.0M个独特图像和5.1M个图像-文本对。我们将此数据集称为4M数据集。为了证明我们的方法可以应用于大规模数据集,我们进一步使用了CC12M【3】。结合4M数据集,我们的预训练数据总规模达到了14.97M个独特图像和16M个图像-文本对(见表1)。
4.2. 下游任务
图像-文本检索包括两个任务:(1) 以图像为查询、文本为目标(TR);(2) 以文本为查询、图像为目标(IR)。预训练模型在Flickr30K【37】和COCO【29】上进行评估,分为微调和零样本设置。对于微调设置,预训练模型在训练数据上微调,并在验证/测试数据上评估。对于零样本设置,预训练模型直接在测试数据上评估。特别是对于Flickr30K上的零样本检索,我们遵循【26】的做法,对在COCO上微调的模型进行评估。
视觉问答(VQA)【18】旨在根据图像和文本格式的问题预测答案,该任务需要对视觉、语言和常识知识的理解。我们按照【26】的相同设置,将该任务视为生成问题。具体来说,一个答案解码器经过微调,从3,192个候选项中生成答案。
视觉蕴涵(SNLI-VE)【48】预测给定图像是否语义上蕴涵给定文本,这是一个三分类问题。对于任何给定的图像-文本对,其类别或关系可以是蕴涵、中性或矛盾。与VQA相比,此任务需要更细粒度的推理。
视觉推理(NLVR2)【44】判断一段自然语言描述是否适用于一对照片。我们在NLVR2数据集上评估模型,该数据集包含107,292个配有网页照片的人类书写的英文句子示例。由于此任务需要一个文本和两张图像作为输入,我们遵循【26】的方法扩展模型。
4.3. 实现细节
我们所有的实验均在8块NVIDIA A100 GPU上使用PyTorch框架【36】进行。视觉编码器由ViT-B/16实现,包含12层,参数量为85.8M。文本编码器和融合编码器均由6层的Transformer实现,分别由BERTbase(123.7M参数)的前6层和后6层初始化。我们设置 K = 65 , 536 K = 65,536 K=65,536, m = 0.995 m = 0.995 m=0.995。在预训练阶段,模型在512的批量大小下训练30个周期。我们使用带有0.02权重衰减的mini-batch AdamW优化器【31】。学习率初始为 1 × 1 0 − 5 1 \times 10^{-5} 1×10−5,在2,000次训练迭代后增加到 1 × 1 0 − 4 1 \times 10^{-4} 1×10−4,然后通过余弦衰减策略降到 1 × 1 0 − 5 1 \times 10^{-5} 1×10−5。对于数据增强,从随机调整大小的图像中截取256×256像素的裁剪区域,随后进行随机颜色抖动、随机灰度转换、随机高斯模糊、随机水平翻转以及RandAugment【9】。在微调阶段,图像分辨率提高到384×384,位置编码根据图像块的数量进行插值。
4.4. 图像-文本检索评估
为评估所学表示的泛化能力,通常做法是将训练好的模型进行零样本迁移到下游任务。我们依据标准评估协议,在Flickr30K和COCO数据集上基准测试零样本图像-文本检索任务来评估我们的模型。如表2所示,我们的方法实现了最佳性能,且显著超越了现有的最先进方法。与直接使用Transformer编码器来建模词与图像块嵌入之间交互的ViLT 【24】相比,我们在COCO上平均提升了+9.5%,在Flickr30K上平均提升了+12.2%,表明在融合前进行跨模态对齐的必要性。ALBEF 【26】与我们的工作关系密切,首先对齐图像和文本嵌入,然后使用融合编码器学习联合表示。此外,ALBEF与我们的方法共享相同的预训练数据集,因此具有可比性。然而,ALBEF忽略了模态内监督,因此无法保证所学特征的表达能力。与ALBEF相比,我们的方法在MSCOCO(5K)数据集上实现了+2.7%的文本检索/召回率@1(TR/R@1)提升,以及+3.4%的图像检索/召回率@1(IR/R@1)提升,通过从全局和局部角度明确利用模态内信息。有关模态内表示分析的详细信息请参考补充材料。值得一提的是,我们的方法相较于ALIGN【23】展示了显著改进,例如在COCO上平均79.5%对70.9%,在Flickr30K上94.0%对92.2%。请注意,ALIGN在1.8B图像-文本对上预训练,其数据量比我们的模型多约360倍。此结果表明,我们的方法更具数据效率,主要归因于考虑了模态内监督。总体而言,我们的方法所学习的表示比现有基线更具通用性和可迁移性。
表2. Flickr30K 和 COCO 数据集上零样本图像-文本检索的性能比较。为完整性考虑,我们还提供了 ALIGN【26】的结果,ALIGN在1.8B图像-文本对(1.2B独特图像)上进行预训练。对于文本检索(TR)和图像检索(IR),我们报告了R@1、R@5和R@10的平均值。
在微调实验中,我们设置了新的基准结果,如表3所示。在中等规模的COCO数据集上,我们在文本检索/召回率@1(TR/R@1)上超越了ALBEF 【26】2.5%的绝对提升,在图像检索/召回率@1(IR/R@1)上提升了2.2%,表明我们的模型在完全监督的训练中能够进一步受益。我们在小规模的Flickr30K数据集上也表现优于之前的基线。唯一的例外是ALIGN 【23】,它在COCO和Flickr30K上平均超出我们的方法0.48%(89.69% vs 89.21%),但这是以大量计算资源为代价的。这对于预算有限的场景或研究人员来说尤其不利。我们认为我们的方法也可以从更大规模的预训练数据集中显著受益,这在第4.6节中得到验证。
表3. Flickr30K 和 COCO 数据集上微调图像-文本检索的性能比较。为完整性考虑,我们还提供了 ALIGN【26】的结果,ALIGN在1.8B图像-文本对(1.2B独特图像)上进行了预训练。
4.5. VQA、VE和NLVR2
表4展示了在VQA、VE和NLVR2任务上的性能比较,这些任务需要图像和文本作为输入。换句话说,为在这些任务中取得成功,模型应具备学习联合多模态嵌入的能力。在六个评价标准中的五个上,我们实现了当前最先进的结果,这表明显式考虑跨模态对齐和模态内监督有助于特征融合。需要注意的是,VinVL 【49】优于我们的方法,主要原因在于其预训练语料包含视觉QA数据集,包括GQA【22】、VQA【18】和VG-QAs。
表4.视觉+语言任务的性能比较。
4.6. 消融研究
为了评估新提出模块(即IMC和LMI)在提升多模态表示学习中的有效性,我们在图像-文本检索任务上进行了消融研究,结果如表5所示。由于ALBEF 【26】使用了CMA+ITM+MLM的损失函数实现,因此我们将ALBEF的结果作为基准。我们探讨了IMC的两种选择:
i) IMC(无增强) :仅对输入图像应用随机裁剪、随机水平翻转和RandomAugment,并按照ALBEF设置
I 1 = I 2 I_1 = I_2 I1=I2;
ii) IMC : I 1 I_1 I1和 I 2 I_2 I2是输入图像的两种经过更强数据增强的视图,如4.3节讨论的内容所示。
两种策略都显著提升了性能,而更强的增强效果更佳,与之前的研究一致【5, 6】。结合LMI后,性能进一步提升,表明局部化和结构化信息在表示学习中的重要性。
表5. 图像-文本检索任务 中各组件的消融研究。报告了R@1的结果。对于CMA+ITM+MLM,我们使用了ALBEF【26】中的结果。
表6. 图像块池化和中间层局部特征在图像-文本检索中的消融研究。报告了R@1的结果。
表7. 预训练数据集规模的消融研究。报告了R@1的结果。
在预训练阶段,每张图像被分割为256个16×16大小的图像块。为了排除小图像块可能不足以提供局部MI最大化所需信息的可能性,我们对最后一层的图像块嵌入 { v ^ 1 , . . . , v ^ M } \{\hat{v}_1, ..., \hat{v}_M\} {v^1,...,v^M}应用全局平均池化,得到用于公式5中LMI的16个图像块。为了保持块间的空间关系,我们将 { v ^ 1 , . . . , v ^ M } \{\hat{v}_1, ..., \hat{v}_M\} {v^1,...,v^M}重构为原始3D图像空间,然后应用池化操作。值得注意的是,与【20】中使用中间层的特征图作为局部信息不同,我们使用的是来自最后一层的图像块嵌入。我们在图像-文本检索任务中测试了这两种选择,结果如表6所示,并观察到图像块池化的重要性。此外,使用最后一层图像块的性能可与使用中间层(即 g ^ ( ⋅ ) \hat{g}(\cdot) g^(⋅)的第9层和 h ^ ( ⋅ ) \hat{h}(\cdot) h^(⋅)的第4层)图像块相比甚至更好。我们推测这是由于CNN和视觉Transformer所学习特征之间的差异导致的【41】。
为研究在更大规模数据集上训练的影响,我们在14M数据集上使用+IMC(无增强)进行消融研究,如表7所示。可以明显看到,数据集规模越大,性能提升越显著。我们假设如果在更大数据集上预训练,我们的模型可能会进一步提升。
我们还研究了动量系数 m m m的重要性,观察到 m = 0.5 m = 0.5 m=0.5达到最佳性能(见补充材料)。这不同于MoCo【19】中建议的合理动量范围 0.99 ∼ 0.9999 0.99∼0.9999 0.99∼0.9999。我们将这一点留作未来工作。
5. 局限性
所学习的表示可能会倾向于可用数据中存在的特征。如果存在代表性不足的群体,模型可能会产生偏差,并在这些群体上的表现较差。
6. 结论
本文提出了一种新的视觉-语言预训练框架,称为TCL(即三重对比学习)。与以往仅通过跨模态对比损失来对齐图像和文本表示的研究不同,TCL进一步考虑了模态内监督,以确保所学习的表示在各模态内也具有语义意义,从而有助于跨模态对齐和联合多模态嵌入学习。为在表示学习中融入局部化和结构化信息,TCL进一步引入了局部互信息(MI),最大化全局表示与图像块或文本标记中的局部信息之间的互信息。实验结果表明,在广泛使用的基准数据集上,TCL显著优于现有的SOTA方法。
7.致谢
这项工作得到了美国国家科学基金会IIS-1553687和得克萨斯州癌症预防和研究所(CPRIT)奖(RP 190107)的部分支持。