論文CLIP: Learning Transferable Visual Models From Natural Language Supervision
Abstract
相比于監(jiān)督式的CV學(xué)習(xí)方法,直接對(duì)圖文對(duì)學(xué)習(xí)有可能提供更多監(jiān)督信息吟策。在互聯(lián)網(wǎng)上收集4億圖文對(duì)的體量下,通過(guò)簡(jiǎn)單的預(yù)訓(xùn)練任務(wù)(預(yù)測(cè)圖文對(duì)的對(duì)應(yīng)關(guān)系)洒缀,便可以達(dá)到sota的圖像表征能力。預(yù)訓(xùn)練后醉锅,自然語(yǔ)言被用來(lái)參考學(xué)習(xí)到的視覺(jué)概念侣签,用于將模型遷移到下游任務(wù)實(shí)現(xiàn)zero-shot. 對(duì)比了30多個(gè)CV任務(wù),在zero-shot的性能達(dá)到了resnet-50在imagenet訓(xùn)練的性能蛇摸。
1. Introduction and Motivating Work
GPT-3等成果表明备图,現(xiàn)代預(yù)訓(xùn)練方法在互聯(lián)網(wǎng)規(guī)模的文本集中的總體監(jiān)督能力超過(guò)了高質(zhì)量的人類(lèi)標(biāo)記NLP數(shù)據(jù)集。
在CV領(lǐng)域赶袄,使用自然語(yǔ)言作為圖像表征學(xué)習(xí)的監(jiān)督信息的工作比較少揽涮,可能是因?yàn)槠湫阅茌^低。而一些弱監(jiān)督的方法提升了性能饿肺,在Instagram圖像上預(yù)測(cè)ImageNet相關(guān)的標(biāo)簽是一項(xiàng)有效的預(yù)訓(xùn)練任務(wù)蒋困,在imagenet調(diào)參可獲得5%的性能提升。
2.方法
方法核心是學(xué)習(xí)自然語(yǔ)言蘊(yùn)含的感知信息
數(shù)據(jù)集收集:互聯(lián)網(wǎng)4億圖文對(duì)敬辣,盡可能涵蓋更多的視覺(jué)概念雪标,使用50萬(wàn)個(gè)搜索詞,為了類(lèi)間平衡溉跃,規(guī)定每個(gè)搜索詞對(duì)應(yīng)的圖像數(shù)量不超過(guò)2萬(wàn)個(gè)圖文對(duì)村刨。數(shù)據(jù)集的詞語(yǔ)數(shù)量與訓(xùn)練GPT-2使用的數(shù)據(jù)集WebText體量相近。
高效預(yù)訓(xùn)練:sotaCV方法對(duì)于GPU的消耗是很驚人的撰茎,成功的從自然語(yǔ)言中學(xué)習(xí)到對(duì)圖像的監(jiān)督信息的核心和訓(xùn)練效率嵌牺。
原始方法:類(lèi)似 VirTex,協(xié)同訓(xùn)練一個(gè)CNN和文本transformer,實(shí)現(xiàn)圖像描述任務(wù)(image caption)龄糊。但是發(fā)現(xiàn)效率比較低逆粹,63M的文本transformer編碼器的訓(xùn)練效率是CNN的3倍∫锴可能的原因是圖像描述任務(wù)太難了枯饿。將代理任務(wù)設(shè)計(jì)為基于對(duì)比學(xué)習(xí),預(yù)測(cè)哪個(gè)文本與圖像是一對(duì)诡必。預(yù)訓(xùn)練過(guò)程是協(xié)調(diào)訓(xùn)練圖像編碼器和文本編碼器奢方,最大化對(duì)應(yīng)圖像-文本對(duì)embedding的余弦相似度。是一種跨模態(tài)的對(duì)比學(xué)習(xí)爸舒。 對(duì)余弦相似度優(yōu)化symmetric cross entropy loss 蟋字。
模型細(xì)節(jié):圖像編碼器和文本編碼器都是從頭訓(xùn)練,因?yàn)閿?shù)據(jù)集足夠大扭勉。移除了非線性投射鹊奖,使用線性投射。 移除 the text transformation function tu涂炎, 簡(jiǎn)化the image transformation function tv. 圖像數(shù)據(jù)增強(qiáng)只用了 random square crop from resized images忠聚。對(duì)比學(xué)習(xí)損失函數(shù)中的溫度系數(shù)直接從訓(xùn)練中優(yōu)化设哗,而不是超參數(shù)。
模型設(shè)計(jì):圖像編碼器有兩種結(jié)構(gòu)两蟀。
一種是resnet-50,改進(jìn)的細(xì)節(jié)包括使用resnet-50D和 antialiased
rect-2 blur pooling网梢,global average pooling layer 改成了 attention pooling mechanism。
第二種結(jié)構(gòu)是ViT,區(qū)別只在于 adding
an additional layer normalization to the combined patch
and position embeddings赂毯。
文本編碼器:As a base size we use a 63M-parameter 12-layer 512-wide model with 8 attention heads.
對(duì)于模型規(guī)模的變化战虏,只對(duì)text encoder的寬度進(jìn)行變化,沒(méi)改變深度党涕,因?yàn)閷?shí)驗(yàn)發(fā)現(xiàn)CLIP的性能與對(duì)文本encoder的能力不敏感烦感。
模型訓(xùn)練:5個(gè)resnet網(wǎng)絡(luò)和3個(gè)vit
resnet:resnet-50,resnet-101,RN50x4, RN50x16, andRN50x64
ViT:ViT-B/32, a ViT-B/16, and a ViT-L/14
mini-batch:32768
訓(xùn)練資源:最大的resnetRN50x64, took 18 days to train on 592 V100 GPUs while
the largest Vision Transformer took 12 days on 256 V100
GPUs.