发布时间:2023-04-21 文章分类:电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

1. CLIP简介

  CLIP全称Constrastive Language-Image Pre-training,是OPAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本→图像生成任务guidance,open-domain 检测分割等任务上均有非常惊艳的表现,本文将对CLIP做一些初步的介绍。

2. CLIP模型简介

   CLIP的基本算法原理如下,为了对image和text建立联系,首先分别对image和text进行特征提取,image特征提取的backbone可以是resnet系列模型也可以是VIT系列模型,text特征提取目前一般采用bert模型,特征提取之后,由于做了normalize,直接相乘来计算余弦距离,同一pair对的结果趋近于1,不同pair对的结果趋近于0,因为就可以采用对比损失loss(info-nce-loss),熟悉这个loss的同学应该都清楚,这种计算loss方式效果与batch size有很大关系,一般需要比较大的batch size才能有效果。CLIP的模型如下图所示:
深度学习--CLIP算法(文本搜图片,图片搜图片)
   CLIP 能够成功,并且很难自己复现的一个重要原因就是CLIP用了大量的训练数据以及训练资源,真的可以说是大力出奇迹。CLIP用了4亿的图像文本对进行训练。伪代码如下:
深度学习--CLIP算法(文本搜图片,图片搜图片)

3. CLIP模型优缺点总结

优点

缺点

4. CLIP模型开源方案

OPENAI方案:

github代码地址
论文介绍

中文CLIP方案:

中文clip
CLIP图片搜索演示Demo
CLIP视频搜索演示Demo

参考资料:CLIP介绍:连接图像与自然语言