多模态模型汇总-按需更新二

注意:时间逆序排列
关键词: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,集成单模态和多模态结构的预训练模型,在多模态任务上效果好,在单模态任务上也不会下降太多。


UNIMO
UNIMO 模型框架

输入
文本数据:BookWiki and OpenWebText
图片数据:OpenImages and COCO unlabel
图文对:COCO, Visual Genome (VG), Conceptual Captions (CC) and SBU Captions

文本数据
输入:BPE分词器得到 W =\lbrace{[CLS],w_1,...,w_n,[SEP] \rbrace}
Token representation:self-attention之后得到h = \lbrace{h_{[CLS]},h_{w_1},...,h_{w_n}, h_{[SEP]} \rbrace}

视觉数据
通过Faster R-CNN提取视觉信息region features V
输入:V = \lbrace{[IMG],v_1,...,v_t \rbrace}
region表示:self-attention之后得到h = \lbrace{h_{[IMG]},h_{v_1},...,h_{v_n}, h_{v_t} \rbrace}

视觉文本数据
输入: \lbrace{[IMG],v_1,...,v_t,[CLS],w_1,...,w_n,[SEP] \rbrace}
视觉和文本表示:h_{[IMG]},h_{[CLS]}

模型: Cross-Modal Contrastive Learning(CMCL) + Transformer
对比学习:希望对应的图片V和文本W的距离d(V,W)更近,不相关的图文距离越远越好。
为了保证不同级别的图文对齐,使用了以下方式进行正负样本构建。

样本的构建

  1. Text Rewriting
    对图像标题的进行不同层次的重写:
    1.1 句子级别的改写:回译,翻译成其他语言再翻译回来,增强正样本;
    1.2 对Image-Text pairs,根据TF-IDF相似度对图像标题进行检索,因为检索的内容仅是相似,而不是准确对照图片,因此,可以视为hard negative,增强句子级别的图文对。
    1.3 短语/词级别的改写:基于场景图的检索,将图上的object,attribute或relation进行随机替换,得到更细粒度的hard negative。
  2. Image/Text Retrieval
    为增强图文对数据,从单模态数据集中进行检索,增强正样本。
    2.1 图片检索:选定图文对中的图片,从单模态的图片数据集中检索相似的图片,相似图片和被检索的图片中的objects高度重叠,因此可以提供相似的视觉信息;
    2.2 文本检索:选定图文对中的文本,从单模态的文本数据集中检索相关的文本。

预训练任务
Visual Learning
对图像的掩码。需要注意掩盖区域和文本问题,避免信息泄露。
L_V = E_{V\in D}f_{\theta}(v_m|v_{-m})
f_{\theta}(v_m|v_{-m}) = \sum_i^M ||r(h_{v_i}) - v_i||^2

Language Learning
使用了encoder-decoder模型架构,包含语言模型训练和生成任务。被masked的文本是完整的短语,而不是subwords。

  1. Bidirectional prediction:随机mask15%的tokens;
  2. Seq2Seq generation:从段落中抽出25%的token拼接起来作为目标序列T,剩下的文本进行拼接作为输入序列S。模型通过S来预测T。

实验

用Roberta进行初始化。

  1. single-modal language understanding and generation tasks
    包含基于CoQA和SQuAD1.1的QA; CNNDM的摘要;Gigaword的句子压缩;SST-2的情感分类,MNLI的推理和STS-B的语义相似度分析等等。
  2. 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。

UNITER 模型框架

数据:COCO, Visual Genome (VG), Conceptual Captions (CC) and SBU Captions
模型: Image Embedder + Text Embedder + Transformer

输入

  1. 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。

  2. Text Embedder
    2.1 每个sub_word token = sub_word embedding + position embedding
    2.2 1之后,经过Layer Normalization。

Image region:v = \lbrace{v_1,...,v_k \rbrace}
Words:w =\lbrace{w_1,...,w_T\rbrace}
用segment embedding区分image和textual输入,segment embedding同样会经过一个Layer Normalization。

预训练任务

  1. MLM: masked language model conditioned on image
    仅对文本进行掩码操作,image这边没有被mask。
    L_{MLM}(\theta) = -E_{(w,v) \sim D} log p_{\theta}(w_m|w\neg m, v)

  2. MRM: masked region modeling conditioned on text
    仅对image进行掩码操作,文本是fully-visible。
    L_{MRM}(\theta) = -E_{(w,v) \sim D} f_{\theta}(v_m|v\neg m, w)

    3种MRM类型
    2.1. MRFR: masked region feature regression
    h_{\theta}(v_m^i):Transformer output + FC
    r(v_m^i):input ROI pooled feature
    f_{\theta}(v_m|v \neg m, w) = \sum_i^M||h_{\theta}(v_m^i) - r(v_m^i) ||_2^2
    2.2 . MRC: masked region classification
    c(v_m^i) \in K:用了另一个目标检测的Faster R-CNN,对被masked的region进行检测,输出最高置信度的类别为该region的标签
    g_{\theta}(v_m^i) \in K:Transformer output + FC + softmax,输出K个类别的得分
    f_{\theta}(v_m|v \neg m, w) = \sum_i^M CE(c(v_m^i) - g_{\theta}(v_m^i))
    2.3 . MRC-KL: masked region classification with KL-divergence
    \tilde c(v_m^i):和2.2目标检测到的标签使用hard-label,2.3将置信度高的类别作为soft-label,计算2个分布的KL距离
    f_{\theta}(v_m|v \neg m, w) = \sum_i^M D_{KL}(\tilde c(v_m^i) || g_{\theta}(v_m^i))

  3. ITM: image text matching
    输入除了一句话和一系列的image regions,还会再加一个[CLS],这个[CLS]会经过FC和sigmoid,输出y \in \{0,1 \},表示图文是否匹配。
    输出得分用s_{\theta}(w,v)表示,负样本为随机被替换的图片或文本。
    L_{ITM}(\theta) = -E_{(w,v) \sim D}[y log s_{\theta}(w,v) + (1-y)(1-s_{\theta}(w,v))])

  4. WRA + OT: word-region alignment + Optimal Transport
    OT:最小化一句话中的image-region embedding和words embedding之间的运输距离,用transport plan T \in R^{T \times K} 表示学习w和v之间最优化的对齐方案。
    OT的特性:
    a. Self-normalization:\sum T = 1
    b. Sparsity: 如果有最优方案,那么T至多有(2r-1)个非0元素,使得r = max(K,T)
    c. Efficiency:秩序进行matrix-vector products
    w和v可被视为2个离散分布\mu, v
    \mu = \sum_i^T a_i \delta_{w_i}\delta_{w_i}为Dirac function, a = \lbrace{ a_i \rbrace}_i^T \in \Delta_T
    v = \sum_j^K b_j \delta_{v_j}b = \lbrace{ b_j \rbrace}_i^K \in \Delta_K
    \sum_i^T a_i = \sum_j^K b_j = 1
    \Pi(a,b) = \lbrace{ T\in R^{T\times K} | T1_m=a,T^T1_n = b \rbrace}
    其中:1_n表示n-dimensional all-one vector
    c(w_i,v_j) = 1- \frac {w_i^Tv_j}{||w_i||_2 ||v_j||_2}
    L_{WRA}(\theta) = Dot (\mu,v) = min_{T\in \Pi(a,b)} \sum_i^T \sum_j^K T_{ij} \cdot c(w_i,v_j)

注意!!
通过conditional masking和OT-based WRA,缓解图文不对齐的问题。
Masked Learning和BERT类似,做text masking时,用[MASK]代替,做image masking时,对应视觉特征向量为0。
如果同时对视觉和文本进行mask,可能会带来misalignment。因此,每次只mask一个模态。

实验

  1. VQA: Visual Question Answering
  2. Image-Text Retrieval: 做了zero-shot setting
  3. Referring Expression Comprehension
  4. VCR: Visual Commonsense Reasoning
  5. Visual Entailment
  6. 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进行目标检测:

  1. 这种特征提取方式主要是用于进行视觉任务(比如目标检测),会和对应的文本有语义鸿沟;
  2. Bounding box会包含噪音,并且丢失目标的形状和空间相关特征;
  3. 特征表现受限于视觉任务设定的categories;
  4. 因为是目标检测模型,所以会失去scene,情感之类的信息。

为了充分利用视觉信息,本文使用pixel-based,通过random pixel sampling mechanism强化视觉表达的鲁棒性,结合MLM和Image-Text Matching进行预训练模型训练。
Pixel-BERT是首个使用pixel-text对齐进行自监督任务的模型。

Pixel-BERT 模型框架

数据:Visual Genome 和 MS-COCO
输入:对齐的文本和图片
模型

  1. Sentence Feature Embedding
    WordPiece分词,提取token embedding:
    w = \lbrace{\hat w_1, \hat w_2,..., \hat w_n \rbrace}
  2. Image Feature Embedding
    用pixel feature取代bounding boxes,pixel feature同样用CNN提取,本文分别用了2种模型进行提取,一个是ResNet50,一个是ResNeXt-152,前者做消融实验,后者模型规模大,效果好。
    图片经过CNN后,flatten features,得到k个pixel feature v:
    v = \lbrace{v_1,v_2,...,v_k \rbrace} \in R^d
    所有pixel共享同一个semantic embedding vector s_v,得到visual embedding:
    \hat v_i = v_i + s_v
    \hat v = \lbrace{\hat v_1,\hat v_2,...,\hat v_k \rbrace}
  3. Cross-Modality Module
    输入:w = \lbrace{[CLS],\hat w_1, \hat w_2,..., \hat w_n, [SEP], \hat v_1,\hat v_2,...,\hat v_k \rbrace}

预训练任务

  1. MLM:根据文本和视觉信息预测被masked tokens;
  2. ITM( Image-Text Match):图文匹配。
    正样本为配对的图文,负样本为同样数量的不配对的随机采样的图文。通过[CLS]进行分类。

Pixel Random Sampling
为避免overfitting,提高特征鲁棒性,在预训练时,对pixel进行随机采样。在每轮迭代时,在feature_map中随机采样100个pixel,和文本合并后进入transformers。
这种方式一方面可以鼓励模型学习更多视觉信息,另一方面也加速了模型训练。

笔者备注:一般做dropout是针对feature_map做的,这个就是对feature_map里面的pixel进行dropout。也算某种形式的pooling吧?!

实验

  1. Visual Question Answering (VQA)
  2. image-text retrieval
  3. 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个问题:

  1. Ambiguity:一般使用Faster R-CNN提取region feature,提取的object是over-sampled,存在信息冗余和噪声;
  2. Lack of grounding:视觉和文本见缺乏明确的对齐信息,因此是weakly-supervised learning。

作者观察到,图片中的salient object可以被准确检测,且对齐的文本中也有相应描述。因此,提出Oscar模型,用图片中的object tags作为anchor points来辅助学习对齐的信息,在6.5million的image-text pairs上进行预训练,且在6个vision-language understanding和生成任务上取得了SOTA。

Oscar pipeline
Oscar 模型框架

数据:COCO,CC(Conceptual Captions), SBU captions, flicker30k, GQA等共4.1million张图片,6.5million个text-tag-image三元组。
输入:3元组数据集Word-Tag-Image(w,q,v)

  1. 文本序列embedding:w =\lbrace{w_1, ...,w_T \rbrace}
  2. 图片检测到的,且在文本出现的object tags: word embedding q
  3. 经过Faster R-CNN检测的region feature:v =\lbrace{v_1, ...,v_K \rbrace}
    文本向量通过BERT初始化。

Object tags q是如何得到的?
一张图像能识别到K个region,每个region的visual semantics表示为(v',z)
region featurev' \in R^P是一个P维向量,一般是2048d;
region position z \in R^d,一般为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

Oscar Pre-Training Objective

x:modality view,区分文本和图片;
x':dictionary view,区分2个不同的semantic spaces。

预训练任务

  1. Masked token loss( MTL)
    Dictionary view, object tags和word tokens共享语义空间,image region feature在视觉语义空间。对discrete token sequence,有h \triangleq [w,q]。随机mask 15%的h的token,基于上下文来预测被masked的token,MTL表示为:
    L_{MTL} = -E_{(v,h)~D} log p(h_i|h_{ \neg i },v)

  2. Contrastive Loss
    Modality view,每个输入的三元组,用h' \triangleq [q,v]表示image模态,w表示text模态。50%的概率随机替换q中的tag sequence,通过这种方式来polluted image representation。
    encoder的输出[CLS]token,在vision-language representation (h',w)中被fused,因此直接在后面接一个二分类的FC,预测这个image representation是否被polluted。Contrastive Loss可表示为:
    L_C = -E_{(h',w)~D} log p(y|f(h',w))

Oscar预训练损失L_{Oscar} = L_{MTL} + L_{C}

实验

  1. 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。
  2. Generation task
    a. Image Captioning:基于图片生成描述。输入和预训练一样是三元组,训练时mask15%的描述token,预测这些被masked token。推理时,输入(image regions, objects tags, [CLS]),根据likelihood生成文本;
    b. Novel Object Captioning (NoCaps),检测模型识别未出现在训练集中的object的能力。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353

推荐阅读更多精彩内容