【计算机视觉】CLIP:连接文本和图像(关于CLIP的一些补充说明)

news2025/1/21 9:25:05

文章目录

  • 一、前言
  • 二、背景及相关工作
  • 三、方法
    • 3.1 Costly datasets
    • 3.2 Narrow
    • 3.3 Poor real-world performance
  • 四、要点
    • 4.1 CLIP is highly efficient
    • 4.2 CLIP is flexible and general
  • 五、限制
  • 六、更广泛的影响
  • 七、结论

一、前言

我们推出了一个名为CLIP的神经网络,它可以有效地从自然语言监督中学习视觉概念。CLIP可以应用于任何视觉分类基准,只需提供要识别的视觉类别名称,类似于GPT-2和GPT-3的“零样本”功能。

尽管深度学习彻底改变了计算机视觉,但当前的方法存在几个主要问题:

  • 典型的视觉数据集是劳动密集型的,创建成本高昂,同时只教授一小部分视觉概念;
  • 标准视觉模型擅长一项任务且仅擅长一项任务,并且需要付出大量努力才能适应新任务;

在基准测试中表现良好的模型在压力测试中的表现令人失望,这让人们对计算机视觉的整个深度学习方法产生了怀疑。

我们提出了一个旨在解决这些问题的神经网络:

它在各种图像上进行训练,并接受互联网上大量提供的各种自然语言监督。 通过设计,可以用自然语言指示网络执行各种分类基准测试,而无需直接针对基准性能进行优化,类似于 GPT-2 和 GPT-3 的“零样本”功能。

这是一个关键的变化 :通过不直接针对基准进行优化,我们表明它变得更具代表性:我们的系统将这种“稳健性差距”缩小了高达 75%,同时在 ImageNet 零镜头上匹配原始 ResNet-50 的性能,而无需使用任何原始的 1.28M 标记示例。

在这里插入图片描述

二、背景及相关工作

CLIP(对比语言-图像预训练)建立在大量关于零镜头迁移、自然语言监督和多模式学习的工作之上。

零数据学习的想法可以追溯到十多年前,但直到最近才主要在计算机视觉中作为一种泛化到看不见的对象类别的方式进行研究。

一个关键的见解是利用自然语言作为灵活的预测空间来实现泛化和转移。 2013 年,Richer Socher 和斯坦福大学的合著者通过在 CIFAR-10 上训练模型在词向量嵌入空间中进行预测来开发概念证明,并证明该模型可以预测两个不可见的类。

同年,DeVISE 扩展了这种方法,并证明可以微调 ImageNet 模型,使其可以泛化以正确预测原始 1000 个训练集之外的对象。

对 CLIP 最有启发性的是 Ang Li 和他的合著者在 FAIR 上的工作,他们在 2016 年演示了使用自然语言监督来实现零镜头迁移到几个现有的计算机视觉分类数据集,例如规范的 ImageNet 数据集。 他们通过微调 ImageNet CNN 从 3000 万张 Flickr 照片的标题、描述和标签文本中预测更广泛的视觉概念(视觉 n-gram),并在 ImageNet 上达到 11.5% 的准确率,从而实现了这一目标 零射击。

最后,CLIP 是一组论文的一部分,这些论文重新审视了过去一年中从自然语言监督中学习视觉表示。

这一系列工作使用更现代的架构,如 Transformer,包括探索自回归语言建模的 VirTex,研究屏蔽语言建模的 ICMLM,以及研究我们用于 CLIP 的相同对比目标的 ConVIRT,医学影像。

三、方法

我们表明,扩展一个简单的预训练任务足以在各种图像分类数据集上实现有竞争力的零样本性能。

我们的方法使用大量可用的监督来源:文本与在互联网上找到的图像配对。

此数据用于为 CLIP 创建以下代理训练任务:给定一张图像,预测一组 32,768 个随机抽样的文本片段中的哪一个在我们的数据集中与它实际配对。

为了解决这个任务,我们的直觉是 CLIP 模型需要学习识别图像中的各种视觉概念并将它们与它们的名称相关联。 因此,CLIP 模型可以应用于几乎任意的视觉分类任务。

例如,如果数据集的任务是对狗和猫的照片进行分类,我们会检查每张图像,CLIP 模型是否预测文本描述 “a photo of a dog” 或 “a photo of a cat” 更有可能配对 用它。

在这里插入图片描述

CLIP 旨在缓解计算机视觉标准深度学习方法中的一些主要问题:

3.1 Costly datasets

深度学习需要大量数据,而视觉模型传统上是在人工标记的数据集上训练的,这些数据集的构建成本很高,而且只对有限数量的预定视觉概念提供监督。

ImageNet 数据集是该领域最大的成果之一,需要超过 25,000 名工作人员为 22,000 个对象类别标注 1400 万张图像。 相比之下,CLIP 从互联网上公开的文本图像对中学习。 先前的工作已经广泛研究了减少对昂贵的大型标记数据集的需求,特别是自我监督学习对比方法、自我训练方法和生成建模。

3.2 Narrow

ImageNet 模型擅长预测 1000 个 ImageNet 类别,但这就是它“开箱即用”的全部功能。

如果我们希望执行任何其他任务,机器学习从业者需要构建一个新的数据集,添加一个输出头,并对模型进行微调。

相比之下,CLIP 可以适应执行各种视觉分类任务,而无需额外的训练示例。

要将 CLIP 应用于新任务,我们需要做的就是“告诉”CLIP 的文本编码器任务视觉概念的名称,它将输出 CLIP 视觉表示的线性分类器。

这种分类器的准确性通常可以与完全监督的模型相媲美。

3.3 Poor real-world performance

深度学习系统经常被报道可以达到人类甚至超人的表现。在视觉基准上,但在野外部署时,它们的性能可能远低于基准设定的预期。 换句话说,“基准性能”和“实际性能”之间存在差距。

我们推测,之所以会出现这种差距,是因为模型仅通过优化基准性能来“作弊”,就像一名学生通过仅研究过去几年考试中的问题来通过考试一样。

相比之下,CLIP 模型可以在基准上进行评估,而无需对其数据进行训练,因此它不能以这种方式“作弊”。 这导致其基准性能更能代表其在野外的性能。

为了验证“作弊假设”,我们还测量了 CLIP 在能够“学习”ImageNet 时的性能变化。

当线性分类器安装在 CLIP 的特征之上时,它将 CLIP 在 ImageNet 测试集上的准确率提高了近 10%。

然而,这个分类器在 7 个其他数据集的评估套件中的平均表现并没有更好,这些数据集测量了“稳健”的性能。

四、要点

4.1 CLIP is highly efficient

CLIP 从未经过滤的、高度多样化和高度嘈杂的数据中学习,旨在以零样本的方式使用。

我们从 GPT-2 和 3 中了解到,在此类数据上训练的模型可以实现令人信服的零样本性能; 然而,此类模型需要大量的训练计算。 为了减少所需的计算,我们专注于算法方法来提高我们方法的训练效率。

我们报告了导致显着计算节省的两种算法选择。

第一个选择是采用对比目标来连接文本和图像。我们最初探索了一种图像到文本的方法,类似于 VirTex,但遇到了缩放它以实现状态的困难- 艺术表演。 在中小型实验中,我们发现 CLIP 使用的对比目标在零样本 ImageNet 分类方面的效率提高了 4 到 10 倍。

第二个选择是采用 Vision Transformer,与标准 ResNet 相比,它使我们的计算效率进一步提高了 3 倍。 最后,我们性能最好的 CLIP 模型在 256 个 GPU 上训练了 2 周,这与现有的大规模图像模型相似。

在这里插入图片描述

4.2 CLIP is flexible and general

因为它们直接从自然语言中学习了广泛的视觉概念,所以 CLIP 模型比现有的 ImageNet 模型更加灵活和通用。 我们发现他们能够零射击执行许多不同的任务。

为了验证这一点,我们测量了 CLIP 在 30 多个不同数据集上的零样本性能,包括细粒度对象分类、地理定位、视频中的动作识别和 OCR 等任务。

特别是,学习 OCR 是标准 ImageNet 模型中不会发生的令人兴奋的行为的一个例子。 上面,我们从每个零样本分类器中可视化了一个随机的非 cherry picked 预测。

这一发现也反映在使用线性探针的标准表示学习评估中。 在我们测试的 26 个不同传输数据集中的 20 个上,最佳 CLIP 模型优于公开可用的最佳 ImageNet 模型 Noisy Student EfficientNet-L2。

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

五、限制

虽然 CLIP 通常在识别常见物体方面表现良好,但它在更抽象或系统的任务(例如计算图像中的物体数量)和更复杂的任务(例如预测照片中最近的汽车的距离)方面表现不佳。

在这两个数据集上,零样本 CLIP 仅略优于随机猜测。 与任务特定模型相比,零样本 CLIP 在非常细粒度的分类上也表现不佳,例如区分汽车模型、飞机变体或花卉种类。

CLIP 对其预训练数据集中未涵盖的图像的泛化能力仍然很差。

例如,尽管 CLIP 学习了一个功能强大的 OCR 系统,但在对来自 MNIST 数据集的手写数字进行评估时,零样本 CLIP 仅达到 88% 的准确率,远低于数据集上人类的 99.75%。

最后,我们观察到 CLIP 的零样本分类器可能对措辞或措辞敏感,有时需要反复试验“提示工程”才能表现良好。

六、更广泛的影响

CLIP 允许人们设计自己的分类器并消除了对特定任务训练数据的需求。 这些类的设计方式会严重影响模型性能和模型偏差。 例如,我们发现当给定一组标签时,包括 Fairface 种族标签 C 。

以及一些令人震惊的术语,如“犯罪”、“动物”等,该模型倾向于将 0-20 岁的人的图像分类为令人震惊的类别,比率约为 32.3%。 然而,当我们将类“child”添加到可能的类列表中时,这种行为下降到约 8.7%。

此外,鉴于 CLIP 不需要特定任务的训练数据,它可以更轻松地解锁某些特定任务。 其中一些任务可能会引发与隐私或监视相关的风险,我们通过研究 CLIP 在名人识别方面的表现来探讨这一问题。

当从 100 个候选对象中进行选择时,CLIP 在“野外”名人图像分类中的 top-1 准确率为 59.2%,而当从 1000 个可能的选项中进行选择时,CLIP 的 top-1 准确度为 43.3%。

尽管通过与任务无关的预训练实现这些结果值得注意,但与广泛使用的生产级模型相比,这种性能并不具有竞争力。

我们进一步探讨了 CLIP 在我们的论文中提出的挑战,我们希望这项工作能够激发未来对此类模型的能力、缺点和偏差的表征的研究。

七、结论

借助 CLIP,我们测试了是否也可以利用互联网规模自然语言的任务不可知预训练(它推动了 NLP 的最新突破)来提高其他领域深度学习的性能。

到目前为止,我们对将这种方法应用于计算机视觉所取得的成果感到非常兴奋。

与 GPT 系列一样,CLIP 在预训练期间学习了各种各样的任务,我们通过零镜头迁移展示了这些任务。 我们对 ImageNet 的发现也感到鼓舞,这些发现表明零样本评估是衡量模型能力的更具代表性的指标。

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

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

相关文章

原神服务端搭建架设教程win系统(附客户端+服务端+环境配置)

原神服务端搭建架设教程win系统(附客户端服务端环境配置) 大家好,我是艾西原神一款开放世界冒险3D游戏以七种元素(分别为风、雷、岩、火、水、草、冰)交汇的幻想世界“提瓦特”创造的游戏世界,以角色扮演的RPG游戏还是有非常多的玩…

Prompt工程师指南[应用篇]:Prompt应用、ChatGPT|Midjouney Prompt Engineering

Prompt工程师指南[应用篇]:Prompt应用、ChatGPT|Midjouney Prompt Engineering 1.ChatGPT Prompt Engineering 主题: 与 ChatGPT 对话 Python 笔记本 Topics: ChatGPT介绍审查对话任务与ChatGPT对话Python笔记本 ChatGPT介绍 ChatGPT是OpenAI训练的…

(数字图像处理MATLAB+Python)第七章图像锐化-第三节:高斯滤波与边缘检测

文章目录 一:高斯函数(1)定义(2)特点 二:LOG算子(1)定义(2)程序 三:Canny算子(1)最优边缘检测(2)C…

前端开发推荐vscode安装什么插件?

前言 可以参考一下下面我推荐的插件,注意:插件的目的是用于提高开发的效率,节约开发的时间,像类似检查一些bug、拼写错误等这些可以使用插件快速的识别,避免在查找错误上浪费过多的时间,但切记不要过度依赖…

高速电路设计阻抗匹配的几种方法

为什么要阻抗匹配? 在高速数字电路系统中,电路数据传输线上阻抗如果不匹配会引起数据信号反射,造成过冲、下冲和振铃等信号畸变,当然信号沿传输线传播过程当中,如果传输线上各处具有一致的信号传播速度,并且单位长度…

AVL和二叉树介绍

AVL tree介绍 AVL的全称是:Adelson-Velsky-Landis,是发明这种高度平衡二叉树的人名的缩写,AVL tree是一种优化了的搜索二叉树。 这是二叉排序树会存在的一个问题,先看案例: 给定一个数列为{1,2,3,4,5,6},将这个数列…

【Blender】学习一下

简介Download使用教程入门常识界面简介编辑器视图Layout游标对物体的操作 实战案例1. 萌三兄弟——建模、渲染2. 积木组合——建模、渲染、动画制作3. 金币基站——建模、渲染4. 狂奔的小车——建模、渲染、动画5. 荧光树桩——雕刻、建模、渲染6. 子弹冲击——建模、渲染、动画…

Hum Brain Mapp | 联合连接矩阵独立成分分析:结构和功能连接的自动链接

导读 对人类大脑连接的研究,包括结构连接(SC)和功能连接(FC),这些方面的研究有助于深入了解大脑功能的神经生理机制及其与人类行为和认知的关系。这两种类型的连接测量都提供了重要且互补的信息。然而,将这两种模式整合到一个单一的框架中仍…

AutoCV番外:Transformer

目录 Transformer前言1. Self-attention1.1 前置知识1.2 Self-attention机制1.3 矩阵乘法角度理解1.4 Multi-head Self-attention1.5 Positional Encoding1.6 Many application 2. Transformer2.1 前置知识2.2 Encoder2.3 AT Decoder2.4 NAT Decoder2.5 Cross attention2.6 Tra…

如何区分比特率、波特率和频谱带宽?

01、什么是比特率和波特率? 宽带网络里面提及的千兆即1000Mbit/s,一般描述的是我们家网络端口每秒最大可接收0、1比特(bit)的数量,即每秒可接收1000x106个比特。显而易见,比特率越高,每秒传送的…

利用resnet50模型实现车牌识别(Python代码,.ipynb和.py两种文件保存都有,可以使用jupyter或pycharm运行)

1.代码的主要流程如下: 导入所需的库和模块。对数据集进行可视化,随机选择一些图像进行展示。加载图像数据集,并将图像和标签存储在数组中。对标签进行独热编码。划分训练集和测试集。使用图像数据增强技术增加训练数据的多样性。定义一些评…

让ChatGPT成为全科医生的智能助理

医生问诊 医疗健康是所有人都关心的话题。涉及医疗健康领域的信息化事件,无论是搜索引擎推荐和广告信息,还是互联网挂号,或者电子商务在线买药,经常能引发社会性讨论。有了 ChatGPT,我们自然也会期待在医疗健康领域&a…

从零开始学习JVM(一)--初识Java虚拟机

1 虚拟机与Java虚拟机 1.1 基本介绍 所谓虚拟机(Virtual Machine)。就是一台虚拟的计算机。它是一款软件,用来执行一系列虚拟计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机。 系统虚拟机:完全对物理计算…

(赠书活动第1期) Java 8 已无法满足需求?升级到 Java 17 让你体验酣畅淋漓的编程!

Java 8 已无法满足需求?升级到 Java 17 让你体验酣畅淋漓的编程! Java 17 的新特性如何升级到 Java 17❤️‍🔥 本期赠书三本《JAVA核心技术 卷2》 Java 8 是一个历史悠久的版本,自推出以来一直被广泛使用。但是随着时间的推移和技…

四举措实现数电票对企业经营的改善

数电票不仅是征管需求,也是企业业务的需求。 2021年3月,中共中央办公厅、国务院办公厅印发的《关于进一步深化税收征管改革的意见》(以下简称《意见》)提出,要全面推进税收征管数字化升级和智能化改造,把智…

Spark大数据处理讲课笔记4.2 Spark SQL数据源 - 基本操作

文章目录 零、本讲学习目标一、基本操作二、默认数据源(一)默认数据源Parquet(二)案例演示读取Parquet文件1、在Spark Shell中演示2、通过Scala程序演示 三、手动指定数据源(一)format()与option()方法概述…

解密Netty中的Reactor模式

文章目录 单线程Reactor模式多线程Reactor模式Reactor模式中IO事件的处理流程Netty中的通道ChannelNetty中的反应器ReactorNetty中的处理器HandlerNetty中的通道Channel和处理器Handler的协作组件Pipeline Reactor(反应器)模式是高性能网络编程在设计和架构方面的基础模式.Doug…

【MySQL速通篇004】这可能最详细的关于MySQL基础知识点的文章了

🍁前言 👑作者主页:CSDN丨博客园 🏆学习交流:在下周周ovoの社区 💎这篇8000多字的博客也是花了我比较久的时间,基本覆盖很大一部分的MySQL知识点,可以说是非常的详细,感谢…

【我的创作纪念日】IC人仍在路上,不停歇……

机缘 平台今天提示我已经坚持创作3年了。如果不提醒的话,我自己都没什么感觉。三年时间说长也不长,说短呢,其实也不短了。截止今天我在CSDN累计发文213篇,上传资源117个。涉及领域包含:数字信号处理、FPGA设计、IC设计…

【自制视频课程】C++OpnecV基础35讲——序言

OpenCV简介 OpenCV是一个开源的计算机视觉库,它可以用于图像处理、计算机视觉、机器学习等领域。OpenCV最初是由英特尔公司开发的,后来成为了开源项目,现在由OpenCV开源社区维护。OpenCV提供了丰富的图像处理和计算机视觉算法,包括…