位置: IT常识 - 正文

CLIP论文详解(ldpc论文)

编辑:rootadmin
CLIP论文详解 CLIP论文详解 – 潘登同学的深度学习笔记文章目录CLIP论文详解 -- 潘登同学的深度学习笔记前言整体架构Pre-trainZero-shot实验大范围数据集结果few-shot与zero-shot的对比Representation Learning模型的泛化性与人进行对比局限性和不足前言

推荐整理分享CLIP论文详解(ldpc论文),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:论文caption,论文中的claims,论文中的claims,论文implications,论文implication,论文implication,clip analysis,clip analysis,内容如对您有帮助,希望把文章链接给更多的朋友!

CLIP算是在跨模态训练无监督中的开创性工作,作者在开头梳理了现在vision上的训练方式,从有监督的训练,到弱监督训练,再到最终的无监督训练。这样训练的好处在于可以避免的有监督的 categorical label的限制,具有zero-shot性质,极大的提升了模型的实用性能。

zero-shot:是指零样本学习,在别的数据集上学习好了,直接迁移做分类;

这篇文章中作者提到早在2017年之后就陆续有工作提出和本文类似的想法,但是他们的数据大小都太小了,导致没有很好的结果。作者单独收集了一份含有4亿份数据的大数据集,才得以得到很好的效果。这种现象最近好像在机器学习领域越来越突出,力大砖飞,这无疑降低了benchmark的可信性,而且增加了小工作组的压力。

此外作者提到prompt engineering and ensembling也是一个值得研究的方向,也就是生成的template如果能够结合对应的dataset的特征,相当于给予模型额外的信息;

为什么CLIP要采用对比学习的方法

OpenAI是一家从来不愁计算资源的公司,他们喜欢将一切都gpt化(就是做生成式模型);但是以往的工作表明(ResNeXt101-32x48d, Noisy Student EfficientNet-L2),训练资源往往需要很多,何况这些都只是在ImageNet上的结果,只是1000类的分类任务,而CLIP要做的是开发世界的视觉识别任务,所以训练的效率对于自监督的模型至关重要;而如果任务改为给定一张图片去预测一个文本(或者给定一个文本去预测一张图片),那么训练效率将会非常低下(因为一个图片可能对应很多种说法,一个文本也对应着很多种场景);所以与其做默写古诗词,不如做选择题!(只要判断哪一个文本与图片配对即可);通过从预测任务改为只预测某个单词到只选出配对的答案,模型的训练效率一下提升了4倍;

整体架构

作者团队收集的4亿的图片文本对作为训练样本,称之为WIT(因为以往有的数据集要么是规模太小, MS-COCO,Visual Genome,要么是数据标注质量太差YFCC100M);在一个batch中输入32768个图片文本对,(I1,T1)(I_1,T_1)(I1​,T1​),则是第一个图像文本对,模型的目的是使这两个特征尽量相似,而与别的特征尽量远离;Pre-train

训练阶段

一个图片经过Image_encoder得到特征IfI_fIf​,一个文本经过text_encoder得到特征TfT_fTf​;两个特征分别经过不同的FC层(目的是将单模态的特征转化为多模态,因为图片的特征可能本身就与文本的不一致,需要转换,但是这里没接激活函数,因为作者发现在多模态下接不接都一样);再做一次L2归一化;计算余弦相似度,得到logits;logits与GT计算交叉熵目标函数;而这里的GT就是一个单位阵(因为目标是配对样本之间相似性最强为1,而其他为0);最后将图片的loss与文本的loss加起来求平均即可;

主干模型

在文本方面就是Transformer;在图像方面选择了5中ResNets(ResNet-50,ResNet-101,3个EfficientNet的变体,ResNet-50x4,ResNet-50x16,ResNet-50x64)和三种VIT(分贝是VIT-B/32,VIT-B/16,VIT-L/14)Zero-shot

CLIP 文章的核心 = Zero-shot Transfer

作者研究迁移学习的动机:

之前自监督or无监督的方法,主要研究 frature 学习的能力,model的目标是学习泛化性能好的特征,虽然学习到good-feature,但down-owrk中,还是需要有标签数据做微调。作者想仅训练一个model,在down-work中不再微调。 推理阶段

将要做的分类以填空的形式填进一句话中,以ImageNet为例就是1000句话输入Text Encoder得到输出;

将要识别的图片经过Image Encoder得到图片输出,比较文本的输出与图片的输出,选择最相似的那句话就是图片的类别;

CLIP论文详解(ldpc论文)

与之前Zero-shot模型的对比

Prompt 方法在什么时候用

Prompt是提示的意思,对model进行微调和直接做推理时有效;

为什么要用 prompt engineering and ensembling

由于一个word 具有多义性,图片和文字匹配容易出错,所以作者将word放在语境中,来提高匹配度;Prompt不仅能做匹配;一旦加入这个prompt engineering and ensembling,准确度上升了1.3%;

最后在CLIP中,总共用了80个prompt template之多;

实验大范围数据集结果

做了27个数据集的分类任务,baseline是ResNet-50,ResNet-50是有监督模型在各个数据集上训练好的, 然后两个模型在其他数据集上zero-shot;

在大多数分类任务,给车、食物等做分类的问题上CLIP都表现的很好, 但是在DTD这种纹理进行分类或CLEVRCounts给物体计数的任务,对于CLIP无监督模型来说就很难了;

所以作者认为在这些更难的数据集做few-shot可能比zero-shot更好;

few-shot与zero-shot的对比

few-shot也是将back-blone冻住,训练分类头;

横坐标是指在每个类别中选出了几个训练样本,纵坐标就是模型的准确率了(在20个数据集上的平均结果,因为有7个数据集中有些训练样本不足16个);

因为别的模型不是多模态的,所以只能从1-shot开始;其中,BiT-M是google中bit transfer的一个模型,专门为迁移学习量身定做的,而zero-shot的CLIP直接与few-shot的BiT-M打成平手;而CLIP可以从zero-shot开始;可以看出当学习样本很少的时候CLIPfew-shot的表现还不如zero-shot;Representation Learning

为了证明Pre-Train的成功,CLIP将预训练好的模型在下游任务中做了Linear probe,就是模型主体冻住,只调Linear分类头,因为这样不用太多的调参,也能证明模型的特征学的好不好;

其中横坐标是一次前向过程的计算量,纵坐标是分类准确度;可以看出CLIP是在计算量与准确度方面trade-off做的最好的一个模型;模型的泛化性

当数据有distribution shift的时候,模型的表现如何,这是CLIP最惊艳的结果:

可以看出CLIP在数据分布的偏移样本上,远远超过ResNet101,而且结果保持地依旧稳健;与人进行对比

将CLIP与人进行zero-shot,one-shot,two-shot的对比,分类的物体是37种狗和猫的图片;

可以看出人在zero-shot与one-shot的差别是很大的,表明人学习的能力是很强的;但是人的one-shot与two-shot区别不大,说明了人在没有先验知识,只是通过样本学习,不一定能学的更好;

除此之外,作者还将这些类的分类结果列了出来

可以看出在人判断准确率较高的类别上,机器的准确率也高;在人判断不准的类别上,机器判断也不准;说明人与机器学到的数据分布很接近;局限性和不足平均来看,CLIIP可以和机械模型(ResNet-50(在ImageNet上训练))持平, 若继续增加数据集和model规模,CLIP性能可以继续提高,但是代价很大(需提高计算和数据的高效性;但与Noisy Student的88还是有很大差距;zreo-shot结果并不好在细分类数据集上,CLIP效果低于(有监督训练)ResNet-50(baseline网络);CLIP无法处理抽象概念,如数数任务,或者判断一个监控画面是正常还是异常;在很多领域,CLIP性能和瞎猜差不多;若数据集中的data 已经 out-of-distribution,那么CLIP-model泛化照样差;(在MNIST数据集上,CLIP准确率仅有88%; 因为作者收集的数据集有4亿个样本,但没有和MINIS长得像的,所以MINIS数据集对于CLIP来说就是out-of-distribution数据集);CLIP这个模型没什么大不了的,和普通的DL-model差不多,都很脆弱。CLIP不能高效利用数据训练了epoch = 32,每个epoch过4亿个图片,跑了128亿张图片,如果一秒一张需要405年;数据用量多,作者希望减少数据用量,(三种方案: 数据增强,自监督,伪标签)用所有数据进行训练,调整很多次模型结构和超参数,才得出好结果,且每次用ImageNet数据集作为指导。所以CLIP并非做出真正的zero-shot工作。(选择偏差)爬取图片未清洗和审查(有社会偏见,OpenAI不开源经典借口)语言无法描述太复杂的概念

作者想要:

把一切都GPT(生成式模型)化,因为CLIP还是根据给定的1000个选项去选择到底是那个类比,作者更像直接一张图片,然后生成对应的标题。但受限于计算资源,作者没法做成 ” 自动生成模型 “ 的网络。(以后的DALL)
本文链接地址:https://www.jiuchutong.com/zhishi/296196.html 转载请保留说明!

上一篇:OpenCV实战(15)——轮廓检测详解(opencv.)

下一篇:js获取当前日期,格式 YYYY-MM-DD HH:mm:ss(js获取当前日期的函数)

  • 超过500万需要补税吗
  • 自然人独资企业股东承担连带责任
  • 个人所得税怎么算公式是什么
  • 利润表营业外收入怎么取数
  • 出口货物进项税怎样处理
  • 融资性售后回租承租方出售资产为什么不缴纳增值税
  • 财政部颁布的具体准则
  • 公司单独核算项目财务怎么处理?
  • 广告传媒公司安全生产标准化
  • 工程款的税是怎么扣除的?
  • 开具出口发票时免税类型怎么选择?
  • 购销合同印花税税率2023
  • 加油发票税号错误怎么补救
  • 一个季度为纳税期限的规定适用
  • 平销返利怎么开票入账
  • 房地产公司需要和哪些部门打交道
  • 一般纳税人怎么查询
  • 制造企业材料返回流程图
  • 发改委规定电网企业职工福利费
  • 生产企业出口退税申报系统详细操作流程
  • 代理进口业务受托方账务处理流程
  • 其他应收款包括差旅费吗
  • 在建工程工程款优先受偿权
  • 美金收入 如何交税
  • 财政补贴会计入养老金一起发放吗
  • win7 excel
  • bios设置u盘启动的步骤
  • 成本核算的意义是什么
  • wan口ip地址和lan口ip地址不能
  • 如何取消windows启动管理器
  • macbookprofacetime
  • win 8和win 7有什么区别
  • Content-Disposition使用方法和注意事项
  • 解决脱发的8个方法
  • 非正常损失的存货进项税额转出
  • php使用while循环计算1到100的和
  • php引用传值
  • 记录一次游戏
  • 现金溢余和短缺的会计分录
  • mac m1 安装windows
  • 劳务公司成本怎么算
  • 租房合同违约金200%合理吗
  • 国际货运代理一个月大概有多少收入
  • 长期股权投资会计准则2021修订
  • 汇算清缴可以不调整吗
  • 购买固定资产的运费计入什么科目
  • 教育费附加减免性质代码
  • 预收租金发票怎么开
  • 农业合作社账务都有什么科目
  • 外购商品用于促销能抵扣吗
  • 留底税额怎么入账
  • 报价中含税和不含税比例
  • 其他权益工具确认递延所得税负债
  • 期末未缴税额为正是什么意思
  • 如何查询公司的营业执照照片
  • 分公司是否可以享受六税两费政策
  • 党建信息的重要性
  • 印花税属于什么科目
  • 私企需要计提盈余公积吗
  • linux oos
  • ubuntu怎么装
  • win10系统环境设置
  • windows mobile应用下载
  • centos怎么修改文件权限
  • mac怎么打开访达功能
  • 远程桌面的文件怎么无法复制到本地桌面
  • centos安装v2
  • win7系统电脑卡住了怎么办
  • js call.call
  • linux shell命令大全
  • Unity3D游戏开发引擎
  • 详解中国女足出线形势
  • unity3d基本操作
  • shell监控端口状态
  • JavaScript中关于模板字符串
  • unity3d游戏开发书籍
  • JavaScript定义变量
  • 河南省医保卡中心电话
  • 下列关于消费税委托加工说法正确的是
  • 江苏省税务局电话咨询热线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设