文章目录
标题:VL-BEIT: Generative Vision-Language Pretraining
paper:地址
代码:地址
机构:Microsoft Research
简要介绍: 引入一个称之为VL-BEiT的vision-language基础模型,其是通过生成预训练学习到的双向多模态Transformer。这里使用一个共享Transformer对单模态和多模态数据进行masked prediction(掩盖预测)。具体地,对image-text pairs执行masked vision-language modeling,对texts执行masked language modeling,对image执行masked image modeling。VL-BEiT通过统一的预训练任务、共享的backbone和one-stage训练从头开始学习。VL-BEiT被证明是简单有效的。实验结果表明,VL-BEiT在许多vision-language基准上(比如visual QA、visual reasoning、image-text retrieval(图像-文本检索))取得了很好的结果。更进一步,VL-BEiT可学习transferable visual features,在图像分类和语义分割上达到具有竞争力的结果。
1. Introduction
生成预训练在NLP和CV领域取得了极大的成功。具体来说,BERT引入masked language modeling(掩盖语言建模,MLM),其基于Transformer编码的双向上下文表示学习恢复被掩盖的tokens。BEiT引入masked image modeling(掩盖图像建模,MIM)预训练Vision Transformer(即随机掩盖image patches,然后预测对应掩盖位置的visual tokens)。
这篇论文中,探索了多模态预训练的mask-then-predict(掩盖-then-预测)范式。提出的VL-BEiT采用统一的masked prediction任务,共享的Transformer和one-stage训练得到。同时在单模态数据(image和text)和多模态数据(image-text pairs)执行masked prediction任务。具体而言,统一的目标包含MLM和MIM从大规模单模态数据中学习单模态表示,masked vision-language modeling从多模态数据中聚合和对齐visual和语言信息。预训练之后,模型可以在各种vision-language 和vision任务上进行微调。此外,这里也使用了mixture-of-modality-experts(MoME) Transformer作为共享backbone网络。MOME Transformer的每个block包含一个跨不同模态的共享self-attention模块用于对齐内容以及pool of modality experts用于捕获特定模态信息。得益于多模态预训练和共享Transformer骨干,VL-BEiT可用于下游视觉任务的image encoder,或微调为vision-language任务的dual encoder(双编码器)或fusion encoder(融合编码器)。
论文对vision-language基准(包括visual QA、visual reasoning、image-text retrieval)进行了广泛实验。结果表明,模型在vision-language基准上有很强的竞争力,同时也在视觉任务(包括图像分类和语义分割)对模型进行评估,取得了很好结果。
消融研究表明,预训练任务和MoME Transformer对于模型最终性能有积极影响。
这篇论文主要贡献可总结如下:
- 引入称之为
VL-BEiT的vision-language模型,通过在单/多模态数据上的mask-then-prediction任务预训练模型 - 提出一个简单高效的框架:使用统一生成预训练任务、共享双向
Transformer和one-stage从头开始训练。 - 跨下游任务结果表明,模型可学习到
transferable vision-language和visual features
2. Methods
如上图1所示,VL-BEiT使用共享多模态Transformer,通过mask-then-predict任务进行预训练。在单模态图像数据上执行MIM,在单模态文本数据上执行MLM,在多模态image-text pairs上执行masked vision-language modeling。经过预训练,模型微调之后作为image encoder,dual encoder或fusion encoder用于各种视觉和vision-language下游任务中。
2.1 Input Representation
Image表示。将图片
v
∈
R
H
×
W
×
C
v \in R^{H \times W \times C}
v∈RH×W×C分割为patches序列,以将image可以通过标准Transformer进行编码。patches的数量为
N
=
H
W
/
P
2
N=HW/P^2
N=HW/P2,其中,
C
C
C是通道数,
(
H
,
W
)
(H,W)
(H,W)是图像分辨率,
(
P
,
P
)
(P,P)
(P,P)是patch分辨率。这里将分割的patches进行flatten,通过linear projection(线性映射)层得到patch embeddings
(
{
v
i
p
}
i
=
1
N
)
(\{v_i^p\}_{i=1}^N)
({vip}i=1N),并且添加一个可学习的特殊token
[
I
C
L
S
]
[I_CLS]
[ICLS]到patch embeddings序列中。最后,patch embeddings和可学习的position embeddings求和得到最终输入表示
H
v
=
[
v
[
I
_
C
L
S
]
,
v
1
,
v
2
,
.
.
.
,
v
N
]
+
V
p
o
s
H^v=[v_{[I\_CLS]},v_1,v_2,...,v_N]+V_{pos}
Hv=[v[I_CLS],v1,v2,...,vN]+Vpos。
Text表示。tokenize输入文本,并映射tokens到word embeddings
{
w
i
}
i
=
1
M
\{w_i\}_{i=1}^M
{wi}i=1M,其中M是所tokenize的文本序列长度。两个特殊的tokens,包括开始序列token
[
T
_
C
L
S
]
[T\_CLS]
[T_CLS]和特殊边界token
[
T
_
S
E
P
]
[T\_SEP]
[T_SEP]添加到序列中。最后,文本表示通过word embeddings和文本position embeddings求和得到:
H
w
=
[
w
[
T
_
C
L
S
]
,
w
1
,
w
2
,
.
.
.
,
w
M
,
w
[
T
_
S
E
P
]
+
T
p
o
s
H^w=[ w_{[T\_CLS]},w_1,w_2,...,w_M,w_{[T\_SEP]}+T_{pos}
Hw=[w[T_CLS],w1,w2,...,wM,w[T_SEP]+Tpos。
Image-Text Pair 表示。给定image-text pair,首先得到上述的image和text输入表示。然后对得到的向量进行连接得到image-text pair表示
H
v
l
=
[
H
w
,
H
v
]
H^{vl}=[H^w,H^v]
Hvl=[Hw,Hv]。
2.2 Backbone Network
这里使用一个共享多模态Transformer作为backbone network。给定单模态数据的image和text表示,image-text pair的表示,然后采用MoME Transformer 对不同模态数据表示进行编码。具体说,MoME Transformer堆叠了多层blocks。在每个block中,MoME Transformer包含一个multi-head self-attetion层和一个feed-forward expert layer。self-attention模块跨不同模态共享。相比之下,每个feed-forward expert 层都有一个pool of modality-specific experts(特定模态专家池),其是标准Transformer中feed-forward network的替代。换句话说,使用输入token的模态指导feed-forward network池的hard routing(根据不同模态数据进行专家池的选择)。
MoME Transformer通过激活不同modality-specific experts,灵活应用于支持多种下游任务。例如,可以使用backbone作为单模态Transformer(vision或language encoder),多模态encoder和跨模态Transformer(dual encoder)。
2.3 预训练任务
VL-BEiT通过在图像上MIM,在文本上MLM,在image-text pairs上masked vision-language modeling进行联合优化。
MLM,VL-BEiT使用MLM从大规模文本数据中学习语言表示,比如BERT,随机掩盖单模态文本数据的15%。每个被掩盖的token80%的概率用[MASK] token替代,10%的概率用随机token替代,10%的概率保持不变。BERT预训练的目标就是从受损(被掩盖)的输入文本中恢复被掩盖的tokens。
MIM ,除MLM之外,也可以使用MIM从大规模图像数据中学习vision表示。在BEiT中,应用block-wise策略掩盖image patches的40%。MIM的预训练目标是重构被掩盖的patch的离散visual tokens。此外,BEiT v2中,使用image tokenizer获得离散tokens作为重构目标。
Masked Vision-language Modeling,这里引入masked vision-language modeling(MVLM),其将MLM和MIM扩展到多模态数据。该任务的目标旨在基于visual和linguistic(语言)线索恢复被掩盖的patches和文本tokens。具体说,在MLM中随机掩盖文本tokens(50%的mask ratio),然后基于joint image-text表示恢复被掩盖的文本tokens。此外,在MIM中掩盖image patches并基于image-text pair恢复其对应的visual tokens。掩盖策略同MIM策略。MVLM任务鼓励模型学习图像和文本对的对齐。
3. 实验
在vision-language和visual任务上对预训练模型进行评估,并就预训练任务和backbone架构进行消融实验。
3.1 预训练设置
预训练数据包含单/多模态数据。对于单模态数据,使用ImageNet-22K作为图像数据,English Wikipedia和BookCorpus作为文本数据。多模态数据含有image-text pairs的四个数据集:Conceptual Captions、 SBU Captions、COCO和Visual Genome。多模态数据大约有4Mimage和10Mimage-text pair。
base-size的网络架构包含768个hidden size和12attention heads的12层Transformer组成,且参数初始化方法同BEiT中一致。预训练图像分辨率为
224
×
224
224 \times 224
224×224,image patch大小为
16
×
16
16 \times 16
16×16。混合数据从头开始预训练模型(使用的batch size为6144,steps为480k,image-text的epochs为100)。每个batch包含2048张images,2048个text和2048个image-text pairs。对于消融实验,训练模型40个epochs。在BEiT中,使用random resized cropping(随机裁剪)、horizontal flipping(水平翻转)、color jittering(颜色失真)进行数据增强。这里使用词汇表大小为64k的SentencePiece tokenizer来tokenzize文本数据。Adam优化器
β
1
=
0.9
,
β
2
=
0.999
\beta_1=0.9,\beta_2=0.999
β1=0.9,β2=0.999。最高学习率为2e-3,在前10000steps中存在linear warmup(预热),然后余弦学习率衰减,权重衰减为0.05。这里禁用dropout,并使用rate=0.1的随机深度。
3.2 Vision-Language 下游任务
在广泛使用的visual QA(VQA) 、自然语言visual reasong和image-text retrieval任务上进行vision-language微调。对于VQA微调,图像分辨率为
480
×
480
480 \times 480
480×480,其余任务分辨率为
380
×
380
380 \times 380
380×380。
Visual Question Answering(VQA) ,旨在给定图像,回答问题。这里使用VQA 2.0数据集,并将问题作为一个分类问题,从3129个最常见答案中选择正确答案。将模型微调为fusion encoder,联合编码image和question。[T_CLS]的最终编码向量作为image-question pair的表示,然后输入到分类器层预测其label。
Natural Language for Visual Reasoning(NLVR2),对于视觉推理任务,给定文本描述和图像对,该任务就是视觉输入和文本描述是否是正确的。这里使用VLVR2数据集评估模型。遵循OSCAR和VinVL,基于三元组输入创建两个image-text pairs,模型使用fusion encoder联合编码image 和text。两个pairs的[T_CLS] token的最终向量连接起来预测label。
Image-Text Retrieval,根据目标方式的不同,该任务可以分为两个子任务:image-to-text提取和text-to-image提取。这里使用COCO和Flickr30K数据集来评估模型。采用image-text对比和image-text匹配与VLMO中的hard negative mining目标来联合微调模型。推理过程中,首先使用模型作为dual encoder获得top-k condidates(前k个候选),然后,利用利用该模型作为fusion encoder,根据image-text匹配得分对condidates进行排序。

表1,记录了vision-language 分类任务的结果,包括VQA和NLVR2,比较在相同的image-text pair数据上的VL-BEiT和其他base-size的预训练模型,VL-BEiT在VQA上比之前base-size的模型表现更好,也在NLVR2上达到了竞争性的性能。统一mask-then-predict预训练任务可以高效学习多模态表示。
模型也在image-text retrieval任务上取得了很好性能。如表2中,比较了fusion-encoder模型、dual-encoder模型和reranking模型。Fusion-encoder对所有image-text组合联合编码,通过image-text匹配目标获得相似度得分。Dual-encoder模型单独编码image和text,通过一个简单交互层计算相似度得分。reranking模型首先从dual encoder中得到top-k condidates,然后通过由fusion encoder计算的image-text匹配得分对condidates进行排序。VL-BEiT优于reranking 模型ALBEF,即使是预训练期间不使用image-text对比/匹配。
3.3 Vision下游任务
图像分类,使用ILSVRC-2012 ImageNet数据集,包含1.3M张图片和1k个类别。同BEiT,在最终向量上执行平均池化,然后将结果向量输入到线性分类器层预测label。
语义分割,该任务是预测输入图像中每个像素的label。在ADE20K数据集上进行评估,该数据集包括25K图像150个语义类别,这里使用UperNet中相同的任务层。
如表3所示,比较了在图像分类和语义分割上的两个base-size的vision Transformer。对于BEiT和VL-BEiT,在ImageNet-22k上进行中间微调然后同在ImageNet-22k上预训练的ViT进行比较。VL-BEiT优于之前监督性的SOTA和ImageNet-1k上的自监督模型。文中模型在ADE20k上同样表现不凡。

3.4 Ablation(消融)研究
消融研究分析了预训练任务和MoME Transformer在VL-BEiT中的贡献。这里在visual reasoning(VNLR2)和image-text retrieval(Flickr30k)上对模型评估。

预训练任务,表4是使用不同预训练任务的结果。单模态数据上,MIM和MLM对于文中方法是有积极作用的。此外,仅在单模态数据上执行MLM和MIM训练,模型在NLVR2上准确率相对较低。Masked vision-language modeling在本文方法中至关重要。
Backbone 架构,这里对模型使用的MoME Transformer和标准Transformer进行了比较。结果如表5,在visual reasoning和image-text retrieval 任务上,MoME Transformer比标准Transformer表现更好。MoME使用Modality experts有效捕获了特定模态消息,进而提升了模型性能。

4. 相关工作
vision-language 预训练旨在从大规模image-text pairs中学习多模态表示。模型架构和预训练目标在vision-language模型中至关重要。
模型架构,以往模型中,广泛使用的两种主流架构有:dual-encoder和fusion-encoder模型。Dual-encoder模型包含一个image encoder和一个text encoder,分别编码image和text,然后利用余弦相似度对图像和文本向量的交互建模。Dual-encoder模型对于具有线性时间复杂度的image-text retrieval任务具有良好效果,但简单的fusion 模块不足以处理复杂的vision-language理解任务,比如视觉推理。Fusion-encoder模型采用带有跨模态注意力的复杂fusion模块联合编码image和text。最近,Pixel-BERT和ALBEF使用CNN/vision Transformer编码image,并移除掉object detector。ViLT使用共享Transformer网络联合编码image patches和word embeddings。Fusion-encoder模型在视觉语言理解任务(视觉推理)上达到了极好的表现。但其在retrieval(检索)任务时间复杂度较高,导致推理速度比dual-encoder模型慢。VLMO统一了dual-encoder和fusion-encoder模型,引入了MoME Transformer在一个共享的Transformer block内来编码不同模态数据。本文中,采用MoME Transformer作为backbone网络,简单并且灵活。VL-BEiT也可以微调作为dual-encoder和fusion-encoder。
预训练目标,近几年,多个跨模态预训练目标被提出,包括image-text对比学习、image-text匹配、MLM、prefix language modeling、masked region分类、word-patch/region 对齐。SimVLM提出使用prefix language modeling在image-text pairs和仅文本数据上训练vision-language 模型。MIM和MLM被应用于单模态encoder。Masked multimodal modeling、image-text contrast和matching loss用于多模态encoder。对比SimVLM,VL-BEiT通过MIM和masked vision-language modeling引入vision supervision(视觉监督)。不同于FLAVA,本文在不同模态以及从零开始训练是,使用共享MoME Transformer网络。
5. Conclusion
文中,引入VL-BEiT,一个简单有效的对于vision-language和vision任务预训练双向多模态Transformer encoder模型,其仅采用生成预训练任务(文本上做MLM,图片上做MIM,图片-文本对上做masked vision-language modeling)。实验证明了VL-BEiT可以有效利用单模态数据(image和text)和多模态数据(image-text pairs),并在vision-language和vision任务上取得了很好效果。未来可以改进提升的方向:
- 对于
VL-BEiT,扩大模型和数据的规模 - 依据对跨语言模型预训练的研究,把像
CLIP这样的对比目标集成到VL-BEiT中,即在预训练阶段通过生成和对比目标的联合学习,或者作为中间微调任务。 - 此外还对跨不同模态(比如
vision和language)的zero-shot跨模态迁移感兴趣

VL-BEiT是一种创新的视觉语言模型,通过生成预训练学习双向Transformer。它在单模态和多模态数据上执行掩码预测,包括图像文本对的掩码语言模型。实验表明,VL-BEiT在视觉问答、视觉推理和图像文本检索等多个任务中表现出色,且能迁移至视觉分类和语义分割。消融研究显示预训练任务和MoMETransformer对其性能至关重要。
1386

被折叠的 条评论
为什么被折叠?



