本文介紹的是斯坦福大學在ICLR 2022發表的一篇多模態模型分析文章。這篇文章研究的是一個多模態對比學習模型中常見的問題:為什么不同模態的embedding在表征空間中形成不同的簇,以及這種gap對最終預訓練多模態模型在下游任務中效果的影響。文中分析的一些現象是我們在實驗中經常遇到的,例如為什么深度學習模型輸出的embedding對的cosine往往是大于0的數,并且做了很多有趣的實驗進行了分析和驗證。
文中將一些經典的多模態對比學習模型中兩個模態的embedding,通過降維等方法映射到二維坐標系中。從下圖可以看出,不論是哪種模型,兩個模態的表征都會出現gap(形成獨立的簇)。并且無論是預訓練好的模型,還是隨機初始化的模型,都存在這個問題。
那么為什么會出現這種現象呢?文中從兩個角度進行了分析,一個是深度學習模型本身的cone effect會帶來gap,另一個是對比學習損失傾向于保持這種gap。
1 Core Effect的影響
Core effect在文中的定義可以理解為,使用深度學習模型得到的embedding,會分布在一個狹小的錐形空間里,不論模型的參數是訓練好的還是隨機的。同時,不同的隨機初始化最終產出的embedding會分布在不同的錐形區域。而多模態模型中,一般是兩個模態的模型分別隨機初始化,這就導致兩個模態會隨機生成兩個錐形區域,從而導致不同模態之間的表示空間存在gap。下面詳細介紹一下文中的分析過程。
文中通過模型產出的任意兩個embedding的cosine相似度分布來驗證這個問題。從模型中獲取5000個embedding,然后計算兩兩embedding的cosine相似度,求出平均cosine和最小cosine。通過下圖可以發現,各類模型的cosine值基本都是偏高的,并且很少有負數的cosine值。這表明,模型輸出的embedding并不是散落在整個空間中的,而是形成一個從坐標遠點向外擴展的狹小錐形中,才會出現cosine取值分布偏大的現象。
那么為什么深度學習模型會出現cone effect現象呢?文中對比了不同激活函數、不同網絡層數的模型形成的cosine均值,發現層數越深cosine均值越高,并且當沒有激活函數的時候就不會出現cosine均值大于0的情況(如下圖所示)。這說明激活函數和網絡層數的加深是cone effect現象形成的主要原因。
接下來,文中又對比了不同隨機初始化對形成的錐形區域的影響。文中對多個模型進行了25次隨機初始化,并繪制了每次隨機初始化的embedding區域。可以看到每次隨機初始化的錐形區域都是不同的,這說明不同的隨機初始化會導致生成的embedding分布在不同的錐形區域。
結合以上的信息就可以推倒出多模態模型兩個模態表征存在gap的原因:多模態對比學習一般是雙塔結構,一個模態一個塔,每個塔進行隨機參數初始化后,導致每個塔有一個自己的錐形區域,并且初始化的隨機性導致兩個塔的錐形區域不同。
2 對比學習loss的影響
第二個造成多模態表征存在gap的原因是對比學習loss。文中通過一些實驗驗證了對比學習loss會傾向于保持這種模態之間的gap。為了分析這個問題,文中設計了embedding shift實驗和構造mismatch數據實驗。
在embedding shift實驗中,會在一個訓練好的CLIP模型基礎上,計算兩個模態embedding質心之間的距離。并且不斷的讓兩個模態的embedding進行靠近,再計算不同temperature參數下的對比學習loss。實驗結果如下圖,CLIP模型訓練好后,兩個模態embedding的距離為0.82,隨著距離的拉近或遠離,基本都會帶來loss的上升。而當temperature=1時,最小loss則出現在兩個模態embedding距離更近的位置,這表明對比學習損失對gap的影響是和temperature相關的。
在構造mismatch數據實驗中,作者會構造一些mismatch數據(如下圖中I0和T0是正樣本,I1和T1是正樣本,但是I0和T1更接近,I1和T0更接近),然后讓文本表示逐漸向圖像表示靠近。并繪制不同temperature下的loss曲線,可以看到和之前類似的效果,距離為0時loss最大,并且temperature為1時這種現象并不明顯。同時,如果刪除mismatch的數據,這個現象就消失了,這說明mismatch數據是導致對比學習loss傾向于保持多模態表征gap的關鍵因素。
3 Gap和模型效果
那么多模態表征的gap對模型效果有什么影響呢?首先作者對比了預訓練CLIP在zero-shot任務的效果。下表表示的是如何通過增大或縮小多模態表征gap來提升模型的效果。從下表可以看出,在各類數據集下,通過增大或減小多模態表征的gap,是可以對下游任務產生比較顯著的效果影響的。
4 總結
這篇文章從一個多模態表征存在gap的現象出發,詳細分析了這個現象產生的原因,設計了豐富的實驗進行分析和驗證,并最終得到如何通過修改表征gap影響模型效果的方法。此外,文中的附錄還有大量的補充實驗,感興趣的同學可以進一步深入閱讀。
審核編輯:劉清
-
Clip
+關注
關注
0文章
31瀏覽量
6664 -
深度學習
+關注
關注
73文章
5500瀏覽量
121117
原文標題:多模態預訓練常見問題:為什么不同模態表征存在gap?
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論