当前位置:网站首页>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迁移至许多已有数据集,取得与全监督模型接近效果;
边栏推荐
猜你喜欢

149. The largest number on a straight line, and check the set

若依集成easyexcel实现excel表格增强

盘点在线帮助中心对企业能够起到的作用

亚马逊云科技 Build On 2022 - AIot 第二季物联网专场实验心得

百利药业IPO过会:扣非后年亏1.5亿 奥博资本是股东

一种能有效缓解环境噪声对音频质量干扰的方案

622 设计循环队列——Leetcode天天刷【循环队列,数组模拟,双指针】(2022.8.2)

汉源高科8光口12电口交换机千兆8光8电12电16电网管型工业以太网交换机

Handler source code analysis

Reveal how the five operational management level of hundreds of millions of easily flow system
随机推荐
Detailed demonstration pytorch framework implementations old photo repair (GPU)
开源教育论坛| ChinaOSC
List类的超详细解析!(超2w+字)
EasyCVR平台海康摄像头语音对讲功能配置的3个注意事项
【leetcode】剑指 Offer II 008. 和大于等于 target 的最短子数组(滑动窗口,双指针)
ESP8266-Arduino编程实例-BH1750FVI环境光传感器驱动
php截取中文字符串实例
深入理解JVM-内存结构
钱江摩托某型号产品ECU货不对版 消费者知情权应如何保障?
Statistical machine learning 】 【 linear regression model
C中的数据存储
RNA核糖核酸修饰Alexa 568/[email protected] 594/[email prote
CentOS 7 安装mysql
Redis 内存满了怎么办?这样置才正确!
LeetCode 622. 设计循环队列
利用net-snmp的库实现snmpget,snmpset
tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)
机器学习中专业术语的个人理解与总结(纯小白)
NNLM、RNNLM等语言模型 实现 下一单词预测(next-word prediction)
Detailed AST abstract syntax tree