CLIP:Contrastive Language-Image Pre-Training

2023-11-09


参考博客:

CLIP论文阅读【Learning Transferable Visual Models From Natural Language Supervision】

CLIP: Connecting Text and Images


引言

在NLP领域的利用自监督信号训练的预训练模型中,大规模的没有标注的数据,反而是比高质量经过手工标注的数据更有效。但是在视觉领域中大家的做法还是在像ImageNet这样的高质量手工标注的数据集中预训练,这样就会使视觉模型具有很多的限制。

NLP的这套框架是否可以用到视觉领域中?在17年的时候其实就有一篇文章与CLIP的思路非常相似,但是那时没有Transformer,没有对比学习、完形填空(掩码语言建模)以及大规模的数据集,它的结果并不是很好。此后也有一些工作使用自回归、掩码语言建模的方式做了一些工作,但是由于模型和数据都没有CLIP这么好,所以结果不亮眼。目前虽然已经有人使用Transformer+自监督来对图像文本对进行尝试,但效果却不好,归根结底是由于数据规模的有限,甚至导致zero-shot的性能不如传统的机器学习,因此这方向探索的热情也就没那么高了。因此有些工作尝试从另一个方向来开展,就是使用更弱的一些监督信号来进行视觉模型的学习,比如有些工作尝试在Instgram上爬取带有hashtag的图像,hashtag其实就相当于文本信号(充当弱监督),这样就可以做一个很大的数据集。以及有人在JFT-300M这样的大数据集上进行训练,该数据集上的文本标注很粗糙,也算相当于一种弱监督。

其实之前这一系列工作的作者都知道使用有限的经过精心设计的标注数据是有很大的局限性的,也都想用这种无尽的原始文本数据。但是因为后一种方法现在效果很低,所以没办法,他们就走了这种实用主义的中间地带,用文本带来的弱监督信号去帮助有监督模型取得更好的效果。虽然后者取得了很好的效果,思路也与CLIP很相似,但是这些工作也还是有局限的,他们这些数据也是经过精心设计的,类别也是从1000到18392个这样的有限类别,并不能真正做到随心所欲zero-shot,并且他们的工作最后都是使用Softmax做一个分类头,所以他们的工作都是固定的,从指定好的类别中选出一个。

其实不论是在大规模数据集中使用文本弱监督信号的方法,还是在有限数据集下借助文本监督信号来进行监督视觉模型学习表征的方法,区别并不是很大,关键其实就在规模上(模型+数据集)。上面的这些弱监督学习方法是在亿级规模的数据集上进行训练。最近的这些方法(VirTex,ICMLM, ConVIRT,思路其实与CLIP很相似)在有限数据集上进行图文对学习的方法,只是在几十万张图片上训练了几天,自然无法跟之前的那些方法相比。其实之前这些方法不行,并不是方法不行,而是因为规模不行,只要规模上去了,效果自然会非常好。因此CLIP这篇工作要做的就是,把规模做大,作者首先做的是收集了一个4亿个图像文本对(与JFT-300M一个量级)数据集,然后在模型上使用了不同尺寸的基于ResNet、Transformer等的大模型,方法上其实就是ConVIRT方法的简化版。

方法

CLIP是一种基于对比学习的多模态模型,CLIP的训练数据是文本-图像对:一张图像和它对应的文本描述,这里希望通过对比学习,模型能够学习到文本-图像对的匹配关系。如下图1所示,CLIP包括两个模型:Text Encoder和Image Encoder,其中Text Encoder用来提取文本的特征,可以采用NLP中常用的text transformer模型;而Image Encoder用来提取图像的特征,可以采用常用CNN模型或者vision transformer。

对提取的文本特征和图像特征进行对比学习。对于一个包含 N N N个文本-图像对的训练batch,将 N N N个文本特征和 N N N个图像特征两两组合,CLIP模型会预测出 N ∗ N N*N NN个可能的文本-图像对的相似度,这里的相似度直接计算文本特征和图像特征的余弦相似性(cosine similarity),即图1所示的矩阵。

fig1

与CV中常用的先预训练然后微调不同,CLIP可以直接实现zero-shot的图像分类,即不需要任何训练数据,就能在某个具体下游任务上实现分类,这也是CLIP亮点和强大之处。用CLIP实现zero-shot分类很简单,只需要简单的两步:

  • 根据任务的分类标签构建每个类别的描述文本:A photo of {label},然后将这些文本送入Text Encoder得到对应的文本特征,如果类别数目为 N N N,那么将得到 N N N个文本特征;
  • 将要预测的图像送入Image Encoder得到图像特征,然后与 N N N个文本特征计算缩放的余弦相似度(和训练过程一致),然后选择相似度最大的文本对应的类别作为图像分类预测结果,进一步地,可以将这些相似度看成logits,送入softmax后可以到每个类别的预测概率。(体现出了预训练-提示范式)

关于训练效率,对于多模态预训练这样的任务,训练效率是决定训练效果的关键。因此CLIP选择了基于对比学习而非GPT那样的语言生成。如果要从一个图片逐字逐句的预测一段文本的话,这样计算量太大,训练效率太低。但是如果把这个预测任务变成一个对比任务,就是只是输入一张图片,来预测是否与这个文本是否配对,那这样训练难度就会简单很多。前者属于在原始信号空间做预测,后者属于在表示空间做对比。将GPT这种预测性的目标函数换成对比性的目标函数后,训练效率提升了4倍:
fig2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CLIP:Contrastive Language-Image Pre-Training 的相关文章

  • 【卡尔曼滤波】粗略模型和过滤技术在模型不确定情况下的应用研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文献
  • 喜报|华测导航荣获“张江之星”领军型企业称号

    近日 2023年度 张江之星 企业培育名单发布 上海华测导航荣获2023年度 张江之星 领军型企业称号 据悉 张江之星 企业培育是上海科创办为落实 关于推进张江高新区改革创新发展建设世界领先科技园区的若干意见 张江高新区加快世界领先科技园区
  • Soul App:年轻人的社交状态,还有多少种可能?

    查尔斯 狄更斯在 双城记 的开篇写下 这是最好的时代 这是最坏的时代 这是智慧的时代 这是愚蠢的时代 这是信仰的时期 这是怀疑的时期 人们面前有着各样事物 人们面前一无所有 既然万事万物都和狄更斯所说般 好坏参半 那又何必执着于过去 苦恼于
  • 利用CHAT写实验结论

    问CHAT 通过观察放置在玻璃表面上的单个水滴 人们可以观察到水滴充当成像系统 探究这样一个透镜的放大倍数和分辨率 CHAT回复 实验报告标题 利用玻璃表面的单一水滴观察成像系统的放大倍数和分辨率 一 实验目的 通过对比和测量 研究和探索玻
  • 链上繁荣,合作不断,外媒热议波场 TRON 2023 年度成绩

    近日 权威外媒Theblock 美联社和Decrypt等就波场 TRON 2023大事件进行了年度盘点 报道指出 波场TRON网络在2023年取得了一系列的发展和合作 提升了其在Web3领域的地位 其中 波场TRON网络账户数量增加了 54
  • 打造完美人像,PixCake像素蛋糕助您一键修图

    您是否曾经为自己的人像照片需要进行繁琐的修图而感到困扰 是否曾经想要打造出完美的自拍照 却不知道该如何下手 现在 我们为您推荐一款强大的人像处理技术修图软件 PixCake像素蛋糕 PixCake像素蛋糕是一款基于AI人像处理技术的修图软件
  • 活动日程&直播预约|智谱AI技术开放日 Zhipu DevDay

    点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入 直播预约通道 关于AI TIME AI TIME源起于2019年 旨在发扬科学思辨精神 邀请各界人士对人工智能理论 算法和场景应用的本质问题进行探索 加强思想碰撞 链接全球AI学
  • 性能大减80%,英伟达芯片在华“遇冷”,我方霸气回应:不强求

    中国这么大一块市场 谁看了不眼馋 在科技实力大于一切的今天 高端芯片的重要性不言而喻 作为半导体产业发展过程中不可或缺的一环 芯片技术也一直是我国技术发展的一大 心病 在美西方等国的联手压制下 我国芯片技术发展处处受阻 至今也未能在高端芯片
  • 强烈推荐收藏!LlamaIndex 官方发布高清大图,纵览高级 RAG技术

    近日 Llamaindex 官方博客重磅发布了一篇博文 A Cheat Sheet and Some Recipes For Building Advanced RAG 通过一张图给开发者总结了当下主流的高级RAG技术 帮助应对复杂的生产场
  • 如何快速申请GPT账号?

    详情点击链接 如何快速申请GPT账号 一OpenAI 1 最新大模型GPT 4 Turbo 2 最新发布的高级数据分析 AI画图 图像识别 文档API 3 GPT Store 4 从0到1创建自己的GPT应用 5 模型Gemini以及大模型
  • 手把手教你用 Stable Diffusion 写好提示词

    Stable Diffusion 技术把 AI 图像生成提高到了一个全新高度 文生图 Text to image 生成质量很大程度上取决于你的提示词 Prompt 好不好 前面文章写了一篇文章 一份保姆级的 Stable Diffusion
  • 机器学习算法实战案例:BiLSTM实现多变量多步光伏预测

    文章目录 1 数据处理 1 1 导入库文件 1 2 导入数据集 1 3 缺失值分析 2 构造训练数据
  • 2023最新pytorch安装(超详细版)

    前言 一 判断是否有Nvidia 英伟达显卡 二 CPU版 2 1 安装Anaconda 2 2 创建虚拟环境 2 3安装pytorch 2 4 验证pytorch是否安装成功 三 GPU版 3 1 安装Anaconda 3 2 创建虚拟环
  • AI在广告中的应用——预测性定位和调整

    营销人员的工作就是在恰当的时间将适合的产品呈现在消费者面前 从而增加他们购买的可能性 随着时间的推移 营销人员能够深入挖掘越来越精准的客户细分市场 他们不仅具备了实现上述目标的能力 而且这种能力还在呈指数级提升 在AI技术帮助下 现在的营销
  • AI帮助终结全球饥饿问题

    全球饥饿问题是牵动人心的头等大事 5月28日是 世界饥饿日 这一问题更值得关注 让人人都能吃饱的想法不仅令人向往 而且很快就会变成现实 与大多数新事物引进一样 对于在控制世界粮食供应这样复杂的任务中AI究竟应该发挥多大的作用 人们还踟蹰不前
  • 主流进销存系统有哪些?企业该如何选择进销存系统?

    主流进销存系统有哪些 企业该如何选择进销存系统 永久免费 的软件 这个可能还真不太可能有 而且就算有 也只能说是相对免费 因为要么就是数据存量有限 要么就是功能有限 数据 信息都不保障 并且功能不完全 免费 免费软件 免费进销存 诸如此类
  • GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

    详情点击链接 GPT4 Python近红外光谱数据分析及机器学习与深度学习建模 第一 GPT4 入门基础 1 ChatGPT概述 GPT 1 GPT 2 GPT 3 GPT 3 5 GPT 4模型的演变 2 ChatGPT对话初体验 注册与
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 国产化率100%,北斗导航单日定位4500亿次,外媒:GPS将被淘汰

    追赶30年的技术差距 国产卫星导航系统 北斗 开始扬眉吐气 数据显示 北斗导航目前单日定位量达4500亿次 已经获得100多个国家的合作意向 甚至国际民航也摒弃以往 独宠 GPS的惯例 将北斗纳入参考标准 对此 有媒体直言 GPS多年来的技
  • 深度学习(5)--Keras实战

    一 Keras基础概念 Keras是深度学习中的一个神经网络框架 是一个高级神经网络API 用Python编写 可以在TensorFlow CNTK或Theano之上运行 Keras优点 1 允许简单快速的原型设计 用户友好性 模块化和可扩

随机推荐

  • ios html mail,在Ios上的html电子邮件中显示base64图像

    我生成一个包含base64图像的html字符串 当MFMailComposeViewController打开时 我会看到生成的电子邮件中的图像 当我发送并打开它时 图像不会显示 只有空方块 我的代码 IBAction actionShare
  • VSCode无法登录leetcode,报[ERROR] invalid password?错误

    原因 leetcode cn的用户名是手机或者邮箱 不能用昵称登录 在官网退出登陆后发现用昵称登录不了 换成邮箱或者手机号后 登录成功 login node 960 Warning Accessing non existent proper
  • SQL Server主流版本生命周期管理

    SQL Server 生命周期 每个版本的 SQL Server 都有至少 10 年的支持期限 其中包括五年的主要支持和五年的扩展支持 主要支持 包括功能 性能 可伸缩性和安全更新 扩展支持 仅包含安全更新 终止支持 有时也称为生命周期结束
  • 2020年高教社杯全国大学生数学建模竞赛赛题 C题分析与思路!(持续更新)

    C题 中小微企业的信贷决策 1 C题题目背景 分析 在实际中 由于中小微企业规模相对较小 也缺少抵押资产 因此银行通常是依据信贷政策 企业的交易票据信息和上下游企业的影响力 向实力强 供求关系稳定的企业提供贷款 并可以对信誉高 信贷风险小的
  • 【nginx编译-zierror: ‘struct crypt_data‘ has no member named ‘current_salt‘】

    nginx编译 src os unix ngx user c In function ngx libc crypt src os unix ngx user c 26 7 error struct crypt data has no mem
  • C#中Class与Struct区别

    C 中Class与Struct区别 1 class 是引用类型 继承自System Object stuce是值类型 继承自System ValueType类 因此不具多态性 但是注意 System ValueType是个引用类型 2 从职
  • 如何用SPSS对数据进行标准化处理?

    SPSS统计分析软件是我最早接触的数据分析工具 我的博客将陆续介绍SPSS统计分析软件的相关内容 这类文章将统一按照在标题或者正文第一段出现 SPSS案例分析 编号 的形式组织 便于读者朋友们快速查询 收集 今天是第一篇 即 SPSS案例分
  • python循环与文件操作

    if 语句语法结构 if 条件 elif 条件 else 1 如果表达式的值 非0 或者为布尔值 True 则代码组 if suite 被执行 否则就去执行 else suite 2 只要表达式数字为 非零值 即为 True 3 空字符串
  • 移植使用tslib 库

    目录 tslib 简介 tslib 移植 下载tslib 源码 编译tslib 源码 tslib 安装目录下的文件夹介绍 在开发板上测试tslib tslib 库函数介绍 打开触摸屏设备 配置触摸屏设备 读取触摸屏数据 基于tslib 编写
  • STL库的使用之容器模板类QVector使用

    Qt中提供了一组通用的基于模板的容器类 对比C 中的STL库的容器类 Qt的这些容器类更轻量 更安全并且容易使用同时在速度 内存消耗 内联代码等方面进行了优化 存储在Qt的容器中数据必须是可赋值的数据类型 数据类型必须提供一个默认的构造函数
  • BES2300X,BES2500X——UI(按键,提示音,指示灯)

    本文是BES2300X BES2500X系列博文UI部分 一个耳机 音箱 UI是联系使用者与开发者最直接的一个窗口 当然 对于吾等码农而言 UI设计并不是我们最关心的 我们主要做的是UI实现 本文 写BES最基础UI 按键 指示灯 提示音
  • 基于Qt的收银点餐系统之UI的改进——QStackedLayout和QScrollArea的使用

    待解决问题 在收银点餐系统之UI的基本实现中 我们实现了本系统中最基本的UI 这一个UI是静态的 不能够动态添加按钮 关于如何添加见参考资料 也不能实现点击不同的分类 出现不同的界面等 前者的逻辑通过代码很好实现 故不赘述 后者则需要用到一
  • 力扣第45天----第392题、第115题

    力扣第45天 第392题 第115题 文章目录 一 第392题 判断子序列 二 第115题 不同的子序列 一 第392题 判断子序列 挺简单的 思路跟以前的都差不多 class Solution public bool isSubseque
  • Go解析yaml和yml文件

    Go解析yaml和yml文件 文章目录 Go解析yaml和yml文件 1 yaml概述 2 功能 3 示例 4 语言的构成元素 1 清单 数组 2 关系数组 3 区块的字符 4 保留换行 Newlines preserved 5 折叠换行
  • 英文期刊催稿信模板_SCI投稿委婉催稿信模板

    SCI投稿委婉催稿信模板1 Dear editor I m not sure if it is the right time to contact you to inquire about the status of my submitte
  • 34种ArcGIS常用操作技巧大汇总

    概述 ArcGIS产品线为用户提供一个可伸缩的 全面的GIS平台 ArcObjects包含了许多的可编程组件 从细粒度的对象 例如单个的几何对象 到粗粒度的对象 例如与现有ArcMap文档交互的地图对象 涉及面极广 这些对象为开发者集成了全
  • Burpsuite2022.1详细安装步骤包含证书安装

    burpsuite安装 burpsuite2022 1 https pan baidu com s 1k46tVXOKfdSwxOha UNeyQ 提取码 6954 将 burp suite 压缩包解压到英文目录下 这里我解压到了 E Bu
  • matlab图像滤波

    转自 http hi baidu com wang 5Fpw blog item 36354a637ac87b48eaf8f879 html clc clear all I imread eight tif 用中值滤波 多维滤波 使用中心为
  • zipkin学习--01--理论

    一 介绍 是分布式跟踪系统 Distributed Tracking System 监控微服务各个服务的调用情况 举例 一个请求A 需要先后调用f1 f2 f3等微服务单元的接口 我们可以通过链路追踪查看f1 f2 f3对应接口的耗时 主要
  • CLIP:Contrastive Language-Image Pre-Training

    参考博客 CLIP论文阅读 Learning Transferable Visual Models From Natural Language Supervision CLIP Connecting Text and Images 引言 在