论文:Learning Transferable Visual Models From Natural Language Supervision
链接:https://arxiv.org/abs/2103.00020
问题:
方法:
通过在4e (image, text) pairs数据集进行预训练,预测caption和图像是否match。并且可以zero-shot transfer到下游任务。
优点:

ResNet-50,将 global average pooling替换为 attention pooling mechanism,q为global average-pooled 表示。
Vision Transformer,在patch和pos embedding结合前加了layer normalization
文本端:Transformer,63M-parameter 12-layer 512-wide model with 8 attention heads,BPE+49,152词表,max-seq-len=76,[SOS]text [EOS],使用[EOS]作为文本表示。保留了mask loss。

训练目标:最小化N^2-N个负样本的相似度,最大化正样本间相似度。

下图为CLIP实现的伪代码:

只缩放文本编码器的宽度与ResNet的宽度成正比,发现CLIP对文本编码器的容量并不敏感。
5. 训练
zero-shot transfer:作者建议将零样本迁移能力作为衡量模型学习能力的一种方式。
用于图像分类

如何zero-shot?
之前分类方式的弊端:多义性的label,缺乏上下文,无法判断。并且训练数据文本大多为完整句子,而非一个单词。
zero-shot方式:使用prompt template “A photo of a {label}.”
使用prompt方式,在ImageNet提高了1.3%的准确率

针对不同的分类任务,详尽地指出是哪一种类别,会提高zero-shot的效果。例如Oxford-IIIT Pets数据集, “A photo of a {label}, a type of pet.”。还有Food101数据集a type of food ,FGVC Aircraft使用a type of aircraft。又或者指定图像形式,比如卫星图像-a satellite photo of a {label}。
除此之外,ensembling over multiple zeroshot classifiers来提升效果,such as 'A photo of a big {label}" and “A photo of a small {label}”。在Embedding层面计算一个averaged text embeddings。

3. Zero shot在各分类数据集效果
在卫星图像分类(EuroSAT和RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、合成场景(CLEVRCounts)、自动驾驶相关任务(如德国交通标志识别(GTSRB)、识别到最近汽车的距离(KITTI距离)等几个专业、复杂或抽象任务上,Zero shot CLIP非常弱。作者认为:测量零样本迁移,而不是少样本迁移,对于学习者没有先前经验的困难任务(例如几乎所有人的淋巴结肿瘤分类)是一项有意义的评估。


