1. 论文基本信息
-
论文标题:Learning Transferable Visual Models From Natural Language Supervision
-
作者:Alec Radford
-
发表时间和期刊:2021;arXiv
-
论文链接:Learning Transferable Visual Models From Natural Language Supervision
2. 研究背景和动机
我们想要不需要特定领域的数据(或者少量数据)就可以实现很好的效果,同时互联网上大规模的没有标注的数据就可以拿来训练(可以直接爬取下来)。前面的工作CONVIRT和CLIP非常像,但只在医疗图像上做,同时之前的一些方法没有这么大的数据集,没有这么多的算力, 没有这么大的模型,没有这么好的自监督训练的方式, 所以大家的效果都不好(特别是zero-shot的情况下),之前的这些方法,和借助自然语言中的监督信号去学习图像表征的方法,最大的区别在规模(数据的规模和模型的规模)
用自然语言信号来训练视觉模型,优点很多:
- 不需要再去标注这些数据了。现在只需要去网上下载图片文字的配对,别的都不需要做,数据的规模很容易就变大。而且,因为监督信号是文本,比起N选1的标签,模型输入输出的自由度会大很多。
- 由于训练的时候把图片和文字绑到了一起,所以学到的是一个多模态的特征,而不只是一个视觉特征。和语言联系在一起后,就很容易做zero-shot的迁移学习了。但如果只是做一种单模态的自监督学习的话,你都只能学到视觉的特征,而无法和自然语言联系到一起,这样还是很难去做zero-shot的迁移。
3. 主要贡献
CLIP工作最大的贡献,在于打破了固定种类标签的范式。比如,在ImageNet中,只能识别这1000个类,无法动态的进行添加,其他主要贡献有:
-
跨模态对比学习: CLIP采用对比学习的方式,通过同时学习图像和文本的表示,来将这两个不同模态的数据映射到同一个特征空间中。在这个特征空间中,匹配的图像和文本对(例如,一张狗的图片和描述这张图片的文本)会被映射到相似的位置,而不匹配的对则会被映射到不同的位置。
-
大规模数据训练: CLIP利用了一个包含4亿对图像-文本对的大规模数据集进行训练。这种规模的训练数据使得模型能够捕捉到广泛的视觉和语言概念,具备了更强的泛化能力。
-
zero-shot学习能力: CLIP在许多任务中展示了强大的零样本学习能力,能够在没有专门为特定任务微调的情况下,仅通过给定的自然语言描述来执行图像分类任务。也就是说,CLIP可以理解和处理从未见过的类,只需通过给出描述即可进行分类。
-
模型架构的通用性: CLIP的架构是通用的,不依赖于特定的视觉任务或领域。它的核心思想——通过对比学习同时学习图像和文本的表示——可以应用于其他跨模态任务。
4. 方法和模型
模型总览图如下:可以看到在预训练阶段,通过Text Encoder和Image Encoder分别embedding文字以及图像的特征,并进行匹配,若有N个图像-文本对,那么匹配出有N×N种结果,在对角线上的N种情况是匹配成功的,即正样本;其他-N种情况即负样本
CLIP的核心思想是使用对比学习来同时训练图像和文本的表示。对比学习的目标是最大化匹配的图像-文本对的相似度,同时最小化不匹配对的相似度。
5. 实验和结果略~
6. 讨论和未来工作
(1)CLIP虽然强,但还是有一定的局限性。如果想要在ImageNet上面达到头部算法的效果,还需要扩大1000倍的训练量,这是OpenAI的算力都无法支撑的
(2)并且对于一些过于抽象的任务效果也不好(如在MNIST上效果甚至不如MLP)