目录

1.引言

2.架构

3.Bag of Words和对比型目标函数来加速训练

4.伪代码

5.prompt engineering and ensembling

6.Linear Probe

7.CLIP与人对比

8.CLIP的局限性


1.引言

视觉语义与文本语义联系起来,学到的特征非常强,迁移的效果非常好。利用NLP的监督信号,学习一个迁移性能很好的视觉模型。文字图片的多模态工作,文字图片配对。

ImageNet128万数据集上CLIP使用zero-shot(不用ImageNet训练)的训练效果,和resnet50在ImageNet上做有监督的训练效果一样好。

2.架构

1.对比学习预训练,文本和图片分别经过编码器得到特征。对角线上为n个正样本对,其他位置为n2-1负样本对。图片特征与文本特征建立了联系,此时模型从图片学到的特征可能不仅仅是图片本身的特征,还有文本的语义信息openAI自建大规模的数据集WIT(webimage text)

2.zero-shot推理,prompt template。单词变成句子(预训练时是句子,避免distribution gap),再经过预训练好的文本编码器,得到文本特征

3.测试图片经过预训练好的图片编码器,得到图片的特征。将图片特征与文本特征进行cos相似度计算,进行匹配

与图片对应的文本可以看做高级标签,文本与图像建立了联系,文本引导模型从图片中提取文本的语义信息。

CLIP训练的特征与用语言描述的物体产生了强烈的联系。

NLP领域,BERT、GPT,自监督的方式(MLM  Mask Language Model; NSP next sentence Prediction)训练,提取文本特征,目标函数与下游任务无关。但在视觉CV领域,还是在imagenet上有监督的预训练一个模型去做迁移。

VirTex自回归的预测方式预训练,ICMLM完形填空预训练,ConVIRT 和CLIP很相似,但模型数据规模不够大,此时没有transformer,因此效果并不是很好。文本带来的弱监督信号去帮助有监督模型做得更好。但仍存在局限性,还是需要制定标签列表,固定的softmax分类头无法随心所欲,去检测任何想检测的类。

核心:自然语言的监督信号去训练视觉模型。

NLP领域利用上下文信息(完型填空)的自监督模型简单、泛化性好,为多模态的模型铺平道路。优点就是不需要标注数据,只需要下载图片文本的配对,学到的特征是多模态特征。moco,MAE只能学到视觉特征,不好做zero-shot迁移。

3.Bag of Words和对比型目标函数来加速训练

加速训练的两个方法

(1)根据图片逐字逐句预测文本,太难了。Bag of words,文本被抽象成一种特质,相应的约束被放宽了。

(2)预测型prediction目标函数换成对比型contrastive目标函数,加速训练

4.伪代码

对角线上是正样本,range(实现)

5.prompt engineering and ensembling

使用了线性投射层,没有像moco,simclar一样使用非线性投射层(FC+RELU)。也只使用了随机裁剪的数据增强。temperature设置成了可学习的参数。文本使用了transformer,图片可以使用transformer和resnet。

zero-shot transfer:用文本引导做zero-shot迁移。目标:图像经过图像编码器得到的特征要和文本得到的特征(引导,两种特征建立了联系)非常相近。

之前无监督领域就是去学一种泛化性比较好的特征,但即使学到了特征,应用于下游任务时,还是需要根据标签去做微调,这就有标签不好收集、distribution shift等问题。CLIP就想训练一个模型,迁移时不再微调

prompt engineering and ensembling:prompt提示,文本引导作用

(1)多义词。不同语境下单词含义不同。因此语境信息也很重要。

(2)预训练时抽取句子特征来匹配文本,推理时,如果使用单个单词,存在distribution gap,抽取的特征并不是很好。To help bridge thisdistribution gap, we found that using the prompt template“A photo of a {label}.” to be a good default that helps specify the text is about the content of the image.

For instance, just using this prompt improves accuracy on ImageNet by 1.3%.

如果提前知道一些信息(先验知识),比如Oxford-IIIT Pets数据集都是动物,使用模板 “A photo of a {label}, a type of pet.” Food101数据集都是食物,使用模板“A photo of a {label}, a type of food.”总的来说,可以加入形容词,使用嵌入空间代替整个的可能空间,使得结果更加准确。We construct the ensemble over the embedding space instead of probability space.

6.Linear Probe

Linear Probe:冻住抽取特征层(features),只训练分类头作微调。

图5中,对于车、食物、CIFAR10、CIFAR100这些普通物体分类,CLIP可以很好的做zero-shot迁移,可以理解为图片中有可以描述出来的物体,那对应的文本里应该也有这种描述,就可以很好的匹配。但是对于DTD这种对纹理分类的数据集,或者CLEVR Counts这种计数的任务,太抽象了,没有标签信息就太难了。但即使没有先验知识,这些任务人也可以稳健的做好,比如计数,交通信号灯的识别等。但是,如果对于没有先验知识的人来说,有些任务也很难,比如肿瘤分类,这对于CLIP就更难了。

图6中,进行了few shot(Linear probe)与其他有监督模型的对比。在一个大的数据集上做预训练,然后每个类别看1/2/4/8/16个(横坐标)样本做微调。

预训练后,下游任务用全部数据微调

Linear probe:只训练最后的分类头;Fitting a linear classifier on a representation extracted from the model and measuring its performance on various datasets is a common approach.

Fine-tune整个网络放开,更新所有层参数。An alternative is measuring the performance of end-to-end fine-tuning of the model.

Fine-tune往往要比Linear probe好很多,但由于CLIP就是为了研究跟下游任务数据集无关的研究,冻住特征提取层才好比较迁移性能(泛化性)。

7.CLIP与人对比

将CLIP与五个人的分类结果比较,CLIP精度要比人高出不少。

上图是说对于人来说比较难分类的的种类,CLIP也觉得难一些,原因大概是因为,不经常出现在人视野中的类别,在文本信息中出现的次数也少一些,CLIP更难学到这些特征。因此人和CLIP都做得不是很好。

8.CLIP的局限性

(1)可以和resnet50打成平手,但SOFT的模型还存在十几个点的差距。大概还需要1000倍的规模才可以弥补上十几个点的这个差距。

(2)有些数据集上效果并不好,比如抽象的特征(计数、纹理,处理异常:CLIP不懂什么是异常)。

(3)推理时的数据集与训练的数据集分布差的很大,out of distribution。泛化性还不行,比如MNIST。分析原因,这是人为创造的数据集,与训练用的WIT数据集相差还是很大。

(4)还是需要手动添加文本信息与图片匹配,无法自动生成标题

(5)对数据的利用不是很高效,还需要大量的数据。400million个样本跑了32个epoch,相当于过了12.8billion个数据。自监督,伪标签的方式。

(6)每次测试调参都用了imagenet,并非真正的zero-shot。

(7)OpenAI自建的数据集WIT数据没有清洗。

python的学习还是要多以练习为主,想要练习python的同学,推荐可以去看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费。

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网求职之前,先上牛客,就业找工作一站解决。互联网IT技术/产品/运营/硬件/汽车机械制造/金融/财务管理/审计/银行/市场营销/地产/快消/管培生等等专业技能学习/备考/求职神器,在线进行企业校招实习笔试面试真题模拟考试练习,全面提升求职竞争力,找到好工作,拿到好offer。https://www.nowcoder.com/link/pc_csdncpt_ssdxjg_python

他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。

牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。

快点击下方链接学起来吧!

牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网

CLIP 论文逐段精读【论文精读】_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1SL4y1s7LQ?spm_id_from=333.999.0.0

CLIP Learning Transferable Visual Models From Natural Language Supervision相关推荐

  1. CLIP Learning Transferable Visual Models From Natural Language Supervision (文本和图像的对比学习)--文献翻译和笔记

    论文链接:[2103.00020] Learning Transferable Visual Models From Natural Language Supervision (arxiv.org) ...

  2. CLIP: Learning Transferable Visual Models From Natural Language Supervision

    目录 Introduction Approach CLIP Prompt Engineering and Ensembling Experiments Analysis of Zero-shot CL ...

  3. 【论文视频】Clip:Learning Transferable Visual Models From Natural Language Supervision【多模态,对比学习,迁移学习】

    CLIP:Contrast Language Image Pre-training 文章目录 1. 四个问题 2. 论文介绍 研究动机:zero-shot Clip的预训练 Clip伪代码 Clip的 ...

  4. 重读经典(CLIP下):《Learning Transferable Visual Models From Natural Language Supervision》

    上文链接:重读经典(CLIP上):<Learning Transferable Visual Models From Natural Language Supervision> 5. 实验 ...

  5. CLIP学习笔记:Learning Transferable Visual Models From Natural Language Supervision

    多模态预训练模型CLIP:Learning Transferable Visual Models From Natural Language Supervision 从自然语言监督中学习可迁移的视觉模 ...

  6. CLIP 论文学习笔记《Learning Transferable Visual Models From Natural Language Supervision》

    ​论文标题:Learning Transferable Visual Models From Natural Language Supervision 论文地址:https://arxiv.org/a ...

  7. CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

    CLIP论文笔记--<Learning Transferable Visual Models From Natural Language Supervision> 1.Introducti ...

  8. 【论文简介】CLIP:图像与自然语言配对预训练可迁移模型:Learning Transferable Visual Models From Natural Language Supervision

    论文链接: 2103.Learning Transferable Visual Models From Natural Language Supervision 项目官网: CLIP: Contras ...

  9. CLIP论文翻译、Learning Transferable Visual Models From Natural Language Supervision翻译

    CLIP论文翻译.Learning Transferable Visual Models From Natural Language Supervision翻译 文章目录 CLIP论文翻译.Learn ...

最新文章

  1. win2008 mysql优化_SQL server 2008 数据库优化常用脚本
  2. C里面的scanf那个功能在matlab中实现
  3. Google Desktop 果然
  4. asp.net mvc 缓存CaChe使用
  5. php 两个类 相互调用_如何在 PHP 和 Laravel 中使用 Traits
  6. CVPR 2020丨更精准的视频目标检测:基于记忆增强的全局-局部整合网络的方法
  7. 数据可视化js框架 d3.js入门
  8. /python是什么编程语言
  9. skypebridge.exe 损坏的映像 错误代码 0xc000012f
  10. JavaScript合并两个有序数组
  11. 南京大学计算机学类,南京大学计算机专业怎么样
  12. Python学习笔记(7)文件读写2 Numpy
  13. 剑指 Offer 46. 把数字翻译成字符串 【 c++/java详细题解 】
  14. 自然码双拼 使用总结
  15. 计算机科学家安内尔,历届诺贝尔生理学或医学奖获奖者简介
  16. 图片太大导致 imageView无法显示
  17. php服务映射到端口,映射php错误
  18. 杨紫富豪男友曝光 张一山结婚系剧照乌龙
  19. springboot之微信支付与退款
  20. 关于C语言中“x++”和“++x”的问题

热门文章

  1. 基于卷积神经网络和小波变换的视频监控中的火灾探测
  2. 每日一题860-柠檬水找零
  3. php 坦克大战,js坦克大战以实现炮弹击中目标消失并且记分
  4. 利用Django创建简单app
  5. Pandorabox(Openwrt) 双宽带(WAN) 叠加网络实战
  6. 计算机图形学四:着色-Shading
  7. 赞美之外,Unity引擎3D引擎存在什么弊病?
  8. VScode 直接运行ts文件
  9. 更改Typora宽度
  10. 定制婚礼小程序开发功能