多模態(tài)模型匯總-按需更新一

注意:時間逆序排列
關(guān)鍵詞:Unicoder-VL, VisualBERT, ViLBERT, VideoBERT

多模態(tài)模型匯總-按需更新一:2019年發(fā)布的多模態(tài)模型匯總
多模態(tài)模型匯總-按需更新二:2020年發(fā)布的多模態(tài)模型匯總
多模態(tài)模型匯總-按需更新三:2021年發(fā)布的多模態(tài)模型匯總

模型詳情

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,實現(xiàn)下游任務。
NLP是長序列,而CV,比如ImageNet只有categorical labels,相當于短序列,如何將這兩種內(nèi)容做cross-model?
本文提出Unicoder-VL,multi-layer transformer結(jié)構(gòu),旨在構(gòu)建圖片長序列的預訓練模型,實現(xiàn)2個模態(tài)的聯(lián)合表征。

Unicoder-VL 模型框架

數(shù)據(jù):3.8M 圖文對齊數(shù)據(jù),包含3M的CC和0.8M的SBU Captions。
模型:12 layers of Transformer blocks,最大序列長度為144。
Linguistic Embedding

  1. 輸入文本經(jīng)過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,每張圖片提取檢測分數(shù)大于0.2的top-100個ROIs;
    注意:Faster R-CNN不參與模型訓練,會保留每個檢測的predicted label,用于目標檢測任務。
  2. visual和location的features經(jīng)過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%的圖片區(qū)域,其中90%用zero-initialized vector替代真實向量,10%維持原狀。
    將模型(Faster-R CNN)檢測到的置信度最高的類別作為真實標簽,模型提取被masked的region向量v_m + FC + Softmax,得到K個標簽結(jié)果。
    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]:圖文匹配
因此,預訓練損失函數(shù)為:L = (L_{MLM} + L_{MOC}) \cdot I[y=1] + L_{VLM}

實驗

3種實驗設(shè)置

  1. zero-shot:不做fine-tuning,直接test;
    雖然結(jié)果不如3,但暗示了,Unicoder-VL學習到了cross-model知識。
  2. task-specific train:不做pre-training,直接在對應任務上做訓練;
    實驗結(jié)果顯示,Unicoder-VL模型比之前大部分方案都要優(yōu)秀。
  3. pre-train + fine_tune:先pre-training,再按下游任務進行fine-tuning。
    實驗結(jié)果顯示,都達到SOTA。

2種任務

  1. Image-text retrieval
    實驗數(shù)據(jù):MSCOCO和Flicker30K
    將圖文檢索視為排序問題,每對圖文(w,v)數(shù)據(jù)隨機采樣3個負樣本。
    目標:和VLM任務一樣有一個score function s_{\theta}(w,v),計算triplet loss,最大化正樣本之間的距離。
    用x和y表示2個模態(tài),N_y表示負樣本集合,y^-h^-表示2個模態(tài)的負樣本,hardest triplet loss表示為:
    L_{hard}(x,y) = \sum_{y^- \in N_y} \lbrace{ max [0, \gamma - s(x,y) + s(x,y_h^-)] \rbrace}
    結(jié)合排序問題后的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
    實驗數(shù)據(jù):110k電影場景,包含290k的QA
    任務:根據(jù)問題和視覺,選擇最合適答案,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 模型框架

數(shù)據(jù):COCO image caption dataset,一張圖片對應5個描述。
輸入:對齊的文本和圖片
模型:stack of transformer
Embedding:由3種embedding組成:

  1. 經(jīng)過Faster-RCNN的視覺bounding region特征表達 f_o;
  2. 用于區(qū)別視覺和文本embedding的segment embedding f_s;
  3. 對齊文本和bounding region的position embedding f_p。

Fusion
幾種特征融合的方式如下:

  1. 初始化參數(shù)來自BERT,圖文特征提取后,直接使用transformer,進行信息交互;
  2. 圖文分別使用transformer,再接一個新的transformer層進行圖文信息交互;
  3. 不進行預訓練,直接進行下游任務。

實驗結(jié)果顯示,預訓練模型+ early-fusion結(jié)果最佳。

預訓練任務

  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,發(fā)現(xiàn)在進行fine-tuning前,如果目標領(lǐng)域訓練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,每個模態(tài)分別處理,再通過attention-based interaction進行fusion。這種方式比較靈活調(diào)整每個模態(tài)和模態(tài)交叉的網(wǎng)絡深度。

數(shù)據(jù):Conceptual Captions dataset
輸入:對齊的圖文數(shù)據(jù)
文本:w_0,...w_T
圖片:v_1, ...,v_{ \t},region features組成,來自目標檢測得到的bounding box。
視覺信息缺乏排序,因此通過空間位置構(gòu)建一個5-d(normalzied 左上到右下)的vector。
模型:雙流模型,文本和圖片進入2個Transformers。
每個模態(tài)首先經(jīng)過自己的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預測圖文數(shù)據(jù)是否匹配。負樣本來自隨機選擇的其他圖片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是經(jīng)過視頻分類模型得到的視覺序列,而y是通過ASR (automatic speech recognition system)轉(zhuǎn)成文本的語音序列,以實現(xiàn)text-to-video和video-to-text任務。

VideoBERT

一般做視頻分類需要大規(guī)模的有標簽數(shù)據(jù),數(shù)據(jù)收集比較貴,對應的標簽信息比較少,不足以表達很多信息。而且,一般會分割成幾秒的短視頻,而VideoBERT可以處理長視頻。
而無監(jiān)督的學習中,一般會使用一個靜態(tài)隨機變量表征視頻,然后RNN,VAE,GAN進行decode。而VideoBERT使用BERT模型,無需其他隱層隨機變量來表征visual token。

VideoBERT 模型框架

數(shù)據(jù):YouCook II dataset
輸入:對齊的文本token和視覺token

  1. 文本:經(jīng)過ASR的文本序列,使用off-the-shelf LSTM-based語言模型增加標點符號進行序列分割,再接BERT處理方案;
  2. 視覺:
    2.1 視頻幀經(jīng)過ConvNet得到特征;
    2.2 經(jīng)過S3D模型,average pooling后得到1024d的特征向量;
    2.3 經(jīng)過hierarchical k-means進行聚類,vector quantization得到的visual words。

如何對齊文本和視覺

  1. 如果ASR可行,根據(jù)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個可能不那么對齊的短序列,構(gòu)成一個長序列;
視頻:隨機下采樣1~5個視頻token,提高魯棒性,促進模型學習到長時動態(tài)信息。

預訓練任務
3種訓練:text-only、video-only和video-text。video-text在進行mask時,也是對齊的。意味著text的token被mask,video對應token也會被mask。
Loss:3種訓練方式加權(quán)求和。

實驗

  1. Zero-shot action classification
    概率模型,預測被masked的verb或者noun信息;
  2. Transfer learning for captioning
    VideoBERT作為特征提取器,將視覺和文本token進行average和concat后,用到下游任務上。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容