OpenAI CLIP: ConnectingText and Images (Paper Explained)

OpenAI CLIP: ConnectingText and Images (Paper Explained)

图像分类器的工作原理

分类器的基本功能

  • 介绍了一种分类器,它能够分析图像并为其分配多达101个标签,其中一个标签是“鳄梨酱”,并且该标签被赋予了很高的概率。
  • 该分类器在397个标签中正确识别出这是一个电视演播室,展示了其在不同任务上的表现。

分类器性能与数据集

  • 分类器在不同的数据集上表现不一,有时准确,有时不准确,显示出它处理多样化任务的能力。
  • 强调这是同一个未经过微调的零-shot分类器,能够同时处理多个测试数据集。

奇特的标签和模型介绍

标签的独特性

  • 分类器所分配的标签不仅仅是单词,而是包含图像内容,例如“鳄梨酱”的照片。
  • 有些标签较长,如“永久作物土地卫星照片”,这表明模型可能会生成更复杂的信息。

CLIP模型概述

  • 讨论OpenAI的新论文《从自然语言监督学习可转移视觉模式》,引入CLIP模型,该模型连接图像和文本。
  • CLIP与DALL·E模型一起发布,后者用于生成图像,而CLIP则以非生成方式连接图像和文本。

如何连接图像与文本

数据集构建

  • 为了有效地连接图像和文本,研究人员构建了新的数据集,包括社交媒体上常见的图片及其描述。
  • 通过抓取网络上的图片和文字对,可以避免手动标注,从而提高效率。

模型目标与方法

  • 如果能从图像中预测相应文本,就可以获得更好的表示,不再受限于预定义类别。
  • 该过程希望通过神经网络提取出关于对象(如猫)的深层次表示,以便进行其他任务微调。

预测效果与评估

零-shot学习效果

  • 尽管之前有文献尝试预测图片标题,但效果不佳。此模型旨在利用变换器语言模型来提升对图片中文本预测的成功率。

如何通过图像和文本的结合进行分类

使用词袋模型进行预测

  • 研究表明,使用词袋模型进行预测比精确预测单个词更有效。该方法关注描述中出现的单词,而非其顺序。
  • 尽管模型性能有所提升,但是否能达到预期的效果仍然存疑。新提出的方法显示出更大的性能提升。

零样本分类器的构建

  • 模型可以从图像中提取文本,并给出每个标签的概率值。这种方式使得我们能够构建一个分类器。
  • 通过询问模型某一标签与图像匹配的可能性,可以快速生成分类器,无需在特定任务上训练。

提升分类准确性的策略

  • 在处理不同类别时,通过重新措辞问题,可以提高分类器的质量。例如,询问“这张图片是狗的照片”的准确性可能优于仅询问“狗”。
  • 适当调整提示语可以减少输出中的噪声,从而提高准确率,因为模型通常是基于数据集中的常见表达来训练的。

从文本到图像编码

  • 分类器是根据数据集标签构建的,但经过人类调整以适应特定数据集,这涉及到提示工程(prompt engineering)。
  • 零样本分类器不需要在实际任务上训练,只需限制其输出为相关类别即可。

CLIP模型及其工作原理

  • CLIP模型通过将图像传入图像编码器获取表示,再将文本输入文本编码器获得相应表示,从而实现对图像和文本之间关系的理解。
  • 在训练过程中,每个文本与对应图像一一对应,这种结构确保了信息的一致性和有效性。

模型的对比目标是什么?

模型的基本概念

  • 该模型不再通过图像编码器预测文本,而是询问模型哪个文本与特定图像最为匹配。
  • 这是一个对比目标,训练数据中已知图像与描述之间的关系,通过输入图像来判断哪些文本最合适。

对比学习的机制

  • 模型训练时会最大化正确文本与图像之间的相似度,同时最小化其他文本与该图像之间的相似度。
  • 每个输入都形成一个分类任务,针对每个文本进行分类,以确定其与输入图像的相关性。

内积和分类任务

  • 使用内积来最大化相关内容并最小化不相关内容,将内积结果视为logit,并进行softmax分类。
  • 从文本和图像两个角度看,这是一个对称损失函数的问题,依赖于足够大的mini batch。

推理过程

  • 在推理时,可以将多个图像与文本结合使用,构建对称的分类器。
  • 输入一张图片,通过编码器获取表示,再通过人类设计提示来获得标签。

数据集和应用潜力

  • 可以使用不同的数据集进行训练,这种方法在生成式对抗网络(GAN)等领域有广泛应用。
  • 这种模型能够更好地捕捉到细节,相较于传统的基于分类任务预训练的方法,它能更准确地区分不同对象。

图像编码器的变体与性能

模型测试与数据规模

  • 许多关于变换器的视频中,测试了不同的图像编码器,包括多种ResNet和视觉变换器(ViT)的变体。
  • 模型在计算、数据和模型大小上进行了统一缩放,因此出现了同一模型的不同变体。
  • 通过提示工程(prompt engineering)和集成(ensembling),可以提高模型性能并实现效率提升。

零样本学习与线性探测

  • 零样本CLIP在完全监督基线下表现出竞争力,基线是基于ResNet50特征的线性分类器。
  • ResNet50经过ImageNet训练,具有良好的表示能力,并且可以用于新的任务分类。
  • 线性探测是在倒数第二层进行的,与微调相比,它更能反映基础模型的表示能力。

性能比较与应用场景

  • 在多个数据集上,零样本CLIP超越了ResNet50,而不需要额外训练,仅依赖于预训练。
  • 尽管在某些任务上ResNet50仍然表现较好,但在STL10数据集上,零样本CLIP成为新的最优状态。

特殊任务中的局限性

  • 对于少量标记示例的数据集,如肿瘤分类或卫星图像,零样本CLIP表现不佳,因为这些图像类型不常见于互联网。
  • MNIST等简单任务中也未能达到预期效果,这表明其在标准图像分类上的局限性。

数据集的重要性分析

  • 大多数标准图像分类数据集将类的信息视为附带信息,这限制了自然语言基础的零样本转移能力。
  • 一些数据集如花卉和德国交通标志未提供类名映射,使得零样本转移几乎不可能。

街道标志数据集的探索

项目背景与幽默元素

  • 该项目涉及街道标志数据集,包含不同类型的标志。Alec在研究过程中对花卉种类和德国交通标志有了更深入的了解,展现了研究中的幽默感。

模型性能与实验设计

  • 讨论了特定街道标志(如禁止超过3.5吨的拖拉机和卡车)的模型表现,期待通过实验验证模型效果,并提到小型Clip模型可供测试。

零样本学习与线性探测比较

  • 比较零样本Clip模型与少量样本线性探测器的表现,强调预训练的重要性。结果显示零样本Clip在少量标签示例下优于许多其他模型。

转移学习的有效性

  • 在仅提供少量标签示例时,该模型表现出色,与16个标签比特相当,是当前公共领域中最佳转移学习模型之一。

线性探测初期表现下降

  • 当使用线性探测进行分类时,最初性能下降,仅在每类达到四个标签示例后才开始提升,这一现象符合直觉。

数据集间差异及其影响

数据集对性能的影响

  • 不同数据集对零样本和线性探测性能影响显著,有些数据集需要大量标签才能匹配零样本性能,反映出网络图像内容多样性的复杂性。

数据规模与计算资源关系

  • 提到机器学习中的趋势:增加数据和计算资源通常会降低错误率。随着计算能力提升,零样本Clip性能平稳增长,但各任务间存在较大波动。

鲁棒性与迁移能力

鲁棒性的发现

  • 研究表明,以前基于ImageNet预训练的模型在偏离ImageNet的数据上表现不佳,新测试集导致所有分类器性能下降,即使是轻微的数据偏移也会造成显著影响。

对抗扰动下的表现分析

  • 探讨对象草图等极端情况下分类器的鲁棒性,以及如何应对物体位置变化带来的挑战。

图像分类模型的比较与分析

CLIP与ImageNet的性能对比

  • 讨论了CLIP模型在处理ImageNet数据集变体时的表现,指出即使是未经过特定训练,CLIP也能有效分类这些图像。
  • CLIP在零样本情况下达到了与经过充分训练的ImageNet模型相当的性能,这被认为是一个巨大的成就。
  • 随着数据集难度增加,传统分类器性能下降,而CLIP则保持较高的稳定性和鲁棒性。
  • 传统模型只专注于特定类别实例,导致其对新颖输入(如草图)反应不佳,而CLIP能够更好地理解图像与文本之间的关系。
  • CLIP需要考虑不同类型水果(如香蕉和柠檬)的多样性,从而提升其对复杂场景的理解能力。

模型适应性与线性探测

  • 理想情况下,一个稳健模型在自然扭曲下应表现出一致性,但现有ImageNet训练示例未能达到这一点。
  • 零样本分类器在未经过ImageNet训练时仍然超越了许多标准技术,这表明其表示能力更强大。
  • 通过线性探测,可以提高CLIP在ImageNet上的表现,同时对其他数据集影响较小,显示出其表示更加稳定。
  • 即使进行纯分类训练,线性分类器仍能保持其他任务上的良好表现,这表明其表示方式更为细致入微。

人类与机器学习模型比较

  • 在研究中发现,对于CLIP模型而言困难样本同样会给人类带来挑战,这揭示了两者之间的一些相似之处。
  • 尽管存在重复数据的问题,但研究发现这并没有显著影响结果,并且他们提供了广泛影响部分以讨论潜在问题。

标签工程的重要性

  • 强调标签工程的重要性,不再使用固定标签,而是允许灵活定义可能标签,以提高模型效果。
  • 在种族或年龄等敏感话题上进行实验时,注意到年轻人群体中的误分类率较高,因此添加了儿童类别以改善识别准确率。

如何通过模型改进分类准确性?

模型对年轻人分类的影响

  • 随着模型能够将年轻人重新分类为儿童,错误分类率显著下降。这表明提示工程的重要性,尤其是在特定应用中。
  • 论文强调了在某些令人担忧的应用中,如何设计提示至关重要。研究结果显示,这种方法具有广泛的实验支持和潜在影响。
  • 这种新方法使普通用户更容易构建自己的分类器,特别是针对自然图像的细分任务。它提供了更多自由度来与模型进行交互。

应用与未来展望

  • 该方法为用户提供了更多创意空间,可以与其他模型(如DALL·E和StyleGAN)连接使用,激发新的应用想法。
  • 对于开发者来说,这一进展可能会推动创新,使得复杂任务变得更加可行和易于实现。
Video description

#ai #openai #technology Paper Title: Learning Transferable Visual Models From Natural Language Supervision CLIP trains on 400 million images scraped from the web, along with text descriptions to learn a model that can connect the two modalities. The core idea is a contrastive objective combined with a large batch size. The resulting model can be turned into arbitrary zero-shot classifiers for new image & text tasks. OUTLINE: 0:00 - Introduction 3:15 - Overview 4:40 - Connecting Images & Text 9:00 - Building Zero-Shot Classifiers 14:40 - CLIP Contrastive Training Objective 22:25 - Encoder Choices 25:00 - Zero-Shot CLIP vs Linear ResNet-50 31:50 - Zero-Shot vs Few-Shot 35:35 - Scaling Properties 36:35 - Comparison on different tasks 37:40 - Robustness to Data Shift 44:20 - Broader Impact Section 47:00 - Conclusion & Comments Paper: https://cdn.openai.com/papers/Learning_Transferable_Visual_Models_From_Natural_Language_Supervision.pdf Blog: https://openai.com/blog/clip/ Code: https://github.com/openai/CLIP Abstract: State-of-the-art computer vision systems are trained to predict a fixed set of predetermined object categories. This restricted form of supervision limits their generality and usability since additional labeled data is needed to specify any other visual concept. Learning directly from raw text about images is a promising alternative which leverages a much broader source of supervision. We demonstrate that the simple pre-training task of predicting which caption goes with which image is an efficient and scalable way to learn SOTA image representations from scratch on a dataset of 400 million (image, text) pairs collected from the internet. After pre-training, natural language is used to reference learned visual concepts (or describe new ones) enabling zero-shot transfer of the model to downstream tasks. We study the performance of this approach by benchmarking on over 30 different existing computer vision datasets, spanning tasks such as OCR, action recognition in videos, geo-localization, and many types of fine-grained object classification. The model transfers non-trivially to most tasks and is often competitive with a fully supervised baseline without the need for any dataset specific training. For instance, we match the accuracy of the original ResNet-50 on ImageNet zero-shot without needing to use any of the 1.28 million training examples it was trained on. Authors: Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever Links: TabNine Code Completion (Referral): http://bit.ly/tabnine-yannick YouTube: https://www.youtube.com/c/yannickilcher Twitter: https://twitter.com/ykilcher Discord: https://discord.gg/4H8xxDF BitChute: https://www.bitchute.com/channel/yannic-kilcher Minds: https://www.minds.com/ykilcher Parler: https://parler.com/profile/YannicKilcher LinkedIn: https://www.linkedin.com/in/yannic-kilcher-488534136/ BiliBili: https://space.bilibili.com/1824646584 If you want to support me, the best thing to do is to share out the content :) If you want to support me financially (completely optional and voluntary, but a lot of people have asked for this): SubscribeStar: https://www.subscribestar.com/yannickilcher Patreon: https://www.patreon.com/yannickilcher Bitcoin (BTC): bc1q49lsw3q325tr58ygf8sudx2dqfguclvngvy2cq Ethereum (ETH): 0x7ad3513E3B8f66799f507Aa7874b1B0eBC7F85e2 Litecoin (LTC): LQW2TRyKYetVC8WjFkhpPhtpbDM4Vw7r9m Monero (XMR): 4ACL8AGrEo5hAir8A9CeVrW8pEauWvnp1WnSDZxW7tziCDLhZAGsgzhRQABDnFy8yuM9fWJDviJPHKRjV4FWt19CJZN9D4n