刷新SOTA!Salesforce提出跨模态对比学习新方法,仅需4M图像数据!
文 | 子龍
多模態已經不是一個新鮮的話題,如何在一個模型中融合CV和NLP的信息同時吸引了兩個領域的目光(CV、NLP的會都能投),但是很容易就能想到,來自圖片的視覺特征和來自語料的文本特征來自不同的模型,所隱含的信息很難放到同一個隱狀態空間中,于是特征融合Fuse成為眾多模型所關注的重點。與此同時,多模態的初衷是通過描述相似對象的語料和圖片互相促進,進而提升效果,那么怎么才能獲得“描述相似對象”的標注呢?這又是多模態面臨的另外一個問題特征對齊Align。
今天的文章 Align before Fuse: Vision and Language Representation Learning with Momentum Distillation 探索了如何解決多模態中極為重要的兩個問題,作者通過圖片-文本對比學習、圖片-文本匹配、掩碼語言模型,三個預訓練任務,并提出動量蒸餾Momentum Distillation對抗數據噪音、改進訓練過程,在多個任務上刷新了SOTA。
論文題目:
Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
論文鏈接:
https://arxiv.org/abs/2107.07651
介紹
這片文章開宗明義,題目中就涵蓋了文章的重點:對齊Align+融合Fuse,正是多模態所關注的重點,作者將模型稱作ALBEF(ALign BEfore Fuse),即現將相關的部分“對齊”,再進行融合。
具體模型如下圖:
從圖中可以清晰地看到模型的結構,圖片和文本分為“雙流”分別處理。這里為了減小圖片特征和文本特征的差異,作者采用基于Transformer的ViT提取圖片特征,而不是傳統的基于CNN的模型,這也得益于最近CV屆對Transformer解決視覺問題對探索。作者在文本方面依舊采用了頗為傳統的BERT,有趣的是原本12層的BERT在這里做了分割,前6層作為單模態處理階段(text encoder),后6層放到了多模態處理階段(multimodal encoder)。在多模態處理階段,文本每層先通過self-attention,再通過cross-attention和視覺特征相融合。
模型結構并不復雜,都是我們十分熟悉的結構,但是作者基于這樣簡單的結構配合多種預訓練任務,使得模型中多模態任務上有著出色的表現。
動量模型Momentum Model
首先是“動量模型”,乍一看這個名稱十分新奇,是標題中所謂“動量蒸餾”的一部分。在知識蒸餾中,有兩個角色:“教師”和“學生”,核心目的就是讓學生模型模仿教師模型,得到相似的結果,而學生模型往往相比教師模型有著不少優越性,比如更少的參數、更快的速度等等。教師模型有多種,較為直觀的是教師模型選擇龐大的預訓練模型,而學生模型選擇小而快的模型,而本文中采用了另外一種“在線自蒸餾(online self-distillation)”的蒸餾方法,將訓練過程中的學生模型作滑動平均作為教師,這樣能夠有效對抗數據集中的噪音,因為此時的教師模型作為多個模型的集成,能夠更好地對抗噪聲。
圖片-文本對比學習(ITC)
這里的“對比學習”是為了讓圖片和文本更好地對應,實現方法是通過給定文本特征或者視覺特征,再給定若干另外一種特征,在其中選擇與之對應的那一個,“正樣例”相對簡單,即為數據集中的圖片-文本對,那么如果得到“負樣例”呢?這里作者維護了一個大小為M的“隊列Queue”,儲存動量模型最新得到的M個特征(因為動量模型是隨著訓練步數,逐步迭代更新的)。兩個特征之間的相似度或者評分通過向量點乘計算。
標記本身模型得到的視覺特征為、文本特征為,動量模型得到的第m個視覺特征為、文本特征為。
其中與分別為one-hot label,即唯一的正樣例為1,其余負樣例為0,是交叉熵。
掩碼語言模型(MLM) 與 圖片-文本匹配(ITM)
這兩個預訓練任務比較簡單。掩碼語言模型由BERT提出,將部分單詞mask,并通過上下文預測其原本單詞。
其中為mask后的文本特征,是one-hot label,長度等于單詞表,mask對應的單詞位置為1,其余為0。
圖片文本匹配與圖片文本對比學習目的類似,不同點在于,這里是通過多模態階段(multimodal encoder)的[CLS]輸出,預測當前輸入的圖片和文本是否匹配,即一個二分類問題。
動量蒸餾Momentum Distillation
本文所采用的預訓練數據集來自網絡,圖片-文本對本身充滿噪音,結果導致所謂的“正樣例”中文本與圖片相關度不高,而所謂的“負樣例”有一定概率文本和圖片有一定相似度。于是,為了對抗數據集中的噪聲,作者提出動量蒸餾,動量蒸餾的核心是上文已經介紹過的動量模型,動量模型的結果也在圖片-文本對比學習中用到,但是作者進一步地將動量模型的結果運用于損失函數中。
可以看出,在圖片-文本對比學習中,交叉熵函數實際上在將圖片-文本相似度的分布與ground truth 相擬合,在掩碼語言模型中,交叉熵函數實際上在將掩碼后的多模態特征與groud truth 相擬合。但是,正如文章分析的,訓練數據存在噪聲,這里所謂的ground truth并不完美,于是作者利用從動量模型中得到的分布完善原本的圖片-文本相似度分布和掩碼多模態特征分布。
首先需要得到動量模型中的分布,作者采用了十分簡單的方法,用動態模型各個特征歸一化,代替原本模型的特征計算概率分布。在圖片-文本對比學習中,動量模型特征的分布如下計算:
其中只將改為,這里新的中,歸一化后的動量模型輸出特征取代了原本模型得到的特征。新的損失函數為:
和圖片-文本對比學習類似,是動量模型預測掩碼單詞的概率分布,新的損失函數為:
其中KL為KL散度。
實驗
介紹完模型,接下來看看模型的表現,ALBEF共完成了Image-text Retrieval、Visual Entailment、Visual Question Ansering、Natural Language for Visual Resoning、Visual Grounding五大任務,每個任務上,ALBEF都取得了SOTA的好成績,由于篇幅有限,這里著重介紹Visual Grounding。
Visual Grounding需要模型根據一段文字描述定位圖片中的某個區域,先通過圖片直觀感受一下ALREF的強大!
從圖片中可以看出,文字和需要對應的部分匹配的十分準確,從預測正確的準確率我們也可以看出ALBEF遙遙領先,各個不同的場景下超出baseline 20%~30%多準確率。
小結
可見,先對齊再融合的思路符合多模態任務的需求,讓模型能夠更好的利用多模態的信息,這解釋了ALBEF在諸多多模態理解任務中的出色表現,同時從Visual Grounding任務中可以看出,ALBEF提出的預訓練任務確實使得模型學會了圖片信息和文本信息的對應關系,這也為后續研究提供了啟發。
萌屋作者:子龍(Ryan)
本科畢業于北大計算機系,曾混跡于商湯和MSRA,現在是宅在UCSD(Social Dead)的在讀PhD,主要關注多模態中的NLP和data mining,也在探索更多有意思的Topic,原本只是貴公眾號的吃瓜群眾,被各種有意思的推送吸引就上了賊船,希望借此沾沾小屋的靈氣,paper++,早日成為有貓的程序員!
作品推薦:
1.別再搞純文本了!多模文檔理解更被時代需要!
2.Transformer哪家強?Google爸爸辨優良!
3.預訓練語言真的是世界模型?
后臺回復關鍵詞【入群】
加入賣萌屋NLP/IR/Rec與求職討論群
后臺回復關鍵詞【頂會】
獲取ACL、CIKM等各大頂會論文集!
總結
以上是生活随笔為你收集整理的刷新SOTA!Salesforce提出跨模态对比学习新方法,仅需4M图像数据!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 震惊!三个万引大佬嘴仗,原来是为了他……
- 下一篇: 直击行业痛点!端侧模型部署的成熟解决方案