CLIP笔记|沐神讲解
CLIP:Learning Transferable Visual Models From Natural Language Supervision
2021年2月底提出,方法很简单,效果很好。
预训练:
数据集:4亿个图片-文本配对的数据集。命名为WIT(Web ImageText)
,数据清理地非常好。
使用对比学习:是一种无监督学习。
输入:图片-文本对
分别进入Encoder,生成特征
特征形成如图的特征矩阵
把图中的对角线(即图片和文本配对的情况)作为正样本,其余(非对角线位置,即图片和文本不配对)的作为负样本,进行对比学习。
推理:
以下游任务是ImageNet分类为例,是用待识别图片给到图片编码器,再去和ImageNet的1000个分类词做相关性匹配,把相关性最大的词挑出来,即完成分类。
Prompt template
Clip这篇论文后面提出了prompt engineering和prompt ensemble两种方式来提高模型的准确率。
为什么要做:
- Prompt的多义性
- 预训练时基本都是一个句子,很少是一个单词,可如果做推理的时候,输入只是单词,抽取出来的特征可能就不好
CLIP的解决方案:Prompt template:“A photo of a {label}”
使用了这个template后,准确度提升了1.3%
ensmble:
混精度计算(Mixed-precision)在涉及Transformer的论文中经常被使用。
有很多工程上的优化才能在这么大的数据集上训练起来。
Linear Probe,冻住主体,抽特征,只微调分类头
Clip的有趣应用:
- 生成图
- 物体分割和检测
- 视频检索(可以做OCR了)
- 。。。
因为迁移性好,就可以摆脱基础类的限制
论文共48页,篇幅非常长,12个作者全部来自openai
之前的那些方法没有这么大的数据集,没有这么多的算力, 没有这么大的模型,没有这么好的自监督训练的方式, 所以大家的效果都不好(特别是zero-shot)
**Mahajan et al.(2018)**搜集了Ins的图片+标签来作为数据集。【给了CLIP启发】
之前的这些方法,和借助NLP去学习图像表征的方法,最大的区别在规模(数据的规模和模型的规模)
大力出奇迹!
用自然语言信号来训练视觉模型,好处非常多
- 你不需要再去标注这些数据了(这个过程很复杂),现在只需要去网上下载图片文字的配对,别的都不需要做,数据的规模很容易就变大。而且,因为监督信号是文本,比起N选1的标签,模型输入输出的自由度会大很多。
- 由于训练的时候把图片和文字绑到了一起,所以学到的是一个多模态的特征,而不只是一个视觉特征。和语言联系在一起后,就很容易做zero-shot的迁移学习了。但如果只是做一种单模态的自监督学习的话,你都只能学到视觉的特征,而无法和自然语言联系到一起,这样还是很难去做zero-shot的迁移。
由于没有符合OpenAI要求的大数据集,选择自己做一个,这个新的大数据集不光带来了CLIP,还有DallE
CLIP的不足和局限性:
1.文章很多情况下是和res50作比较,但是在大多情况下res50根本不是sota。CLIP性能虽强,但是还没到不可一世,比Sota差,要是通过扩大模型规模来弥补十几个点的差距,预估增加1000x
2.在某些数据集如细分类、数物体等任务,性能不如res50。在很多情况下CLIP的zero-shot性能并不好。
3.如果做推理的数据离训练数据相差很远,那么泛化性能也会很差,如MNIST,准确率才88%
4.得让image-text对应。后续可以考虑再加入图像题目生成的模型,将该生成式目标函数与对比学习目标函数结合。
5.对数据利用并不是很高校,数据量太多了,32个epoch*4亿个样本。
6.对下游数据集反复做测试,无形之中带入了偏见。选取的27个数据集并不具有代表性。
7.OPENAI经常说的局限性:从网上爬的数据没有经过过滤和清洗,导致模型可能带有性别、肤色等的偏见。
8.有些情况下few-shot性能不如zero-shot,耐人寻味。后续研究怎么才能让CLIP无论在few-shot还是zero-shot都做的很好。
clip的最大的贡献:打破了固定种类标签的范式。
clip的最大的贡献:打破了固定种类标签的范式。
这篇文章的工作质量很高:
新意度,有效性,问题大小:三个维度都是100分:100x100x100
原文地址:https://blog.csdn.net/weixin_52002028/article/details/140574533
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!