Multi-modal Alignment using Representation Codebook
题目 | Multi-modal Alignment using Representation Codebook |
---|---|
译题 | 使用表示子空间的多模态对齐 |
期刊/会议 | CVPR |
摘要:对齐来自不同模态的信号是视觉语言表征学习(representation learning)的重要一步,因为它会影响后期阶段的表现,如跨模态融合(across-modality fusion)。由于图像和文本通常位于特征空间的不同区域,在实例级别直接对齐它们是具有挑战性的,尤其是当特征在训练过程中仍在演变时。在本文中,我们建议使用聚类表示(cluster representation)在更高、更稳定的水平上进行对齐。具体来说,我们将图像和文本视为同一实体的两个“视图”,并将它们编码到由聚类中心字典(codebook)跨越的联合视觉语言编码空间中。我们通过正样本和负样本的聚类分配进行对比,同时优化聚类中心。为了进一步平滑学习过程,我们采用了师生蒸馏范式(teacher-student distillation paradigm),一种观点的动量教师(momentum teacher)指导另一种观点的学生学习。我们在通用视觉语言基准上评估了我们的方法,并在零样本跨模态检索上获得了新的 SoTA
,同时在其他各种传输任务上具有竞争力。
1.引言
视觉语言(Vision language V&L)表征学习(representation learning)是使用图像和文本信号学习统一 特征嵌入 的问题。经过预训练的 V&L
模型在不同环境下的各种下游任务中(downstream tasks)具有巨大的多样性应用,例如通过迁移学习[8, 28, 49]。V&L
预训练的主要任务包括对齐不同模态的特征空间(多模态对齐[8, 25, 28, 31])和捕捉模态之间的交互(跨模态融合[12, 44])。CLIP
[37]和 ALIGN
[21]等后期融合方法专注于第一项任务,而 OSCAR
[28]、VinVL
[49]和 VilLT
[22]等早期融合方法专注第二项任务。在这项工作中,我们采用了一种类似于 ALBEF
[25]的混合方法,其中来自图像和文本模态的特征首先对齐。然后使用 Transformer
编码器进行融合。我们工作的主要重点是特征对齐阶段,这是一个具有挑战性的阶段,因为图像和文本输入具有非常不同的特征。现有的方法,如 CLIP
[37]和 ALIGN
[21],必须依赖于大量的训练资源和大量的数据来获得良好的对齐(分别为 400M 和 1.8B 的图像-文本对)。
在这项工作中,我们通过使用将公共文本图像特征空间(common text-image feature space)量化为码字的码本,提出了一种更有效的对齐策略。与单个文本或视觉特征相比,这些码字或聚类中心为对比推理提供了更稳定的手段。我们的灵感来自 SwAV
[4],它是为自我监督的视觉表征学习(representation learning)而开发的。在[4]中,同一输入图像的两个增强版本(视图)通过深度网络进行特征提取。视觉嵌入是通过优化一个目标函数来学习的,该目标函数强制一个视图中的特征和另一视图中指定的聚类之间的一致性。SwAV
在各种转移任务中取得了令人印象深刻的性能(见[4])。在这里,我们进行了跨模态(图像文本)的对比推理,而不是跨图像视图。详细信息见第 3.1 节,但简而言之,我们对图像和文本模式都使用了可学习的代码簿,并训练我们的模型使用文本或视觉信息来预测码字分配。有效地,在训练过程中,通过与常见码字对齐来排列视觉和文本特征。如图1 所示。
图1 我们建议使用可学习的码本来更好地对齐图像和文本模态。代码本是图像和文本特征之间的 “桥梁” 。每个码字都可以被解释为一个原型,从而能够在集群级别对比图像和文本。然后,我们解决了一个最优传输[1]问题,以优化每个模态到原型之间的距离,这反过来又优化了两个模态之间的对齐。原型向量与我们的 V&L
框架中的特征编码器一起学习。
码本可以被认为是底层输出特征分布的量化样本。它与模型参数一起是端到端可学习的。为了避免训练过程中的突然变化,我们进一步采用了动量蒸馏,这在以前的自我监督学习工作中已被广泛使用,如 BYOL
[16]、DINO
[5]、MoCo
[18]。简言之,与 ALBEF
[25]类似,对于图像、文本和融合编码器中的每一个,都有一个相应的编码器,该编码器通过移动平均进行更新,而没有梯度反向传播。这些动量编码器充当教师,指导自我监督的学习过程。与 ALBEF
[25]不同,我们使用教师来指导 codebook
学习以及跨模态和模态内对齐。
上述两个组件被连接起来以支持 codebook
的稳定更新,这反过来又为跨模态对齐提供了有效的正则化均值(regularization mean)。实验结果(第4节)表明,即使与使用大量数据的方法(如 CLIP
[37]和 ALIGN
[21])相比,我们的方法在各种基准上也与最先进的方法具有竞争力。综上所述,我们的主要贡献如下:
- 我们提出了一种基于
codebook
的有效视觉语言对齐学习方法。它是自监督视觉表示学习(self-supervised vision representation learning ,SSL)到多模态设置的扩展; - 我们引入了一种新的提取算法,该算法有助于单模态和跨模态对比优化,并有助于稳定
codebook
学习。
本文的其余部分组织如下。我们在第2节中介绍了我们的相关工作。在第 3 节中,我们描述了我们的框架,称为 Codebook Learning with Distriction
(CODIS),以及它的两个组成部分,多模态 codebook
学习和师生蒸馏(teacher-student distillation)。实验结果见第 4 节。第5节是论文的总结。
2.相关工作
视觉语言预训练(V&L) (V&L pretraining) 是一个活跃的研究领域,近年来有许多研究成果。我们在这里回顾与我们最相关的作品。就架构而言,以前的方法可以大致分为早期融合和后期融合两类。在早期的融合方法[8, 22, 28, 41]中,图像和文本被转换为序列(标记化),并传递给单个编码器(通常基于 Transformer )用于嵌入生成(embedding generation)。因此,多模态信号在早期阶段被融合。而在后期融合工作[21,37]中,单独的编码器用于图像和文本。提取的特征通常在随后的微调阶段(later fine tuning stage)进行融合。我们的工作是这两种方法的混合,类似于[25,48]。主要区别在于 codebook
和各种相关的对比损失(contrastive losses)。
在视觉语言学习中,码本在最近的一些工作中被使用,主要用于图像标记化。
BEiT
[2]构建了一个视觉单词词典,然后使用它以与掩码语言建模相同的方式形成掩码图像建模任务。SOHO
[20]将视觉词典集成到主模型中,并对两者进行联合训练。这两个工作都量化了视觉输入空间。相反,我们的 codebook
用于量化联合输出空间,其中多模态视图通过 最优传输 进行对齐[1]。与我们同时进行的其他工作包括[25, 27]。它们都使用 InfoNCE
[33]来对齐跨模态实例。相比之下,我们在实例级别和集群级别都强制执行单峰和跨模态对齐(unimodal and cross-modal alignment)。
自监督对比学习(Self-supervised Contrastive Learning)对比学习[17]的目标是吸引正样本对,排斥负样本对。最近,它已被广泛用于计算机视觉中的无监督、半监督[13]和自监督表示学习[5, 7, 18]。对比推理通常是基于同一输入图像的两个增强视图形成的。主要挑战之一是 feature collapsing
,在实践中,需要通过大批量(large batch size)[7]或存储体(memory banks)[18, 45]来大量的负样本,以缓解这一问题。最近的几项工作表明,人们可以在不区分实例的情况下学习无监督特征。深度集群(deep clustering)[3]和 SwAV
[4]将在线集群纳入 Siamese
网络。在 BYOL
[16]中,通过将特征与动量编码器获得的表示进行匹配来训练特征。DINO
[5]用视觉 Transformer
实例化动量编码器,并采用师生蒸馏范式(distillation paradigm)[13, 19, 47]。我们的对齐技术和动量更新受到了这些工作的启发,可以被视为对多模式设置的扩展。
3.方法
我们的目标是学习图像和文本特征之间的明确对齐(explicit alignment)以促进多模态交互。我们在 图2 中说明了 CODIS
,并在算法1 中提出了一个伪代码(pseudo-code)实现。它与自我监督对比学习有一些相似之处[4, 18]。我们将图像和文本模态视为两种观点,并采用师生蒸馏范式[5, 16]来强制实现单峰和跨模态对齐(unimodal and cross-modal alignment)。为了克服多模态分布之间的差距,我们还学习了一个 codebook
,它可以作为帮助对齐不同模态之间特征的桥梁。我们将本节的内容组织如下。
图2 我们的框架概述。为了简单起见,我们只显示一对师生编码器(例如:教师用于图像,学生用于文本),类似地,也用于内存队列。教师使用学生的指数移动平均值(来自相同的模态)进行更新。codebook
有助于弥合不同模态之间的差距。整个框架是端到端优化的。
在第 3.1 节中,我们介绍了多模态 codebook
学习,它是如何优化的,以及如何利用它来解决多模态输入之间的分布不匹配问题。在第 3.2 节中,我们介绍了如何在师生蒸馏(distillation)学习公式下实现单峰和跨模态对齐。最后,我们在第 3.3节 中解释了我们提出的两个组件是如何集成到 V&L
框架中的。
3.1 多模态 codebook
学习
我们提议学习一本 codebook
以便于对齐多模态语义。这是一个可学习的原型(prototypes)或码字(codewords)的集合。在本文中,我们可以互换使用它们。使用 codebook
,我们将图像和文本编码到联合视觉语言嵌入空间中,并通过对比它们的原型分配来学习对齐。codebook
也可以被解释为配对数据的基本特征分布(underlying feature distribution)[6]。通过这种方式,通过将每个模态的特征与 codebook
对齐,我们隐式地间接对齐多模态特征。换句话说,codebook
充当了模态之间的“桥梁”(见图1)。
我们将可学习 codebook
表示为
C
=
c
1
,
c
2
,
.
.
.
,
c
K
∈
R
d
c
∗
K
C={c_1, c_2, ..., c_K} \in R^{d_c*K}
C=c1,c2,...,cK∈Rdc∗K,其中
d
c
d_c
dc 是每个代码的维度并且
K
K
K 等于 codewords
的数量(即4K)。我们设置
d
c
=
256
d_c=256
dc=256,与投影图像/文本特征的尺寸相同。每个
c
∈
C
c \in C
c∈C 都是一个原型。
给定
N
N
N 个图像或文本特征向量
Z
m
=
[
z
1
m
,
…
,
z
N
m
]
Z^m=[ z^m_1, …, z^m_N]
Zm=[z1m,…,zNm](上标
m
m
m 表示从动量教师编码器提取的特征),我们计算从特征向量到原型的最优成本映射。我们将这种映射表示为使用最优传输[1, 6]获得的运输计划
T
T
T。在不损失一般性的情况下,我们将
z
z
z 表示为图像或文本的投影特征,并优化以下目标,
L
o
t
=
min
T
∈
∏
(
u
,
v
)
∑
i
=
1
N
∑
j
=
1
K
T
i
j
⋅
d
(
z
i
m
,
c
j
)
=
min
T
∈
∏
(
u
,
v
)
⟨
T
,
D
⟩
(
1
)
L_{ot}= \displaystyle\min_{T \in \prod(u,v)}\sum_{i=1}^N\sum_{j=1}^KT_{ij}·d(z_i^m, c_j) = \min_{T \in \prod(u, v)} ⟨T,D⟩\kern10em(1)
Lot=T∈∏(u,v)mini=1∑Nj=1∑KTij⋅d(zim,cj)=T∈∏(u,v)min⟨T,D⟩(1)
其中,
∏
(
u
,
v
)
=
T
∈
R
+
N
∗
K
∣
T
1
K
=
1
N
1
N
,
T
T
1
N
=
1
K
1
K
\prod(u, v)={T \in R_+^{N*K} | T1_K=\dfrac{1}{N}1_N, T^T1_N=\dfrac{1} {K}1_K}
∏(u,v)=T∈R+N∗K∣T1K=N11N,TT1N=K11K,
1
N
1_N
1N 表示
N
N
N 维全一向量。
D
D
D 是由
D
i
j
=
d
(
z
i
m
,
c
j
)
(
d
(
⋅
,
⋅
)
=
1
−
c
o
s
(
⋅
,
⋅
)
)
D_{ij}=d(z_i^m, c_j) (d(·,·)=1-cos(·,·))
Dij=d(zim,cj)(d(⋅,⋅)=1−cos(⋅,⋅)) 和
⟨
T
,
D
⟩
=
T
r
(
T
T
D
)
⟨T, D⟩=Tr(T^TD)
⟨T,D⟩=Tr(TTD) 给出的成本矩阵(cost matrix D),表示 Frobenius
点积。我们在算法1 中使用
T
g
T_g
Tg 和
T
f
T_f
Tf 作为图像和文本的最优传输计划,
1
−
I
2
P
1-I2P
1−I2P 对应于图像模态的成本矩阵D(cost matrix D)。文本也是如此。
为了求解最优传输计划,我们采用了 算法2 中所示的迭代算法。它以归一化特征矩阵 Z Z Z、码本(codebook) C C C为输入,并输出最优传输计划 T T T。在内部,该算法试图最小化最优传输(OT)距离,优化为基于得分 T [ i , : ] T[i, :] T[i,:]( T T T的第 i i i 行)为每个 z i z_i zi 选择相似的 c j , j ∈ [ 1 , . . . , K ] c_j, j \in [1, ... , K] cj,j∈[1,...,K]。换句话说, T T T 可以被视为原型和特征之间的距离度量(distance metric)。当求解时, O T OT OT 产生最多包含 ( 2 r − 1 ) (2r−1) (2r−1)( r = m a x ( N , K ) r=max(N, K) r=max(N,K))个非零元素的稀疏解 T ∗ T* T∗,从而产生稳健且有意义的对齐[10]。
在我们将要公式化的 codebook
损失中,
T
T
T 将被用作地面实况信号,以指导特征到原型的对齐。我们使用交叉熵损失并采用师生蒸馏方法来构建用于优化 codebook
和特征编码器的损失,
L
t
2
p
(
Z
t
,
C
,
T
i
2
p
)
=
H
(
P
t
2
p
,
T
i
2
p
)
,
L
i
2
p
(
Z
v
,
C
,
T
t
2
p
)
=
H
(
P
i
2
p
,
T
t
2
p
)
,
L_{t2p}(Z_t, C, T_{i2p})=H(P_{t2p}, T_{i2p}), L_{i2p}(Z_v, C, T_{t2p})=H(P_{i2p}, T_{t2p}),
Lt2p(Zt,C,Ti2p)=H(Pt2p,Ti2p),Li2p(Zv,C,Tt2p)=H(Pi2p,Tt2p),
P
t
2
p
=
S
o
f
t
M
a
x
(
Z
t
C
/
Υ
)
,
P
i
2
p
=
S
o
f
t
M
a
x
(
Z
v
C
/
Υ
)
(
2
)
P_{t2p}=SoftMax(Z_tC/ \Upsilon ), P_{i2p}=SoftMax(Z_vC/ \Upsilon )\kern15em (2)
Pt2p=SoftMax(ZtC/Υ),Pi2p=SoftMax(ZvC/Υ)(2)
其中
P
P
P 是用来自学生编码器的特征计算的预测度量(predicted metric),而
T
T
T 是用来自教师编码器的特征使用 算法2 计算的。原因是教师编码器是通过指数移动平均(exponential moving average)来更新的,这有助于避免 codebook
学习中的突然变化。
我们还添加了一个正则化项
L
o
t
L_{ot}
Lot。多模态 codebook
学习的总体损失如下,
L
c
o
d
e
=
L
o
t
(
Z
v
m
,
C
)
+
L
o
t
(
Z
t
m
,
C
)
+
L
t
2
p
(
Z
t
,
C
,
T
t
2
p
)
+
L
i
2
p
(
Z
v
,
C
,
T
i
2
p
)
(
3
)
L_{code} = L_{ot} (Z_v^m, C) + L_{ot} (Z_t^m, C) + L_{t2p} (Z_t, C, T_{t2p}) + L_{i2p} (Z_v, C, T_{i2p})\kern10em(3)
Lcode=Lot(Zvm,C)+Lot(Ztm,C)+Lt2p(Zt,C,Tt2p)+Li2p(Zv,C,Ti2p)(3)
如图3所示,codebook
充当了图像和文本模态之间的桥梁,因为文本到原型的损失(
L
t
2
p
L_{t2p}
Lt2p)或图像到原型的损失(
L
i
2
p
L_{i2p}
Li2p)都是来自两种模态的链特征。例如,文本到原型损失链图像原型运输计划(Image-Prototype Transport Plan)和文本原型相似性(Text-Prototype Similarity),反之亦然。更重要的是,学习 codebook
允许在原型级别上对模态之间的特征进行对比,即特征分布匹配(feature distribution matching)。在计算运输计划(transport plan)时,我们使用教师特征,因为它们提供了更稳定的监督信号来指导学生的学习。计算出的损失将被反向传播(backpropagated)用以更新 codebook
和学生编码器。
3.2 师生蒸馏学习
这种损失是为了对齐两个单峰(unimodal)编码器的特征而设计的,这是受 SSL
学习最近成功的启发[5, 18]。我们的动机是图像和文本可以被视为同一实体的两种“观点”,我们将采用师生蒸馏范式来对齐它们。由于直接来自单峰编码器(unimodal encoders)的原始特征在不同的特征空间中,我们学习了图像和文本学生特征的维数为 256,
z
v
∈
R
256
z_v \in R^{256}
zv∈R256,
z
t
∈
R
256
z_t \in R^{256}
zt∈R256 的联合嵌入空间(joint embeddings space)。根据[18, 25],我们将来自教师编码器
z
v
m
∈
R
256
z^m_v \in R^{256}
zvm∈R256,
z
t
m
∈
R
256
z^m_t \in R^{256}
ztm∈R256 的特征分别存储在图像和文本的存储器队列
Q
v
Q_v
Qv,
Q
t
Q_t
Qt 中。
对于一对图像和文本,我们可以计算跨模态相似性和模态内相似性,如下所示:
p
t
2
i
(
T
)
=
e
x
p
z
t
z
v
m
T
Υ
/
∑
z
v
m
′
∈
Q
v
e
x
p
z
t
z
v
m
′
T
Υ
(
4
)
p_{t2i} (T) = exp \displaystyle \dfrac{ z_t z_v^{mT} }{ \Upsilon } / \displaystyle \sum_{ z_v^{m'} \in Q_v } exp \dfrac{ z_t z_v^{m'T} }{\Upsilon} \kern10em(4)
pt2i(T)=expΥztzvmT/zvm′∈Qv∑expΥztzvm′T(4)
p
i
2
t
(
I
)
=
e
x
p
z
v
z
t
m
T
Υ
/
∑
z
v
m
′
∈
Q
t
e
x
p
z
v
z
t
m
′
T
Υ
(
4
)
p_{i2t}(I) = exp \displaystyle \dfrac{ z_v z_t^{mT} } { \Upsilon } / \displaystyle \sum_{ z_v^{m'} \in Q_t } exp \dfrac{ z_v z_t^{m'T} }{\Upsilon} \kern10em(4)
pi2t(I)=expΥzvztmT/zvm′∈Qt∑expΥzvztm′T(4)
p
i
2
i
(
I
)
=
e
x
p
z
v
z
v
m
T
Υ
/
∑
z
v
m
′
∈
Q
v
e
x
p
z
v
z
v
m
′
T
Υ
(
4
)
p_{i2i}(I) = exp \displaystyle \dfrac{ z_v z_v^{mT} } { \Upsilon } / \displaystyle \sum_{ z_v^{m'} \in Q_v } exp \dfrac{ z_v z_v^{m'T} }{\Upsilon} \kern10em(4)
pi2i(I)=expΥzvzvmT/zvm′∈Qv∑expΥzvzvm′T(4)
p
t
2
t
(
T
)
=
e
x
p
z
t
z
t
m
T
Υ
/
∑
z
t
m
′
∈
Q
t
e
x
p
z
t
z
t
m
′
T
Υ
(
4
)
p_{t2t}(T) = exp \displaystyle \dfrac{ z_t z_t^{mT} } { \Upsilon } / \displaystyle \sum_{ z_t^{m'} \in Q_t } exp \dfrac{ z_t z_t^{m'T} }{\Upsilon} \kern10em(4)
pt2t(T)=expΥztztmT/ztm′∈Qt∑expΥztztm′T(4)
其中用于估计
p
t
2
i
(
T
)
p_{t2i}(T)
pt2i(T) 的伪图像负片从图像队列
Q
v
Q_v
Qv 中采样,并且类似地用于
p
i
2
t
(
I
)
p_{i2t}(I)
pi2t(I) 。除了[25],我们还考虑了单峰(内)对齐。直观地说,增强单峰特征表示为跨模态对齐奠定了更好的基础。
为了进一步平滑学习过程,我们使用动量老师的特征来提供软蒸馏目标,
y
i
2
t
,
y
t
2
i
,
y
t
2
t
,
y
i
2
i
y_{i2t}, y_{t2i}, y_{t2t}, y_{i2i}
yi2t,yt2i,yt2t,yi2i(详细信息请参阅算法1)。模态内/跨模态对齐的损失定义为,
L
i
c
a
=
E
I
,
T
∽
p
d
a
t
a
[
H
(
p
t
2
t
,
y
t
2
t
)
+
H
(
p
i
2
i
,
y
i
2
i
)
+
H
(
p
t
2
i
,
y
t
2
i
)
+
H
(
p
i
2
t
,
y
i
2
t
)
]
(
5
)
L_{ica} = E_{ I, T \backsim p_{data} }[ H( p_{t2t}, y_{t2t} ) + H( p_{i2i}, y_{i2i} ) + H( p_{t2i}, y_{t2i} ) + H( p_{i2t}, y_{i2t} )] \kern10em(5)
Lica=EI,T∽pdata[H(pt2t,yt2t)+H(pi2i,yi2i)+H(pt2i,yt2i)+H(pi2t,yi2t)](5)
其中 H 是交叉熵(cross entropy)。这个目标也可以被视为来自同一模态的教师编码器和学生编码器之间的知识蒸馏(即
H
(
p
t
2
t
,
y
t
2
t
)
H( p_{t2t}, y_{t2t} )
H(pt2t,yt2t) 和
H
(
p
i
2
i
,
y
i
2
i
)
H( p_{i2i}, y_{i2i} )
H(pi2i,yi2i),以及来自不同模态的教师编码器和学生编码器之间的知识蒸馏(即
H
(
p
t
2
i
,
y
t
2
i
)
H( p_{t2i}, y_{t2i})
H(pt2i,yt2i) 和
H
(
p
i
2
t
,
y
i
2
t
)
H( p_{i2t}, y_{i2t} )
H(pi2t,yi2t) 。教师编码器的参数是学生的指数移动平均值,与梯度更新无关。我们采用动量更新类似于[18]的更新教师编码器:
f
t
=
α
f
t
+
(
1
−
α
)
f
s
,
g
t
=
α
g
t
+
(
1
−
α
)
g
s
(
6
)
f_t = \alpha f_t + ( 1 - \alpha ) f_s, g_t = \alpha g_t + ( 1 - \alpha ) g_s \kern15em(6)
ft=αft+(1−α)fs,gt=αgt+(1−α)gs(6)
α
\alpha
α 是动量参数。在实践中,我们设置
α
=
0.995
\alpha = 0.995
α=0.995 ,以便顺利更新教师编码器。
3.3 自监督的预训练
在本节中,我们将首先介绍多模态训练框架的两个常用目标:(i)掩蔽语言建模损失( MLM
)和(ii)多模式编码器上的图像-文本匹配( ITM
)。然后我们讨论了如何集成 codebook
和师生蒸馏组件。我们将学生网络提取的图像和文本特征分别表示为
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 ,具体来说,
v
c
l
s
v_{cls}
vcls 是图像 [CLS] 令牌,
v
1
,
.
.
.
,
v
m
{v_1, ..., v_m}
v1,...,vm 是图像补丁嵌入(image patch embeddings)。类似地,
t
c
l
s
t_cls
tcls 表示文本 [CLS] 标记,
t
1
,
.
.
.
,
t
n
{t_1, ..., t_n}
t1,...,tn是单词嵌入(word embeddings)。
3.3.1 图像-文字匹配(Image-Text Matching)损失
为了融合视觉和语言表示,我们采用了在现代 V&L
框架中广泛使用的 ITM
。给定任意一对图像和文本,ITM
预测它们是否对齐(正对)或不对齐(负对)。这个过程可以被公式化为一个二元分类问题。
具体地,来自融合编码器的[CLS]令牌被用作图像-文本对的联合表示。ITM
头是一个全连接层,用于预测匹配概率
p
i
t
m
p_{itm}
pitm 。我们假设从预训练数据集采样的每个图像-文本对
(
I
i
,
T
i
)
( I_i, T_i )
(Ii,Ti) 都是一个正示例,并通过以下策略构建负示例:对于批次中的每个图像
I
i
I_i
Ii ,我们基于对比相似性分布从同一批次中采样一个否定文本
T
j
T_j
Tj。因此,与此图像更相似的文本将有更高的机会进行采样。类似地,将为每个文本
T
i
T_i
Ti 采样一个硬负图像(hard negative image)。我们将
y
i
t
m
y_{itm}
yitm 表示为指示图像-文本对是正的还是负的基本事实标签。
L
i
t
m
=
E
I
,
T
∼
p
d
a
t
a
H
(
p
i
t
m
,
y
i
t
m
)
(
7
)
L_{itm} = E_{I, T\sim p_{data} }H( p_{itm}, y_{itm} )\kern10em (7)
Litm=EI,T∼pdataH(pitm,yitm)(7)
其中,
H
H
H 是交叉熵算子。
3.3.2 掩蔽语言建模(MLM)损失
我们遵循 BERT
[11]关于 MLM
损失的设计,该设计旨在预测屏蔽文本标记
y
m
l
m
y_{mlm}
ymlm 的基本事实标签。具体来说,我们随机屏蔽掉 15% 的输入文本令牌,这些屏蔽的令牌被替换为特殊令牌 [mask] 。与 BERT
不同,我们的 MLM
损失取决于周围的文本标记和图像表示。假设预测的令牌概率是
p
m
l
m
p_{mlm}
pmlm,我们如下构建损失目标,
L
m
l
m
=
E
I
,
T
^
∼
p
d
a
t
a
H
(
p
m
l
m
,
y
m
l
m
)
(
8
)
L_{mlm} = E_{I, \hat{T} \sim p_{data} } H( p_{mlm}, y_{mlm} ) \kern15em(8)
Lmlm=EI,T^∼pdataH(pmlm,ymlm)(8)
其中,
T
^
\hat{T}
T^ 是屏蔽后的文本标记序列。
3.4 总结
我们以端到端的方式同时优化框架内的 codebook
和学生编码器,采用以下前几节中讨论的损失,
L
f
i
n
a
l
=
L
m
l
m
+
L
i
t
m
+
L
i
c
a
+
L
c
o
d
e
(
9
)
L_{final} = L_{mlm} + L_{itm} + L_{ica} + L_{code} \kern15em(9)
Lfinal=Lmlm+Litm+Lica+Lcode(9)
其中 MLM
和 ITM
损失已被广泛应用于许多 V&L
方法,特别是那些“早期融合”框架。ica
损失是“后期融合” V&L
框架的主要目标函数。CODIS
结合了“早期融合”和“后期融合”方法的优点,通过明确学习融合中的对齐。
第 3.2 节中描述的内部交叉对齐(
L
i
c
a
L_{ica}
Lica)损失可以被视为实例对实例对齐损失,类似于[25]中的损失。不同之处在于我们同时考虑了模态内和模态间的对齐。我们假设更强的单峰表示可以为跨模态表示奠定坚实的基础。第 4.4 节提供了经验证据。第 3.1 节中设计的码本损失(
L
c
o
d
e
L_{code}
Lcode)测量传输计划和相似性矩阵之间的距离。它在原型级别对比特征,可以解释为距离度量匹配[3, 6]。将这两者结合起来有助于避免原型崩溃(prototype collapsing)问题,因为在线原型集群(online prototype clustering)需要仔细调整[4]。最后,帧内交叉对齐损失和 codebook
损失的监督信号都需要动量教师的特征,我们采用了师生蒸馏方法。这可以被视为在 V&L
框架下将单一模式 SSL
推广到多模态设置中。
4.实验
图像文字对检索(ITR) 包括两个任务:(1)图像作为查询和检索文本(TR);(2) 文本作为查询和检索图像(IR)。预训练模型在 MSCOCO
[29]和 Flickr30K
[35]上进行评估。对于零样本设置,预训练模型直接根据测试数据进行评估,无需进一步训练。特别是,对于 Flickr30K
上的零样本检索,我们遵循[25]中提出的程序(使用 MSCOCO
微调模型,在Flickr
上评估零样本)。对于微调设置,预训练的模型在训练数据上进行微调,并在验证/测试数据上进行评估。
视觉问答(VQA)[15] 视觉问答预测给定图像和问题的答案,这需要对视觉、语言和上下文的理解。我们将此任务视为一个生成问题,如[25]所示,通过微调答案解码器从候选者中生成答案。
视觉推理( N L V R 2 NLVR^2 NLVR2)数据集[42]包含 107292 个人类书写的英语句子与网络照片的例子。任务是确定一对照片的自然语言说明是否属实。我们将我们的模型扩展为[25],以获取一个文本和两个图像作为输入。
视觉隐含(SNLI_VE)[46]预测给定的图像是否包含给定的文本,在我们的框架中,这被公式化为三方分类问题(隐含、中性或矛盾)。
4.1 实现细节
我们采用 ViT-B/16
[12]作为我们的视觉编码器。文本编码器使用具有12层的 BERTbase
。我们将队列大小设置为 65336 ,码本大小设置为 4000 ,移动平均值 α=0.995
。对于预训练阶段,模型被训练了 30 个时期,批量大小为 512 。我们使用重量衰减为 0.02 的 mini-batch AdamW
优化器[30]。学习率初始化为 1e−5
,并在 1000 次迭代后预热至 1e−4
。然后用余弦衰减策略将其降低到 1e−5
。我们所有的实验都是在8个 NVIDIA A100 GPU
上进行的。在应用 RandAugment
[9]之前,图像输入被随机裁剪并调整大小为 256×256
。在微调过程中,图像分辨率提高到 384×384
,以便与现有方法进行公平比较[25]。
4.2 图像文本检索的评价
对于图像-文本检索任务,我们按照[8, 25, 28]中的设置,进行了两种不同的场景评估:“zero-shot” 检索任务和 “after-finetuning” 检索任务。我们与早期融合方法如[8, 22, 28]和后期融合方法如[21, 38]进行了比较。 ALBEF
[25]是一种混合方法,它还执行特征对齐和融合。表1 和 表2 中的结果显示了我们的方法相对于现有技术的一致改进。
“Zero-shot”: 如表1所示,对于图像和文本检索任务,CODIS
在两个数据集上都优于现有基线,具有明显的优势,尤其是在R@1. 与性能最佳的早期融合方法[8]相比,我们在以下方面获得了 11.0%/13.5% TR/IR
的裕度 R@1 在 Flickr30K
上。与最高后期融合方法[21]相比 R@1 在 MSCOCO
上,并且在 R@1 在 Flickr30K
上,尽管 ALIGN
[21]在训练中使用了 1.8B 的数据(比我们的模型多大约360倍的图像-文本对)。我们的方法也优于ALBEF 4M
[25],净利润率为 2.9%/3.8% R@1 对于 MSCOCO
上的TR/IR
和 1.2%/2.9% R@1对于 Flickr30K
上的 TR/IR
,揭示了我们的模型可以进一步受益于 codebook
表示学习。
“After finetuning”:这项任务展示了通过迁移学习进行 V&L
预训练的能力。对于 Flickr30K
等小型数据集,随着模型的收敛,性能差距往往会减小。然而,我们的方法仍然在大多数指标中取得了最佳结果R@1特别是在 MSCOCO
上。与性能最接近的方法 ALBEF
[25]相比,CODIS
在 R@1 关于 MSCOCO
,为 CODIS
对迁移学习的有效性提供了证据。
4.3 VQA,NLVR 和 VE 评价
根据之前的方法[8, 25],我们进一步报道了 CODIS
在各种其他视觉语言任务(如 VQA、NLVR 和 VE )上的性能。值得注意的是,由于[8]额外使用了域外数据,[28]利用了额外的对象标签,[14]增加了对抗性数据,因此一些结果无法直接比较。尽管如此,在 表3 中,我们观察到我们的方法在不同数据集的所有任务上都有持续的改进。
4.4 消融实验
在本节中,我们对我们的方法在不同的 CODIS
变体下的性能进行了消融研究。为了清楚地了解每个组件的影响,我们在零样本设置下进行比较,而不进行任何微调。请注意,此处 Flickr30K
的设置与第 4.2 节中的设置不同,因为后者基于 MSCOCO
(5K)上的微调模型报告数字。有关更多详细信息,请参阅[8]。
结果汇总在 表5 中。通过消除码本的影响,我们提供了两个在实例级别执行对齐的基线,即(a)仅跨模态对齐和(b)帧内+交叉对齐。前者相当于ALBEF
[25],因为两者都只考虑跨模态的一致性。所有人的表现都在持续提高 R@1 TR/IR 指标(+1.26%/+0.42% R@1 对于 MSCOCO
上的 TR/IR 和 +0.9%/+1.52% R@1 对于 Flickr
上的 TR/IR ),通过涉及模态内对齐,即增强单峰表示。
当考虑 codebook
时,我们观察到两个基线的一致改进。在这一类型中,我们提供了 CODIS
设计的三种变体。第 1 行和第 3 行比较了模态内对齐的效果,而第 2 行和第 3 行研究了使用学生和教师特征来计算 codebook
损失的效果。本实验还通过将教师-学生蒸馏与 codebook
表示学习相结合来支持有效性。结合这两个贡献,CODIS
在年以 2.5%/2.0% 的明显优势改善了第一个基线 R@1 对于MSCOCO
上的 TR/IR 和 1.8%/3.22% 的绝对值 R@1 用于 Flickr
上的 TR/IR。
为了进一步研究我们的方法的效率,我们在 表4 中的零样本设置下,使用 MSCOCO
序列分裂进行预处理时,在 MSCOCO
测试中提供了不同 codebook
损失重量和 codebook
大小的消融。
4.5 交叉注意力可视化
我们使用 Grad-CAM
[39]可视化交叉注意力图,以提供 CODIS
的定性评估。图4 显示,CODIS
能够通过关注有意义的对象和位置,将语言与“感兴趣的区域”相关联,从而在视觉上反映我们的模型在多模式对齐中的质量。例如,在第一排,当给出“人”这个词时,模特会照顾所有的男人,而对于“技巧”和“采取”等词,模特表现得出奇地好,只“关注”相关的人。在第二个例子中,我们选择了一个存在多个对应关系的场景(例如,树木和晴天)。该模型似乎将更多的注意力分配给离相机最近的树木,并可以区分树木和草地。有趣的是,当单词从“长颈鹿”变为“行走”时,模型将“注意力”从长颈鹿的上半身转移到脚上,这表明了模型理解图像和文本之间语义关系的能力。
5. 总结和未来工作
视觉和语言预训练正吸引着计算机视觉界越来越多的关注,并在各种视觉语言下游任务中展现出巨大的潜力。V&L
成功的关键之一是改进多模态对齐。在本文中,我们提出了使用表示 codebook
的多模态对齐,该表示 codebook
充当模态之间的媒介。我们还通过将师生蒸馏学习推广到 V&L
框架下的多模态环境,将自我监督学习和 V&L
预训练联系起来。我们的工作是朝着更有原则的多式联运方向迈出的一步。我们希望在这个方向上激励更多的作品。