1. CLIP简介
1.1 CLIP是什么
CLIP(Contrastive Language-Image Pretraining)模型将原有的图像标签替换为图像的文本描述信息,来监督视觉任务的训练,在下游任务中得到了较好的zero-shot结果。
该模型将图像分类问题转换为图文匹配问题,首先针对图片构造text prompt,并使用CLIP模的text encoder获得文本编码向量,之后将图片通过image encoder获得图像编码向量。
对于图片,计算它与所有text prompt之间的距离(图像编码向量与文本编码向量的余弦相似度/点积),选择距离最近的text prompt标签作为图片的标签。
除此之外,CLIP模型可广泛应用到图像检索、视频理解、图像生成等其它领域。
1.2 CLIP原理
CLIP将语言信息和图像信息联合训练,实现了在下游任务上zero-shot(Zero-shot learning指没有当前类别的训练样本的情况下,让模型学习到一个映射关系可以将样本映射到原有的向量空间,再通过距离判断当前样本可能属于哪一个类别)的能力。
- 训练过程
具体而言,即收集N个图像和文本对,将其按照编码次序排列,可以得到一个N*N矩阵T,训练需要使得对角线上的元素值尽可能大,其余部分值尽可能小,矩阵中的T(i, j)表示第i个文本与第j个文本图像之间的语义相似度。
- zero-shot过程
根据上下文语义建立prompt模板,将分类标签映射到prompt模板得到文本集合&#