注意:时间逆序排列
关键词:UNIMO, UNITER, Pixel-BERT, Oscar
多模态模型汇总-按需更新一:2019年发布的多模态模型汇总
多模态模型汇总-按需更新二:2020年发布的多模态模型汇总
多模态模型汇总-按需更新三:2021年发布的多模态模型汇总
模型详情
UNIMO [Baidu 20.12]
UNIMO: Towards Unified-Modal Understanding and Generation via
Cross-Modal Contrastive Learning
https://arxiv.org/pdf/2012.15409.pdf
https://github.com/PaddlePaddle/Research/tree/master/NLP/UNIMO
当前的多模态模型,在进行单模态任务时,效果大打折扣。因此提出UNIMO,集成单模态和多模态结构的预训练模型,在多模态任务上效果好,在单模态任务上也不会下降太多。
输入
文本数据:BookWiki and OpenWebText
图片数据:OpenImages and COCO unlabel
图文对:COCO, Visual Genome (VG), Conceptual Captions (CC) and SBU Captions
文本数据
输入:BPE分词器得到
Token representation:self-attention之后得到
视觉数据
通过Faster R-CNN提取视觉信息region features V
输入:
region表示:self-attention之后得到
视觉文本数据
输入:
视觉和文本表示:
模型: Cross-Modal Contrastive Learning(CMCL) + Transformer
对比学习:希望对应的图片V和文本W的距离更近,不相关的图文距离越远越好。
为了保证不同级别的图文对齐,使用了以下方式进行正负样本构建。
样本的构建
- Text Rewriting
对图像标题的进行不同层次的重写:
1.1 句子级别的改写:回译,翻译成其他语言再翻译回来,增强正样本;
1.2 对Image-Text pairs,根据TF-IDF相似度对图像标题进行检索,因为检索的内容仅是相似,而不是准确对照图片,因此,可以视为hard negative,增强句子级别的图文对。
1.3 短语/词级别的改写:基于场景图的检索,将图上的object,attribute或relation进行随机替换,得到更细粒度的hard negative。 - Image/Text Retrieval
为增强图文对数据,从单模态数据集中进行检索,增强正样本。
2.1 图片检索:选定图文对中的图片,从单模态的图片数据集中检索相似的图片,相似图片和被检索的图片中的objects高度重叠,因此可以提供相似的视觉信息;
2.2 文本检索:选定图文对中的文本,从单模态的文本数据集中检索相关的文本。
预训练任务
Visual Learning
对图像的掩码。需要注意掩盖区域和文本问题,避免信息泄露。
Language Learning
使用了encoder-decoder模型架构,包含语言模型训练和生成任务。被masked的文本是完整的短语,而不是subwords。
- Bidirectional prediction:随机mask15%的tokens;
- Seq2Seq generation:从段落中抽出25%的token拼接起来作为目标序列T,剩下的文本进行拼接作为输入序列S。模型通过S来预测T。
实验
用Roberta进行初始化。
- single-modal language understanding and generation tasks
包含基于CoQA和SQuAD1.1的QA; CNNDM的摘要;Gigaword的句子压缩;SST-2的情感分类,MNLI的推理和STS-B的语义相似度分析等等。 - multi-modal vision-language understanding and generation tasks
包含基于VQA v2.0的VQA,COCO的图文描述,Flickr30k的图文检索等等。
UNITER [Microsoft Dynamics 365 AI Research]
UNITER: UNiversal Image-TExt Representation Learning
https://arxiv.org/pdf/1909.11740.pdf
https://github.com/ChenRocks/UNITER
在这之前,图文相关的模型一般都是task-specific的,不能泛化到不同类型的图文任务上。本文旨在构建一个统一的图文学习框架,可以适用于不同的图文任务。
UNITER学习Image-Text embedding,在图文类型的数据上做了多种预训练任务,之前的多模态模型进行mask learning时,mask的方式是随机的,本文使用了conditional masking,且通过OT(Optimal transport)学习WRA,鼓励图文在细粒度上的对齐。实验结果显示,在9个图文数据集任务上,有6个达到SOTA。
数据:COCO, Visual Genome (VG), Conceptual Captions (CC) and SBU Captions
模型: Image Embedder + Text Embedder + Transformer
输入
Image Embedder
1.1 通过Faster R-CNN提取每个region的pooled ROI features和7d的location feature;
位置信息:[x1, y1, x2, y2, w, h, w ∗ h] (normalized top/left/bottom/right coordinates, width, height, and area.)
1.2 这2种特征经过FC后,投影到同一个embedding space;
1.3. 2个FC求和,经过Layer Normalization,进入WordPiece。Text Embedder
2.1 每个sub_word token = sub_word embedding + position embedding
2.2 1之后,经过Layer Normalization。
Image region:
Words:
用segment embedding区分image和textual输入,segment embedding同样会经过一个Layer Normalization。
预训练任务
MLM: masked language model conditioned on image
仅对文本进行掩码操作,image这边没有被mask。
-
MRM: masked region modeling conditioned on text
仅对image进行掩码操作,文本是fully-visible。
3种MRM类型
2.1. MRFR: masked region feature regression
:Transformer output + FC
:input ROI pooled feature
2.2 . MRC: masked region classification
:用了另一个目标检测的Faster R-CNN,对被masked的region进行检测,输出最高置信度的类别为该region的标签
:Transformer output + FC + softmax,输出K个类别的得分
2.3 . MRC-KL: masked region classification with KL-divergence
:和2.2目标检测到的标签使用hard-label,2.3将置信度高的类别作为soft-label,计算2个分布的KL距离
ITM: image text matching
输入除了一句话和一系列的image regions,还会再加一个[CLS],这个[CLS]会经过FC和sigmoid,输出,表示图文是否匹配。
输出得分用表示,负样本为随机被替换的图片或文本。
WRA + OT: word-region alignment + Optimal Transport
OT:最小化一句话中的image-region embedding和words embedding之间的运输距离,用transport plan 表示学习w和v之间最优化的对齐方案。
OT的特性:
a. Self-normalization:;
b. Sparsity: 如果有最优方案,那么T至多有(2r-1)个非0元素,使得;
c. Efficiency:秩序进行matrix-vector products
w和v可被视为2个离散分布:
,为Dirac function,
,
其中:表示n-dimensional all-one vector
注意!!
通过conditional masking和OT-based WRA,缓解图文不对齐的问题。
Masked Learning和BERT类似,做text masking时,用[MASK]代替,做image masking时,对应视觉特征向量为0。
如果同时对视觉和文本进行mask,可能会带来misalignment。因此,每次只mask一个模态。
实验
- VQA: Visual Question Answering
- Image-Text Retrieval: 做了zero-shot setting
- Referring Expression Comprehension
- VCR: Visual Commonsense Reasoning
- Visual Entailment
- NLVR
Pixel-BERT [Microsoft Research 20.04]
Pixel-BERT: Aligning Image Pixels with Text by Deep Multi-Modal Transformers
https://arxiv.org/pdf/2004.00849.pdf
最近提取图片信息常用方法是region-based,一般是用Faster R-CNN进行目标检测:
- 这种特征提取方式主要是用于进行视觉任务(比如目标检测),会和对应的文本有语义鸿沟;
- Bounding box会包含噪音,并且丢失目标的形状和空间相关特征;
- 特征表现受限于视觉任务设定的categories;
- 因为是目标检测模型,所以会失去scene,情感之类的信息。
为了充分利用视觉信息,本文使用pixel-based,通过random pixel sampling mechanism强化视觉表达的鲁棒性,结合MLM和Image-Text Matching进行预训练模型训练。
Pixel-BERT是首个使用pixel-text对齐进行自监督任务的模型。
数据:Visual Genome 和 MS-COCO
输入:对齐的文本和图片
模型:
- Sentence Feature Embedding
WordPiece分词,提取token embedding:
- Image Feature Embedding
用pixel feature取代bounding boxes,pixel feature同样用CNN提取,本文分别用了2种模型进行提取,一个是ResNet50,一个是ResNeXt-152,前者做消融实验,后者模型规模大,效果好。
图片经过CNN后,flatten features,得到k个pixel feature v:
所有pixel共享同一个semantic embedding vector ,得到visual embedding:
- Cross-Modality Module
输入:
预训练任务
- MLM:根据文本和视觉信息预测被masked tokens;
- ITM( Image-Text Match):图文匹配。
正样本为配对的图文,负样本为同样数量的不配对的随机采样的图文。通过[CLS]进行分类。
Pixel Random Sampling
为避免overfitting,提高特征鲁棒性,在预训练时,对pixel进行随机采样。在每轮迭代时,在feature_map中随机采样100个pixel,和文本合并后进入transformers。
这种方式一方面可以鼓励模型学习更多视觉信息,另一方面也加速了模型训练。
笔者备注:一般做dropout是针对feature_map做的,这个就是对feature_map里面的pixel进行dropout。也算某种形式的pooling吧?!
实验
- Visual Question Answering (VQA)
- image-text retrieval
- Natural Language forVisual Reasoning for Real (NLVR)
Oscar [Microsoft Corporation 20.04]
Oscar: Object-Semantics Aligned Pre-training for Vision-Language Tasks
https://arxiv.org/pdf/2004.06165.pdf
https://github.com/microsoft/oscar
当前的vision-language pre-training 模型主要是multi-layer transformer,文本和视觉特征大多时候是直接concat一起作为输入,再进行self-attention操作,从而实现语义和视觉信息的交互。这种处理存在2个问题:
- Ambiguity:一般使用Faster R-CNN提取region feature,提取的object是over-sampled,存在信息冗余和噪声;
- Lack of grounding:视觉和文本见缺乏明确的对齐信息,因此是weakly-supervised learning。
作者观察到,图片中的salient object可以被准确检测,且对齐的文本中也有相应描述。因此,提出Oscar模型,用图片中的object tags作为anchor points来辅助学习对齐的信息,在6.5million的image-text pairs上进行预训练,且在6个vision-language understanding和生成任务上取得了SOTA。
数据:COCO,CC(Conceptual Captions), SBU captions, flicker30k, GQA等共4.1million张图片,6.5million个text-tag-image三元组。
输入:3元组数据集Word-Tag-Image(w,q,v)
- 文本序列embedding:
- 图片检测到的,且在文本出现的object tags: word embedding q
- 经过Faster R-CNN检测的region feature:
文本向量通过BERT初始化。
Object tags q是如何得到的?
一张图像能识别到K个region,每个region的visual semantics表示为:
region feature是一个P维向量,一般是2048d;
region position ,一般为4或6d。
position-sensitive region feature vector:concat (region feature, region position),经过线性映射,得到和word embedding同一个维度大小的feature embedding v;
q:被Faster R-CNN检测到的高精度的object tags。
模型:singular embedding of each modality + Transformer
:modality view,区分文本和图片;
:dictionary view,区分2个不同的semantic spaces。
预训练任务
Masked token loss( MTL)
Dictionary view, object tags和word tokens共享语义空间,image region feature在视觉语义空间。对discrete token sequence,有。随机mask 15%的h的token,基于上下文来预测被masked的token,MTL表示为:
Contrastive Loss
Modality view,每个输入的三元组,用表示image模态,w表示text模态。50%的概率随机替换q中的tag sequence,通过这种方式来polluted image representation。
encoder的输出[CLS]token,在vision-language representation 中被fused,因此直接在后面接一个二分类的FC,预测这个image representation是否被polluted。Contrastive Loss可表示为:
Oscar预训练损失:
实验
- Understanding task
a. Image-text Retrieval:随机选择图片或者文本构成负样本,用[CLS]判定图文是否匹配,这里没有用ranking loss,因为作者发现直接使用binary classification
loss的结果更好;
b. VQA:[CLS] + multi-label classifier;
c. GQA;
d. Natural Language Visual Reasoning for Real (NLVR2),2个[CLS] + MLP + binary classifier。 - Generation task
a. Image Captioning:基于图片生成描述。输入和预训练一样是三元组,训练时mask15%的描述token,预测这些被masked token。推理时,输入(image regions, objects tags, [CLS]),根据likelihood生成文本;
b. Novel Object Captioning (NoCaps),检测模型识别未出现在训练集中的object的能力。