clip论文阅读(Learning Transferable Visual Models From Natural Language Supervision)

目录

  • 摘要
  • [训练pre-train model的过程](#训练pre-train model的过程)
  • [将pre-train model应用于下游任务](#将pre-train model应用于下游任务)
  • 应用(待更新)

论文/项目地址:https://github.com/OpenAI/CLIP

提供了clip的pre-trained model的权重,也可安装使用pre-trained model

摘要

使用标签标注的图像数据集具有规模不足、费时费力的缺点。所以作者提出了使用(text,image)的数据训练预训练模型(pre-train model) ,实验结果表明pre-train model在下游任务(图像分类、ORC等)中表现出色。例如:pre-train model在图像集ImageNet中的ACC高于Resnet(有监督训练的模型)在其上的ACC(准确率)

训练pre-train model的过程

从图中矩阵可看出 正样本为写对角线元素共N个,负样本为其他元素共 N 2 − N N^{2}-N N2−N个。

实现的核心代码如下所示:

1、将输入的图片使用resnet或其他模型提取特征向量I_f,将输入的文本使用transformer或其他模型提取特征向量T_f。

2、对前一步生成的特征向量分别加权重向量生成I_e和T_e。

3、两个向量相乘生成NxN的矩阵logits

4、最大化批处理中N对实数对图像和文本嵌入的余弦相似度,同时最小化 N 2 − N N^{2}−N N2−N对错误对嵌入的余弦相似度。

重点来了labels为[0,1,2...,n-1]的向量,表示正确类别的索引值。

5、总结:模型输入(text,image);输出------text和image的特征向量。最终的目的是训练image encoder和text encoder,其中训练过程中的loss为步骤4中的内容。

将pre-train model应用于下游任务

传统的视觉模型需要在新的数据集上进行微调,而clip可以直接实现zero-shot的图像分类,即不需要任何训练数据,就能在某个具体下游任务上实现分类。

操作步骤:

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

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

应用(待更新)

styleclip

clipdraw

clips

参考:https://openatomworkshop.csdn.net/664ee0a5b12a9d168eb70230.html

相关推荐
Siyu_Zhu1 天前
可解释性AI 综述《Explainable AI for Industrial Fault Diagnosis: A Systematic Review》
论文阅读
寻丶幽风1 天前
论文阅读笔记——双流网络
论文阅读·笔记·深度学习·视频理解·双流网络
学术交流2 天前
2025年金融创新、区块链与信息技术国际会议(FRCIT 2025 2025)
论文阅读·金融·区块链·论文笔记
钟屿2 天前
Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise论文阅读
论文阅读·图像处理·人工智能·深度学习·计算机视觉
0x2112 天前
[论文阅读]ControlNET: A Firewall for RAG-based LLM System
论文阅读
0x2112 天前
[论文阅读]Formalizing and Benchmarking Prompt Injection Attacks and Defenses
论文阅读·prompt
爱补鱼的猫猫3 天前
24、DeepSeek-V3论文笔记
论文阅读
爱补鱼的猫猫4 天前
19、DeepSeek LLM论文笔记
论文阅读
不是吧这都有重名4 天前
[论文阅读]Deeply-Supervised Nets
论文阅读·人工智能·算法·大语言模型
s1ckrain4 天前
【论文阅读】FreePCA
论文阅读·计算机视觉·aigc