譯者 | 朱先忠?
審校 | 重樓?
當前,多模式人工智能已經成為一個街談巷議的熱門話題。隨著GPT-4的最近發布,我們看到了無數可能出現的新應用和未來技術,而這在六個月前是不可想象的。事實上,視覺語言模型對許多不同的任務都普遍有用。例如,您可以使用CLIP(Contrastive Language-Image Pre-training,即“對比語言-圖像預訓練”,鏈接:??https://github.com/openai/CLIP)??對看不到的數據集進行零樣本圖像分類;通常情況下,無需任何訓練即可獲得出色的表現。?
同時,視覺語言模型也并不完美。在本文中,我們要探討這些模型的局限性,強調它們可能失敗的地方和原因。事實上,這篇文章是對我們最近將發表的論文的簡短/高級描述,該論文計劃將以??ICLR 2023 Oral??論文形式發表。如果您想查看本文有關完整的源代碼,只需單擊鏈接https://github.com/mertyg/vision-language-models-are-bows。
簡介?
什么是視覺語言模型??
視覺語言模型利用視覺和語言數據之間的協同作用來執行各種任務,從而徹底改變了該領域。雖然目前已有的文獻中已經引入了許多視覺語言模型,但CLIP(對比語言-圖像預訓練)仍然是最知名和最廣泛使用的模型。?
通過在同一向量空間中嵌入圖像和標題,CLIP模型允許進行跨模式推理,使用戶能夠以良好的準確性執行諸如零樣本圖像分類和文本到圖像檢索等任務。并且,CLIP模型使用對比學習方法來學習圖像和標題的嵌入。?
對比學習簡介?
對比學習使得CLIP模型可以通過在共享向量空間中最小化圖像之間的距離來學習將圖像與其相應的標題相關聯。CLIP模型和其他基于對比的模型所取得的令人印象深刻的結果證明了這種方法是非常有效的。?
對比度損失用于比較批次中的圖像和標題對,并優化模型以最大化匹配圖像-文本對的嵌入之間的相似性,并降低批次中其他圖像-文本對之間的相似度。?
下圖展示了可能的批處理和訓練步驟示例,其中:?
- 紫色方塊包含所有標題的嵌入,綠色方塊包含所有圖像的嵌入。?
- 矩陣的平方包含批次中所有圖像嵌入和所有文本嵌入的點積(讀作“余弦相似性”,因為嵌入是標準化的)。?
- 藍色正方形包含模型必須最大化相似性的圖像-文本對之間的點積,其他白色正方形是我們希望最小化的相似性(因為這些正方形中的每一個都包含不匹配的圖像-文本對的相似性,例如貓的圖像和描述“my vintage chair”(我的復古椅子)。
CLIP模型中的對比預訓練(其中,藍色方塊是我們想要優化相似性的圖像-文本對)
經過訓練后,你應該可以生成一個可以在其中對圖像和標題進行編碼的有意義的向量空間。一旦為每個圖像和每個文本嵌入了內容,你就可以做很多任務,比如看哪些圖像更符合標題(例如,在2017年暑假相冊中找到“dogs on the beach”(海灘上的狗)),或者找到哪個文本標簽更像給定圖片(例如,你有一大堆你的狗和貓的圖像,你希望能夠識別哪個是哪個)。?
CLIP等視覺語言模型已成為通過集成視覺和語言信息來解決復雜人工智能任務的強大工具。他們將這兩種類型的數據嵌入共享向量空間的能力在廣泛的應用中帶來了前所未有的準確性和出眾表現。?
視覺語言模型能理解語言嗎??
我們所做的工作正是試圖采取一些手段來回答這個問題。關于深度模型能否或者說能在多大程度上理解語言這個問題,當前還存在著重大的爭論。在這里,我們的目標是研究視覺語言模型及其合成能力。?
我們首先提出了一個新的數據集用來測試成分理解;這個新的基準被稱為ARO(Attribution,Relations,and Order:屬性、關系和順序)。接著,我們探討為什么對比損失在這種情況下可能是有限的。最后,我們為這個問題提出了一個簡單但有希望的解決方案。?
新基準:ARO(屬性、關系和順序)?
像CLIP(以及Salesforce最近推出的BLIP)這樣的模型在理解語言方面做得怎么樣呢??
我們收集了一組基于屬性的合成標題(例如“the red door and the standing man”(紅門和站著的人))和一組基于關系的合成標題(例如“the horse is eating the grass”(馬在吃草))以及相匹配的圖像。然后,我們生成替代后的虛假標題,比如“the grass is eating the horse”(草正在吃馬)。模型們能找到正確的標題嗎?我們還探討了混排單詞的效果:難道模型更喜歡非混排標題而不是混排標題嗎??
我們為屬性、關系和順序(ARO)基準創建的四個數據集如下圖所示(請注意,順序部分包含兩個數據集):?
我們創建的不同數據集包括Relation、Attribution和Order。對于每個數據集,我們顯示一個圖像示例和不同的標題。其中,只有一個標題是正確的,模型必須識別出這個正確的標題。?
- 屬性測試對屬性的理解結果是:“the paved road and the white house”(鋪好的路和白房子)與“the white road and the paved house”(白路和鋪好的房子)。?
- 關系測試對關系的理解結果是:“the horse is eating the grass”(馬在吃草)和“the grass is eating the horse”(草在吃草)。?
- 最后,Order測試了模型對順序打亂后的彈性結果:我們隨機打亂標準數據集(例如,MSCOCO)的標題。?
視覺語言模型能找到與圖像匹配的正確標題嗎?這項任務似乎很容易,我們希望模型能夠理解“馬在吃草”和“草在吃草”之間的區別,對吧?我的意思是,誰見過草在吃東西??
好吧,可能是BLIP模型,因為它無法理解“馬在吃草”和“草在吃草”之間的區別:?
BLIP模型不理解“草在吃草”和“馬在吃草”之間的區別(其中包含來自視覺基因組數據集的元素,圖片由作者提供)?
現在,讓我們看看實驗結果:很少有模型能在很大程度上超越理解關系的可能性(例如,eating——吃飯)。但是,CLIP模型在屬性和關系的邊緣方面略高于此可能性。這實際上表明視覺語言模型尚存在問題。?
不同模型在屬性、關系和順序(Flick30k)基準上的性能。其中使用了CLIP、BLIP以及其他SoTA模型?
檢索與對比損失評判
這項工作的主要結果之一是,我們學習語言需要的可能不僅僅是標準的對比損失。這又是為什么呢??
讓我們從頭開始:視覺語言模型通常在檢索任務中進行評估:取一個標題并找到它映射到的圖像。如果你查看用于評估這些模型的數據集(例如,MSCOCO、Flickr30K),你會看到,它們通常包含用標題描述的圖像,這些標題需要理解構圖能力(例如,“the orange cat is on the red table”:橙色的貓在紅色的桌子上)。那么,如果標題很復雜,為什么模型不能學習構圖理解呢??
[說明]在這些數據集上進行檢索并不一定需要對組成的理解。?
我們試圖更好地理解這個問題,并在打亂標題中單詞的順序時測試了模型在檢索方面的性能。我們能找到標題“books the looking at people are”的正確圖像嗎?如果答案是肯定的;這意味著,不需要指令信息來找到正確的圖像。?
我們測試模型的任務是使用打亂的標題進行檢索。即使我們打亂標題,模型也可以正確地找到相應的圖像(反之亦然)。這表明檢索任務可能過于簡單,圖片由作者提供。?
我們測試了不同的亂序過程,結果是肯定的:即使使用不同的亂序技術,檢索性能也基本上不會受到影響。?
讓我們再說一次:視覺語言模型在這些數據集上實現了高性能的檢索,即使指令信息無法訪問。這些模型可能表現得像一堆單詞,其中順序并不重要:如果模型不需要理解單詞順序才能在檢索中表現良好,那么我們在檢索中實際衡量的是什么??
怎么辦?
既然我們知道存在問題,我們可能想尋找解決方案。最簡單的方法是:讓CLIP模型明白“貓在桌子上”和“桌子在貓身上”是不同的。?
事實上,我們所建議的一種途徑是通過添加專門為解決這個問題而制作的硬底片來改進CLIP訓練。這是一個非常簡單有效的解決方案:它需要對原始CLIP損失進行非常小的編輯,而不會影響總體性能(您可以在論文中閱讀一些注意事項)。我們將此版本的CLIP稱為NegCLIP。?
在CLIP模型中引入硬底片(我們添加了圖像和文本硬底片,圖片由作者提供)?
基本上,我們要求NegCLIP模型將黑貓的圖像放在“a black cat sitting on a desk”(坐在桌子上的黑貓)這句話附近,但遠離句子“a black desk sitting on a cat”(坐在貓身上的黑色桌子)。注意,后者是通過使用POS標簽自動生成的。?
該修復的效果是,它實際上可以提高ARO基準的性能,而不會損害檢索性能或檢索和分類等下游任務的性能。有關不同基準的結果,請參見下圖(有關詳細信息,請參閱本文對應論文)。?
不同基準上的NegCLIP模型與CLIP模型。其中,藍色基準是我們介紹的基準,綠色基準來自網絡文獻(圖片由作者提供)?
您可以看到,這里與ARO基準相比有了巨大的改進,在其他下游任務上也有了邊緣改進或類似的性能。?
編程實現
??Mert??(論文的主要作者)在創建一個??小型庫??來測試視覺語言模型方面做得很好。你可以使用他的代碼來復制我們的結果,或者用新的模型進行實驗。
下載數據集并開始運行只需要少數幾行Python語言:?
此外,我們還實現了NegCLIP模型(其實際是OpenCLIP的一個更新副本),其完整代碼下載地址是https://github.com/vinid/neg_clip。?
結語
總之,視覺語言模型目前已經可以做很多事情了。接下來,我們迫不及待地想看看GPT4等未來的模型能做什么!?
譯者介紹
朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。?
原文標題:??Your Vision-Language Model Might Be a Bag of Words??,作者:Federico Bianchi?