Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新

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

作者头像
CV君
发布于 2023-03-06 02:18:59
发布于 2023-03-06 02:18:59
1.6K0
举报

本文转自新智元,编辑LRS。

开源模型OpenCLIP达成ImageNet里程碑成就!

虽然ImageNet早已完成历史使命,但其在计算机视觉领域仍然是一个关键的数据集。

2016年,在ImageNet上训练后的分类模型,sota准确率仍然还不到80%;时至今日,仅靠大规模预训练模型的zero-shot泛化就能达到80.1%的准确率。

最近LAION使用开源代码OpenCLIP框架训练了一个全新的 ViT-G/14 CLIP 模型,在 ImageNet数据集上,原版OpenAI CLIP的准确率只有75.4%,而OpenCLIP实现了80.1% 的zero-shot准确率,在 MS COCO 上实现了74.9% 的zero-shot图像检索(Recall@5),这也是目前性能最强的开源 CLIP 模型。

LAION全称为Large-scale Artificial Intelligence Open Network,是一家非营利组织,其成员来自世界各地,旨在向公众提供大规模机器学习模型、数据集和相关代码。他们声称自己是真正的Open AI,100%非盈利且100%免费。

感兴趣的小伙伴可以把手头的CLIP模型更新版本了!

模型地址:https://huggingface.co/laion/CLIP-ViT-bigG-14-laion2B-39B-b160k

OpenCLIP模型在各个数据集上具体的性能如下表所示。

Zero-shot能力

一般来说,计算机视觉(CV)模型在各个任务上的sota性能都是基于特定领域的训练数据,无法泛化到其他领域或任务中,导致对视觉世界的通用属性理解有限。

泛化问题对于那些缺少大量训练数据的领域尤其重要。

理想情况下,CV模型应该学会图像的语义内容,而非过度关注训练集中的特定标签。比如对于狗的图像,模型应该能够理解图像中有一只狗,更进一步来理解背景中有树、时间是白天、狗在草地上等等。

但当下采用「分类训练」得到的结果与预期正好相反,模型学习将狗的内部表征推入相同的「狗向量空间」,将猫推入相同的「猫向量空间」,所有的问题的答案都是二元,即图像是否能够与一个类别标签对齐。

对新任务重新训练一个分类模型也是一种方案,但是训练本身需要大量的时间和资金投入来收集分类数据集以及训练模型。

幸运的是,OpenAI 的CLIP模型是一个非常灵活的分类模型,通常不需要重新训练即可用于新的分类任务中。

CLIP为何能Zero-Shot

对比语言-图像预训练(CLIP, Contrastive Language-Image Pretraining)是 OpenAI 于2021年发布的一个主要基于Transformer的模型。

CLIP 由两个模型组成,一个Transformer编码器用于将文本转换为embedding,以及一个视觉Transformer(ViT)用于对图像进行编码。

CLIP内的文本和图像模型在预训练期间都进行了优化,以在向量空间中对齐相似的文本和图像。在训练过程中,将数据中的图像-文本对在向量空间中将输出向量推得更近,同时分离不属于一对的图像、文本向量。

CLIP与一般的分类模型之间有几个区别:

首先,OpenAI 使用从互联网上爬取下来的包含4亿文本-图像对的超大规模数据集进行训练,其好处在于:

1. CLIP的训练只需要「图像-文本对」而不需要特定的类标签,而这种类型的数据在当今以社交媒体为中心的网络世界中非常丰富。

2. 大型数据集意味着 CLIP 可以对图像中的通用文本概念进行理解的能力。

3. 文本描述(text descriptor)中往往包含图像中的各种特征,而不只是一个类别特征,也就是说可以建立一个更全面的图像和文本表征。

上述优势也是CLIP其建立Zero-shot能力的关键因素,论文的作者还对比了在ImageNet上专门训练的 ResNet-101模型和 CLIP模型,将其应用于从ImageNet 派生的其他数据集,下图为性能对比。

可以看到,尽管 ResNet-101是在ImageNet上进行训练的,但它在相似数据集上的性能要比 CLIP 在相同任务上的性能差得多。

在将 ResNet 模型应用于其他领域时,一个常用的方法是「linear probe」(线性探测),即将ResNet模型最后几层所学到的特性输入到一个线性分类器中,然后针对特定的数据集进行微调。

在CLIP论文中,线性探测ResNet-50与zero-shot的CLIP 进行了对比,结论是在相同的场景中,zero-shot CLIP 在多个任务中的性能都优于在ResNet-50中的线性探测。

不过值得注意的是,当给定更多的训练样本时,Zero-shot并没有优于线性探测。

用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/1619270829828874240

https://laion.ai/blog/giant-openclip/

https://www.pinecone.io/learn/zero-shot-image-classification-clip/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【大模型学习 | CLIP 原理&实现】
🔴 目前的图像数据存在着质量低、数据量不足的情况,例如 ① MS-COCO 虽然是高质量的标注数据,但也只有十万张图像,在目前的视觉系统来说属于小数据量; ② YFCC100M 有 一亿张图像,但是质量低,过滤后只有1500万张图像,与 ImageNet数据大小相同;现有视觉系统尚未能充分利用这些语言资源中的监督信息,限制了自然语言在视觉模型中的潜力发挥。
九年义务漏网鲨鱼
2025/06/29
8791
【大模型学习 | CLIP 原理&实现】
​医疗AI的基础模型​
正在进行的AI革命正在给我们带来各个方向的创新。OpenAI的GPT(s)模型正在领导发展,并展示了基础模型实际上可以使我们的日常任务变得更加简单。从帮助我们写得更好到优化我们的一些任务,每天我们都看到有新模型发布的消息。
磐创AI
2024/01/29
5020
​医疗AI的基础模型​
ECCV 2022 | 无需下游训练,Tip-Adapter大幅提升CLIP图像分类准确率
机器之心专栏 机器之心编辑部 本文提出了 Tip-Adapter,一种可以免于训练的将 CLIP 用于下游 few-shot 图像分类的方案。 论文链接:https://arxiv.org/pdf/2207.09519.pdf 代码链接:https://github.com/gaopengcuhk/Tip-Adapter 一.研究背景 对比性图像语言预训练模型(CLIP)在近期展现出了强大的视觉领域迁移能力,可以在一个全新的下游数据集上进行 zero-shot 图像识别。为了进一步提升 CLIP 的迁移性
机器之心
2022/09/26
1.2K0
ECCV 2022 | 无需下游训练,Tip-Adapter大幅提升CLIP图像分类准确率
实验室可以训练(De)CLIP了!商汤ICLR2022 DeCLIP正式开源!
作为2021年的重要里程碑,CLIP 一经问世便吸引了广大研究人员的关注。但是4亿的图片-文本对数据,数百张的GPU卡需求,让研究者望而生畏。
Amusi
2022/04/18
1.4K0
实验室可以训练(De)CLIP了!商汤ICLR2022 DeCLIP正式开源!
CLIP-图文预训练模型
CLIP: Contrastive LanguageImage Pre-training
iResearch666
2023/09/13
7810
CLIP-图文预训练模型
OpenAI CLIP 论文解读
模型架构分为两部分,图像编码器和文本编码器,图像编码器可以是比如 resnet50,然后文本编码器可以是 transformer。
BBuf
2021/03/25
5.1K0
文生图的基石CLIP模型的发展综述
CLIP的英文全称是Contrastive Language-Image Pre-training,即一种基于对比文本-图像对的预训练方法或者模型。CLIP是一种基于对比学习的多模态模型,CLIP的训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系。
deephub
2024/04/01
1.2K0
文生图的基石CLIP模型的发展综述
小型模型也能拥有大型模型的知识与性能, CLIP-CID在下游任务上表现卓越,超越现有方法 !
随着移动网络和社会平台的大量普及,图像文本对的生产爆炸式增长 。如此丰富的数据为视觉语言预训练的推进提供了强大的基础。对比学习预训练(CLIP)[1]在多模态学习上取得了显著成功,通过在大型数据集上align图像文本对。它使用对比损失学习两个独立的单模编码器,这是表示学习中最有效的损失之一 。然而,CLIP的成功在很大程度上依赖于庞大的预训练数据集。原始CLIP模型在4亿图像文本对上进行32个epoch的预训练,需要数千个GPU天。在计算资源有限的情况下,这具有明显的挑战性[1, 17]。最近,从网站爬取的大规模图像文本数据集(如LAION400M 和LAION5B [13])在日常生活中广泛应用于视觉语言预训练。数据Comp 从Common Crawl的网页数据中提取图像文本对,并采用诸如基本过滤、CLIP评分过滤和基于文本图像过滤等策略。然而,训练数据中的语义重复问题仍然存在,这不仅可能影响表示学习,还可能浪费计算资源 。
未来先知
2024/08/29
5740
小型模型也能拥有大型模型的知识与性能, CLIP-CID在下游任务上表现卓越,超越现有方法 !
过半作者是华人!Google Research全新图像表征模型ALIGN霸榜ImageNet
神经网络实际上就是在学习一种表示,在CV领域,良好的视觉和视觉语言(vision and vision-language)表征对于解决计算机视觉问题(图像检索、图像分类、视频理解)至关重要,并且可以帮助人们解决日常生活中的难题。
新智元
2021/05/28
7300
过半作者是华人!Google Research全新图像表征模型ALIGN霸榜ImageNet
OpenAI也有24MB的模型了!人人都用的起CLIP模型,iPhone上也能运行
Transformer的模型动辄以GB论大小,参数量也不断突破亿、十亿,这种大模型想要应用在移动端或者给没有高端显卡「平民」玩家使用,也是十分困难。
新智元
2021/08/25
2K0
后Sora时代,CV从业者如何选择模型?卷积还是ViT,监督学习还是CLIP范式
一直以来,ImageNet 准确率是评估模型性能的主要指标,也是它最初点燃了深度学习革命的火种。但对于今天的计算视觉领域来说,这一指标正变得越来越不「够用」。
机器之心
2024/02/26
3470
后Sora时代,CV从业者如何选择模型?卷积还是ViT,监督学习还是CLIP范式
AI绘画中CLIP文本-图像预训练模型
OpenAI 在 2021 年提出了 CLIP(Contrastive Language–Image Pretraining)算法,这是一个先进的机器学习模型,旨在理解和解释图像和文本之间的关系。CLIP 的核心思想是通过大规模的图像和文本对进行训练,学习图像内容与自然语言描述之间的对应关系。这种方法使得模型能够在没有特定任务训练的情况下,对广泛的视觉概念进行理解和分类。
Dlimeng
2023/12/22
1.4K0
AI绘画中CLIP文本-图像预训练模型
港科技 & 港中文 解密 CLIP 模型 Backbone 网络大小与虚假特征的关系!
大型视觉语言模型(LVLMs)能够将图像和文本表示对齐,以理解跨越前所未有的真实世界数据规模的图像中的普遍关系,这已经在现代机器学习中呈现出显著的范式转变。许多先进的LVLM作品,如CLIP、ALIGN、BASIC、Flamingo和BLIP,已经在广泛的视觉和多模态任务中展现出卓越的性能,大幅超过了传统的ImageNet训练模型。因此,LVLMs的巨大成功使得社区的焦点从ImageNet基准测试转向了如LAION这样的网络规模的多模态数据集。
AIGC 先锋科技
2024/07/08
4250
港科技 & 港中文 解密 CLIP 模型 Backbone 网络大小与虚假特征的关系!
OpenAI推出CLIP:连接文本与图像,Cover所有视觉分类任务
2020年,通用模型产生了经济价值,特别是GPT-3,它的出现证明了大型语言模型具有惊人的语言能力,并且在执行其他任务方面也毫不逊色。
AI科技评论
2021/01/08
10K0
OpenAI推出CLIP:连接文本与图像,Cover所有视觉分类任务
Stable Diffusion 是如何运行的
最近,更文速度有点慢,不是说创作到了瓶颈,(放心,原来的各种系列文章都有准备和更文计划,当然,如果大家有想了解的技术方向也可以评论和私聊。我可以和大家一起学习研究)而是,最近新公司业务比较多,每天下班回来了,有点心力交瘁了。熟悉博主的都知道,平时的学习和更文都是利用下班时间。
前端柒八九
2023/08/01
7900
Stable Diffusion 是如何运行的
一文了解prompt learning在计算机视觉领域进展
本文是对prompt Learning在CV领域的文献总结,读者阅读完全文会对prompt learning在CV的各种用法有所了解,希望能对大家未来研究工作有所启发。
CristianoC
2022/11/18
2K0
一文了解prompt learning在计算机视觉领域进展
结合异构图神经网络,HeGraphAdapter 提升 CLIP 模型性能研究 !
最近,大规模的视觉语言模型(VLMs),如CLIP [1]及其变体,为计算机视觉提供了一种新范式,并在许多下游任务上表现出优越的泛化性能,例如零样本泛化[5],少样本分类[6]和跨分布(OOD)检测。VLMs通常预先在数百万对视觉语言数据上进行训练,使它们能够理解开放词汇视觉概念。它们在与手工艺文本 Prompt (如“一张{类别}的照片”)结合时,展示了出色的泛化能力。
AIGC 先锋科技
2024/12/19
4600
结合异构图神经网络,HeGraphAdapter 提升 CLIP 模型性能研究 !
深度学习--CLIP算法(文本搜图片,图片搜图片)
  CLIP全称Constrastive Language-Image Pre-training,是OPAI推出的采用对比学习的文本-图像预训练模型。CLIP惊艳之处在于架构非常简洁且效果好到难以置信,在zero-shot文本-图像检索,zero-shot图像分类,文本→图像生成任务guidance,open-domain 检测分割等任务上均有非常惊艳的表现,本文将对CLIP做一些初步的介绍。
机器学习AI算法工程
2023/09/04
2.9K0
深度学习--CLIP算法(文本搜图片,图片搜图片)
CLIP不接地气?你需要一个更懂中文的模型
机器之心专栏 作者:霜清 随着 CLIP 的提出,多模态预训练近年来发展迅速,但 CLIP 对于特定语言的理解有比较明显的欠缺。本文介绍的是达摩院魔搭社区 ModelScope 近期开源的中文 CLIP 大规模预训练图文表征模型,更加懂中文和中文互联网的图像,在图文检索、零样本图片分类等多个任务中实现最优效果,同时代码和模型已经全部开源,用户能够使用魔搭快速上手。 模型使用入口: https://modelscope.cn/models/damo/multi-modal_clip-vit-base-pat
机器之心
2023/03/29
1.6K0
CLIP不接地气?你需要一个更懂中文的模型
使用 CLIP 对没有标记的图像进行零样本无监督分类
深度图像分类模型通常以监督方式在大型带注释数据集上进行训练。随着更多带注释的数据加入到训练中,模型的性能会提高,但用于监督学习的大规模数据集的标注成本时非常高的,需要专家注释者花费大量时间。为了解决这个问题,人们开始寻找更便宜的标注的标签来源,是否有可能从已经公开的数据中学习高质量的图像分类模型?
deephub
2022/11/11
1.9K0
使用 CLIP 对没有标记的图像进行零样本无监督分类
推荐阅读
相关推荐
【大模型学习 | CLIP 原理&实现】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档