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

注意:时间逆序排列
关键词:Unicoder-VL, VisualBERT, ViLBERT, VideoBERT

多模态模型汇总-按需更新一:2019年发布的多模态模型汇总
多模态模型汇总-按需更新二:2020年发布的多模态模型汇总
多模态模型汇总-按需更新三:2021年发布的多模态模型汇总

模型详情

Unicoder-VL [19.08]

Unicoder-VL: A Universal Encoder for Vision and Language by Cross-modal
Pre-training

https://arxiv.org/pdf/1908.06066.pdf

CV常用模型:VGG, ResNet,是基于ImageNet的CNN模型,对图片进行类别预测,常用作图片分类,图片检索,目标检测任务。一般,会通过这些模型提取的视觉特征,再进行task-specific模型。
NLP常用预训练模型:BERT,XLNet,RoBERTa等,在常用的NLP任务上都达到SOTA。一般,会通过这些预训练模型进行fine-tuning,实现下游任务。
NLP是长序列,而CV,比如ImageNet只有categorical labels,相当于短序列,如何将这两种内容做cross-model?
本文提出Unicoder-VL,multi-layer transformer结构,旨在构建图片长序列的预训练模型,实现2个模态的联合表征。

Unicoder-VL 模型框架

数据:3.8M 图文对齐数据,包含3M的CC和0.8M的SBU Captions。
模型:12 layers of Transformer blocks,最大序列长度为144。
Linguistic Embedding

  1. 输入文本经过WordPiece:w = \lbrace{w_1, ..,w_T \rbrace}
  2. 在文本首尾加入special token,[CLS]和[SEP];
  3. 对视觉信息,额外加入[IMG]表示;
  4. 最终的sub-word token Embedding = LayerNorm(word embedding + position embedding)

Image Embedding

  1. 使用Faster R-CNN提取图上每个region的pooled ROI features 和5D的location features,每张图片提取检测分数大于0.2的top-100个ROIs;
    注意:Faster R-CNN不参与模型训练,会保留每个检测的predicted label,用于目标检测任务。
  2. visual和location的features经过FC后,投影到同一个embedding space;
  3. 最终的Visual Embedding = LayerNorm(FC(FC(visual embedding + location embedding)))
  4. 最终image regions可表示为:v = \lbrace{v_1, ..,v_I \rbrace}

预训练任务

  1. MLM: masked language modeling
    随机mask 15%的输入,通过周边文本和整个image regions预测。
    L_{MLM}(\theta) = -E_{(w,v) \sim D} log p_{\theta}(w_m|w\neg m, v)
  2. MOC:masked object classification
    随机mask 15%的图片区域,其中90%用zero-initialized vector替代真实向量,10%维持原状。
    将模型(Faster-R CNN)检测到的置信度最高的类别作为真实标签,模型提取被masked的region向量v_m + FC + Softmax,得到K个标签结果。
    L_{MOC}(\theta) = \sum_i^M CE(c(v_m^i) - g_{\theta}(v_m^i))
  3. VLM:visual-linguistic matching
    和图文匹配(ITM)一个意思,用[CLS] + FC预测图文是否对齐。
    L_{VLM}(\theta) = -E_{(w,v) \sim D}[y log s_{\theta}(w,v) + (1-y)(1-s_{\theta}(w,v))])

I[y=1]:图文匹配
因此,预训练损失函数为:L = (L_{MLM} + L_{MOC}) \cdot I[y=1] + L_{VLM}

实验

3种实验设置

  1. zero-shot:不做fine-tuning,直接test;
    虽然结果不如3,但暗示了,Unicoder-VL学习到了cross-model知识。
  2. task-specific train:不做pre-training,直接在对应任务上做训练;
    实验结果显示,Unicoder-VL模型比之前大部分方案都要优秀。
  3. pre-train + fine_tune:先pre-training,再按下游任务进行fine-tuning。
    实验结果显示,都达到SOTA。

2种任务

  1. Image-text retrieval
    实验数据:MSCOCO和Flicker30K
    将图文检索视为排序问题,每对图文(w,v)数据随机采样3个负样本。
    目标:和VLM任务一样有一个score function s_{\theta}(w,v),计算triplet loss,最大化正样本之间的距离。
    用x和y表示2个模态,N_y表示负样本集合,y^-h^-表示2个模态的负样本,hardest triplet loss表示为:
    L_{hard}(x,y) = \sum_{y^- \in N_y} \lbrace{ max [0, \gamma - s(x,y) + s(x,y_h^-)] \rbrace}
    结合排序问题后的loss:
    L = \lambda_1L_{hard}(w,v) + \lambda_2 L_{hard}(w,v)
    其中:\gamma = 0.2, \lambda_1 = 1.0, \lambda_2 = 1.0

  2. VCR:visual commonsense reasoning
    实验数据:110k电影场景,包含290k的QA
    任务:根据问题和视觉,选择最合适答案,VQA和QAR,后者是answer justification。
    模型:模型输入为concat的问题和每个可能答案。
    QA: w = \lbrace{q_1, ...,q_n,;a_1,...,a_n \rbrace}
    QAR: w = \lbrace{q_1, ...,q_n,;a_1^*,...,a_n^*,; r_1,..,r_n \rbrace},这里的answer是正确答案。
    效果:达到SOTA。


VisualBERT [19.08]

https://arxiv.org/pdf/1908.03557.pdf

VisualBERT 模型框架

数据:COCO image caption dataset,一张图片对应5个描述。
输入:对齐的文本和图片
模型:stack of transformer
Embedding:由3种embedding组成:

  1. 经过Faster-RCNN的视觉bounding region特征表达 f_o
  2. 用于区别视觉和文本embedding的segment embedding f_s
  3. 对齐文本和bounding region的position embedding f_p

Fusion
几种特征融合的方式如下:

  1. 初始化参数来自BERT,图文特征提取后,直接使用transformer,进行信息交互;
  2. 图文分别使用transformer,再接一个新的transformer层进行图文信息交互;
  3. 不进行预训练,直接进行下游任务。

实验结果显示,预训练模型+ early-fusion结果最佳。

预训练任务

  1. Task-Agnostic Pre-training
    1.1 masked language model with image,用剩余文本和视觉信息预测被masked的文本,被masked的文本对应的视觉信息没有被masked;
    1.2 Sentence-image prediction,图文匹配,2个描述作为文本输入,其中一个描述和视觉对齐,另一个有50%的可能性来自随机抽取的其他描述。
  2. Task-Specific Pre-training,发现在进行fine-tuning前,如果目标领域训练1.1的任务,对task-specific的任务有帮助。
  3. Fine-tuning。

实验

  1. VQA: visual question answering
  2. VCR: visual commonsense reasoning
  3. NLVR: natural language for visual reasoning
  4. region-to-phrase grounding (Flickr30K)

ViLBERT [FAIR 19.08]

ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

https://arxiv.org/abs/1908.02265

ViLBERT
ViLBERT 模型框架

Two-stream,每个模态分别处理,再通过attention-based interaction进行fusion。这种方式比较灵活调整每个模态和模态交叉的网络深度。

数据:Conceptual Captions dataset
输入:对齐的图文数据
文本:w_0,...w_T
图片:v_1, ...,v_{ \t},region features组成,来自目标检测得到的bounding box。
视觉信息缺乏排序,因此通过空间位置构建一个5-d(normalzied 左上到右下)的vector。
模型:双流模型,文本和图片进入2个Transformers。
每个模态首先经过自己的TRM(transformer block),然后进入Co-TRM(co-attentional transformer)进行信息交互。
模型输出final representation
h_{v_0},...,h_{ v_{\t}}
h_{w_0},...,h_{w_T}

预训练任务

  1. Masked multi-modal modeling
    对文本和图片进行mask,然后重建。对masked的图片,预测的是语义分类分布,这种分布会和目标检测模型的分布做KL divergence。
  2. Multi-modal alignment prediction
    输入image-text pair \lbrace{IMG, v_1, ...,v_t, CLS, w_1, ...,w_T, SEP \rbrace},使用h_{IMG},h_{CLS}作为视觉和文本表达,通过element-wise product和一个二分类的linear layer预测图文数据是否匹配。负样本来自随机选择的其他图片or描述。

VideoBERT [Google Research 19.04]

VideoBERT: A Joint Model for Video and Language Representation Learning

https://arxiv.org/abs/1904.01766

A simple say to learn high level video representations that capture semantically meaningful and temporally long-range structure.
通过BERT学习p(x,y),其中x是经过视频分类模型得到的视觉序列,而y是通过ASR (automatic speech recognition system)转成文本的语音序列,以实现text-to-video和video-to-text任务。

VideoBERT

一般做视频分类需要大规模的有标签数据,数据收集比较贵,对应的标签信息比较少,不足以表达很多信息。而且,一般会分割成几秒的短视频,而VideoBERT可以处理长视频。
而无监督的学习中,一般会使用一个静态随机变量表征视频,然后RNN,VAE,GAN进行decode。而VideoBERT使用BERT模型,无需其他隐层随机变量来表征visual token。

VideoBERT 模型框架

数据:YouCook II dataset
输入:对齐的文本token和视觉token

  1. 文本:经过ASR的文本序列,使用off-the-shelf LSTM-based语言模型增加标点符号进行序列分割,再接BERT处理方案;
  2. 视觉:
    2.1 视频帧经过ConvNet得到特征;
    2.2 经过S3D模型,average pooling后得到1024d的特征向量;
    2.3 经过hierarchical k-means进行聚类,vector quantization得到的visual words。

如何对齐文本和视觉

  1. 如果ASR可行,根据ASR提取的的开始和截止时间戳,将这段时间的视频token作为一段视频序列;
  2. 如果ASR不可行,则将16个视频token视为一段序列。
    文本和视觉的输入可表示为:
    [CLS] orange chicken with [MASK] sauce [>] v01 [MASK] v08 v72 [SEP]
    其中:
    [>]:文本和视觉信息的分隔符;
    v01, v08, v72:visual token;
    [CLS]:判断文本和视觉是否对齐

模型:BERT-large模型
文本:随机concat的2个可能不那么对齐的短序列,构成一个长序列;
视频:随机下采样1~5个视频token,提高鲁棒性,促进模型学习到长时动态信息。

预训练任务
3种训练:text-only、video-only和video-text。video-text在进行mask时,也是对齐的。意味着text的token被mask,video对应token也会被mask。
Loss:3种训练方式加权求和。

实验

  1. Zero-shot action classification
    概率模型,预测被masked的verb或者noun信息;
  2. Transfer learning for captioning
    VideoBERT作为特征提取器,将视觉和文本token进行average和concat后,用到下游任务上。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容