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高级征程:《大型网站技术架构》读书笔记系列
一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...
随机推荐
- Docker 搭建 Wordpress 个人博客
Docker安装 更新软件库(可选),将所用到的yum软件更新到最新 yum -y update docker一键安装命令: curl -fsSL https://get.docker.com | b ...
- 多项式 I:拉格朗日插值与快速傅里叶变换
1. 复数和单位根 前置知识:弧度制,三角函数. 1.1 复数的引入 跳出实数域 \(\mathbb R\),我们定义 \(i ^ 2 = -1\),即 \(i = \sqrt {-1}\),并在此基 ...
- ios网络协议从http变成https
最近发了一个很蛋疼的事,iphone16.x以后的系统浏览器自动将http请求切换为https请求了 工程自测 1.在ihone14 pro max,iOS16.1的手机上用http请求是失败的,在i ...
- 数学 in OI-数论-1
数论 \(1\) \(1.\) 质数 定义就不说了吧. 性质 \(\&\) 定理 质数 \(p\) 有且仅有两个质因子 \(1\) 和 \(p\) . 质数有无穷个. \([1,\, n]\) ...
- 通过一个示例形象地理解C# async await异步
前言 相信大家看过不少讲C# async await的文章,博客园就能搜到很多,但还是有很多C#程序员不明白. 如果搞不明白,其实也不影响使用.但有人就会疑惑,为什么要用异步?我感觉它更慢了,跟同步有 ...
- 图解B树及C#实现(3)数据的删除
目录 前言 从叶子节点删除数据 从非叶子节点删除数据 提前扩充只有 t-1 的 Item 的节点:维持 B树 平衡的核心算法 从左兄弟节点借用 Item 从右兄弟节点借用 Item 与左兄弟节点或者右 ...
- 单线程架构的Redis如此之快的 4 个原因
前言 作为内存中数据存储,Redis 以其速度和性能着称,通常被用作大多数后端服务的缓存解决方案. 但是,在内部,Redis 采用单线程架构. 为什么单线程设计依然会有这么高的性能?如果利用多线程并发 ...
- 顺手写的redis分布式锁
/** * 锁定一个key,***一定要手工释放锁 * * @param key * @return */ public boolean lockKey(String key) { return re ...
- Ribbon负载均衡 (源码分析)
Ribbon负载均衡 SpringCloud已经删除了ribbon组件,所以需要手动导入依赖.(要学是因为很多项目业务已经使用了ribbon) 服务拉取的时候添加了@LoadBalanced注解,实现 ...
- NOIP2022 总结
\(\text{summary}\) 怎么都没想到这次题目那么有新意:把这样的题 \(T2\) 放 \(T2\)...... 策略出现很大问题,赛后也意识到很多选手也会出现同样的问题:死磕 \(T2\ ...