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