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

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 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/

相关文章
|
5月前
|
机器学习/深度学习 传感器 自动驾驶
狂风暴雨依旧YOLO | 全新数据集,全新任务,促进极端降雨条件下目标检测的优化和发展
狂风暴雨依旧YOLO | 全新数据集,全新任务,促进极端降雨条件下目标检测的优化和发展
215 0
|
9天前
|
人工智能 计算机视觉
首次!用合成人脸数据集训练的识别模型,性能高于真实数据集
【10月更文挑战第9天】Vec2Face是一种创新的人脸图像合成方法,旨在解决现有方法在生成具有高区分度身份和广泛属性变化的人脸图像时的局限性。该方法通过使用样本向量作为输入,结合特征掩码自编码器和解码器,能够高效生成大规模人脸数据集,显著提升人脸识别模型的训练效果。Vec2Face在多个真实世界测试集上表现出色,首次在某些测试集上超越了使用真实数据集训练的模型。然而,该方法仍存在一些局限性,如生成的变化可能无法完全覆盖真实世界的多样性,且需要较高的计算资源。
10 2
|
1月前
Meta浙大校友让评估模型自学成才,数据全合成无需人工标注,训练Llama 3 70B超过405B
【9月更文挑战第21天】近日,一篇名为《Self-Taught Evaluators》的论文引起了广泛关注。该论文由Meta与浙江大学校友合作完成,提出一种创新的模型评估方法,通过让评估模型自学习训练,无需依赖昂贵且易过时的人工标注数据。此方法利用合成数据,通过迭代生成对比模型输出并训练基于大型语言模型的评估器,从而实现自我迭代改进。研究结果显示,在不使用任何标注偏好数据的情况下,这种方法显著提升了评估模型的性能,甚至超越了一些现有模型。尽管如此,该方法在实际应用中仍需进一步验证。论文地址:https://arxiv.org/abs/2408.02666
51 4
|
4月前
|
机器学习/深度学习 人工智能
可解释性研究新突破:OpenAI成功训练1600万个特征的自动编码器
【6月更文挑战第13天】OpenAI团队在可解释性研究上取得进展,训练出拥有1600万特征的自动编码器来解析GPT-4。此模型旨在揭示语言模型的工作原理,提高AI透明度。自动编码器从低维度特征空间重建输入数据,研究通过稀疏特征增强可解释性。虽然规模扩大带来解释性提升,但计算资源需求大,且评估指标的全面性仍受质疑。[论文链接](https://cdn.openai.com/papers/sparse-autoencoders.pdf)
65 1
|
5月前
|
测试技术
Vript:最为详细的视频文本数据集,每个视频片段平均超过140词标注 | 多模态大模型,文生视频
[Vript](https://github.com/mutonix/Vript) 是一个大规模的细粒度视频文本数据集,包含12K个高分辨率视频和400k+片段,以视频脚本形式进行密集注释,每个场景平均有145个单词的标题。除了视觉信息,还转录了画外音,提供额外背景。新发布的Vript-Bench基准包括三个挑战性任务:Vript-CAP(详细视频描述)、Vript-RR(视频推理)和Vript-ERO(事件时序推理),旨在推动视频理解的发展。
120 1
Vript:最为详细的视频文本数据集,每个视频片段平均超过140词标注 | 多模态大模型,文生视频
|
5月前
|
存储 数据可视化 计算机视觉
基于YOLOv8的自定义数据姿势估计
基于YOLOv8的自定义数据姿势估计
|
编解码 vr&ar 计算机视觉
39亿参数模型公开可用,采样速度7倍提升,残差量化生成图片入选CVPR'22
39亿参数模型公开可用,采样速度7倍提升,残差量化生成图片入选CVPR'22
176 0
39亿参数模型公开可用,采样速度7倍提升,残差量化生成图片入选CVPR'22
|
存储 机器学习/深度学习 编解码
ImageNet-1K压缩20倍,Top-1精度首超60%:大规模数据集蒸馏转折点
ImageNet-1K压缩20倍,Top-1精度首超60%:大规模数据集蒸馏转折点
189 0
|
机器学习/深度学习 人工智能 监控
基于深度学习的人群密度检测系统(UI界面+YOLOv5+训练数据集)
基于深度学习的人群密度检测系统(UI界面+YOLOv5+训练数据集)
688 0
|
机器学习/深度学习 人工智能 计算机视觉
ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新
ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新