多模態基石CLIP揭秘:讓AI真正“看懂”世界
譯者 | 朱先忠
審校 | 重樓
簡介
在人工智能領域,卷積神經網絡(CNN)和視覺轉換器(ViT)等傳統視覺模型非常擅長識別圖像中的內容,但它們真的理解圖像中的內容嗎?
這就是OpenAI的多模態模型——對比語言-圖像預訓練(CLIP)的用武之地。CLIP彌合了視覺和語言之間的差距,幫助人工智能超越固定標簽,真正掌握圖像的含義。

為什么我們需要CLIP?
在CNN或ViT等傳統視覺模型中,訓練目標很簡單:為每張圖像預測一個預定義的標簽(如“貓”、“狗”或“汽車”)。
這些模型本質上學習的是視覺特征和類別標簽之間的統計映射。換句話說,特定的紋理、顏色或形狀組合會映射到特定的標簽ID。

傳統視覺模型:圖像到標簽(要看動畫演示,請參考原文地址)
因此,雖然CNN和ViT知道如何將特征與標簽關聯,但它們并不理解其背后的語義。它們只是聰明的模式匹配器,而非真正的“理解者”。
此外,如果圖像不屬于任何預定義類別,模型只能進行隨機猜測。它無法描述或解釋圖像中實際發生的情況,而這正是CLIP力圖解決的局限性。
CLIP的核心思想:將圖像和文本對齊在同一語義空間中
CLIP的核心思想是同時訓練兩個網絡:一個圖像編碼器和一個文本編碼器。兩個編碼器都將學習在相同的語義空間中表示圖像和自然語言描述。

圖像編碼器和文本編碼器
CLIP不會將圖像映射到固定標簽,而是學習將圖像與各種自然語言描述關聯起來,例如:
- “一只邊境牧羊犬正在玩球。”
- “一只伯恩山犬躺在草地上。”
- “一只拴著皮帶的雪納瑞。”
這使得CLIP不是通過類別ID,而是通過語言本身以更豐富、更靈活的方式“理解”圖像內容。
視覺編碼器:CLIP如何識別圖像
CLIP的視覺編碼器基于ViT架構構建。它首先將圖像分割成小塊,每個塊都被視為一個“token(標記)”,類似于NLP Transformer模型中的單詞。然后,每個塊都會被嵌入并與位置嵌入相結合,之后再由Transformer層進行處理。此外,還會添加一個特殊的CLS標記來表示整幅圖像。

圖像分割成塊(要看動畫演示,請參考原文地址)
在Transformer層內部,就像在語言模型中一樣,自注意力機制使ViT能夠捕捉圖像不同部分之間的關系。經過所有Transformer層之后,CLS標記將成為整幅圖像的緊湊語義表示:圖像嵌入。

生成圖像嵌入(要看動畫演示,請參考原文地址)
文本編碼器:CLIP如何理解語言
CLIP的文本編碼器基于Transformer編碼器架構。它接受一組輸入文本序列,例如:

輸入文本示例
每個句子都經過Transformer層標記、嵌入和編碼。第一個標記(例如<|startoftext|>)被視為概括整個句子含義的句子表示,即文本嵌入。

生成文本嵌入(要看動畫演示,請參考原文地址)
CLIP的訓練目標:匹配圖像和文本
在訓練過程中,CLIP接收一批“圖像-文本”對,這些“圖像-文本”對經過上述視覺編碼器和文本編碼器,輸出圖像嵌入和文本嵌入。然后,CLIP計算批次中每個圖像嵌入和每個文本嵌入之間的余弦相似度,形成一個相似度矩陣。

CLIP訓練過程截圖(要看動畫演示,請參考原文地址)
通過對比學習目標,CLIP最大化匹配“圖像-文本”對之間的相似度,并最小化不匹配“圖像-文本”對之間的相似度。隨著訓練的進行,兩個編碼器都會學習將圖像和文本投射到一個共享的潛在空間中;在這個空間中,語義相似的“圖像-文本”對彼此靠近。
CLIP推理過程中發生了什么
CLIP訓練完成后,推理過程簡單卻強大。給定一張新圖像,視覺編碼器將其轉換為圖像嵌入。同時,文本編碼器將該圖像的一系列可能的文本描述處理成文本嵌入。然后,CLIP通過計算余弦相似度將圖像嵌入與每個文本嵌入進行比較。這些相似度得分隨后被轉換為對數函數→概率→并最終用于選擇最佳匹配對。
這就是CLIP如何“描述”一張新圖像或“找到”一張與給定句子相匹配的圖像,即使它之前從未見過這些確切的單詞或圖像。

CLIP推理過程演示截圖(要看動畫演示,請參考原文地址)
CLIP的成就
有了CLIP,AI不再僅僅為圖像分配固定標簽。它可以描述圖像、比較圖像,甚至跨模態搜索,將文本與圖像匹配;反之亦然。正因如此,CLIP已成為穩定擴散、圖像-文本檢索和零樣本圖像分類等多模態系統的基礎組件。
小結
在本文中,我們探討了CLIP是什么、它的工作原理,以及它為何代表著AI在通過語言真正理解視覺內容方面邁出了重要一步。通過整合視覺和文本,它讓AI能夠以更接近人類的方式描述和連接世界。
這不再僅僅是識別一只狗而已,而是看到一只舒服地躺在沙發上的狗。
參考資料
- ??https://huggingface.co/openai/clip-vit-base-patch32/tree/main??
- ??https://github.com/openai/CLIP??
- ??https://arxiv.org/abs/2103.00020??
譯者介紹
朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。
原文標題:??InsideCLIP:HowMultimodalAILearnstoSeeandSpeaktheSameLanguage??,作者:MaoJia

















