【多模态论文】CLIP(Contrastive Language-Image Pre-training)

news2024/12/27 7:07:32

论文:Learning Transferable Visual Models From Natural Language Supervision
链接:https://arxiv.org/abs/2103.00020

摘要

  • 问题:

    • 对预定的类别进行预测,这种有监督的训练形式受限于额外标记数据 。如何利用图像的原始文本来获取广泛的监督数据?
    • 预训练的优势:Task-agnostic objectives使得在计算、模型容量和数据方面可以扩大几个数量级,能力有大幅提高。LP中的大规模无监督训练数据训练,而CV全部都是人工标注数据集,使用自然语言监督的方法进行图像表示学习很少见。
    • CV模型只能预测已知的图像类别,本文利用图像对应的文本数据,可能可以分辨未见类别的图像。
      在CV中加入自然语言数据实际结果不够好的原因归结于数据规模不够大
  • 方法:
    通过在4e (image, text) pairs数据集进行预训练,预测caption和图像是否match。并且可以zero-shot transfer到下游任务。

  • 优点:

    • 可以从大量自然语言数据中学习,无需标注进行监督学习
    • 灵活的零样本迁移

方法详解

  1. 数据集创建
  • 三个现存图像数据集:MS-COCO和Visual Genome质量高,但各10w图像,数据量少;YFCC100M 1e图像,但质量参差,metadata少,过滤后剩1500w接近ImageNet。
  • 解决方案:从互联网收集各种公开可用的资源,通过query查询的方式获取图像文本对,构建WIT( WebImageText)。
  1. 训练方法
  • 遇到问题
    (1)训练效率问题:开始训练实验VirTex类似结构,同时训练CNN和Transformer预测生成图像caption,但实验表明慢了三倍速度。
    (2)图像描述、评论和相关文本种类繁多,任务过于困难
    也有之前的方法表明,对比目标比预测目标可以更好的学习表征以及相同性能下生成比对比需要更多计算量
  • 解决方案:不需要预测文本的单词,只需要把文本当成一个整体判断文本和图像是否匹配,这样速度能提高4倍。
    在这里插入图片描述
  1. 训练任务:给定N个图像文本对,CLIP同时训练图像编码器和文本编码器,通过最大化N个real pairs的余弦相似度并且最小化N^2-N个负样本相似度的方法学习一个多模态Space。两个编码器参数均随机初始化,不使用任何热启模型。损失函数使用symmetric cross entropy loss。
  2. 模型
    图像端:
  • ResNet-50,将 global average pooling替换为 attention pooling mechanism,q为global average-pooled 表示。

  • Vision Transformer,在patch和pos embedding结合前加了layer normalization
    文本端:Transformer,63M-parameter 12-layer 512-wide model with 8 attention heads,BPE+49,152词表,max-seq-len=76,[SOS]text [EOS],使用[EOS]作为文本表示。保留了mask loss。
    在这里插入图片描述

  • 训练目标:最小化N^2-N个负样本的相似度,最大化正样本间相似度。
    在这里插入图片描述

下图为CLIP实现的伪代码:
在这里插入图片描述
只缩放文本编码器的宽度与ResNet的宽度成正比,发现CLIP对文本编码器的容量并不敏感。
5. 训练

  • 图像编码器:5个Resnet系列,包括ResNet-50, a ResNet-101,RN50x4, RN50x16, and RN50x64(后面三个为ResNet50的缩放)。3个ViT,ViT-B/32, ViT-B/16, ViT-L/14。
  • 32 epochs,温度系数0.07(防止训练不稳定必须),bs=32768
  • 为了加速训练和节省显存,使用了:Mixed-precision,gradient checkpointing, half-precision Adam statistics,half-precision stochastically rounded text encoder weights

实验

  1. zero-shot transfer:作者建议将零样本迁移能力作为衡量模型学习能力的一种方式。
    用于图像分类
    在这里插入图片描述

  2. 如何zero-shot?
    之前分类方式的弊端:多义性的label,缺乏上下文,无法判断。并且训练数据文本大多为完整句子,而非一个单词。
    zero-shot方式:使用prompt template “A photo of a {label}.”
    使用prompt方式,在ImageNet提高了1.3%的准确率
    在这里插入图片描述
    针对不同的分类任务,详尽地指出是哪一种类别,会提高zero-shot的效果。例如Oxford-IIIT Pets数据集, “A photo of a {label}, a type of pet.”。还有Food101数据集a type of food ,FGVC Aircraft使用a type of aircraft。又或者指定图像形式,比如卫星图像-a satellite photo of a {label}。

除此之外,ensembling over multiple zeroshot classifiers来提升效果,such as 'A photo of a big {label}" and “A photo of a small {label}”。在Embedding层面计算一个averaged text embeddings。
在这里插入图片描述
3. Zero shot在各分类数据集效果
在卫星图像分类(EuroSAT和RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、合成场景(CLEVRCounts)、自动驾驶相关任务(如德国交通标志识别(GTSRB)、识别到最近汽车的距离(KITTI距离)等几个专业、复杂或抽象任务上,Zero shot CLIP非常弱。作者认为:测量零样本迁移,而不是少样本迁移,对于学习者没有先前经验的困难任务(例如几乎所有人的淋巴结肿瘤分类)是一项有意义的评估。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1844242.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MEME使用-motif分析(生物信息学工具-24)

01 背景 Motif分析是一种在生物信息学和计算生物学中广泛应用的技术,用于识别DNA、RNA或蛋白质序列中具有生物学功能的短保守序列模式(motif)。这些motif通常与特定的生物学功能相关,如DNA中的转录因子结合位点、RNA中的剪接位点…

VSCode调试python没有反应

原因&#xff1a;python的版本太低了&#xff0c;我的项目的python是3.5的&#xff0c;VSCode python debugger不支持低版本的python。 解决方法&#xff1a; debugging - debug python versions < 3.5 with vscode new debugger - Stack Overflow 安装支持低版本的Debug…

项目八 OpenStack存储管理

任务一 理解OpenStack块存储服务 1.1 •Cinder的主要功能 • 提供 持久性块存储资源&#xff0c;供 Nova 计算服务的虚拟机实例使用 。 • 为 管理块存储设备提供一套方法&#xff0c;对卷实现从创建到删除的整个生命周期 管理。 • 将 不同的后端存储进行封装&#xff0c;对外…

ScheduledExecutorService引起的线上问题(抛出异常后不继续执行)

线上有一个服务&#xff0c;采用ScheduledExecutorService定时任务刷新数据库数据到本地缓存作为路由信息 private ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1);scheduledExecutorService.scheduleWithFixedDelay(new Runnable()…

electron下载失败(electron如何切换镜像源)

打开&#xff1a; 或者&#xff1a; C:\Users\用户名\.npmrc 添加&#xff1a; electron_mirrorhttps://npmmirror.com/mirrors/electron/ 到文件中&#xff0c;保存 方法二&#xff1a; npm config set ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ ELECTR…

MavenPlus插件的基础功能完善

本次更新主要是在初版的searchEverywhere的基础上增加了pom.xml文件编辑器&#xff0c;目前的界面布局如下&#xff0c;进行适当说明&#xff1a; 打开pom文件后&#xff0c;你会得到如上图所示的布局页面&#xff0c;数据会同步显示 如果有冲突信息&#xff0c;则会以红色显示…

如何解决资源管理器被结束任务后的问题,怎么重启或新建资源管理器任务?

服务器上运行的东西太多&#xff0c;修改个文件夹的名字导致卡死。结束任务后导致系统页面空白。&#xff08;关闭了windows资源管理器&#xff09; 按CtrlShiftDelete没有反应。 按CtrlShiftEsc没有反应。 按CtrlShiftEnd没有反应。 按CtrlALTEnd有反应。 (win2012) 输入…

华为数通——单臂路由

单臂路由&#xff1a;指在三层设备路由器的一个接口上通过配置子接口&#xff08;或“逻辑接口”&#xff0c;并不存在真正物理接口&#xff09;的方式&#xff0c;实现原来相互隔离的不同VLAN&#xff08;虚拟局域网&#xff09;之间的互联互通。但是仅仅允许单播通信。 单臂路…

爬取CSDN博文到本地(包含图片,标签等信息)

文章目录 csdnToMD改进将CSDN文章转化为Markdown文档那有什么办法快速得到md文档&#xff1f;例如&#xff1a;获取单个文章markdown获取所有的文章markdown 项目中待解决的问题 csdnToMD 项目原作者&#xff1a;https://gitee.com/liushili888/csdn-is—mark-down 改进后仓库…

全球AI新闻速递6.20

1.国家药监局综合司&#xff1a;关于印发药品监管人工智能典型应用场景清单的通知。 2.Canalys&#xff1a;预计今年全球 AI 手机市场份额达 16%。 3.Adobe Acrobat 升级 AI 技能&#xff1a;文生图、梳理信息等。 4.中国科大人形机器人研究院揭牌。 5.华为官方预告&#x…

如何下载DVS Gesture数据集?解决tonic.datasets.DVSGesture错误HTTP Error 403: Forbidden

1 问题 DVSGesture数据集是一个专注于动态视觉传感&#xff08;Dynamic Vision Sensor, DVS&#xff09;技术的数据集&#xff0c;它包含了基于事件的图像记录&#xff0c;用于手势识别任务。DVSGesture数据集由一系列动态图像组成&#xff0c;这些图像是通过动态视觉传感器捕…

静态网页处理复杂请求

目录 1.定制请求头 (1)&#xff0e;查看请求头 (2)&#xff0e;设置请求头 2.验证 Cookie 3.保持会话 4. SSL 证书验证 在互联网中&#xff0c;网页中的内容是千变万化的&#xff0c;如果只根据请求 URL 发送基本请求&#xff0c;则可能 无法获取网站的响应数据&#xff0…

[创业之路-118] :制造业企业的必备管理神器-ERP-制造业的基本方程式与ERP的发展历程,哪些企业需要ERP?

目录 一、制造业的基本方程式 1.1 基本方程式 1.2 制造的数学模型 二、ERP的发展历程 2.1 发展历程 2.2 比较 三、过往产品回顾 3.1 定货点法 3.2 时段式ERP 3.3 闭环式MRP 3.4 ERP 四、哪些企业需要ERP 4.1 概述 4.2 软件企业需要ERP吗&#xff1f; 一、制造业的…

扫码点餐小程序搭建 商家智能化服务的新趋势

在这个数字化飞速发展的时代&#xff0c;独具个性的扫码点餐小程序也成为了人们对于店铺整体形象的加分项&#xff0c;店铺界面设计新颖、点餐操作简捷、让人心情愉悦的取餐时间差都成为了大家公认的打卡理由之一。因此&#xff0c;高颜值的实用点餐小程序也成为了商家们的店铺…

Hadoop安装和测试

一&#xff0c;下载 地址&#xff1a;Index of /dist/hadoop/common 选择3.3.6版本&#xff08;最新版本之前的一个版本&#xff0c;一般比较稳定&#xff09; 二&#xff0c;解压 解压到/data/module目录&#xff0c;这里随便自定义就好。 tar -zxvf hadoop-3.3.6.tar.gz …

超级好用的JSON格式化可视化在线工具

JSON是开发非常常用的一种报文格式,最常见的需求就是将JSON进行格式化,最好是有图形化界面显示结构关系,以便进行数据分析。 理想的在线JSON工具,应该支持快速格式化、可压缩、快捷复制、可下载导出,对存在语法错误的地方能明确显示。提供搜索定位功能,可视区足够大,最好…

CPU核心是如何影响VPS性能的?

为什么VPS对于各种类型和规模的网站和应用程序来说都是非常出色的解决方案&#xff1f; 首先&#xff0c;它比其他类型的托管具有许多优势&#xff0c;但也许它最大的优势是它可以以合适的价格为您提供合适的性能。 然而&#xff0c;只有当您满足所需的规格时它才会这样做。 …

Linux环境编程基础学习2

For循环累加求和&#xff0c;两种方式&#xff0c;c方式的运算更快 打开文件操作 cat操作的实现 EOF: 1.diff A B比较两个文件是否一样&#xff0c;一样则什么结果都没有 Od -c 文件名可以显示出文件中的不可见字符

贴图法美化Button按钮

贴图法美化Button按钮 项目是在下面这篇文章里的基础上进行美化的&#xff1a;MFC实现INI配置文件的读取 1. 初始效果 2.最终效果 3. 增加 CImgButton 类 1.1 ImgButton.h 头文件 #pragma once // CImgButtonclass CImgButton : public CBitmapButton {DECLARE_DYNAMIC(CImgBu…

IT人周末兼职跑外面三个月心得分享

IT人周末兼职跑外面三个月心得分享 这四个月来&#xff0c;利用周末的时间兼职跑外面&#xff0c;总共完成了564单&#xff0c;跑了1252公里&#xff0c;等级也到了荣耀1&#xff0c;周末不跑就会减分。虽然收入只有3507.4元。 - 每一次的接单&#xff0c;每一段路程&#xff…