ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新(2)

简介: ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新

用CLIP做Zero-shot分类


从上面的描述中可以知道,图像和文本编码器可以创建一个512维的向量,将输入的图像和文本输入映射到相同的向量空间。


用CLIP做Zero-shot分类也就是把类别信息放入到文本句子中。


举个例子,输入一张图像,想要判断其类别为汽车、鸟还是猫,就可以创建三个文本串来表示类别:


T1代表车:a photo of a car

T2代表鸟:a photo of a bird

T3代表猫:a photo of a cat


将类别描述输入到文本编码器中,就可以得到可以代表类别的向量。


假设输入的是一张猫的照片,用 ViT 模型对其进行编码获取图像向量后,将其与类别向量计算余弦距离作为相似度,如果与T3的相似度最高,就代表图像的类别属于猫。



可以看到,类别标签并不是一个简单的词,而是基于模板「a photo of a {label}」的格式重新改写为一个句子,从而可以扩展到不受训练限制的类别预测。

实验中,使用该prompt模板在ImageNet的分类准确性上提高了1.3个百分点,但prompt模板并不总是能提高性能,在实际使用中需要根据不同的数据集进行测试。


Python实现


想要快速使用CLIP做zero-shot分类也十分容易,作者选取了Hugging Face中的frgfm/imagenette数据集作为演示,该数据集包含10个标签,且全部保存为整数值。



使用 CLIP进行分类,需要将整数值标签转换为对应的文本内容。



在直接将标签和照片进行相似度计算前,需要初始化 CLIP模型,可以使用通过 Hugging Face transformers找到的 CLIP 实现。



文本transformer无法直接读取文本,而是需要一组称为token ID(或input _ IDs)的整数值,其中每个唯一的整数表示一个word或sub-word(即token)。



将转换后的tensor输入到文本transformer中可以获取标签的文本embedding



注意,目前CLIP输出的向量还没有经过归一化(normalize),点乘后获取的相似性结果是不准确的。



下面就可以选择一个数据集中的图像作测试,经过相同的处理过程后获取到图像向量。



将图像转换为尺寸为(1, 3, 224, 224)向量后,输入到模型中即可获得embedding



下一步就是计算图像embedding和数据集中的十个标签文本embedding之间的点积相似度,得分最高的即是预测的类别。



模型给出的结果为cassette player(盒式磁带播放器),在整个数据集再重复运行一遍后,可以得到准确率为98.7%



除了Zero-shot分类,多模态搜索、目标检测、 生成式模型如OpenAI 的 Dall-E 和 Stable disusion,CLIP打开了计算机视觉的新大门。


参考资料:https://twitter.com/hardmaru/status/1619270829828874240https://laion.ai/blog/giant-openclip/https://www.pinecone.io/learn/zero-shot-image-classification-clip/

相关文章
|
存储 Java Android开发
Android系统升级的机制概要
Android系统升级的机制概要
857 0
|
机器学习/深度学习 自动驾驶 计算机视觉
目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点
目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点
827 0
|
安全 架构师
【企业架构】什么是 TOGAF? 企业架构方法论
【企业架构】什么是 TOGAF? 企业架构方法论
|
虚拟化
【2025最新】VMware Workstation Pro 虚拟机基础配置教程,方便你的神操作!
VMware Workstation Pro 是一款强大的虚拟化工具,本文简要介绍其基本配置与操作。安装后,用户可以通过“编辑菜单 > 首选项”设置虚拟机保存路径、是否显示托盘图标等全局配置。新建虚拟机时,需选择操作系统类型、配置处理器、内存、网络和硬盘等参数。建议根据主机硬件性能合理分配资源,避免过度占用。创建完成后,用户可加载 ISO 镜像文件安装所需操作系统。通过这些步骤,您可以轻松搭建并管理多个虚拟环境。
4935 11
【2025最新】VMware Workstation Pro 虚拟机基础配置教程,方便你的神操作!
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
大模型(LLM)从入门到精通:测试人的技术跃迁指南
大模型正快速融入测试全流程——从用例生成、脚本编写到日志分析。本文用实战视角带你搞懂LLM核心原理、落地场景与避坑指南,手把手教你从“会用”进阶到“会赋能”,做那个驾驭AI的超级测试工程师。
|
弹性计算
阿里云3M带宽云服务器并发多大?阿里云3M带宽云服务器测评参考
在探讨云服务器3M带宽能支持多大并发这一问题时,我们首先要明白一个关键点:并发量并非仅由带宽决定,还与网站本身的大小密切相关。一般来说,一个优化良好的普通网站页面大小可能只有几K,为便于计算,我们可以暂且假定每个页面大小为50K。
1853 1
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型:智能天气预测与气候分析
使用Python实现深度学习模型:智能天气预测与气候分析
2163 3
|
SQL 存储 缓存
Apache Doris 2.1.6 版本正式发布
2.1.6 版本在 Lakehouse、异步物化视图、半结构化数据管理持续升级改进,同时在查询优化器、执行引擎、存储管理、数据导入与导出以及权限管理等方面完成了若干修复
465 6
|
缓存 安全 Linux
docker镜像管理问题
【10月更文挑战第3天】
313 1
|
程序员
带你读《电路基础》之一:基本概念
本书内容采用简明易懂的风格,介绍了六步解决问题的方法,并在实践中的问题和实践问题,结合了超过468个新的或改变家庭作业问题。涵盖了全面的线性电路分析的方法,并保留了“设计一个问题”的功能,这有助于学生发展他们的设计技能,有学生发展的问题,以及解决方案。

热门文章

最新文章