[21.03] CLIP
打碎次元的屏障
Learning Transferable Visual Models From Natural Language Supervision
在我們日常生活中,訊息無所不在,它們有的以文字出現,有的以圖像呈現,還有的以聲音或影片等形式展現在我們面前。你或許曾在解釋一幅畫時,用文字描述它的美,或者在講述一個故事時,輔以圖片讓聽者更為生動感受。
這次我們要討論的主題是多模態學習(Multi-Model Machine Learning, MMML)。
多模態學習是一種利用多種資訊來源或模態(例如:文字、圖像和音訊)的機器學習方法。透過結合不同種類的資訊,多模態學習能夠捕捉更豐富的資料特徵,以期提高模型的準確性和效能。這是一個相對較新但迅速發展的研究領域,並且已在多種應用如視覺問答、情感分析和自動字幕生成等方面取得了顯著的進步。
視覺語言(Vision-Language)是經常會和多模態學習一起出現的的名詞,它是多模態學習的一個子領域,它主要關注於視覺(如圖像或影片)和語言(如文字或語音)之間的交互作用。例如:視覺語言模型可以接受一個圖像和一個問題,然後生成一個關於該圖像的回答,或者給定一個圖像,生成描述它的文字。
真的要說的話,使用多模態學習能夠描述更廣泛的概念。
話說回來,多模態學習不是什麼新東西,它早在過去十多年就已經受到廣泛的關注和研究,只是近幾年隨著注意力機制所帶來的強勢效能提升,使得這個領域獲得了更多關愛的目光。
現在,我們來談談 CLIP,它的全名是 「Contrastive Language–Image Pre-training」,它的核心理念很簡單:就是透過大量的文字和圖像數據,讓模型學會如何透過文字理解圖像,或透過圖像來理解文字。
這種「雙向理解」不僅增強了模型的理解能力,也為多模態學習的發展打開了新的可能。通過在大量的資料上 預訓練,CLIP 模型學會了將文字和圖像緊密關聯起來,使得它可以在看到一張圖片後,生成描述它的文字,或者在看到一段描述後,找到匹配的圖片。
在開始詳細介紹整個模型之前,我們先來看看 CLIP 發現了什麼問題,然後看看它規劃了什麼樣的解決方式。
定義問題
現在試著描述以下這個圖:
- 有杯咖啡…呃,杯子底下有一本書…它們都放在桌子上?
- 這是早晨的咖啡店一個角落?
- 咖啡色的桌椅,還有咖啡色的咖啡?(
喂!認真點) - ……
事實上,這張圖是使用這一段描述生成的影像:
在一個寧靜的清晨,陽光透過窗簾的縫隙溫柔地灑在簡約木質的桌上。 桌上放著一杯剛剛沖好的咖啡,咖啡的香氣與陽光交織在空氣中,讓人感受到了新的一天的溫暖和希望。 杯子的影子在桌上拉出一道長長的倒影,與窗邊的綠植形成了美麗的畫面。 咖啡的表面輕輕盪著,似乎在訴說著早晨的寧靜和生活的美好。 在桌旁,一本敞開的書靜靜地躺著,等待著主人的翻閱。 在這個寧靜的早晨,咖啡、陽光、綠植和書籍共同建構了一個溫馨而寧靜的場景,它們似乎在訴說著生活的簡單和美麗。
如果你也在試著描述這張圖,就應該可以很清楚地感覺到現在,此時此刻,在學術界及工程界所使用的 ImageNet 資料集,我們引以為傲的兩萬多個類別,上千萬張的圖像,有多麽地蒼白無力 。
- 因為存在太多的方式,可以用來描述同一張圖像。
反觀 ImageNet,一張圖片可能只有一組層級式的類別,或者有限的標籤來描述它的內容。然而,人類的語言和感知能力卻可以從無限多的角度來解釋和理解這張圖像。比如,透過色彩、形狀、情感和故事情節等,都能呈現出豐富多彩的描述。這就是單模態學習和多模態學習的最大區別:前者通常只能從單一角度解析資訊,而後者能夠將不同類型的資訊融合在一起,提供更為豐富和多元的解釋。
在 ImageNet 的單標籤類別中,經常會忽略掉很多其他有意義的資訊,例如:物件之間的交互關係、情境背景、或是圖像所引起的感受等。而 CLIP 這篇論文,目的就是試圖打破這些限制,通過糅合來自不同來源、不同類型的資訊,如文字、圖像等,來豐富模型的理解和表述能力,使其更接近人類的感知和理解水平。
解決問題
CLIP 模型架構
預訓練過程
假設有一組圖像-文字對,其中一對可能是一張狗的圖片和文字「一隻可愛的小狗」。 在一個訓練批次中,CLIP 會接收到多個這樣的對。 圖像編碼器可能透過 ResNet 或 ViT 來處理圖像,獲取圖像特徵,而文本編碼器可能透過 Transformer 來處理文本,獲取文字特徵。
然後,模型會比較這些特徵,以確保正確配對的圖像和文字(例如:狗的圖像和「一隻可愛的小狗」的文字)之間的餘弦相似度最大,而錯誤配對的圖像和文字( 例如:狗的圖像和「一個蘋果」的文字)之間的餘弦相似度最小。
零樣本推論(Zero-Shot)
假設需要用 CLIP 來完成一個關於果物分類的任務,但沒有額外的標籤資料。我們可以創造一組自然語言提示,例如: “A photo of an apple”, “A photo of a banana”, “A photo of a cherry” 等。當我們有一張待分類的果物圖片時,我們可以將它和這些提示的文本特徵進行比較,找出餘弦相似度最高的文本,從而推斷出圖像的類別。
自然語言監督
利用自然語言作為監督訊號,CLIP 能夠輕鬆擴展其訓練資料集。 傳統的監督學習需要大量的標籤工作,而透過利用自然語言,人們只需要收集大量的圖像和文字配對。 這種方法不僅能學習到多模態的表示,還能將這些表示與自然語言連結起來,進而實現靈活的零樣本遷移學習。