CLIP:語言-圖像表示之間的橋梁
最近GPT4的火爆覆蓋了一個新聞:midjourney v5發(fā)布,DALLE2,midjourney都可以從文本中生成圖像,這種模型要求人工智能同時理解語言和圖像數(shù)據(jù)。
傳統(tǒng)的基于人工智能的模型很難同時理解語言和圖像。因為自然語言處理和計算機視覺一直被視為兩個獨立的領域,這使得機器在兩者之間進行有效溝通具有挑戰(zhàn)性。
然而CLIP的多模態(tài)架構通過在相同的潛在空間中學習語言和視覺表現(xiàn)在二者之間建立了橋梁 。因此,CLIP允許我們利用其他架構,使用它的“語言-圖像表示”進行下游任務。
CLIP是一個基于超大數(shù)據(jù)量的pair-wise 預訓練模型但是在它的下游任務DalleE-2,Stable-Diffusion中,CLIP也是其中打通文本和圖像的核心模塊,比如開源的SD2就是使用了OpenCLIP來學習二者的表示,因此了解CLIP是深入了解后續(xù)擴散模型非常重要的一環(huán),所以我們今天來主要介紹一下CLIP:
Contrastive Language-Image Pre-training (CLIP)利用自然語言描述圖像的數(shù)據(jù),訓練了一個同時對圖像和文本具有深度理解能力的神經(jīng)網(wǎng)絡模型。通過使用自然語言作為監(jiān)督信號,CLIP 可以自然地跨越多個視覺和語言數(shù)據(jù)集,且具有較強的可遷移性。CLIP 可以與最先進的視覺和語言模型相媲美,且可以在多個視覺和語言任務上進行零樣本學習。
架構
CLIP架構由兩個主要組件組成:圖像編碼器和文本編碼器。每個編碼器都能夠分別理解來自圖像或文本的信息,并將這些信息嵌入到向量中。CLIP的思想是在圖像-文本對的大型數(shù)據(jù)集中訓練這些編碼器,并使嵌入變得相似。
“給定一批N(圖像,文本)對,CLIP被訓練來預測一批中N × N個可能的(圖像,文本)對中哪一個是真實的實匹配?!彼ㄟ^聯(lián)合訓練編碼器來學習多模態(tài)嵌入空間,對N個圖像和文本嵌入進行余弦相似度的計算,最大小化正確的匹配,最大化不正確的匹配。
由于CLIP是在一個大的預訓練數(shù)據(jù)集上訓練的,它可以很好地泛化許多下游任務。CLIP為我們提供了兩個編碼器,可以將文本和圖像嵌入到相同的潛在空間中,所以我們可以有效地將其用于許多應用程序。
應用
以下是一些使用CLIP的下游任務示例:
1、圖像分類
CLIP可用于圖像分類任務,CLIP將圖像與其對應的文本描述相關聯(lián)的能力使其能夠很好地泛化到新的類別,并與其他圖像分類模型相比提高性能。
比如說HuggingFace提供了的這個簡單的例子
2、圖像描述
CLIP可用于圖像描述任務,利用它將圖像與相應的文本描述相關聯(lián)的能力,我們可以將CLIP與其他序列到序列模型結合起來,使用CLIP的嵌入來生成標題等。我們可以參考我們的CoCa(對比字幕),或者CLIPCap,它將CLIP與GPT模型結合起來生成字幕。
3、文本到圖像
CLIP在文本到圖像生成上下文中的一個有趣應用是潛在擴散模型。該模型使用CLIP作為一種方法來指導從文本描述中生成逼真的圖像。
在潛在擴散模型中使用CLIP有幾個優(yōu)點。首先,它允許模型生成更忠實于文本描述的圖像,因為CLIP可以就生成的圖像和文本描述之間的語義相似性提供反饋。其次,它允許模型生成更多樣化和更有創(chuàng)造性的圖像,因為CLIP可以引導生成過程朝著不太常見但仍然合理的圖像表示。
CLIP處理圖像和文本輸入的能力及其預訓練過程使其成為各種領域中下游任務的多功能和強大的工具。
總結
CLIP 將語言和圖像表示合二為一的能力為許多應用打開了大門。雖然我們人類可以感知不同類型的數(shù)據(jù),包括文本、數(shù)據(jù)、音頻等。但是過去基于 AI 的模型已經(jīng)顯示出它們只能理解一種模態(tài)的弱點。有了 CLIP,我們可以想象一個未來,人工智能模型可以像我們一樣“理解”這個世界。