首页IT科技CLIP技术(深度学习–CLIP算法(文本搜图片,图片搜图片))

CLIP技术(深度学习–CLIP算法(文本搜图片,图片搜图片))

时间2025-04-29 11:58:02分类IT科技浏览3771
导读:1. CLIP简介   CLIP全称Constrastive Language-Image Pre-training,是OPAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本...

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用了4亿的图像文本对进行训练                 。伪代码如下:

编码 :通过图像&文本编码器           ,得分图像和文本特征           。 投影:首先通过投影矩阵将图像及文本特征映射到相同的维度大小      ,在进行L2 normalization (使得之后的点积操作直接等效于cosine similarity) 相似度计算:点积运算计算文本-图像的cosine similarity                  ,得到 n x n 矩阵的logits(模型预测)           ,越接近1则说明模型预测该文本-图像对是配对的,否则不配对      。 计算loss:已知 logits 矩阵对角线的文本和图像是配对的                  ,非对角线元素不配对                 ,因此构造训练标签 np.arange(n),然后分别在图像维度(axis=0) 和文本维度(axis=1)计算loss                  。以图像维度为例简单说明一下这里的逻辑            ,因为在计算相似度的时候                 ,图像特征矩阵@文本特征矩阵得到的 n x n 矩阵      ,第一个n 代表的图像            ,因此我们在axis=0 计算图像维度的loss           。

3. CLIP模型优缺点总结

优点

zero-shot做得好                 ,经过在400million大的未清洗的数据集上训练      ,在不同的数据集上表现还可以      ,可以自定义任务                 ,而且效率很高。 高效           ,虽然GPT3做zero-shot也很好      ,但是CLIP吃的资源少                  ,计算量少           ,训练效率高                  。最好的一版CLIP只在256个GPU上训练两周就好了,跟目前图像领域的其他大模型都差不多                 。 灵活和通用:因为他们直接从自然语言中学习广泛的视觉概念                  ,CLIP明显比现有的ImageNet模型更灵活和通用。我们发现他们能够轻松地完成许多不同的任务            。

缺点

虽然CLIP通常在识别普通物体方面表现良好                 ,但在更抽象或更系统的任务上却表现不佳                 。比如计算图像中物体的数量,以及在更复杂的任务上            ,比如预测照片中最近的汽车距离有多近      。在这两个数据集上                 ,零射剪辑只比随机猜测好一点点            。与特定任务模型相比      ,Zero-shot CLIP在非常细粒度的分类上也很困难            ,比如区分汽车模型           、飞机变体或花卉种类之间的区别                 。 对于未包含在其预训练数据集中的图像                 ,CLIP的泛化效果也很差      。例如      ,尽管CLIP学习了一个有效的OCR系统      ,但当从MNIST数据集评估手写数字时                 ,zero-shot CLIP仅达到88%的准确率           ,远低于数据集上99.75%的人的准确率      。(其实还行      ,毕竟不是专门在MNIST上跑的)

4. CLIP模型开源方案

OPENAI方案:

github代码地址

论文介绍

中文CLIP方案:

中文clip

CLIP图片搜索演示Demo

CLIP视频搜索演示Demo

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

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
如何快速提升seo排名软件(如何快速提升SEO排名) 实体抽取 定义(【关系抽取】深入浅出讲解实体关系抽取(介绍、常用算法))