Redian新闻
>
ImageNet零样本准确率首次超过80%!OpenCLIP:性能最强的开源CLIP模型

ImageNet零样本准确率首次超过80%!OpenCLIP:性能最强的开源CLIP模型

公众号新闻

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>CV微信技术交流群

转载自:新智元 | 编辑: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/


点击进入—>CV微信技术交流群


CVPR/ECCV 2022论文和代码下载


后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:ECCV2022,即可下载ECCV 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF


目标检测和Transformer交流群成立


扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。


一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群


▲扫码或加微信号: CVer222,进交流群


CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!


扫码进群

▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
准确率 99.9% 的离线IP地址定位库准确率达86%!谷歌前工程师惊人预测:人类8年内可获永生!绝症不再有我的心脏和我的多肉,ChatGPT 修 bug 横扫全场,准确率达 78%!网友:程序员要开心了一颗GPU,秒出3D模型!OpenAI重磅新作:Point-E用文本即可生成三维点云模型CVPR 2023 | 白翔团队提出:将CLIP模型用于场景文本检测老年三福与笑的哲学---柳无忌告老心言清华可穿戴智能喉登Nature子刊,实测准确率90%+,网友:@李雪健老师中国开源社区健康案例——OpenCloudOS操作系统开源社区比Diffusion更快!OpenAI新图像生成模型开源了!清华校友宋飏一作用ChatGPT秒建大模型!OpenAI全新插件杀疯了,接入代码解释器一键getNeurIPS 2022 | 重振PointNet++雄风!PointNeXt:改进模型训练和缩放策略审视PointNet++神了!北湾养老院,狗狗上岗“闻出”新冠病毒,准确率高达80%!为文学城男博主们画像类器官立大功!我国科学家发表全球最大样本量研究,证实肺癌类器官药敏测试预测临床疗效总体准确率高达83.3%!腾讯提出蛋白质研究 AI 模型,预测准确率刷新纪录,入选 Nature 子刊对话 OpenCloudOS 社区:如何促进操作系统开源生态繁荣?华为盘古大模型亮相,但号称万亿训练量的NLP模型却失望缺席……平均交付准确率99%以上!又一大厂进军自动驾驶AI数据服务,教AI学会人类标注能力登顶全球商业气象机构准确率评测榜首,墨迹天气缘何加速狂飙?ChatGPT修bug横扫全场!准确率达78%!网友:程序员要开心了日本啊,日本(八)苏州园林首个“开源ChatGPT”来了:基于谷歌5400亿参数大模型,华人小哥出品,网友吐槽:这谁能跑?「刷耳识别」解决戴口罩刷脸问题,准确率高达99%ICLR 2023 | 基于视觉语言预训练模型的医疗图像小样本学习及零样本推理性能研究Vicuna:与ChatGPT 性能最相匹配的开源模型GPT-3解数学题准确率升至92.5%!微软提出MathPrompter,无需微调即可打造「理科」语言模型ChatGPT 修 bug? 简直横扫全场~准确率达78%!程序员要开心了英特尔开源基于CPU的OpenCL运行时ChatGPT修bug横扫全场,准确率达78%!程序员该开心还是难过?通过与 GPT 对话实现零样本信息抽取美国入境档案--葛庭燧和何怡贞首次:微软用GPT-4做大模型指令微调,新任务零样本性能再提升人类8年内可获永生!谷歌前工程师曝“将诞1发明”:预言准确率86%ImageNet零样本准确率首次超过80%,地表最强开源CLIP模型更新
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。