融合前对齐:使用动量蒸馏进行视觉和语言表示学习.

0. TL; DR

本文提出了一种新的视觉-语言预训练框架ALBEF(ALign BEfore Fuse),通过对比学习在融合之前对齐图像和文本表示,并引入动量蒸馏(Momentum Distillation)方法来提高模型在噪声数据上的学习能力。ALBEF在多个下游任务上取得了SOTA性能,同时在推理速度上优于现有方法。

1. 背景介绍

视觉-语言预训练(VLP)旨在从大规模图像-文本对中学习多模态表示,以提升下游视觉-语言(V+L)任务的性能。现有方法大多依赖于基于Transformer的多模态编码器来联合建模视觉token(基于区域的图像特征)和词token。然而,这些方法存在以下局限性:

为了解决这些问题,本文提出ALBEF框架,通过对比学习对齐图像和文本表示,并引入动量蒸馏方法来提高模型在噪声数据上的学习能力。

2. ALBEF 模型

ALBEF包含三个主要部分:图像编码器、文本编码器和多模态编码器。图像编码器使用12层的ViT-B/16,文本编码器和多模态编码器均使用6Transformer(预训练BERT的前六层作为文本编码器,后六层作为多模态编码器)。图像特征和文本特征通过交叉注意力在多模态编码器中融合。

ALBEF的预训练目标包括三个部分:

⚪ 图像-文本对比学习(ITC)

ITC通过最大化图像和文本的互信息来对齐它们的表示。具体来说,对于每个图像-文本对,计算其在单模态编码器中的表示,并通过对比损失来优化模型:

\[L_{ITC}=-\frac{1}{2}E_{(I,T)\sim D}\left[\log \frac{\exp \left(s(I, T) / \tau\right)}{\sum_{m=1}^{M} \exp \left(s(I, T_m) / \tau\right)}+\log \frac{\exp \left(s(T, I) / \tau\right)}{\sum_{m=1}^{M} \exp \left(s(T, I_m) / \tau\right)}\right]\]

其中,$s(I,T)$是图像和文本的相似度函数,$τ$是温度参数,$M$是负样本数量。

⚪ 掩码语言建模(MLM)

MLM的目标是预测被掩码的词token。具体来说,随机掩码输入文本中的token,并使用模型的上下文表示来预测被掩码的token

\[L_{MLM}=−E_{(I,\hat{T})\sim D}\left[\log \frac{\exp \left(\psi\left(y^{msk}\right)^\top f(I, \hat{T})\right)}{\sum_{y \in V} \exp \left(\psi(y)^\top f(I, \hat{T})\right) }\right]\]

其中,$ψ(y)$是词token的嵌入函数,$V$是词汇表,$f(I, \hat{T})$是多模态编码器的输出。

⚪ 图像-文本匹配(ITM)

ITM的目标是预测图像和文本是否匹配。具体来说,使用多模态编码器的$[CLS]$标记的表示来预测匹配分数。

⚪ 动量蒸馏(Momentum Distillation)

为了提高模型在噪声数据上的学习能力,本文提出动量蒸馏方法。动量模型是基模型的指数移动平均版本,用于生成伪目标。具体来说,对于ITCMLM任务,使用动量模型的输出作为伪目标,并通过KL散度来优化基模型:

\[L^{mod}_{ITC}=(1-\alpha)L_{ITC}+\frac{\alpha}{2} E_{(I,T)\sim D}\left[\operatorname{KL}\left(q^{i 2 t}(I) \| p^{i 2 t}(I)\right)+\operatorname{KL}\left(q^{t 2 i}(T) \| p^{t 2 i}(T)\right)\right] \\ L^{mod}_{MLM}=(1-\alpha)L_{MLM}+\alpha E_{(I,\hat{T})\sim D}\left[\operatorname{KL}\left(q^{\text {msk }}(I, \hat{T}) \| p^{\text {msk }}(I, \hat{T})\right)\right]\]

其中,$α$是蒸馏权重,$q$是动量模型的输出,$p$是基模型的输出。

3. 实验分析

ALBEF在以下数据集上进行预训练:

ALBEF在以下下游任务上进行评估:

主要实验结果: