KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型...

关注公众号,发现CV技术之美

本文分享论文『KD-VLP: Improving End-to-End Vision-and-Language Pretraining with Object Knowledge Distillation』,由上科大&Intel&MSRA联合提出基于知识蒸馏的端到端多模态预训练模型《KD-VLP》。

详细信息如下:

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第1张图片

  • 论文链接:https://arxiv.org/abs/2109.10504

  • 项目链接:未开源

导言:

233137d1ab5963adf7d96548b0884da0.png

自监督视觉和语言预训练(VLP)旨在从大规模图文数据中学习可迁移的多模态表征,并在微调后在广泛的视觉语言任务中取得优异的表现。以往主流的VLP方法通常是依赖于两步的策略,即先通过外部目标检测器提取视觉特征,然后在多模态Transformer框架中对多模态信息进行编码,这种方法存在着目标概念空间受限、图像上下文受限和计算效率低下等问题。

本文提出了一种面向对象的端到端VLP框架,该框架直接将CNN的图像grid特征送入到Transformer,并联合学习多模态表示。此外,作者提出进行对象知识蒸馏,以便于学习不同语义层次上的跨模态对齐。为了达到这一目的,作者设计了两个新的预训练代理任务,以外部检测器的对象特征及其语义标签作为监督信息:

1)目标引导掩码视觉建模任务(Object-guided masked vision modeling task)的重点是在多模态Transformer中加强目标感知表征学习;2)短语-区域对齐任务(Phrase-region alignment task)旨在利用名词短语对象标签在语言空间中的相似性来提高跨模态对齐。

在视觉语言任务上的广泛实验,证明了本文提出的框架的有效性,并且本文的方法获得了比现有的预训练策略更好的性能。

      01      

Motivation

随着Bert的成功在语言建模中,自监督视觉和语言预训练(VLP)引起了人工智能社区的极大兴趣,其目的是从大规模图文数据中学习可概括的多模态表示。与先训练后迁移的策略相结合,VLP在处理视觉和语言推理任务方面显示出巨大的潜力,如图像-文本检索、视觉问答(VQA)等。这种表示学习中的关键步骤是联合建模语言实体和视觉语义概念(例如,属性、对象和关系)以及它们的对齐。然而,这是具有挑战性的,因为视觉和语言表示(即,像素与文字)的巨大差异,以及在监督中缺乏实体级别的跨模态对应。

为了解决这些挑战,大多数现有的方法采用两步的预训练策略,首先使用现成的检测器将图像解析成一组对象token,然后构建多层Transformer来联合学习视觉和语言嵌入。为了便于多模态学习,这些网络通过一组精心设计的类似BERT的目标函数进行预训练。尽管两步策略有很好的性能,但它有几个局限性:

  1. 有限的视觉对象概念 ,因为外部检测器是在一组预定义的对象类别上训练的;

  2. 缺乏对象区域外的上下文线索 ,这对复杂的推理任务至关重要;

  3. 阶段性训练导致的次优性能

  4. 附加检测模块导致计算效率低下

为了克服这些限制,最近的工作试图以端到端的方式学习联合的视觉-语言表征。这些方法直接从图像中提取密集的grid视觉特征作为多模态Transformer网络的输入,因此在预训练和微调阶段都不依赖于外部目标检测器。这种模型设计极大地简化了整个网络的结构,并允许视觉和语言功能之间的更深层次的集成。然而,使用grid特征使得捕获对象级视觉概念变得困难,这通常会导致多模态表示的表达能力较差,从而在下游任务中的性能较差。

在这项工作中,作者提出了一种面向对象的端到端VLP方法,该方法继承了上述两种预训练策略的优点。本文的核心思想为KD-VLP,是将视觉对象概念结合到端到端的多模态学习中,这是通过在预训练阶段执行从语义对象(来自现成的检测器)的知识提取来实现的。这使得网络能够更好地捕获对象表征,从而便于学习语言实体和视觉概念的对齐。

为了实现这一点,作者引入了两个新的预训练代理任务来执行对象知识提炼:即,获得对象感知特征嵌入的基于对象的掩码视觉建模任务(object-based masked vision modeling task),和建立对象区域和语言实例之间关系的短语-区域对齐任务(Phrase-region alignment task)

具体地说,作者采用典型的CNN主干+多模态Transformer模型进行预训练。在给定图文对的情况下,视觉CNN主干网络首先在图像上计算一组视觉特征。然后,多层Transformer将视觉特征和相应的文本token作为输入,生成它们的多模态嵌入。基于这些嵌入特征,一组特定于任务的head计算相应的目标函数,以端到端的方式训练整个网络。

在这里,除了常用的图文匹配(image-text matching)掩码语言建模(masked language modeling)任务外,作者还提出了基于对象的掩码视觉建模任务(object-based masked vision modeling task)短语-区域对齐任务(Phrase-region alignment task)

基于对象的掩码视觉建模任务(OMVM),其目的是利用周围的视觉上下文和文本描述重建每个对象(来自外部检测器)的RoI特征和语义标签。为了便于跨模态对齐,作者还开发了一种知识引导的掩码策略,该策略根据对应文本中的名词短语与其语义标签之间的相似度得分,对候选对象进行采样以进行重建。(这一步类似MVM,不同的是这里用到目标检测模型,所以mask的区域都是包含对象的区域,使得预测的效率更高;此外,除了预测区域之外,这里还需要预测出对应的语义标签)

短语-区域对齐任务(PRA)的目的是将短语-标签相似度得分与名词短语嵌入和对象区域嵌入之间的跨模态相似度得分进行匹配,以进一步提高跨模态对齐。经过预训练后,所学到的多模态表征可以转移到不同的下游视觉语言任务上。


      02      

方法

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第2张图片

本文方法的模型结构如上图所示。

2.1 Problem Definition and Overview

自监督视觉语言处理的目标是从大量的图文数据中学习一种通用的、可迁移的视觉语言表征,从而在下游视觉语言任务中获得较强的泛化性能。设输入图文对表示为,其中代表图片,代表相应的文本。通常,预训练网络由表示网络模块θ 和一组特定于任务的网络head  θ组成,其中s表示预训练代理任务的下标。预训练目标函数如下:

ab34442bb3fc9838667e3e08ca7e58a4.png

其中和分别是特定于任务的ground truth标签和损失函数。在预训练之后,去除了所有预训练任务的head,并将具有学习到参数θ的表示网络θ应用于下游任务,然后进行特定任务的微调。

2.2 Model Architecture

对于给定的图文对,本文的模型首先分别计算图像嵌入和语言嵌入,然后将它们连接成一个token序列,并将两个额外的token [SEP]和[CLS]作为Transformer的输入,以生成多模态上下文嵌入。

Visual Embedding

对于每幅图像I,作者采用一个cnn主干网络来提取图像特征,其中L是特征的大小,是具有维的特征向量。此外,作者也加入了二维位置编码来获取位置信息。

Linguistic Embedding

对于语言描述D,首先使用WordPiess将它们编码成单词token ,其中是特征向量。类似地,位置编码也加入到每个单词嵌入中以捕获位置信息。

Multi-modal Transformer

在获得图像和语言嵌入后,作者将它们组装成一个token序列,,,,并采用多层Transformer来计算它们,最后一层状态编码表示为,,,,其中和分别代表视觉和语言的特征。最后,将这些特征表示送到每个预训练代理任务的head中。

2.3 Pretext Tasks

对于每个图像,首先基于现成的检测器生成一组对象proposal,表示为,,,其中代表检测框的位置,代表对象的类别,是对象的RoI特征。对于每一个对象,作者引入了一个二进制掩码,这个二进制掩码flatten之后可以表示为。对于相应的文本,作者采用训练好的语言模型来提取名词短语。并计算每个名词短语和对象类别之间的关系,如下所示:

ac0735776ba7acbb6233d06e3402f497.png

其中代表余弦距离,代表语言嵌入模型(比如BERT)。

Object-guided Masked Vision Modeling (OMVM)

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第3张图片

第一个任务的目的是在端到端的预训练中学习更明确的对象概念。具体地说,每次采样一个对象,在Transformer输入中取出其特征并进行avgpool,并强制网络生成对象RoI特征和语义标签。为了便于跨模态对齐,作者提出了一种知识引导的掩码策略,该策略基于归一化的相似度得分α,对与名词短语相关的对象区域进行采样以进行mask。所选对象区域的二进制掩码、分类和RoI特征表示为,,。

作者设计了两个学习目标函数,掩码区域分类(MRC)掩码区域特征回归(MRFR)

8a63df90d2c279a58a3917ca1f272b61.png

为了计算LMRC和LMRFR的损失,首先计算最后一层mask区域的对象表示,这是由mask之后的特征平均池化得到的。

对于MRC,多层FC网络采用最大似然来预测对象类别,即:

3b40c436c86529bcb7b8ce1e58d521e3.png

对于MRFR,多层FC网络通过最小化L2距离来学习特征空间中的表示,即:

ecb1bcf8933bd276563aca8ca29f0d87.png

Phrase Region Alignment (PRA)

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第4张图片

第二个任务PRA主要是学习对象层面的跨模态对齐,目的是拉近正短语-区域对,推开负对。在这里,作者利用语言空间中名词短语和对象类别之间的相似度α,作为跨模态学习的指导。

具体地说,作者首先计算每个proposal的对象表示和短语表示。对象表示由mask之后的视觉特征进行全局平均池化之后得到,而短语表示的计算如下:

565c86fac93ca9742b36b126331843bc.png

然后,将跨模态相似度定义为:

3ac2bfdcc0eacb1e94da7c8656184b2e.png

PRA任务的目标就是最小化短语-标签的相似度和跨模态相似度的KL散度。

e9932357dafe5536ca69fb02c1e029da.png

将mask集合表示为,PRA损失函数表示如下:

49d635b0254d95a2c92dac57a7005a05.png

Masked Language Modeling (MLM)

作者采用与Bert相同的掩码策略,即随机mask输入单词token。在这里,MLM的目标是根据整个图像及其周围的语言上下文,通过Transformer来预测每个mask token的原始词索引。因此,采用如下的交叉熵损失:

67916bb90f457fcb1d629199dd4a9113.png

Image-Text Matching (ITM)

在ITM中,训练多层Transformer,并基于最终层[CLS] token表示来区分输入图文对是否在语义上匹配。为了构造训练样本,以0.5的概率将每个图像-文本对的文本随机替换为数据集中的另一个文本。因此,输出标签可以定义为,,1代表匹配,0代表不匹配。ITM任务的训练目标是将二元交叉熵损失降至最低:

d9d8b46b25601f382fa4cf4afb1f2117.png


      03      

实验

3.1.  Downstream Tasks

Image-Text Retrieval

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第5张图片

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第6张图片

从上表可以看出,在一阶段的方法中,基于图文检索任务,本文的方法达到了SOTA的性能,甚至超过了一些二阶段的方法。

Visual Entailment (VE)

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第7张图片

如上表所示,基于VE任务,本文的模型在验证集上达到了78.21%的正确率,在测试集合上达到了77.87%的正确率。

Natural Language Visual Reasoning

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第8张图片

如上表所示,在Natural Language Visual Reasoning任务上,本文方法的表现明显优于SOHO、Pixel-Bert、Vilt和E2E-VLP。

Visual Question Answering (VQA)

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第9张图片

在VQA任务上,与E2E预训练方法相比,本文的方法显示出了明显的性能改善,甚至其表现略高于二阶段预训练方法。

Visual Commonsense Reasoning (VCR)

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第10张图片

如上表所示,本文的方法在VCR验证集中取得了较高的准确率,在Q→A设置中达到了76.70%,在QA→R中达到了78.63%,在Q→AR中达到了60.54%。

3.2. Ablation Study & Visualization Analysis

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第11张图片

上表展示了不用预训练任务的性能对比,可以看出本文提出OMVM和PRA预训练任务对于模型性能的提升都是重要的。

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第12张图片

从上图a中可以看出,本文的知识引导掩码策略总是mask与短语相关的图像区域,这可以促进多模态学习。从b中可以看出,本文模型在进行图文匹配时,attention的定位更加准确。

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第13张图片

从上表可以看出,无论模型大小如何,本文的方法都是有效的,且较大的模型甚至比轻量级模型有更明显的性能改进。


      04      

总结

在本文中,作者提出了一种新的自监督VLP方法,该方法在端到端的框架中促进学习对象感知的多模态表示。本文的核心思想是在预训练阶段从外部检测器的语义空间和特征空间中进行目标知识的提取。


因此,作者开发了一个对象引导的掩码视觉建模任务来提取外部对象知识,以及一个短语-区域对齐任务来更好地学习语言实体和视觉概念之间的对齐。与以往的工作相比,本文的模型在下游任务测试中不需要依赖复杂的对象检测器,就可以实现更高的性能。

▊ 作者简介

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第14张图片

END

欢迎加入「视觉语言交流群备注:VL

KD-VLP:知识蒸馏和预训练还能这么结合?上科大&Intel&MSRA提出基于知识蒸馏的端到端多模态预训练模型..._第15张图片

你可能感兴趣的:(大数据,编程语言,python,计算机视觉,机器学习)