CLIP—文本與圖像的連接器
Stable Diffusion底層篇(一)

2021年見證了vision transformer的大爆發(fā),CLIP模型是由Open AI在2021年1月份發(fā)布的用文本作為監(jiān)督信號來訓(xùn)練可遷移的視覺模型。
CLIP的英文全稱是Contrastive Language-Image Pre-training,即一種基于對比文本-圖像對的預(yù)訓(xùn)練方法或者模型。CLIP是一種基于對比學(xué)習(xí)的多模態(tài)模型,與CV中的一些對比學(xué)習(xí)方法如moco和simclr不同的是,CLIP的訓(xùn)練數(shù)據(jù)是文本-圖像對:一張圖像和它對應(yīng)的文本描述,這里希望通過對比學(xué)習(xí),模型能夠?qū)W習(xí)到文本-圖像對的匹配關(guān)系。CLIP包括兩個模型:Text Encoder和Image Encoder,其中Text Encoder用來提取文本的特征,可以采用NLP中常用的text transformer模型;而Image Encoder用來提取圖像的特征,可以采用常用CNN模型或者vision transformer。模型結(jié)構(gòu)如下圖所示:

CLIP的核心思想是將圖像和文本映射到同一個特征空間。N個文本特征向量和N個圖像特征向量計算余弦相似性得到N? x N大小的相似度矩陣。本質(zhì)上,優(yōu)化任務(wù)就是最大化其中N個正樣本的相似度。其偽代碼如下:

CLIP的zero-shot分類任務(wù):
1.根據(jù)任務(wù)的分類標簽構(gòu)建每個類別的描述文本:A photo of {label},然后將這些文本送入Text Encoder得到對應(yīng)的文本特征,如果類別數(shù)目為N,那么將得到N個文本特征;
2. 將要預(yù)測的圖像送入Image Encoder得到圖像特征,然后與N個文本特征計算縮放的余弦相似度(和訓(xùn)練過程一致),然后選擇相似度最大的文本對應(yīng)的類別作為圖像分類預(yù)測結(jié)果,進一步地,可以將這些相似度看成logits,送入softmax后可以到每個類別的預(yù)測概率。

相關(guān)paper:https://arxiv.org/pdf/2103.00020.pdf
