当前位置:网站首页>CLIP论文解读
CLIP论文解读
2022-08-03 20:01:00 【‘Atlas’】
论文: 《Learning Transferable Visual Models From Natural Language Supervision》
github: https://github.com/openai/CLIP
问题
现有SOTA视觉模型预测一组固定的预定对象类别,因此限制了它们的通用性和可用性,因为额外的标签需要进行明确定义;
作者从互联网收集的 4 亿(图像,文本)对的数据集上从头开始学习 SOTA 图像表示,经过预训练后,自然语言用于参考学到的视觉概念,零样本迁移模型到下游任务;在30个不同视觉数据上测试,该模型非常重要地转移到大多数任务,并且通常与完全监督的基线相比具有竞争力,而无需任何数据集特定的训练。
方法
自然语言监督
跟其他训练方式相比,自然语言监督有以下优势:
1、与常规图像分类标定相比,自然语言更容易扩展,因为其不像图像分类中标签为N个中1个最合适标签;可从大量互联网文本中学习;
2、与无监督、半监督方法相比,自然语言监督不只是学习表征,并且将表征与语言联系起来,从而实现zero-shot迁移;
数据集
作者构建一个新数据集,包括4亿图像文本对,共50万个文本序列,每个文本序列对应多达2万个文本图像对;
有效预训练方法
训练效率是自然语言监督成功的关键;
现有预训练方法相似,都是预测text中准确单词,但是这种方案比较难,因为同一张图有各种各样描述。
虽然图像的生成模型可以学习高质量的图像表示,但它们需要比具有相同性能的对比模型多一个数量级的计算量。
因此,作者训练一个系统解决更容易的替代任务,即仅预测整个文本与哪个图像配对,而不是该文本的确切单词;将预测目标转变为对比目标,效率提升4倍,如图2
CLIP训练过程如下,伪代码如图3,结构如图2;
1、给定一个batch,N个图像文本对;
2、CLIP预测 N ∗ N N*N N∗N个可能对;CLIP学习多模态嵌入空间,通过联合训练图像编码器和文本编码器,最大化N个真实样本对,最小化 N ∗ 2 − N N*2-N N∗2−N个不相关样本对;

由于预训练数据集量大,因此过拟合问题不严重,而且训练过程图像编码器及文本编码器不需要预训练模型;
数据增强:
图像随机裁剪是训练过程使用的唯一一种数据增强;
模型选择
图像编码器:
ResNet50作为基线;
ResNet-D作为改进,替换全局池化为attention池化;
VIT,将patch和position embedding 结合后增加LN层;
文本编码器:
Transfoemer,结构依据 Radford《Language models are unsupervised multitask learners. 2019.》更改;
实验
Zero-Shot Transfer
在3个数据集上,CLIP大幅超过之前Zero-Shot方法,如表1;
图5与全监督方法比较,27个数据集,其中16个数据集上CLIP性能超过全监督Res50方案,其中包括ImageNet;
图6表示few-shot方法比较,Zeor-Shot CLIP与4-shot Linear Probe CLIP性能价接近,Linear Probe CLIP超越其他模型;
结论
CLIP模型验证NLP迁移至其他任务可行性,在预训练时学习各种任务表现,使得可以zero-shot迁移至许多已有数据集,取得与全监督模型接近效果;
边栏推荐
- 百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东
- node版本切换工具NVM以及npm源管理器nrm
- Shell programming loop statement
- Matlab paper illustration drawing template No. 42 - bubble matrix diagram (correlation coefficient matrix diagram)
- LeetCode 622. 设计循环队列
- DeepMCP网络详解
- 【leetcode】剑指 Offer II 007. 数组中和为 0 的三个数(双指针)
- Pytorch GPU 训练环境搭建
- RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸
- 622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)
猜你喜欢

codeforces:C. Maximum Subrectangle【前缀和 + 贪心 + 最小子数组和】

【leetcode】剑指 Offer II 009. 乘积小于 K 的子数组(滑动窗口、双指针)

信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C

子树的大小

MySQL Basics

RNA核糖核酸修饰RNA-HiLyte FluorTM 405荧光染料|RNA-HiLyte FluorTM 405

详解AST抽象语法树

Golang死信队列的使用

Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430

tRNA甲基化偶联3-甲基胞嘧啶(m3C)|tRNA-m3C (3-methylcy- tidine)
随机推荐
【STM32】标准库-自定义BootLoader
CentOS 7 安装mysql
建模该从哪一步开始?给你分析,给零基础的你一些学习建议
机器学习中专业术语的个人理解与总结(纯小白)
NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
php根据两点经纬度计算距离
「游戏建模干货」建模大师几步操作,学习经典,赶紧脑补一下吧
tRNA修饰2-甲基胞嘧啶(m2C)|tRNA修饰m2G (N2-methylguanosine)
数据驱动的软件智能化开发| ChinaOSC
CSDN帐号管理规范
危化企业双重预防机制数字化建设进入全面实施阶段
LeetCode 622. 设计循环队列
钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
不知道这4种缓存模式,敢说懂缓存吗?
后台图库上传功能
头条服务端一面经典10道面试题解析
调用EasyCVR云台控制接口时,因网络延迟导致云台操作异常该如何解决?
使用 ReportLab 绘制 PDF
高并发,你真的理解透彻了吗?
1161 最大层内元素和——Leetcode天天刷【BFS】(2022.7.31)