iT邦幫忙

2025 iThome 鐵人賽

DAY 4
0
生成式 AI

VLM系列 第 4

Day 4 : CLIP – 連接圖像與文字的開創性模型

  • 分享至 

  • xImage
  •  

CLIP (Contrastive Language-Image Pre-Training)

OpenAI在2021年提出CLIP,為跨模態模型在訓練方式和應用上帶來了重大的突破,包括:

  • 訓練範式的創新:對比學習(Contrastive Learning)
    早期的VLM採用掩碼模型(Masked Modeling)的訓練方式,它們會遮蔽部分文字或圖像,然後讓模型去預測被遮蔽的內容,這種方法需要大量的標註資料。
    CLIP使用對比學習,它同時訓練一個圖像編碼器和一個文字編碼器,目標是讓「正確配對」的圖片和文字(例如,一張狗的照片和「一隻狗」的文字)在共同的嵌入空間中,其向量距離盡可能接近,而「不正確配對」的距離則盡可能遠。這種方式的訓練資料利用現成在網際網路發展後,大量公開在網頁上成對的圖片及其圖片描述,大量地減少傳統昂貴的大型標記數據集的需求,極大地擴展了訓練資料的來源。

  • CLIP具有零樣本(Zero-shot)學習能力
    傳統的視覺模型在訓練後,只能識別那些在訓練集中出現過的特定類別。CLIP 不需要針對特定下游任務進行微調,只要輸入描述文字即可做分類。例:要做「狗 vs 貓」分類,直接提供文字 prompt: "a photo of a dog", "a photo of a cat",模型即可用來判斷影像屬於哪一類
    研究人員也發現可以透過給予模型不同的文字「提示」(prompts),來引導它執行各種任務,而不需要重新訓練模型,這種利用自然語言來控制AI模型行為的方式,促成了後續許多生成式AI模型的發展,例如DALL-E和Stable Diffusion。

CLIP與早期VLM模型有顯著不同,在VLM發展史上被視為一個分水嶺,開啟了新一代模型的可能性,將VLM從一個需要大量標註數據和特定任務微調的學術研究領域,轉變為一個能處理通用、開放式任務的強大工具,CLIP因而被視為是現代VLM的開創性模型。

CLIP 模型架構

CLIP 主要由兩個部分組成:

  • 文字編碼器 (Text Encoder):使用 Transformer 將文字 prompt(如 "a photo of a cat")轉換成一個語義向量
  • 影像編碼器 (Image Encoder):原始 CLIP 使用 ResNet-50 和 Vision Transformer (ViT-B/32),將輸入影像轉換成對應的語義向量

這兩個編碼器最後都輸出到同一個向量空間,讓文字和影像可以直接比較。

CLIP目前的應用,例如

  • 影像檢索
  1. 給文字找圖片
    把資料庫的圖片先用 CLIP 影像編碼器 (image encoder) 轉成向量,使用者輸入文字查詢,CLIP 文字編碼器 (text encoder) 將文字轉成向量,系統比較相似度(cosine similarity),找到最相關的圖片。例如可以做出類似 Pinterest 的搜索功能,用自然語言找到「相似風格」的圖片。
  2. 圖片找文字
    把圖片轉成 CLIP 向量,和一堆文字描述向量比對,找到最接近的描述。這是圖像標註(image captioning)的基礎,另外,博物館或圖書館數位典藏,也用圖片檢索找到相關文字紀錄。
  3. 圖片找圖片
    使用者上傳圖片,CLIP 影像編碼器向量化後和資料庫中所有圖片向量比較,找到最接近的。例如可以做出使用者上傳圖片,進行以圖搜圖或產品搜尋功能。
  • 遷移學習基礎模型(作為 backbone 提供語義特徵)
    影像生成 (Image Generation)。CLIP 的文字編碼器可作為 diffusion 模型的 backbone。例如Stable Diffusion使用 CLIP text encoder(ViT-L/14)把文字 prompt 轉成向量,提供生成模型條件,沒有 CLIP 的語義特徵,模型就難以準確理解「一隻穿著太空衣的狗」這種組合。

CLIP的限制

雖然 CLIP 開啟了 VLM 的時代,但它也有一些限制與缺點

  • CLIP的dual-encoder架構只做圖片與文字「對齊」,沒有跨模態「融合」能力,無法像後來發展的VLM那樣進行 細節推理、問答及多輪對話
  • 使用網路上的圖片及文字配對資料進行訓練,品質不均,文字標註可能含糊、錯誤、或有偏見
  • CLIP 擅長抓「語義概念」,但對細節不敏感,例:「一隻紅色的鳥 vs 一隻藍色的鳥」,有時無法可靠區分
  • CLIP 向量只代表「整張圖的語義」,並不了解圖中物件的關係或位置

補充:

早期的VLM

前面提到的早期的VLM,從Transformer架構的角度來看,有兩個在2019年發表的代表性模型,通常被認為是現代VLM的先驅:

  • Visual-BERT
  • ViLBERT

它們結合了視覺(圖片)和語言(文字)的資訊,並利用自注意力機制(self-attention mechanism)來處理這兩種不同型態的資料,它們就像是文本領域中的BERT一樣,學會了理解圖像和文字之間的關係,並能夠執行多種任務,這奠定了後來VLM的發展基礎。


上一篇
Day 3:VLM架構及如何訓練
下一篇
Day5:實作-用CLIP進行圖文相似度計算與 Zero-Shot 分類
系列文
VLM6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言