首頁  >  文章  >  科技週邊  >  透過一組單字建構視覺語言模型可能性研究

透過一組單字建構視覺語言模型可能性研究

WBOY
WBOY轉載
2023-05-21 23:22:041382瀏覽

譯者 | 朱先忠

#審查| 重樓

當前,多模式人工智慧已經成為一個#街談巷議的熱門話題。隨著GPT-4的最近發布,我們看到了無數可能出現的新應用和未來技術,而這在六個月前是不可想像的。事實上,視覺語言模型對許多不同的任務普遍有用。例如,您可以使用CLIP(Contrastive Language-Image Pre-training,即“對比語言-圖像預訓練”,連結:# https://www.php.cn/link/b02d46e8a3d8d9fd6028f3f2c2495864#對看不到的資料集進行零樣本影像分類##對看不到的資料集進行零樣本影像分類

##對看不到的資料集進行零樣本影像分類

#對看不到的資料集進行零樣本影像分類#對看不到的資料集進行零樣本影像分類#對看不到的資料集進行零樣本影像分類#對看不見的資料集進行零樣本影像分類##。情況下,無需任何訓練即可獲得出色的表現。

#同時,視覺語言模型也不完美。在

本文中

,我們探討這些模型的局限性,強調它們可能失敗的地方和原因。事實上, 這篇文章是對我們最近將發表

的論文的簡短/高級描述,該論文

計畫將以ICLR 2023

Oral

#論文形式發表。如果您想查看本文有關完整的來源程式碼,只需點擊連結https://www.php.cn/link/afb992000fcf79ef7a53fffde9c8e044

簡介什麼是視覺語言模型?視覺語言模型利用視覺和語言資料之間的協同作用來執行各種任務,從而徹底改變了該領域。雖然

目前已有的

#文獻中已經引入了許多視覺語言模型,但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語言

import clip​
from dataset_zoo import VG_Relation, VG_Attribution​

model, image_preprocess = clip.load("ViT-B/32", device="cuda")​

root_dir="/path/to/aro/datasets"​
#把 download设置为True将把数据集下载到路径`root_dir`——如果不存在的话​
#对于VG-R和VG-A,这将是1GB大小的压缩zip文件——它是GQA的一个子集​

vgr_dataset = VG_Relation(image_preprocess=preprocess, ​
 download=True, root_dir=root_dir)​
vga_dataset = VG_Attribution(image_preprocess=preprocess, ​
 download=True, root_dir=root_dir)​

#可以对数据集作任何处理。数据集中的每一项具有类似如下的形式:​
# item = {"image_options": [image], "caption_options": [false_caption, true_caption]}​

此外,我們也實作了NegCLIP模型 (其實際上是OpenCLIP的更新副本),其完整程式碼下載位址為https://github.com/vinid/neg_clip。

結語

總之,視覺語言模型目前已經可以做很多事情了接下來,我們迫不及待想看看GPT4等未來的模型能做什麼!

譯者介紹

朱先忠,51CTO社群編輯,51CTO專家部落格、講師,濰坊一所高校電腦教師,自由程式設計界老兵一枚。

原文標題:#Your Vision-Language Model Might Be a Bag of Words #,作者:Federico Bianchi

#

以上是透過一組單字建構視覺語言模型可能性研究的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除