CLIP 读书笔记
论文:Learning Transferable Visual Models From Natural Language Supervision
CLIP: Contrastive Language-Image Pre-training
文中27个数据集简介:
数据集 | 简要描述 | 数据集类型 |
---|---|---|
StanfordCars | 196类小汽车, 16185张图片 | 细粒度分类 |
Country211 | 211个国家的带有GPS信息的图片,以评估视觉预测地理定位能力 | ? |
Food101 | 101种食物,101k张图片 | 细粒度分类 |
Kinetics700 | 700种人类动作,每个动作700个视频片段 | 细粒度分类 |
SST2 | 文本情感分析数据集 | ? |
SUN397 | 场景理解数据集,899个场景130k张图片 | 粗分类 |
UCF101 | 101种人类行为动作数据集 | 细粒度分类 |
HatefulMemes | 可引起仇恨多模态图文对数据集 | ? |
CIFAR10 | 10种类别数据集 | 粗分类 |
CIFAR100 | 100中类别数据集 | 粗分类 |
STL10 | 类似cifar数据集,每个类别有大量无标注图片 | 粗分类 |
FER2013 | 7分类表情数据集 | 细粒度分类 |
Caltech101 | 101种类别数据集 | 粗分类 |
ImageNet | 1000种类别数据集 | 粗分类 |
OxfordPets | 猫狗数据集 | 细粒度 |
PascalVOC2007 | 物体检测数据集 | 粗分类 |
Birdsnap | 500种鸟类数据集49k张图片 | 细粒度 |
MNIST | 10个数字分类 | 粗分类 |
FGVCAircraft | 102种飞机数据集,每一类100张图片 | 细粒度 |
RESISC45 | 45种遥感场景图片数据集 | 粗分类 |
Flower102 | 102种花朵数据集,每种40-258张 | 细粒度 |
DTD | 纹理数据集 | 粗分类 |
CLEVRCounts | 合成的视觉问答数据集 | 粗分类 |
GTSRB | 德国交通信号灯分类数据集 | 粗分类 |
PatchCamelyon | 淋巴切片组织病理学扫描 | 粗分类 |
KITTI Distance | 移动机器人和自动驾驶距离预测 | 回归 |
EuroSAT | 遥感卫星图片10种类别 | 粗分类 |
论文针对27个数据集,关于零样本CLIP与全监督ResNet50基准模型进行对比。参考下图
(1)在细粒度分类数据集上,在有的数据集如StandfordCars和Food101上明显由于基准ResNet50 20个百分点;而在有些数据集上如Flowers102和FGVCAircraft上则明显低于基准10个百分点。论文猜测是由于不同监督任务的数据量有很大区别,但是结合上面粗略统计这4个细粒度数据集,类别的数量和每个类别下图片的数量都没有太大区别。
(2)Kinetic700和UCF101是人类动作分类数据集,零样本学习CLIP方法比基准方法高 10百分点上下。论文解释自然语言为涉及动词的视觉概念提供了更广泛的监督,而单纯的视觉监督任务主要以名称为主。
(3)零样本学习CLIP方法在更专业的复杂的抽象的任务上如遥感图像分类如EuroSAT和RESISC45,淋巴结肿瘤检测如PatchCamelyon,合成场景物体计数CLEVRCounts,自动驾驶相关的交通信号识别GTSRB,最近汽车距离识别KITTI Distance这些任务上,该方法表现比基准方法差很多。但是非专业人员在如卫星图片分类、计数、交通信号灯识别变现很稳健,说明零样本学习CLIP方法还有很大的改进空间。但是对于一些专业性很强的任务中,如淋巴结肿瘤辨别,即使是非专业人员也很难识别。零样本学习方法相比小样本学习方式,哪个更合适还有待进一步讨论。
Fig. 1
Zero-CLIP方法与few-shot方法对比
直觉认为Zero-shot方法会比few-shot方法性能差,实际表现是Zero-CLIP方法相当于基于相同特征空间 4-shot 线性分类方法。之所以如此,是由于这两种方法的区别。基于CLIP 的Zero-shot分类器,具备自然语言和视觉区分能力,还学习到了语言域和视觉域之间的关联。而常规的监督学习方法,并不能直接从训练样本中学习到概念(分类任务都会把类别标签都转换为0,1,2,……这些数字),另外图片中,经常包含多个不同视觉主体,而标签仅仅给出的其中的一个。
Linear probe CLIP:指基于CLIP特征,进行分类器单独训练。基于上述分析,Linear Probe CLIP 在开始1-shot,2-shot时还不如 Zero-Shot CLIP,单独训练分类器反而更差了。当每个类别变多时,效果才逐渐超过Zero-shot CLIP方法。在20个数据集上验证了,Zero-CLIP方法相当于基于相同特征空间 4-shot 线性分类方法。而基于其它Backbone提取的特征进行16-shot 分类,都不如Zero-Shot CLIP 方法。而16-shot CLIP 比16-shot 其它backbone方法高出10个百分点。
Fig. 2
Fig1是 Zero-CLIP方法与ResNet50监督方法进行对比,而Fig3是Zero-CLIP方法与基于CLIP特征空间的few-shot性能对比,这个对比是要求few-shot达到Zero-CLIP方法一样性能下数据集每个类别所需要的最少数量。Fig2表明基于CLIP特征的few-shot 并未都超过了Zero-CLIP,只有few-shot的每个类别数量超过一定数量如4-shot,才超过Zero-CLIP。
从Fig.3看出,达到Zero-CLIP的性能,在不同数据集上,基于CLIP特征训练分类器,不同数据集每个类别样本数量是不相同,从不到1个到最大的要求184个。
CLIP 读书笔记的更多相关文章
- 《android开发艺术探索》读书笔记(六)--Drawable
接上篇<android开发艺术探索>读书笔记(五)--RemoteViews [BitmapDrawable] 简单的图片 <!xml version="1.0" ...
- 6 Specialzed layers 特殊层 第一部分 读书笔记
6 Specialzed layers 特殊层 第一部分 读书笔记 Specialization is a feature of every complex organization. 专注是 ...
- 4 Visual Effects 视觉效果 读书笔记 第四章
4 Visual Effects 视觉效果 读书笔记 第四章 Well, circles and ovals are good, but how about drawing r ...
- 读书笔记 - js高级程序设计 - 第十五章 使用Canvas绘图
读书笔记 - js高级程序设计 - 第十三章 事件 canvas 具备绘图能力的2D上下文 及文本API 很多浏览器对WebGL的3D上下文支持还不够好 有时候即使浏览器支持,操作系统如果缺缺 ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 读书笔记--SQL必知必会18--视图
读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...
- 《C#本质论》读书笔记(18)多线程处理
.NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...
- C#温故知新:《C#图解教程》读书笔记系列
一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- Web高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- [生命科学] 生物基础实验之PCR验证
生物基础实验之PCR验证 文章目录 生物基础实验之PCR验证 实验步骤一 实验步骤二 实验步骤三 配胶 实验步骤四 电泳 实验步骤五 跑胶 实验步骤一 在离心管加入7.5μL Master Mix 溶 ...
- python之路54 forms组件 渲染 展示 参数补充 modelform组件 django中间件
forms组件渲染标签 <p>forms组件渲染标签的方式1(封装程度高 扩展性差 主要用于本地测试):</p> {# {{ form_obj.as_p }}#} {# {{ ...
- 【Basic Knowledge】Self-Attention Generative Adversarial Networks
Note 这是一篇将Self-Attention应用到GAN中的paper,Self-Attention模块是卷积模块的补充,能够有助于建模跨图像区域的长范围.多层次依赖关系.文中主要提到4点: ...
- angular11给Echarts添加点击事件,无脑抄代码的时候到了~~ 超好用
关于引入Echarts的方法在此 直通车在此 接下来就是添加点击事件,获取X轴的数据 <div echarts #charts [options]="chartOption" ...
- angular打包出现JavaScript堆内存不足、启动也会内存溢出解决办法\increase-memory-limit' 不是内部或外部命令,
## 打包出现JavaScript堆内存不足 最近打包遇到这种报错 Ineffective mark-compacts near heap limit Allocation failed - Java ...
- IO多路复用完全解析
上一篇文章以近乎啰嗦的方式详细描述了BIO与非阻塞IO的各种细节.如果各位还没有读过这篇文章,强烈建议先阅读一下,然后再来看本篇,因为逻辑关系是层层递进的. 1. 多路复用的诞生 非阻塞IO使用一个线 ...
- 双缓冲技术解决MFC绘制闪烁问题
闪烁的根源:OnEraseBkgnd一擦一写造成了图象颜色的反差导致闪烁 如何避免:首先要做的是屏蔽背景刷新.背景刷新其实是在响应WM_ERASEBKGND消息.我们在视类中添加对这个消息的响应 BO ...
- Djanngo-bbs项目
1.项目开发基本流程 1.需求分析 2.架构设计 3.分组开发 4.提交测试 5.交付上线 2.项目流程 仿造博客园项目(核心:文章的增删改查) 1.表分析: 1.1用户表 1.2个人站点表 1.3文 ...
- 【学习日志】Java8的CompletableFuture
Java 8引入的CompletableFuture,对Future做了改进: 1.可以传入回调对象,不再像Future那样循环查询执行结果. 2.另外可以将多个Future结合到一起并行或串行执行, ...
- .net NPOI Excel导入:时间格式2022/5/26导入变成26-5月-2022
1.问题由来 在做一个导入的需求时,测试导入模板,无论导入模板里的日期设置成何种日期格式到代码中都会提示有不正确的格式化数据,加断点调试发现,导入的日期如:Excel表格中是2022/5/26,断点看 ...