Multi-modal Alignment using Representation Codebook

news2024/11/17 13:27:00

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 我们建议使用可学习的码本来更好地对齐图像和文本模态。代码本是图像和文本特征之间的 “桥梁” 。每个码字都可以被解释为一个原型,从而能够在集群级别对比图像和文本。然后,我们解决了一个最优传输[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
图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,...,cKRdcK,其中 d c d_c dc 是每个代码的维度并且 K K K 等于 codewords 的数量(即4K)。我们设置 d c = 256 d_c=256 dc=256,与投影图像/文本特征的尺寸相同。每个 c ∈ C c \in C cC 都是一个原型。

给定 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=1Nj=1KTijd(zim,cj)=T(u,v)minT,D(1)
图片3
其中, ∏ ( 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)=TR+NKT1K=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()=1cos()) ⟨ 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 1I2P 对应于图像模态的成本矩阵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) (2r1) 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)
图片4

如图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} zvR256 z t ∈ R 256 z_t \in R^{256} ztR256 的联合嵌入空间(joint embeddings space)。根据[18, 25],我们将来自教师编码器 z v m ∈ R 256 z^m_v \in R^{256} zvmR256 z t m ∈ R 256 z^m_t \in R^{256} ztmR256 的特征分别存储在图像和文本的存储器队列 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/zvmQvexpΥztzvmT(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/zvmQtexpΥzvztmT(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/zvmQvexpΥzvzvmT(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/ztmQtexpΥztztmT(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,Tpdata[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,TpdataH(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)
其中 MLMITM 损失已被广泛应用于许多 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 中的结果显示了我们的方法相对于现有技术的一致改进。

表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 中,我们观察到我们的方法在不同数据集的所有任务上都有持续的改进。
表3

4.4 消融实验

在本节中,我们对我们的方法在不同的 CODIS 变体下的性能进行了消融研究。为了清楚地了解每个组件的影响,我们在零样本设置下进行比较,而不进行任何微调。请注意,此处 Flickr30K 的设置与第 4.2 节中的设置不同,因为后者基于 MSCOCO(5K)上的微调模型报告数字。有关更多详细信息,请参阅[8]。
表4
表5

结果汇总在 表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 能够通过关注有意义的对象和位置,将语言与“感兴趣的区域”相关联,从而在视觉上反映我们的模型在多模式对齐中的质量。例如,在第一排,当给出“人”这个词时,模特会照顾所有的男人,而对于“技巧”和“采取”等词,模特表现得出奇地好,只“关注”相关的人。在第二个例子中,我们选择了一个存在多个对应关系的场景(例如,树木和晴天)。该模型似乎将更多的注意力分配给离相机最近的树木,并可以区分树木和草地。有趣的是,当单词从“长颈鹿”变为“行走”时,模型将“注意力”从长颈鹿的上半身转移到脚上,这表明了模型理解图像和文本之间语义关系的能力。
图4

5. 总结和未来工作

视觉和语言预训练正吸引着计算机视觉界越来越多的关注,并在各种视觉语言下游任务中展现出巨大的潜力。V&L 成功的关键之一是改进多模态对齐。在本文中,我们提出了使用表示 codebook 的多模态对齐,该表示 codebook 充当模态之间的媒介。我们还通过将师生蒸馏学习推广到 V&L 框架下的多模态环境,将自我监督学习和 V&L 预训练联系起来。我们的工作是朝着更有原则的多式联运方向迈出的一步。我们希望在这个方向上激励更多的作品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/438426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringMVC文件上传、异常处理、拦截器

SpringMVC文件上传、异常处理、拦截器 基本配置准备&#xff1a;maven项目模块 application.xml <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.…

数据库系统-数据物理存储

文章目录 一、DBMS原理1.1 DB物理存储1.1.1 磁盘的结构&特性1.1.2 DBMS数据存储&查询原理记录&#xff1a;磁盘块 1.2 DB文件组织方法1.2.1 无序文件组织1.2.2 有序记录文件1.2.3 散列文件(Hash File)1.2.4 聚簇文件(Clustering File) 1.3 Oracle 物理存储简介 一、DBM…

程序员最常见的谎言

小伙伴们大家好&#xff0c;我是阿秀。 上周看到知乎上有位网友总结了自己的10年程序员生涯中最常说的一些谎言&#xff0c;一共有15条&#xff0c;看完我直呼内行&#xff01;&#xff01; 全中&#xff01;每一枪都中了&#xff01;每一条我都说过。 我基本都说过他说过的那些…

下载VMware安装Ubuntu18.04.6系统

文章目录 前言&#xff1a;1. 下载VMWare与Ubuntu镜像2. 安装VMware3. VMware下安装Ubuntu 前言&#xff1a; 这篇文章是为交叉编译做的铺垫&#xff0c;本文内容比较简单&#xff0c;按步骤操作即可。 1. 下载VMWare与Ubuntu镜像 为了节约大家时间&#xff0c;省的各种找&am…

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑

语录&#xff1a; 人是要长大的&#xff0c;有天你也会推着婴儿车幸福地在街上行走&#xff0c;而曾经的喜欢&#xff0c;不管曾经怎样&#xff0c;都会幻化成风&#xff0c;消失在时光的隧道。所以向前走&#xff0c;向前走&#xff0c;无须回头。 前言&#xff1a; 往往我们在…

基于html+css的图片展示12

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

新品发布 | 智安网络【零信任SDP访问控制系统】正式上线!

近日&#xff0c;根据《2022年云办公行业研究报告》显示&#xff0c;2021-2023年&#xff0c;中国协同办公行业保持每年10%以上的增长率&#xff0c;远程办公人员的数量在过去十年中增长了115%&#xff0c;互联网时代已迎来远程办公需求大潮。 风口之下&#xff0c;员工对企业…

Go语言基础——通过获取网站API的cUrl,生成可直接执行的request代码(附:详细实战案例和源码)

作者&#xff1a;非妃是公主 专栏&#xff1a;《Golang》 博客地址&#xff1a;https://blog.csdn.net/myf_666 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录 一、cUrl是什么&#xff1f;二、cUrl如何获取…

OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)

Production Best Practices 生产最佳实例 前言Introduction 导言Setting up your organization 设置您的组织Managing billing limits 管理计费限额API keys API密钥Staging accounts 演示账户 Building your prototype 构建您的原型Additional tips 其它技巧 Techniques for i…

【Java 数据结构】队列的实现及相关OJ题

&#x1f389;&#x1f389;&#x1f389;点进来你就是我的人了 博主主页&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳,欢迎大佬指点!人生格言&#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔&#x1f9be;&am…

图的搜索算法---8.2 ZOJ1002-Fire Net--合理布置碉堡

目录 问题&#xff1a; 分析&#xff1a; 主要的算法代码&#xff1a; 完整代码&#xff1a; 出问题的代码&#xff1a; 原因&#xff1a; 正确代码&#xff1a; 代码分析&#xff1a; 算法函数讲解&#xff1a; CanPut函数 solve函数 运行结果&#xff1a; 问题&am…

勇创世界一流!移动云为我国数字经济发展提供有力支撑

今年2月&#xff0c;中共中央、国务院印发了《数字中国建设整体布局规划》&#xff0c;通过顶层设计及布局&#xff0c;擘画了我国数字经济发展蓝图。近日在国新办举行的第六届数字中国建设峰会新闻发布会上&#xff0c;相关负责人也对我国数字经济现阶段取得的成绩进行了总结&…

IPWorks VoIP 2022 Crack

网络电话组件 IPWorks VoIP 提供 SIP 和 IVR 组件&#xff0c;旨在促进 CTI 应用程序中的常见 VoIP 操作。快速集成功能以建立拨出电话、接听来电以及根据您的自定义 IVR 菜单路由呼叫。还支持其他 SIP 功能&#xff0c;例如文本到语音、播放预先录制的消息、通话录音和电话会议…

总结:helm

一、介绍 Helm是k8s的包管理工具&#xff0c;类似Linux系统常用的 apt、yum等包管理工具&#xff0c;基于go 语言开发。使用helm可以简化k8s应用部署 二、基本概念 Helm的基本概念 Chart&#xff1a;一个 Helm 包&#xff0c;其中包含了运行一个应用所需要的镜像、依赖和资源…

flask实际开发:flask和nginx如何配置支持websocket

使用pycharm启动flask项目有坑&#xff0c;先修改pycharm设置 1、点击Edit Confiturations 2、配置启动方式 1 新增启动配置 2 选择使用python命令执行 3 给配置设置一个名字 4 设置要启动的模块的位置&#xff0c;flask基本都是app.py 模块 最后别忘记&#xff1a;点击右侧的…

Linux网络-传输层UDP/TCP详解

目录 计算机网络的层状结构 UDP协议 UDP报文格式 理解UDP/TCP报文的本质 UDP的特点 UDP的缓冲区 sendto/recvfrom/send/recv/write/read IO类接口 UDP是全双工的 UDP注意事项 UDP协议&#xff0c;实现简单聊天室&#xff08;服务端客户端&#xff09; TCP协议 TCP协…

SpringBoot集成 ElasticSearch

Spring Boot 集成 ElasticSearch 对于ElasticSearch比较陌生的小伙伴可以先看看ElasticSearch的概述ElasticSearch安装、启动、操作及概念简介 好的开始啦~ 1、基础操作 1.1、导入依赖 <dependency><groupId>org.springframework.boot</groupId><arti…

【是C++,不是C艹】 第一个C++程序 | 命名空间 | 输入输出

&#x1f49e;&#x1f49e; 欢迎来到 Claffic 的博客 &#x1f49e;&#x1f49e; &#x1f449;专栏&#xff1a;《是C&#xff0c;不是C艹》&#x1f448; 前言&#xff1a; 在认识了C的来历之后&#xff0c;我们就要开始正式学习C了&#xff0c;系好安全带&#xff0c;准备…

阿里云安全ACP认证考试实验之云盾之云安全中心与态势感知入门体验

“更多玩转云产品” 1、实验概述 通过本实验可对云安全中心&#xff0c;态势感知的一些基本操作有深入了解以及如何来对实例进行安全监控 2、实验目标 完成此实验可以掌握的能力有&#xff1a; 在安骑士中添加白名单、登录安全设置 通过态势感知查看实例的相关告警威胁 3…

数值区间的模糊匹配,二分查找的应用

先看图: 需求很明确,要根据左边的值,显示右边的值。 比如,现在拿到的值是 17.12,那么应该显示成 15;拿到 17.599 ,那么应该显示成 20. 先找规律: 为了便于说明,暂且将左边的值设为 x, 右边的值设为 y. 第一行和最后一行可以写死成 0 与 1500;余下的每行,x 的区间是…