CLIP--zero-shot语言-图像对比学习模型

本文介绍CLIP模型,一种利用自然语言监督训练的视觉模型。CLIP通过对比学习联合训练图片和文本,展示出强大的zero-shot能力。在多个数据集上进行的实验表明,其性能优于先前的zero-shot模型,并且在某些情况下接近甚至超过了监督学习的模型。
🔍 VisionCore Pro | 多模态智能语义分析平台

VisionCore Pro 是一款基于 OpenAI CLIP (Contrastive Language-Image Pre-training) 架构的企业级多模态视觉分析工具。通过先进的深度学习技术,该平台实现了图像与文本之间的深度语义对齐,支持零样本(Zero-shot)图像识别与分类,为企业视觉资产数字化、智能监控及内容审核提供高效的技术支撑。

1 简介

本文根据2021年《learning transferable visual models from natural language supervision》翻译总结的,即利用自然语言学习一个可以迁移的视觉模型。

本文提出的模型为Contrastive Language-Image Pre-training,简称CLIP,即对比学习语言-图像预训练模型,是通过对比学习训练的模型。因为预训练的数据集较大,所以采用对比学习提高效率。

CLIP主要特点是zero-shot,即不需要微调fine-tune,直接用于下游模型也有很好的效果。如在ImageNet数据集上,CLIP zero-shot的准确率可以达到监督训练的ResNet-50的效果。

CLIP也是学习NLP模型GPT-3,GPT-3在NLP领域就有zero-shot的能力。

CLIP采用的数据集有4亿个(图片-文本)对。数据规模可以和训练GPT-2的匹配。这份数据是从网络上爬取整理的,我们称这份数据为WIT(WebImageText)。

CLIP虽然zero-shot能力很强,但还是需要提高,比如离最好的监督模型还有距离,只是达到了ResNet-50的水平。

2 方法

如下图左边部分表示训练部分,CLIP联合训练图片-文本)对,将文本输入text encoder产生文本特征,将图片输入image encoder 产生图片特征,然后进行对比学习,如蓝色对角线部分表示文本和图片匹配的(N个),其他是不匹配的(N的平方减N个)。

下图右边是zero-shot预测,将可能分类的文本标签输入训练好的text encoder,图片也是输入训练好的image encoder,然后匹配出哪个文本标签最和图片特征相匹配。
在这里插入图片描述

伪代码如下:
在这里插入图片描述

2.1 文本加工-prompt提示

将文本变成如下格式,丰富了文本内容,有利于模型学习。下面只列4种,实际用到了80多种。:
A photo of a {label}, a type of pet
a satellite photo of a {label}
A photo of a big {label}”
A photo of a small {label}”

3 实验结果

Visual N-Grams是以前的一个zero-shot模型,可以看到CLIP大幅好于Visual N-Grams,不过Visual N-Grams的训练集较小。
在这里插入图片描述

如下图,CLIP和ResNet-50监督学习比较,可以看到大部分效果较好(绿色部分)。
在这里插入图片描述

和few-shot(加上线性分类层)相比也是较好的。
在这里插入图片描述

CLIP加上线性分类(在CLIP模型上面增加一个线性分类层,微调时CLIP模型被冻住,只训练分类层的参数),也比以前优秀的模型更好。其中CLIP vision transformers 好于CLIP ResNets。

在这里插入图片描述

Zero-shot CLIP也更适用于分布偏移,如不仅在imageNet数据上效果好,在imagenet-R等数据集上效果也好,而ResNet101却很差。
在这里插入图片描述

4 CLIP 缺点

  1. CLIP虽然zero-shot能力很强,但还是需要提高,比如离最好的监督模型还有距离,只是达到了ResNet-50的水平。
  2. CLIP 在有些任务上的 zero-shot 性能并不好,与一些 task-specific 的模型相比,CLIP 的性能在一些细分类任务上效果不佳 (e.g. differentiating models of cars, species of flowers, and variants of aircraft). 另外,CLIP 在一些更加抽象和系统性的任务上也表现不佳 (e.g. counting the number of objects in an image). 最后,对于一些不太可能被包含在 CLIP 预训练数据集中的新任务,CLIP 的性能接近于随机 (e.g. classifying the distance to the nearest car in a photo)
  3. 许多复杂的任务和视觉概念仅仅通过文本时很困难的。
  4. CLIP 在做 zero-shot transfer 时仍然需要利用 prompt engineering

您可能感兴趣的与本文相关的镜像

🔍 VisionCore Pro | 多模态智能语义分析平台

🔍 VisionCore Pro | 多模态智能语义分析平台

AI应用
PyTorch
CLIP

VisionCore Pro 是一款基于 OpenAI CLIP (Contrastive Language-Image Pre-training) 架构的企业级多模态视觉分析工具。通过先进的深度学习技术,该平台实现了图像与文本之间的深度语义对齐,支持零样本(Zero-shot)图像识别与分类,为企业视觉资产数字化、智能监控及内容审核提供高效的技术支撑。

内容概要:本文围绕含氢气氨气的综合能源系统优化调度展开研究,提出了一种基于Matlab的仿真建模优化方法,旨在实现多能互补、高效利用低碳运行。研究构建了包含风能、太阳能、电解水制氢、氢气储存、氢合成氨、氨储存及能源转换设备在内的综合能源系统架构,重点考虑了氢、氨作为二次能源载体在能量存储转化中的关键作用。通过建立系统各组件的数学模型,如电解槽效率模型、合成氨反应动力学模型、储氢储氨容量模型等,并结合可再生能源出力不确定性、负荷需求波动等因素,构建了以系统运行成本最小化、碳排放最小化或多目标综合最优为目标的优化调度模型。采用智能优化算法(如改进粒子群算法、多目标优化算法等)对模型进行求解,实现了对系统中各类设备出力、储能充放电状态、能量交互功率等变量的精细化调度,有效提升了能源利用效率系统经济性。; 适合人群:具备一定电力系统、能源工程或自动化专业背景,熟悉Matlab/Simulink仿真工具,从事新能源、综合能源系统、氢能等领域研究的研发人员、研究生及高年级本科生。; 使用场景及目标:① 为含氢、氨等新型能源载体的综合能源系统规划设计提供理论依据和技术支撑;② 实现对风光等波动性可再生能源的高效消纳,提高系统灵活性可靠性;③ 通过优化调度降低系统运行成本碳排放强度,服务于“双碳”战略目标。; 阅读建议:此资源以Matlab代码实现为核心,提供了完整的仿真模型优化算法代码,学习者应结合相关专业知识,深入理解模型构建的物理意义数学表达,调试并运行代码以掌握其工作流程,进而可根据实际需求对模型进行扩展改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值