大模型学习笔记------CLIP模型的再思考
- 1、CLIP模型与Prompt(提示)的思考
- 2、CLIP模型与ResNet等分类模型的根本区别
- 3、结束语
上文已经讲 CLIP(Contrastive Language-Image Pretraining)这个模型,也讲了我的一些思考。但是,随着深入的了解,我又有了一些新的想法。
1、CLIP模型与Prompt(提示)的思考
CLIP模型与Prompt(提示)之间最本质的关系就是:CLIP通过Prompt将文字描述与图像进行匹配,实现了无监督情况下的图像分类、检索和理解。
Prompt来源于自然语言,这意味着Prompt可以是具体的描述(如“红色的跑车”)或抽象的概念(如“快乐”),CLIP会在向量空间中找到与该Prompt最匹配的图像。这同样意味着,CLIP可以对具有更细节特征的图像进行分类,比如Prompt为“红色的鸟”或是“飞翔的鸟”,甚至可以直接识别漫画中的各种拟人化的“鸟”,这大大增强了模型的泛化能力。
2、CLIP模型与ResNet等分类模型的根本区别
CLIP模型与深度学习中类似ResNet分类模型的根本区别是什么呢?其实真正明白两者原理的读者很快就能想到问题的关键。但是,这里面有一些细节需要讨论或是思考。
2.1 训练方法完全不同
CLIP模型是跨模态对比学习,通过大量图像-文本对的匹配,将图像和文本映射到同一个共享的向量空间。在这个空间中,图像和相应描述之间的相似度越高,向量距离越近。CLIP并不依赖于固定的标签集,而是通过匹配自然语言提示(prompt)来对图像进行分类,因而具备开放标签分类能力。
ResNet等分类模型是传统的有监督学习,使用传统的有监督分类方法,基于预定义的固定标签进行训练。每张图像都对应一个特定的标签,模型通过学习从图像到标签的映射,最终预测新图像的类别。ResNet无法处理开放标签任务,分类能力被限制在训练时的标签集合中。
他们训练方法的不同也就意味着训练数据、推理过程、多模态的差异等存在较大的区别。这个并不难理解,但是有一个问题让我稍微停顿或是仔细思考了一段时间。
2.2 两种模型都是通过学习哪些内容实现图像分类的?
ResNet等:特征提取与模式识别
ResNet等通过多个卷积层或是transformer等来提取图像的局部特征(如边缘、纹理、颜色块等)或是全局特征。这种方法能够提取图像中越来越高阶、复杂的特征表示,从而逐步形成对整体图像的理解。
在训练过程中,ResNet等学习到每个类别的特征模式和相关的特征空间,将图像映射到预定义的类别中。最终,通过全连接层和Softmax层,模型对图像所属类别进行概率分布预测。
CLIP:对比学习与跨模态匹配
CLIP利用图像-文本对比学习,使图像和文本被映射到同一个向量空间。在这个共享空间中,图像和描述文本之间的相似度越高,它们的向量距离越近。CLIP通过大量的图像-文本对,学习到图像和文字之间的语义关联。即CLIP学习的是图像内容的视觉特征(如场景、物体形状)与自然语言描述的对应关系。
其实,论文中的算法对比结果图很好的说明了这个问题。从对比结果来看,CLIP模型明显在含有部分艺术性的图像中的识别率比ResNet101高很多。这也说明了CLIP学习的是“语义关联”,而ResNet等是特征学习。
2.3 两种方法对样本的要求(样本不均衡的问题)
使用ResNet等模型进行分类任务的朋友们都应该考虑过样本是否均衡的问题。比如我是做医学图像的,较为严重的骨性关节炎的发病率在18-60岁之间发病率很低,在部分样本中的占比不超过5%,退变与正常的病例占比分别在55%与40%左右。如果不考虑样本均衡的问题,训练的模型很可能出现偏移效应与损失失衡等,但是CLIP模型在训练过程会考虑样本不均衡的问题吗?
从理论上,我感觉不用考虑。原因很简单:CLIP模型的标签是通过文本描述实现。 CLIP使用图像-文本对的数据,不需要人工标注的具体标签类别。例如,CLIP可以从网络上的海量图像和文本对进行学习,而不需要对每一类图片进行单一标签的标注,这降低了数据准备的难度,并增强了模型的多模态适应性。
3、结束语
反复学习CLIP模型肯定会有新的收获,如果有其他讨论的问题,希望大家可以在评论区留言和讨论!