谷歌新推出了弱監督看圖說話模型 SimVLM,能夠輕松實現零樣本學習(zero-shot)任務遷移。
從文字描述圖像到回答圖片相關問題,模型無需微調也能樣樣精通。
對于一般的視覺語言預訓練(VLP)模型,訓練數據集中要求包含大量精準標簽。而模型的任務遷移,則需要針對特定任務重新進行數據集的標簽標注。
總結下來,就是標注數據集不僅耗時耗力,還不能多任務通用。
能不能開發出一種又簡單又萬能的 VLP 模型呢?
谷歌新開發的這款模型使用了弱監督學習進行模型訓練,通過利用大量的弱對齊圖像-文本對進行建模,簡化了 VLP 的訓練流程,大大降低了訓練的復雜性。
SimVLM 使用前綴語言建模的單一目標進行端到端訓練,并直接將原始圖像作為輸入。這些設置允許模型對大規模的弱標記數據集進行利用,從而能夠更好地實現零樣本學習泛化效果。
SimVLM 模型是如何實現的?
SimVLM 模型的預訓練過程采用了前綴語言建模 (PrefixLM) 的單一目標,接受序列的前綴作為輸入,通過模型解碼器來預測其延續的內容。
對于數據集中的圖像-文本對,圖像序列可視作其文本描述的前綴。
這種方法可以簡化訓練過程,最大限度地提高模型在適應不同任務設置方面的靈活性和通用性。
模型的主干網絡,則使用了在語言和視覺任務上均表現突出的 Transformer 架構。
對輸入的原始圖像數據提取上下文 patch,這里采用了 ResNet 卷積網絡。
本模型使用了包含大約 1.8B 噪聲的圖像-文本對 ALIGN 訓練集進行預訓練,以此來實現更好的零樣本學習泛化能力。
為了補償訓練集中的噪聲影響,訓練模型另外還使用了共 800G 的 Colossal Clean Crawled Corpus (C4) 數據集。
SimVLM 模型基礎性能如何?
模型的預訓練完成后,需要在多模式任務中對模型進行微調,以測試性能。
這里用到的多模式任務有:VQA、NLVR2、SNLI-VE、COCO Caption、NoCaps 和 Multi30K En-De。
將 SimVLM 模型與現有的功能完善的模型進行比較,測試結果如上表所示,參與評估的 SimVLM 模型還包括了三種不同規模:8600 萬參數、3.07 億參數和 6.32 億參數。
跨模式任務的測試結果中,SimVLM 模型的性能表現最好(數據越大越好),除了 CoCo Caption 的 B@4 指標,在其他任務上都取得了新的 SOTA 結果,充分證明了該模型的先進性。
SimVLM 模型零樣本泛化
SimVLM 模型在跨模式任務測試中可以取得不錯的性能表現,那么它能否順利執行零樣本跨模態轉移呢?
預訓練的 SimVLM 模型僅對文本數據進行微調或完全不進行微調,通過圖像字幕、多語言字幕、開放式 VQA 和視覺文本生成等任務,對模型進行測試。
測試結果如下圖所示:
給定圖像和文本提示,預訓練模型無需微調即可預測圖像的內容。
除此之外,未進行過微調的模型在德語字幕生成、數據集外的答案生成、基于圖像內容的文字描述、開放式視覺問題回答等應用上均有不錯的表現。
為了量化 SimVLM 的零樣本學習性能,這里采用了預訓練的固化模型在 COCO Caption 和 NoCaps 上進行解碼,然后與監督標準基線(Sup.)進行比較。
從結果對比上來看,即使沒有監督微調,SimVLM 也可以達到有監督的訓練質量水平。
作者介紹
本研究的第一作者是谷歌學生研究員王子瑞,現就讀于卡內基梅隆大學,曾以第一作者身份在 ICLR、EMNLP、CVPR 等頂會上發表了多篇論文。
截止到 2020 年 12 月 20 日,他在 SuperGLUE 數據集上獲得了第一個超過人類得分的 SOTA 性能(分數超過 90),目前則被百度團隊趕超,位居第二。
這一次開發的 SimVLM 也在 6 個視覺語言基準測試中達到了單模型 SOTA 性能,并實現了基于文本引導的零樣本學習泛化能力。