Pixel-BERT:使用深度多模态Transformer对齐图像像素和文本.
0. TL; DR
本文提出了一种名为Pixel-BERT的模型,旨在通过深度多模态Transformer架构直接从图像像素和文本对中学习视觉和语言的联合嵌入表示。与以往依赖于区域级图像特征的方法不同,Pixel-BERT通过像素级对齐解决了视觉和语言任务中语义信息不匹配的问题,同时避免了边界框注释的依赖。实验表明,Pixel-BERT在视觉问答(VQA)、图像-文本检索和自然语言视觉推理(NLVR2)等下游任务中均取得了最先进的性能。
1. 背景介绍
随着自然语言处理领域自监督学习的成功,跨模态学习尤其是视觉与语言的结合逐渐成为研究热点。早期的视觉问答(VQA)和图像描述生成任务通常使用预训练的CNN模型提取图像特征,但这种方法存在语义信息丢失的问题。后来的研究引入了基于目标检测模型(如Faster R-CNN)提取的区域级视觉特征,虽然性能有所提升,但这些特征仍然受限于特定任务的类别,无法充分利用图像中的视觉信息。例如,区域检测模型可能无法准确描述物体的形状、空间关系以及场景情感等更广泛的语义信息。因此,本文提出Pixel-BERT模型,直接从图像像素出发,学习视觉和语言的联合表示,以解决上述问题。
2. Pixel-BERT 模型
(1)模型结构
Pixel-BERT模型由三部分组成:基于CNN的视觉编码器、基于BERT的词级嵌入和多模态Transformer模块,整体架构如图所示。
⚪ 视觉特征嵌入
Pixel-BERT使用CNN作为视觉编码器,直接从图像像素中提取特征。给定输入图像$I$,首先通过CNN骨干网络(如ResNet)提取特征,然后将特征沿空间维度展平,得到像素级特征表示。假设展平后的特征为\(v= \{v_1, v_2, ..., v_k\} ∈ R^d\),其中$k$为特征像素的数量。最终的视觉嵌入特征通过添加语义嵌入向量$s_v$来区分视觉和语言嵌入,表示为:
\[\hat{v}_i = v_i + s_v\]其中,$s_v$是所有像素共享的语义嵌入向量,可以看作是与CNN骨干网络结合的偏置项。
⚪ 语言特征嵌入
语言特征的处理与BERT类似。首先将句子分割为单词序列,然后使用WordPiece工具将每个单词分割为子词(token),并通过嵌入矩阵将每个token嵌入为向量。假设嵌入后的序列为\(w= \{w_1, w_2, ..., w_n\} ∈ R^d\),其中$n$为序列长度,$d$为嵌入维度。为了编码位置信息,还添加了位置嵌入$p_i$,最终的语言表示为:
\[\hat{w}_i = LayerNorm(w_i + p_i+s_w)\]其中,$p_i$是第$i$个单词的位置嵌入向量。$s_w$是语义嵌入向量。在实际实现中,$s_w$项被省略。
⚪ 多模态Transformer模块
将视觉特征和语言特征组合后,输入到Transformer模块中进行联合学习。Transformer模块能够建立视觉和语言模态之间的密集连接,包括模态内部(图像-图像、句子-句子)和模态之间(图像-句子)的连接。最终输入到Transformer的序列形式为:
\[\{[CLS],\hat{w}^1,\hat{w}^2,...,\hat{w}^n,[SEP],\hat{v}^1,\hat{v}^2,...,\hat{v}^k\}\]其中,$[CLS]$和$[SEP]$是特殊标记,分别用于学习联合分类特征和指定token长度。
(2)预训练任务
为了学习通用的视觉和语言表示,Pixel-BERT采用了两种预训练任务:掩码语言模型(MLM)和图像-文本匹配(ITM)。
⚪ 掩码语言模型(MLM)
MLM任务的目标是预测被随机掩盖的token。具体来说,以0.15的概率随机掩盖语言token,并要求模型根据其他非掩盖的token和视觉token来预测掩盖的token。MLM的损失函数为:
\[L_{MLM}(θ) = -E_{(w,I)∼D} \log P_{\theta}(w_i | w_{/m}, I)\]其中,$w_m$表示掩盖的token,$θ$是模型参数,$P$是生成的似然函数。与单模态BERT不同,Pixel-BERT可以利用视觉信息来帮助预测掩盖的token,从而建立视觉和语言模态之间的映射。
⚪ 图像-文本匹配(ITM)
ITM任务的目标是判断图像和文本是否匹配。在训练过程中,将数据集中的图像-文本对作为正样本,随机打乱后得到的不匹配对作为负样本。通过二分类器对$[CLS]$标记的联合嵌入特征进行分类,判断输入的图像和文本是否匹配。ITM的损失函数为:
\[L_{ITM}(θ) = -E_{(w,I)∼D} [y\log S_{\theta}(w,I) + (1-y)\log(1-S_{\theta}(w,I))]\]⚪ 随机像素采样机制
为了提高视觉特征学习的鲁棒性并避免过拟合,Pixel-BERT引入了随机像素采样机制。在每次迭代中,从提取的像素特征中随机采样一部分输入到Transformer中。这种机制可以鼓励模型从不完整的视觉输入中学习语义知识,从而增强鲁棒性。此外,减少输入元素的数量还可以降低计算成本并加速训练过程。在实验中,每个输入图像随机采样100个像素特征。
3. 实验分析
Pixel-BERT在两个大规模图像-文本数据集上进行预训练:MS-COCO和Visual Genome。MS-COCO包含106K张图像和533K个句子,Visual Genome包含101K张图像和5.06M个句子。下游任务包括视觉问答(VQA)、自然语言视觉推理(NLVR2)和图像-文本检索任务,分别在VQA 2.0、NLVR2、Flickr30K和MS-COCO数据集上进行评估。详细的实验数据集统计信息如表所示。
在预训练阶段,Pixel-BERT使用ResNet-50或ResNeXt-152作为视觉骨干网络,并采用SGD和AdamW优化器分别优化CNN骨干网络和Transformer模块。预训练在64个NVIDIA Tesla V100 GPU上进行,共40个epoch。
VQA任务的目标是根据输入的图像和问题预测答案。Pixel-BERT将该任务建模为分类问题,并通过二元交叉熵损失进行训练。实验结果如表所示,Pixel-BERT在VQA任务中取得了显著的性能提升。使用ResNet-50作为视觉骨干网络时,Pixel-BERT在test-dev数据集上取得了71.35的分数,超过了ViLBERT和VisualBERT等方法。当使用ResNeXt-152时,Pixel-BERT在test-dev和test-std数据集上分别取得了74.45和74.55的分数,甚至超过了使用24层Transformer的UNITER(Large)模型。这表明Pixel-BERT通过像素级对齐能够更好地学习视觉和语言的联合表示。
NLVR2任务要求模型判断语言描述是否与给定的图像对相关。Pixel-BERT通过将两个图像-语言对输入到模型中,从$[CLS]$标记中提取两个嵌入向量,并将它们的连接用于学习分类器。实验结果如表所示,Pixel-BERT在dev和test-P数据集上分别取得了76.5和77.2的准确率,超过了LXMERT和UNITER等方法。这表明Pixel-BERT能够适应类似的输入格式,并在复杂的视觉推理任务中表现出色。
图像-文本检索任务包括图像到文本(TR)和文本到图像(IR)两个子任务。Pixel-BERT将该任务建模为排名问题,并通过softmax交叉熵损失进行训练。实验结果如表所示,在Flickr30K数据集上,Pixel-BERT在TR和IR任务中分别取得了75.7和59.8的Recall@1分数;在MS-COCO数据集上,Pixel-BERT在1K测试集和5K测试集上均取得了显著的性能提升,与Unicoder-VL和UNITER相比,Recall@1分数分别提高了至少0.6和1.9。这表明Pixel-BERT能够更好地学习图像和文本之间的全局描述关系。
为了验证Pixel-BERT中各个组件的有效性,进行了消融实验。实验结果如表所示。实验表明,MLM和ITM预训练任务对下游任务的性能提升至关重要。MLM任务在VQA任务中带来了7.6的性能提升,在NLVR2任务中不可或缺;ITM任务在检索任务中贡献了至少13.0的性能提升。此外,随机像素采样机制在VQA、检索任务和NLVR2任务中分别带来了0.5、2.0和0.4的性能提升,证明了其有效性。使用更强大的ResNeXt-152作为视觉骨干网络时,Pixel-BERT的性能进一步提升,表明视觉特征的表示能力对跨模态学习的重要性。
为了进一步验证Pixel-BERT是否能够通过跨模态注意力学习到准确的视觉表示,作者对MS-COCO验证集中的部分样本进行了注意力图可视化。如图所示,尽管没有使用空间监督(例如边界框注释)来指导注意力学习,但Pixel-BERT能够很好地学习到与文本对应的视觉区域。例如,在案例(A)中,“dog”、“grass”和“frisbee”等token的响应区域正确地分布在图像的相应位置;在案例(B)中,“cutting”这一动词能够关注到与“cutting”动作相关的区域;在案例(C)中,“room”这一token能够关注到图像中难以用边界框表示的区域。这表明Pixel-BERT通过像素级对齐能够有效地学习到视觉和语言之间的语义关联。