根据题目,我们发现有两个关键字,一个是自然语言,另一个是可迁移性
目的就是想通过建立与语义之间的联系学一个泛化性很好的视觉模型!
总体方法
- 对比学习联合训练一个图像特征提取器和一个文本特征提取器
- 零样本预测:给定图像,通过图像特征提取和通过模板和类别构成的文本特征进行coisine 相似度比对
效果
在ImageNet上零样本预测精度很高,且迁移效果很好,有很强的语义性,证明了其与我们的语义世界产生了很强的联系
还引发了很多有趣的工作,例如StyleCLIP,CLIPDraw,Object Dection via knowledge
(open - vocabulary)
相关工作
NLP 中的 Text-to-Text 的模型使得我们不需要去专门设计输出头去完成相应的下游任务
而在CV领域这样的工作却很少见,更多的还是在有监督的数据集上进行固定类别的分类训练,有个别工作尝试去做无监督的zero-shot但是由于缺少大规模的数据集等原因,导致了其效果极差,没能够引起大家的热情。
而本篇论文就是去close this gap,将数据集推到足够大,来展现这种方法的惊人效果。
数据集构建
工作在自然语言上的方法可以被动地从互联网上海量文本中蕴含的监督中学习,数据更容易收集。
目前有MS-COCO,Visual Genome都是高质量的人群标注数据集,但是规模太小。
YFCC100M质量不高。
所以OPENAI团队就自己动手收集了WIT (Web ImageText) 数据集。
训练方法选择
由于数据集很大,因此选择高效的训练方法就十分重要。
直接去训练一个图像CNN和一个文本的transformer的代价实在太昂贵,且这个任务过于困难,因为同一个图片可以有着很多的描述,文本之间的差距巨大。
因此,作者采取了对比学习的方式,仅仅是去做配对任务。这样的监督信号也更为合理,训练效率提升了4x。
作者选定了巨大的batch_size = 32768,这也要求我们需要进行很多工程上的优化,才能在很多的卡上训练,例如:将温度参数作为一个可以学习的参数,减少调参的耗时;embedding space没有使用非线性层,也取得了同样不错的效果,作者估计是只有图片一种模态时才会影响;Mixed-Precision等等众多训练技巧;且在最小的ResNet上调参;在效果最好的ViT-L/14训练后,又在尺寸更大的图片上进行了一轮次的fine-tune…
特征工程和集成学习
为了解决词语的多义性,以及一些句子的distribution gap
我们在zero-shot 的时候使用了一个“A photo of a {label}” 的模板,在ImageNet上带来了1.3%的涨点
此外,在ImageNet上,还集成了80个不同的上下文提示,比上面讨论的单个默认提示提高了3.5%的性能。