CLIP | 打破文本图像次元壁

1 贡献

CLIP是文字图片的多模态工作

CLIP的迁移效果非常好。不同风格数据集的ZeroShot推理能力超强

在分类 ,物体检测和分割,视频检索都很多视觉下游任务都可以用CLIP取得有监督学习的效果

采用利用自然语音信号的监督信号来进行训练

提出了高质量的文本图片对数据集

2 方法

2.1 预训练

输入是文字和图片的一个配对

CLIP包括两个模型:Text EncoderImage Encoder,其中Text Encoder用来提取文本的特征,可以采用NLP中常用的text transformer模型;而Image Encoder用来提取图像的特征,可以采用常用CNN模型或者vision transformer VIT。

如下图

图片经过图片编码器编码Text Encoder得到图片特征

句子经过文字编码器编码Image Encoder得到文字特征

CLIP | 打破文本图像次元壁_第1张图片

接下来要进行的就是配对任务了 所以作者爬了一个四个亿的数据集

这里用自然语言用来引导分类的好处:

(1)避免了大范围的标注工作,只需要下载图片和文字的配对即可,使得大规模数据集更容易获得

(2)标注是文本,而不是那种n选1的标签,模型的输入自由度就大了很多

(3)图片和文字绑定到一起,学习到了多模态的特征,容易Zeroshot迁移

正样本 负样本定义?

这里共有N个正样本,即真正属于一对的文本和图像(矩阵中的对角线元素),而剩余的N^2−N个文本-图像对为负样本,那么CLIP的训练目标就是最大N个正样本的相似度,同时最小化N^2−N个负样本的相似度,对应的伪代码实现如下所示:

CLIP | 打破文本图像次元壁_第2张图片

对比学习的高效性,比gpt的预训练的方式更高效

把预测性的目标函数(gpt)换成了对比性的目标函数,训练效率提高了4倍,

怎么去做推理?没有分类头

算相似度的方式,算有哪些物体

2.2 做Zero-Shot推理分类

CLIP | 打破文本图像次元壁_第3张图片

推理很简单,两步

(1)根据任务的分类标签构建每个类别的描述文本:A photo of {label},然后将这些文本送入Text Encoder得到对应的文本特征,如果类别数目为N,那么将得到N个文本特征。

因为预训练时候是句子(而且同时由于文本多义性),所以推理的时候,将单词改为句子A photo of {物体}

(2)将要预测的图像送入Image Encoder得到图像特征,然后与N个文本特征计算缩放的余弦相似度(和训练过程一致),然后选择相似度最大的文本对应的类别作为图像分类预测结果,进一步地,可以将这些相似度看成logits,送入softmax后可以到每个类别的预测概率。

3.CLIP还可以做什么

图像检索

基于文本来搜索图像是CLIP最能直接实现的一个应用,其实CLIP也是作为DALL-E的排序模型,即从生成的图像中选择和文本相关性较高的。

视频理解

CLIP是基于文本-图像对来做的,但是它可以扩展到文本-视频,比如VideoCLIP就是将CLIP应用在视频领域来实现一些zero-shot视频理解任务。

图像编辑

CLIP可以用在指导图像编辑任务上,HairCLIP这篇工作用CLIP来定制化修改发型:

图像生成

CLIP还可以应用在图像生成上,比如StyleCLIP这篇工作用CLIP实现了文本引导的StyleGAN:

自监督学习

最近华为的工作MVP更是采用CLIP来进行视觉自监督训练:

你可能感兴趣的:(读论文,深度学习,transformer)