论文地址: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 modeling
和image-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预训练
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
M个image-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-text
和text-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}
MLM的one-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}
1e−4,然后按照余弦调度衰减至
1
e
−
5
1e^{-5}
1e−5。在预训练过程中,采用随机图像裁剪分辨率
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
b是image-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)[log∑b^∈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)[log∑m=1Mexp(s(I,Tm)/τ)exp(s(I,T)/τ)+log∑m=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^)[log∑y∈Vexp(ψ(y)⊤f(I,T^))exp(ψ(ymsk)⊤f(I,T^))](10)
其中,
ψ
(
y
)
:
V
→
R
d
\psi(y):\mathcal{V}\rightarrow \mathbb{R}^d
ψ(y):V→Rd是多模态编码器输出层的lookup
函数,映射单词token
y
y
y至一个向量,并且
V
\mathcal{V}
V是整个词表的集合,并且
f
(
I
,
T
^
)
f(I,\hat{T})
f(I,T^)是一个返回多模态编码器对应的遮蔽上下文的最终hidden state
。因此,
MLM
\text{MLM}
MLM将image-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}
−m∑qmi2t(I)logpmi2t(I)=−summ∑m=1Mexp(s′(I,Tm)/τ)exp(s′(I,Tm)/τ)log∑m=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}
y′∈V,并最大化
y
′
y'
y′和
(
I
,
T
^
)
(I,\hat{T})
(I,T^)的最大化信息
MI
\text{MI}
MI。因此,动量蒸馏可以看作是在原始视图上执行数据增强。动量模型生成了与原始image-text
不同的视图,并鼓励基础模型学习视图不变语义信息的表示。
四、下游 V+L \text{V+L} V+L任务
在下游五个 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
五、实验
略文章来源地址https://www.toymoban.com/news/detail-438941.html
到了这里,关于【自然语言处理】【多模态】ALBEF:基于动量蒸馏的视觉语言表示学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!