这篇是clip的论文,openai于2021年提交。
这篇论文也借鉴了对比学习的思想,借助图文匹配信息来训练图像和文本编码器,使图像特征和文本特征处于同一特征空间。
思路很简单,这张图就可以很好反应模型的整体思想。先收集一个图文匹配的数据集,然后用对比损失来训练两个编码器。
训练好以后,以图像分类举例,将图像转为图像特征向量,然后和文本特征向量逐一对比。类别就是相似度最高的那个。
这种方法不同于moco之类的对比学习方法,像moco这样的单模态特征提取器再厉害,对图像特征提取的再好,也需要根据具体任务来微调。而clip这种多模态编码器训练好之后就可以zero-shot地用在其他任务上了,不需要任何微调。但是clip用在VQA这种复杂任务上还没有那么厉害。
clip的伪代码比moco还简单,一共就九行代码。之前也有类似的工作,但效果都没有clip这么好,为什么clip这么简单效果还这么好?主要是clip使用了大数据集和大模型。数据集是openai自己收集的包含4亿对图文匹配的数据集,模型有resnet版和vit版,但不管哪个都需要上百张v100训练十几天。
最后是clip的结果展示,左图是zero-shot对比有监督的resnet50,即使是zero-shot也在大部分数据集上取得优势。右图是对比resnet101,可以看到clip鲁棒性很强,在对抗性样本上准确率依然很高。