【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习

这篇具有很好参考价值的文章主要介绍了【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ALBEF:基于动量蒸馏的视觉语言表示学习
《Align before Fuse:Vision and Language Representation Learning with Momentum Distillation》

论文地址:https://arxiv.org/pdf/2107.07651.pdf

相关博客:
【自然语言处理】【多模态】多模态综述:视觉语言预训练模型
【自然语言处理】【多模态】CLIP:从自然语言监督中学习可迁移视觉模型
【自然语言处理】【多模态】ViT-BERT:在非图像文本对数据上预训练统一基础模型
【自然语言处理】【多模态】BLIP:面向统一视觉语言理解和生成的自举语言图像预训练
【自然语言处理】【多模态】FLAVA:一个基础语言和视觉对齐模型
【自然语言处理】【多模态】SIMVLM:基于弱监督的简单视觉语言模型预训练
【自然语言处理】【多模态】UniT:基于统一Transformer的多模态多任务学习
【自然语言处理】【多模态】Product1M:基于跨模态预训练的弱监督实例级产品检索
【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习
【自然语言处理】【多模态】VinVL:回顾视觉语言模型中的视觉表示
【自然语言处理】【多模态】OFA:通过简单的sequence-to-sequence学习框架统一架构、任务和模态
【自然语言处理】【多模态】Zero&R2D2:大规模中文跨模态基准和视觉语言框架

一、简介

​ 视觉语言预训练 (Vision-and-Language Pre-training,VLP) \text{(Vision-and-Language Pre-training,VLP)} (Vision-and-Language Pre-training,VLP)的目标是从大规模image-text对中学习多模态表示,用于改善下游的视觉语言任务 ( Vision-and-Language,V+L ) (\text{Vision-and-Language,V+L}) (Vision-and-Language,V+L)。许多现有的 VLP \text{VLP} VLP方法依赖于预训练的目标检测器来抽取基于图像特征的区域,并利用一个多模态编码去来将图像特征与单词特征进行融合。多模态编码器被训练来解决那些需要联合理解图像和文本的任务,例如:masked language modelingimage-text matching

​ 虽然有效,但是这些 VLP \text{VLP} VLP框架存在着几个关系的限制:(1) 图像特征和单词嵌入都处于自己的空间中,这使得多模态编码器学习建模他们的交互更具挑战性;(2) 目标检测器的标准和计算都很昂贵,因为其需要在预训练的时候人工标注bounding box,并且在推断时为高分辨率图像;(3) 广泛被使用的image-text数据集都是从网络上收集的并且存在大类噪音,现有像 MLM \text{MLM} MLM这样的预训练目标可能会过拟合噪音文本,并降低模型的泛化性能。

​ 作者提出了 ALBEF(ALign BEfore Fuse) \text{ALBEF(ALign BEfore Fuse)} ALBEF(ALign BEfore Fuse),一个新的 VLP \text{VLP} VLP框架来解决这些限制。首先会使用一个无需检测器的图像编码器和文本编码器来独立编码图像和文本。然后,多模态编码器通过跨模态注意力机制来融合图像特征和文本特征。作者引入了一个中间的image-text对比损失函数 ( ITC ) (\text{ITC}) (ITC),应用在单模态编码器的表示上,其有三个目的:(1) 对齐图像特征和文本特征,使得多模态编码器更容易执行跨模态学习;(2) 改善单模态编码器来更好的理解图像和文本的语义;(3) 其能够学习一个共同的低维空间来嵌入图像和文本,通过对比难样本挖掘来发现更具信息量的样本。

​ 为了改善在噪音监督下的学习,作者提出了动量蒸馏 MoD \text{MoD} MoD,一个简单的使模型能够利用较大的噪音数据集的方法。在训练过程中,通过对模型参数进行平均来维护一个动量版本的模型,并使用动量模型来生成伪标签作为额外的监督。使用 MoD \text{MoD} MoD,模型不会应为生成不同于网络标注的合理输出而受到惩罚。 MoD \text{MoD} MoD不仅能够改善预训练,也能够改善下游任务。

​ 作者从最大互信息的角度提供了 ALBEF \text{ALBEF} ALBEF的理论分析。特别地, ITC \text{ITC} ITC MLM \text{MLM} MLM最大化了image-text对不同视图的互信息下边界,这些视图是通过采用每个对的部分信息生成的。从这个角度出发,动量蒸馏能够被解释为生成语义相同的新视图。因此, ALBEF \text{ALBEF} ALBEF能够学习对语义表示不变的视觉语言表示。

​ 作者在各种下游 V+L \text{V+L} V+L任务上证明了 ALBEF \text{ALBEF} ALBEF的有效性,包含image-text检索、视觉问答、视觉推理、视觉蕴含以及弱监督的visual grounding ALBEF \text{ALBEF} ALBEF比现有的state-of-the-art方法实现了显著的改进。在image-text检索中,其比那些在更大一个量级数据集上预训练的方法要好( CLIP \text{CLIP} CLIP ALIGN \text{ALIGN} ALIGN)。在 VQA \text{VQA} VQA NLVR \text{NLVR} NLVR上,相较于state-of-the-art方法 VILLA \text{VILLA} VILLA,其实现了2.37%和3.84%的改进,并且具有更快的推理速度。此外,作者还使用 Grad-CAM \text{Grad-CAM} Grad-CAM ALBEF \text{ALBEF} ALBEF进行了定性和定量的分析。

二、 ALBEF \text{ALBEF} ALBEF预训练

【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习

1. 模型架构

​ 如上图所示 , ALBEF \text{ALBEF} ALBEF包含一个图像编码器、一个文本编码器 和一个多模态编码器。使用12层的 ViT-B/16 \text{ViT-B/16} ViT-B/16作为图像编码器,然后使用在 ImageNet-1K \text{ImageNet-1K} ImageNet-1K上预训练得到的权重来初始化。一个输入图像 I \text{I} I被编码为嵌入序列: { v c l s , v 1 , … , v N } \{\textbf{v}_{cls},\textbf{v}_1,\dots,\textbf{v}_N\} {vcls,v1,,vN},其中 v c l s v_{cls} vcls[CLS]的嵌入向量。使用6层的 Transformer \text{Transformer} Transformer作为文本编码器和多模态编码器。文本编码器使用 BERT b a s e \text{BERT}_{base} BERTbase的前6层进行初始化,多模态编码器层使用 BERT b a s e \text{BERT}_{base} BERTbase的后6层进行初始化。文本编码器将输入文本 T T T转换为嵌入向量序列 { w c l s , w 1 , … , w N } \{\textbf{w}_{cls},\textbf{w}_1,\dots,\textbf{w}_N\} {wcls,w1,,wN},其会被输入至多模态编码器。在多模态编码器的每层会通过注意力机制将图像特征和文本特征进行融合。

2. 预训练目标

​ 使用三个目标函数预训练 ALBEF \text{ALBEF} ALBEF:单模态编码器上的image-text对比学习 ( ITC ) (\text{ITC}) (ITC),多模态编码器上的遮蔽语言模型 ( MLM ) (\text{MLM}) (MLM)image-text匹配 ( ITM ) (\text{ITM}) (ITM)。此外,这里还使用在线难负样本挖掘对比来改善 ITM \text{ITM} ITM

2.1 Image-text \text{Image-text} Image-text对比学习 ( ITC ) (\text{ITC}) (ITC)

​ 该损失函数的目标是在融合之前更好的学习单模态表示。其会学习一个相似函数 s = g v ( v c l s ) ⊤ g w ( w c l s ) s=g_v(\textbf{v}_{cls})^\top g_w(\textbf{w}_{cls}) s=gv(vcls)gw(wcls),使得并行的image-text对具有更高的相似分数。 g v g_v gv g w g_w gw是将[CLS]嵌入向量映射为规范化低维度表示的线性变换。受 MoCo \text{MoCo} MoCo启发,维护两个队列来存储来自动量单模态编码器中最近的 M M Mimage-text表示。来自动量编码器的规范化特征表示为 g v ′ ( v c l s ′ ) g_v'(\textbf{v}_{cls}') gv(vcls) g w ′ ( w c l s ′ ) g_w'(\textbf{w}_{cls}') gw(wcls)。定义 s ( I , T ) = g v ( v c l s ) ⊤ g w ′ ( w c l s ′ ) s(I,T)=g_v(\textbf{v}_{cls})^\top g_w'(\textbf{w}_{cls}') s(I,T)=gv(vcls)gw(wcls) s ( T , I ) = g w ( w c l s ) ⊤ g v ′ ( v c l s ′ ) s(T,I)=g_w(\textbf{w}_{cls})^\top g_v'(\textbf{v}_{cls}') s(T,I)=gw(wcls)gv(vcls)

​ 对于每个图像和文本,计算image-to-texttext-to-image的相似度为:
p m i 2 t ( I ) = e x p ( s ( I , T m ) / τ ) ∑ m = 1 M e x p ( s ( I , T m ) τ ) , p m t 2 i = e x p ( s ( T , I m ) / τ ) ∑ m = 1 M e x p ( s ( T , I m ) / τ ) (1) p_m^{i2t}(I)=\frac{exp(s(I,T_m)/\tau)}{\sum_{m=1}^M exp(s(I,T_m)\tau)},\quad p_m^{t2i}=\frac{exp(s(T,I_m)/\tau)}{\sum_{m=1}^M exp(s(T, I_m)/\tau)} \tag{1} pmi2t(I)=m=1Mexp(s(I,Tm)τ)exp(s(I,Tm)/τ),pmt2i=m=1Mexp(s(T,Im)/τ)exp(s(T,Im)/τ)(1)
其中, τ \tau τ是可学习temperature参数。令 y i 2 t ( I ) \textbf{y}^{i2t}(I) yi2t(I) y t 2 i ( T ) \textbf{y}^{t2i}(T) yt2i(T)表示真实的one-hot相似度,其中负样本对具有概率0且正样本对的概率为1。image-text对比损失函数被定义为 p \textbf{p} p y \textbf{y} y的交叉熵 H H H
L i t c = 1 2 E ( I , T ) ∼ D [ H ( y i 2 t ( I ) , p i 2 t ( I ) ) + H ( y t 2 i ( T ) , p t 2 i ( T ) ) ] (2) \mathcal{L}_{itc}=\frac{1}{2}\mathbb{E}_{(I,T)\sim D}\big[H(\textbf{y}^{i2t}(I),\textbf{p}^{i2t}(I))+H(\textbf{y}^{t2i}(T),\textbf{p}^{t2i}(T))\big] \tag{2} Litc=21E(I,T)D[H(yi2t(I),pi2t(I))+H(yt2i(T),pt2i(T))](2)

2.2 遮蔽语言模型 ( MLM ) (\text{MLM}) (MLM)

MLM \text{MLM} MLM会利用图像和文本预测被遮蔽的单词。以15%的概率随机遮蔽输入的tokens,并使用特殊的[MASK] token进行替换。令 T ^ \hat{T} T^表示为遮蔽的文本,并且 p m s k ( I , T ^ ) \textbf{p}^{msk}(I,\hat{T}) pmsk(I,T^)表示模型对遮蔽的token的预测概率。 MLM \text{MLM} MLM最小化交叉熵损失:
L m l m = E ( I , T ^ ) ∼ D H ( y m s k , p m s k ( I , T ^ ) ) (3) \mathcal{L}_{mlm}=\mathbb{E}_{(I,\hat{T})\sim D} H(\textbf{y}^{msk},\textbf{p}^{msk}(I,\hat{T})) \tag{3} Lmlm=E(I,T^)DH(ymsk,pmsk(I,T^))(3)
其中, y m s k \textbf{y}^{msk} ymsk是一个one-hot词表分布,其中真实的token概率为1。

2.3 Image-Text \text{Image-Text} Image-Text匹配 ( ITM ) (\text{ITM}) (ITM)

ITM \text{ITM} ITM预测图像和文本对匹配或者不匹配。使用多模态编码器对于[CLS]输出的嵌入向量作为image-text对的联合表示,并通过在全链接层跟一个softmax来预测两种类别的概率 p i t m p^{itm} pitm ITM \text{ITM} ITM损失函数为:
L i t m = E ( I , T ) ∼ D H ( y i t m , p i t m ( I , T ) ) (4) \mathcal{L}_{itm}=\mathbb{E}_{(I,T)\sim D} H(\textbf{y}^{itm},\textbf{p}^{itm}(I,T)) \tag{4} Litm=E(I,T)DH(yitm,pitm(I,T))(4)
其中, y i t m \textbf{y}^{itm} yitm是一个二维的one-hot向量表示。

​ 此外,作者提出了一个针对 ITM \text{ITM} ITM任务的难负样本采样策略。如果image-text对共享相似的语义但在细粒度细节上不同,那么就可以认为是难负样本。利用等式 ( 1 ) (1) (1)中的对比相似性来寻找batch内部的难负样本。对于batch内的每个图像,从同一个batch中按照对比相似度分布采样一个负文本,其中文本与图像越相似则被采样的机会更高。类似地,为每个文本采样一个难负图像。

  • ALBEF \text{ALBEF} ALBEF的全部预训练目标函数为:
    L = L i t c + L m l m + L i t m (5) \mathcal{L}=\mathcal{L}_{itc}+\mathcal{L}_{mlm}+\mathcal{L}_{itm} \tag{5} L=Litc+Lmlm+Litm(5)

3. 动量蒸馏

​ 用于预训练image-text对的数据主要从网络上收集,并且包含了噪音。正样本对通常具有弱相关性:文本中可能包含与图像不相关的单词,或者图像中可能包含文本中未描述的实体。对于 ITC \text{ITC} ITC学习,一个图像的负文本也可能匹配图像中的内容。对于 MLM \text{MLM} MLM,存在着一些不同于标注的单词能够更好的描述图像。然而, ITC \text{ITC} ITC MLM \text{MLM} MLMone-hot标签惩罚所有的负预测,并且忽视了这些正确性。

​ 为了解决这个问题,作者提出了通过动量模型生成的伪目标进行学习。动量模型是由单模态编码器和多模态编码器的指数移动平均版本组成的、不断进化的教师模型。在训练过程中,训练基础模型使其预测与动量模型的预测相匹配。特别地,对于 ITC \text{ITC} ITC,首先使用动量单模态编码器的特征来计算image-text相似度为 s ′ ( I , T ) = g v ′ ( v c l s ′ ) ⊤ g w ′ ( w c l s ′ ) s'(I,T)=g_v'(\textbf{v}_{cls}')^\top g_w'(\textbf{w}_{cls}') s(I,T)=gv(vcls)gw(wcls) s ′ ( T , I ) = g w ′ ( w c l s ) ⊤ g v ′ ( v c l s ′ ) s'(T, I)=g_w'(\textbf{w}_{cls})^\top g_v'(\textbf{v}_{cls}') s(T,I)=gw(wcls)gv(vcls)。然后,通过替换等式 ( 1 ) (1) (1)中的 s s s s ′ s' s来计算伪标签 q i 2 t \textbf{q}^{i2t} qi2t q t 2 i \textbf{q}^{t2i} qt2i ITC M o D \text{ITC}_{MoD} ITCMoD损失函数定义为:
L i t c m o d = ( 1 − α ) L i t c + α 2 E ( I , T ) ∼ D [ KL ( q i 2 t ( I ) ∥ p i 2 t ( I ) ) + KL ( q t 2 i ( T ) ∥ p t 2 i ( T ) ) ] (6) \mathcal{L}_{itc}^{mod}=(1-\alpha)\mathcal{L}_{itc}+\frac{\alpha}{2}\mathbb{E}_{(I,T)\sim D}\big[\text{KL}(\textbf{q}^{i2t}(I)\parallel\textbf{p}^{i2t}(I))+\text{KL}(\textbf{q}^{t2i}(T)\parallel\textbf{p}^{t2i}(T))\big] \tag{6} Litcmod=(1α)Litc+2αE(I,T)D[KL(qi2t(I)pi2t(I))+KL(qt2i(T)pt2i(T))](6)
类似地,对于 MLM \text{MLM} MLM,令 q m s k ( I , T ^ ) \textbf{q}^{msk}(I,\hat{T}) qmsk(I,T^)表示动量模型对于遮蔽token的预测概率, MLM M o D \text{MLM}_{MoD} MLMMoD损失函数为:
L m l m m o d = ( 1 − α ) L m l m + α E ( I , T ^ ) ∼ D KL ( q m s k ( I , T ^ ) ∥ p m s k ( I , T ^ ) ) (7) \mathcal{L}_{mlm}^{mod}=(1-\alpha)\mathcal{L}_{mlm}+\alpha\mathbb{E}_{(I,\hat{T})\sim D}\text{KL}(\textbf{q}^{msk}(I,\hat{T})\parallel\textbf{p}^{msk}(I,\hat{T})) \tag{7} Lmlmmod=(1α)Lmlm+αE(I,T^)DKL(qmsk(I,T^)pmsk(I,T^))(7)
上图中,展示了伪目标的top-5候选,其有效的捕获一个图像的相关单词/文本。

​ 作者将 MoD \text{MoD} MoD应用在下游任务。每个任务的最终损失函数是原始任务损失函数的加权合并,以及模型预测和伪标签的 KL \text{KL} KL散度。为了简单,对于所有的预训练和下游任务设置权重 α = 0.4 \alpha=0.4 α=0.4

4. 预训练数据集

​ 遵循 UNITER \text{UNITER} UNITER,使用两个网络数据集 ( Conceptual Captions , SBU Captions ) (\text{Conceptual Captions},\text{SBU Captions}) (Conceptual Captions,SBU Captions)和两个领域内数据集 ( COCO , Visual Genome ) (\text{COCO},\text{Visual Genome}) (COCO,Visual Genome)。唯一图像的数量是4M,并且image-text对的数量是5.1M。为了展示本文方法在大规模网络数据的扩展性,作者也引入了更多噪音的 Conceptual 12M \text{Conceptual 12M} Conceptual 12M数据集,总的图像数量增加至14.1M

5. 实现细节

​ 本文的模型是由具有123.7M参数的 BERT b a s e \text{BERT}_{base} BERTbase和具有85.8M参数的 ViT-B/16 \text{ViT-B/16} ViT-B/16。在8块NVIDIA A100 GPUs上使用batch size为512的方式预训练模型30个epochs。使用具有梯度衰减为0.02的AdamW优化器。在前1000个迭代中学习率预热至 1 e − 4 1e^{-4} 1e4,然后按照余弦调度衰减至 1 e − 5 1e^{-5} 1e5。在预训练过程中,采用随机图像裁剪分辨率 256 × 256 256\times 256 256×256作为输入 ,并且应用 RandAugment \text{RandAugment} RandAugment。在微调过程中,增加图像分辨率至 384 × 384 384\times 384 384×384,并且为图像patches插入位置编码。更新动量模型的动量参数被设置为0.995,用于image-text对比学习的队列尺寸被设置为65536。在第一个epoch中蒸馏权重 α \alpha α中0线性增加至0.4。

三、互信息最大化视角

​ 在本小节中,提供一个 ALBEF \text{ALBEF} ALBEF的可选视角,并展示了其是最大化image-text对不同视角的互信息下边界。 ITC \text{ITC} ITC MLM \text{MLM} MLM MoD \text{MoD} MoD能够被解释为生成视图的不同方式。

​ 正式来说,定义两个随机变量 a a a b b b为一个数据点的两个不同的视角。在自监督学习中, a a a b b b是同一图片的两个增强样本。在视觉-语言表示学习中,考虑 a a a b b bimage-text的捕获相同语义的不同变体。目标是学习不随视角变化的表示。这能够通过最大化 a a a b b b的互信息来最大化。在实践中,通过最小化 InfoNCE \text{InfoNCE} InfoNCE损失函数来最大化 MI(a,b) \text{MI(a,b)} MI(a,b)的下边界。
L N C E = − E p ( a , b ) [ log exp ⁡ ( s ( a , b ) ) ∑ b ^ ∈ B ^ exp ⁡ ( s ( a , b ^ ) ) ] (8) \mathcal{L}_{NCE}=-\mathbb{E}_{p(a,b)}\Bigg[\text{log}\frac{\exp(s(a,b))}{\sum_{\hat{b}\in\hat{B}}\exp(s(a,\hat{b}))}\Bigg] \tag{8} LNCE=Ep(a,b)[logb^B^exp(s(a,b^))exp(s(a,b))](8)
其中, s ( a , b ) s(a,b) s(a,b)是一个评分函数, B ^ \hat{B} B^包含正样本 b b b ∣ B ^ − 1 ∣ |\hat{B}-1| B^1∣个负样本。

​ 本文的 ITC \text{ITC} ITC损失函数能够被重写为:
L i t c = − 1 2 E p ( I , T ) [ log ⁡ exp ⁡ ( s ( I , T ) / τ ) ∑ m = 1 M exp ⁡ ( s ( I , T m ) / τ ) + log ⁡ exp ⁡ ( s ( T , I ) / τ ) ∑ m = 1 M exp ⁡ ( s ( T , I m ) / τ ) ] (9) \mathcal{L}_{itc}=-\frac{1}{2}\mathbb{E}_{p(I,T)}\Big[\log\frac{\exp(s(I,T)/\tau)}{\sum_{m=1}^M\exp(s(I,T_m)/\tau)}+\log\frac{\exp(s(T,I)/\tau)}{\sum_{m=1}^M\exp(s(T,I_m)/\tau)} \Big] \tag{9} Litc=21Ep(I,T)[logm=1Mexp(s(I,Tm)/τ)exp(s(I,T)/τ)+logm=1Mexp(s(T,Im)/τ)exp(s(T,I)/τ)](9)
​ 最小化 L i t c \mathcal{L}_{itc} Litc能够看作是最大化对称版本的 InfoNCE \text{InfoNCE} InfoNCE。因此, ITC \text{ITC} ITC将两个独立的模态作为image-text对的两个视图,并训练单模态编码器来最大化正样本对中图像和文本视角的 MI \text{MI} MI

MLM \text{MLM} MLM也能够被解释为遮蔽单词与其上下文的最大互信息。具体来说,可以重写 MLM \text{MLM} MLM损失函数为
L m l m = − E p ( I , T ^ ) [ log ⁡ exp ⁡ ( ψ ( y m s k ) ⊤ f ( I , T ^ ) ) ∑ y ∈ V exp ⁡ ( ψ ( y ) ⊤ f ( I , T ^ ) ) ] (10) \mathcal{L}_{mlm}=-\mathbb{E}_{p(I, \hat{T})}\big[\log\frac{\exp(\psi(y^{msk})^\top f(I,\hat{T}))}{\sum_{y\in\mathcal{V}}\exp(\psi(y)^\top f(I,\hat{T}))}\big] \tag{10} Lmlm=Ep(I,T^)[logyVexp(ψ(y)f(I,T^))exp(ψ(ymsk)f(I,T^))](10)

其中, ψ ( y ) : V → R d \psi(y):\mathcal{V}\rightarrow \mathbb{R}^d ψ(y):VRd是多模态编码器输出层的lookup函数,映射单词token y y y至一个向量,并且 V \mathcal{V} V是整个词表的集合,并且 f ( I , T ^ ) f(I,\hat{T}) f(I,T^)是一个返回多模态编码器对应的遮蔽上下文的最终hidden state。因此, MLM \text{MLM} MLMimage-text对看作是两个视图:(1) 一个随机选择的单词token;(2) 图像+被遮蔽单词的上下文;

ITC \text{ITC} ITC MLM \text{MLM} MLM通过从image-text对采取部分信息来生成视图。本文的动量蒸馏可以看作是从整个分布来生成可选视图。以等式 ( 6 ) (6) (6) ITC M o D \text{ITC}_{MoD} ITCMoD为例,最小化 KL ( p i 2 t ( I ) , q i 2 t ( I ) ) \text{KL}(\textbf{p}^{i2t}(I),\textbf{q}^{i2t}(I)) KL(pi2t(I),qi2t(I))等价于最小化下面的目标函数
− ∑ m q m i 2 t ( I ) log ⁡ p m i 2 t ( I ) = − s u m m exp ⁡ ( s ′ ( I , T m ) / τ ) ∑ m = 1 M exp ⁡ ( s ′ ( I , T m ) / τ ) log ⁡ exp ⁡ ( s ( I , T m ) / τ ) ∑ m = 1 M exp ⁡ ( s ( I , T m ) / τ ) (11) -\sum_{m} q_m^{i2t}(I)\log p_m^{i2t}(I)=-sum_m \frac{\exp(s'(I,T_m)/\tau)}{\sum_{m=1}^M\exp(s'(I,T_m)/\tau)}\log \frac{\exp(s(I,T_m)/\tau)}{\sum_{m=1}^M\exp(s(I, T_m)/\tau)} \tag{11} mqmi2t(I)logpmi2t(I)=summm=1Mexp(s(I,Tm)/τ)exp(s(I,Tm)/τ)logm=1Mexp(s(I,Tm)/τ)exp(s(I,Tm)/τ)(11)
其会最大化与文本共享相似语义的图像 I I I的互信息 MI ( I , T m ) \textbf{MI}(I,T_m) MI(I,Tm),因为这些文本会有较大的 q m i 2 t ( I ) q^{i2t}_m(I) qmi2t(I)。类似地, ITC M o D \text{ITC}_{MoD} ITCMoD也能够最大化与图像相似的 T T T MI ( I m , T ) \textbf{MI}(I_m,T) MI(Im,T)。可以遵循相同的方式, MLM M o D \text{MLM}_{MoD} MLMMoD为遮蔽单词 y m s k y^{msk} ymsk生成可选视图 y ′ ∈ V y'\in\mathcal{V} yV,并最大化 y ′ y' y ( I , T ^ ) (I,\hat{T}) (I,T^)的最大化信息 MI \text{MI} MI。因此,动量蒸馏可以看作是在原始视图上执行数据增强。动量模型生成了与原始image-text不同的视图,并鼓励基础模型学习视图不变语义信息的表示。

四、下游 V+L \text{V+L} V+L任务

【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习

​ 在下游五个 V+L \text{V+L} V+L任务上应用预训练模型。下面介绍每个任务以及微调策略。

1. Image-Text \text{Image-Text} Image-Text检索

Image-Text \text{Image-Text} Image-Text包含了两个子任务:image-to-text检索 ( TR ) (\text{TR}) (TR)text-to-image检索 ( IR ) (\text{IR}) (IR)。在 Flickr30K \text{Flickr30K} Flickr30K COCO \text{COCO} COCO基准上评估 ALBEF \text{ALBEF} ALBEF,并且从每个数据集上使用训练样本进行微调预训练模型。对于 Flickr30K \text{Flickr30K} Flickr30K上的zero-shot检索,在 COCO \text{COCO} COCO上微调模型进行评估。在微调过程中,联合优化 ITC \text{ITC} ITC损失函数和 ITM \text{ITM} ITM损失函数。 ITC \text{ITC} ITC学习基于单模态相似度的image-text评分函数,而 ITM \text{ITM} ITM建模图像和文本的细粒度交互来预测匹配分数。由于下游数据集中每个图像包含多个文本,改变 ITC \text{ITC} ITC中的真实标签来考虑队列中的多个正样本,每个正样本的概率都为1。在推断的过程中,为所有的image-text对计算特征相似分 s i t c s_{itc} sitc。然后,采用 top-k \text{top-k} top-k作为候选并计算他们的 ITM \text{ITM} ITM分数 s i t m s_{itm} sitm用于排序。由于 k k k能够被设置的非常小,推断的速度会快很多。

2. Visual Entailment \text{Visual Entailment} Visual Entailment

Visual Entailment \text{Visual Entailment} Visual Entailment用于预测图片和文本是否具有蕴含、等价或者相反关系的细粒度视觉推理任务。遵循模型 UNITER \text{UNITER} UNITER并考虑将 Visual Entailment \text{Visual Entailment} Visual Entailment作为三分类问题,然后在[CLS]多模态编码器表示上基础上使用 MLP \text{MLP} MLP来预测类别概率。

3. Visual Question Answering(VQA) \text{Visual Question Answering(VQA)} Visual Question Answering(VQA)

​ 给定一个图像和一个问题, VQA \text{VQA} VQA需要模型预测一个答案。不同于现有的方法将 VQA \text{VQA} VQA作为多答案分类问题,作者将 VQA \text{VQA} VQA作为一个答案生成问题。具体来说,使用6层的 Transformer \text{Transformer} Transformer解码器来生成答案。如上图 ( a ) (a) (a)所示,自回归答案解码器接收多模态嵌入,然后将[CLS]的向量用作解码器的初始输入token。同样的,[SEP]会被追加至解码器输出的后面表示生成的完成。答案解码器使用多模型编码器的预训练权重进行初始化,并且使用条件语言损失函数进行微调。为了与现有的方法进行公平的比较,在推理的过程中约束解码器仅能从3192个后续答案中生成。

4. 用于视觉推理的自然语言 NLVR \text{NLVR} NLVR

NLVR \text{NLVR} NLVR需要模型判断一条文本是否是一对图像的描述。作者扩展多模态解码器来使其能够在两个图像上进行推理。如上图 ( b ) (b) (b)所示,多模态编码器的每层都会被重复为两个连续的 Transformer \text{Transformer} Transformer块,每个块都包含一个自注意力层、一个交叉注意力层和一个前向传播层。每层中的两个块会使用相同的预训练权重进行初始化,两个交叉注意力能共享相同的线性投影权重。在训练模型中,两个块接收图像对的两个嵌入集合。在多模态编码器的[CLS]表示上追加一个 MLP \text{MLP} MLP分类器用于预测。

​ 对于 NLVR \text{NLVR} NLVR,执行额外的预训练步骤来为编码图像对准备新的多模态编码器。作者设计了一个文本分配任务 ( text-assignment,TA ) (\text{text-assignment,TA}) (text-assignment,TA):给定一个图像和文本对,模型需要将文本分配给第一个图像、第二个图像、或者都不分配。作者将其定义为一个三分类问题,并在[CLS]表示上使用 FC \text{FC} FC层来预测分配。在 4 M 4M 4M图像上使用 TA \text{TA} TA预训练1个epoch

5. Visual Grounding \text{Visual Grounding} Visual Grounding

Visual Grounding \text{Visual Grounding} Visual Grounding的目标是定位图像中与特定文本描述相关的区域。作者研究了弱监督设置,也就是没有标注的 bounding box \text{bounding box} bounding box。作者在 RefCOCO+ \text{RefCOCO+} RefCOCO+数据集上执行实验,并使用与image-text检索相同策略形成的image-text监督来微调模型。在推断过程中,作者扩展 Grad-CAM \text{Grad-CAM} Grad-CAM来获取热图,并使用它们对检测到的对象进行排序。

五、实验

文章来源地址https://www.toymoban.com/news/detail-438941.html

到了这里,关于【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【自然语言处理(NLP)】基于ERNIE语言模型的文本语义匹配

    作者简介 :在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程爱好者,期待和大家一起学习,一起进步~ . 博客主页 : ぃ灵彧が的学习日志

    2024年02月10日
    浏览(63)
  • 【自然语言处理(NLP)】基于循环神经网络实现情感分类

    活动地址:[CSDN21天学习挑战赛](https://marketing.csdn.net/p/bdabfb52c5d56532133df2adc1a728fd) 作者简介 :在校大学生一枚,华为云享专家,阿里云星级博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会(TIPCC)志愿者,以及编程

    2024年02月07日
    浏览(47)
  • 基于自然语言处理技术的智能客服与机器人

    作者:禅与计算机程序设计艺术 46.《基于自然语言处理技术的智能客服与机器人》 引言 随着互联网技术的快速发展,智能客服和机器人已经成为现代企业重要的运营手段之一。智能客服以自然语言处理技术为基础,能够实现高效、人性化的对话交互,有效提升客户满意度;

    2024年02月13日
    浏览(68)
  • 自然语言处理 Paddle NLP - 基于预训练模型完成实体关系抽取

    基础 自然语言处理(NLP) 自然语言处理PaddleNLP-词向量应用展示 自然语言处理(NLP)-前预训练时代的自监督学习 自然语言处理PaddleNLP-预训练语言模型及应用 自然语言处理PaddleNLP-文本语义相似度计算(ERNIE-Gram) 自然语言处理PaddleNLP-词法分析技术及其应用 自然语言处理Pa

    2024年02月10日
    浏览(50)
  • 基于自然语言处理的结构化数据库问答机器人系统

      完整代码下载:https://download.csdn.net/download/andrew_extra/88614388         知识库,就是人们总结出的一些历史知识的集合,存储、索引以后,可以被方便的检索出来供后人查询/学习。QnA Maker是用于建立知识库的工具,使用 QnA Maker,可以根据 FAQ(常见问题解答)文档或者 U

    2024年02月04日
    浏览(55)
  • 基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理

    Transformer正在颠覆AI领域。市面上有这么平台和Transformer模型。本书将引导你使用Hugging Face从头开始预训练一个RoBERTa模型,包括构建数据集、定义数据整理器以及训练模型等。将引领你进入Transformer的世界,将讲述不同模型和平台的优势,指出如何消除模型的缺点和问题。 《基

    2024年02月03日
    浏览(67)
  • 构建基于AWSLambda的人工智能应用:语音识别、图像识别和自然语言处理

    作者:禅与计算机程序设计艺术 在人工智能领域,用大数据、机器学习等方法来解决复杂的问题,已经成为越来越多企业和开发者关注的问题。但是,如何把这些方法落地到生产环境中,仍然是一个难题。 随着云计算平台的广泛普及,AWS Lambda作为一项服务正在成为各个公司

    2024年02月09日
    浏览(77)
  • 基于python的神经网络在图像识别和自然语言处理上的应用

    随着计算机算力的不断增长,基于机器学习(神经网络)的方法成为了自然语言处理以及计算机图像识别的新范式。在自然语言处理方面,RNN、LSTM等方法能够有效提取语言之间的前后顺序和相互关系,在机器翻译、语言生成等任务取得了非常好的效果。在图像识别、图像检测

    2023年04月27日
    浏览(46)
  • 用AI改善客服体验:基于自然语言处理技术的智能客服系统

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着互联网技术的飞速发展,客服行业也迎来了前所未有的挑战。客户需求日益多样化,售后服务的要求也越来越高,而传统客服方式往往难以满足客户的个性化需求。因此,利用人工智能技术改进客服体验变得尤为重要。

    2024年02月08日
    浏览(55)
  • 自然语言处理实战项目16- 基于CPU的大语言模型的实战训练全流程指导,模型调优与评估

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目16- 基于CPU的生成式大语言模型的实战训练全流程详细讲解,模型调优与评估。该流程涵盖了数据准备、数据预处理、词表构建、模型选择与配置、模型训练、模型调优和模型评估等步骤。通过不断迭代和优化,

    2024年02月10日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包