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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新

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

新智元新智元 2023-02-03 13:32 发表于北京



 新智元报道  

编辑: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并没有优于线性探测。



相关文章
|
4月前
|
存储 人工智能 JavaScript
AI + 低代码技术揭秘(四):引擎、提供程序和服务
VTJ低代码平台架构包含三大核心组件:引擎、提供程序和服务层,支撑可视化设计与Vue源码双向转换。引擎管理设计时环境,提供程序处理运行时依赖,服务层抽象后端接口,共同实现高效开发流程。
88 1
AI + 低代码技术揭秘(四):引擎、提供程序和服务
|
10月前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
SQL 关系型数据库 PostgreSQL
SqlAlchemy 2.0 中文文档(六十六)(5)
SqlAlchemy 2.0 中文文档(六十六)
155 0
外贸网站服务器该如何选择?别再踩雷了
以上因素都应在选择外贸网站服务器时考虑。在选择服务器时,不要只看价格,要全面考虑,避免踩雷。
382 0
|
Android开发
App Inventor 2 Activity启动器技巧:如何查看并启动其他App
Activity启动器(ActivityStarter)如何查看并启动其他App,可以通过解压源码查看,或使用“包名查看器”App查看,不同品牌手机可能略有不同。
392 0
|
人工智能 编解码 机器人
硬核解读Stable Diffusion(3)
硬核解读Stable Diffusion
|
机器学习/深度学习 数据采集 数据挖掘
利用Python进行探索性数据分析(EDA)
利用Python进行探索性数据分析(EDA)
利用Python进行探索性数据分析(EDA)
|
机器学习/深度学习 编解码 缓存
如何用ModelScope训练出一个语音降噪模型?
如何用ModelScope训练出一个语音降噪模型?
1132 0
如何用ModelScope训练出一个语音降噪模型?
|
XML Java 关系型数据库
Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误
声明:这个错误只是作者在学习时候的一种情况,并不一定能够解决所有情况。还望各位审视出错具体环境!谢谢。
578 0
Springboot mybatis逆向工程org.springframework.beans.factory.BeanCreationException: Error creating bean错误

热门文章

最新文章