测试 CLIP zero-shot learning | 深度学习
1. 什么是 CLIP
CLIP 是 OpenAI 在Learning Transferable Visual Models From Natural Language Supervision
提出的多模态的预训练模型,CLIP 利用文本和图像的配对数据,基于对比学习的方式训练的预训练模型,对于方便迁移到下游任务,如图像分类识别,精细图像分类,OCR,动作识别和地理信息定位等等。
以往的视觉模型,都是基于一定场景下监督训练的出来的,这种受限制的监督形式限制了它们的通用性和可用性,如增加一个类别,就要重新收集数据,重新迭代模型。虽然有 few-shot learning 或者 zero-shot learning,但是性能远不如监督学习的模型。
CLIP(Contrastive Language-Image Pre-training)用文本的监督方式,在 4 亿数据集上可以有效的迁移到新的任务。
CLIP 分别对文本和图像训练两个 Encode 模型,并用相似度度量的方式进行监督。可以构造(image, text)的配对方式,通过计算相似度来判断配对是否相关。
2. CLIP 图像分类识别测试
CLIP 可以用来做什么?我们用来做下图像分类的测试:
CLIP 本质上是建立文本和图像的相关性,对文本和图像进行编码。从代码可知,CLIP 用在图像分类上:
图像分类的类别构建 text,并用 clip 进行编码
对图像进行编码
计算图像和类别的编码的相似性
取相似性最大的类别
CLIP 论文给出许多构建类别的文本的 text,如"a photo of 《label》"
CLIP 是不是可以做一个万物识别的分类模型?
3. CLIP 的其他用途
CLIP 建立了 text 和 image 的关系,那么 CLIP 可以应用的场景:
给图生成一个文本说明
以文本搜图
以文本生成图片,这个就是现在很多的 AIGC(如 DALE-2,Stable Diffusion),是在 CLIP 基础上加上扩散模型来生成图像
最近对 CLIP 优化的总结:
Democratizing Contrastive Language-Image Pre-training: A CLIP Benchmark of Data, Model, and Supervision
版权声明: 本文为 InfoQ 作者【AIWeker】的原创文章。
原文链接:【http://xie.infoq.cn/article/8562216a9c5081b5bc0b9471e】。文章转载请联系作者。
评论