CLIP论文地址:Learning Transferable Visual Models From Natural Language Supervision
CLIP代码地址:https://github.com/openai/CLIP
简介
CLIP是OpenAI在2021年2月发表的一篇文章,它的主要贡献有以下2点:
1)将图像分类问题映射为了多模态问题,也就是说他的图片标签不再是一个单词类别,而是一段文字描述,例如:“A photo of {label}”;
2)利用4亿的训练数据,将待分类的图片映射为了zero-shot问题,对于新来的数据,只需要把标签记录下来,就可以直接分类,而不需要重新训练。
模型结构
text encoder可以简单地理解为bert,作用为将图片的描述映射为特征向量,假如有n个句子,就是n个文本特征,image encoder可以理解为vit,假如有n张图片,也会得到n个图片特征。最后将文本特征和图片特征计算余弦距离,可以得到n*n的矩阵。由于每个文本只有一张对应的图片是正例,同理每一张图片只有一句文本是正例,因此对角线处的余弦距离最近,相似度最高,其他位置的距离要尽可能的大,相似度尽可能的低。当训练完成后,在预测的时候,只需要计算每张图片与待预测的类别余弦距离即可,找距离最近,相似度最高的一个类别就是输出结果。
实验结果
实验结果表明,clip在众多数据集上都战胜了resnet50,这在之前的网络中是不可能的。