paint-brush
CLIP:计算机视觉和 NLP 之间的创新渡槽经过@sanjaykn170396
1,204 讀數
1,204 讀數

CLIP:计算机视觉和 NLP 之间的创新渡槽

经过 Sanjay Kumar10m2023/01/19
Read on Terminal Reader

太長; 讀書

CLIP 又名“对比语言图像预训练”是在名为“从自然语言监督中学习可迁移视觉模型”的白皮书中讨论的著名算法之一。CLIP 的主要消耗是在基于计算机视觉的用例中完成的。名为“Dall-E 2”的算法在本文中,我们可以通过一些现实生活中的例子来讨论 CLIP 的目标、工作过程和一些优缺点。
featured image - CLIP:计算机视觉和 NLP 之间的创新渡槽
Sanjay Kumar HackerNoon profile picture

目录

  • 介绍
  • CLIP 算法的目标和需要
  • CLIP算法的工作过程
  • 限制
  • 实时应用


介绍

CLIP 又名“对比语言图像预训练”,是人工智能研究实验室 OpenAI 的研究人员发表的名为“从自然语言监督中学习可迁移视觉模型”的白皮书中讨论的著名算法之一。 CLIP 的主要消费是在基于计算机视觉的用例中完成的,该用例使用名为“Dall-E 2”的算法,该算法也是由 Open AI 团队开发的。更准确地说,CLIP 被用作“Dall-E 2”算法的辅助模型。但是不要误解 CLIP 并不强大,因为它被用作辅助模型:)


尽管是辅助模型,CLIP 仍被认为是深度学习研究的重要一步。即使没有“Dall-E 2”,我们也可以实施 CLIP 来单独解决问题。在本文中,我们可以通过一些现实生活中的例子讨论 CLIP 的目标、工作过程和一些优缺点,以及我们如何简化深度学习项目的生活。


CLIP 算法的目标和需要

CLIP 算法背后的主要目标是从文本列表中找到与给定图像更相似的特定文本。


例如,

让我们将以下图像视为输入-

图片来自参考资料 1


假设我们在给定列表中有一些文本 -

  • 一张飞机的照片。
  • 一张鸟的照片。
  • 熊的照片。
  • 一张长颈鹿的照片。
  • 一张汽车的照片。


CLIP 模型的主要任务是将给定列表中最合适的文本与输入图像匹配,如下所示 -

图片来自参考资料 1


从根本上说,这是一个人工神经网络,它将列表中的每个文本视为一个类,并为与图像对应的每个文本分配一个概率值。从逻辑上讲,可以将获得最大概率值的文本视为输出。


CLIP 的一大积极方面是它已经知道“英语”语言中的所有单词。与其他类似算法相比,CLIP 模型的一些特点使其与众不同:


  • CLIP 模型不限于文本中的单个单词。相反,它试图从输入句子中的所有单词和图像的所有像素中提取每条信息。它永远不会忘记记住输入图像的所有方面,例如背景中的对象、颜色、形状等。


    例如,

    让我们考虑以下输入图像 -

图片来自参考资料 1


除了最后一个之外,给定列表中的所有文本看起来都像是输入的逻辑匹配。任何其他模型都难以达到特定类别的高定罪概率值。然而,CLIP 会分析此图像中所有方面的模式,例如狗窝、牢房、狗等。


阳光似乎是从外面射到里面。因此,它应该是一个室内结构。此外,存在动物而不是人类。因此,它不应该是监狱,而应该是犬舍。


这种考虑图像和文本所有方面的高级分析对于同级别的其他模型来说可能是不可能的。


  • CLIP 在光学字符识别用例中也表现良好,这在类似模型中是不可能的——


图片来自参考资料 1


图片来自参考资料 1



  • 计算机视觉的其他分支,如地理定位、面部情绪识别等,似乎也能很好地与 CLIP 模型配合使用。


图片来自参考资料 1


图片来自参考资料 1


图片来自参考资料 1


  • 即使在看不见的输入中,CLIP 也表现出了出色的零样本性能。此外,它不希望文本包含单个词,例如“cat”、“dog”、“bird”、“car”。平面”等。相反,它可以理解一组逻辑上构成句子的词。此功能在其他型号中通常不可见。


图片来自参考资料 1


图片来自参考资料 1


图片来自参考资料 1


CLIP算法的工作过程

CLIP 算法已经在 4 亿张带有成对文本描述的图像上进行了训练,这使得它对宇宙有很高的了解,并且有信心解决具有复杂图像和文本的复杂任务。


Imagenet 数据集仅包含 120 万张图像。 4亿几乎是120万的300倍。 4 亿张图像中的大部分是直接从互联网上抓取的,这使其成为一个高度多样化的大型集合,从而提高了其模式检测能力。


为了开发 CLIP 架构,我们需要将图像和相应的文本编码为数学向量。这是因为机器学习算法无法推断出视觉或文本格式的信息。因此,我们需要将它们转换为数值。


使用 Transformer 或 Resnet 算法将图像输入转换为数学向量

图片来自参考资料 2



使用 Transformer 算法将文本输入转换为数学向量 -

图片来自参考资料 2


由于我们有一个图像-文本对列表,我们需要使用特定的字母表来表示它。


每个图像表示为 I1、I2、I3...IN 等。

每个文本被定义为 T1,T2,T3…TN 等。

图片由作者绘制

之后,我们需要构建一个相似度矩阵,其中每个图像为行,每个文本为列。

图片来自参考资料 2


如上图所述,对角图像文本对将具有更多相似性,因为它们指的是相同的上下文。非对角线元素是不属于同一上下文的随机对。因此,它们的相似度值会很低。


优化函数的目标是尽可能增加对角线对的相似度值,并降低非对角线图像-文本对之间的相似度。


在学习的某一时刻,模型将能够学习与属于同一上下文的图像和文本相匹配的隐藏模式,并区分属于不同上下文的图像和文本。


这个过程在技术上称为“对比预训练”


CLIP 被认为是一种“计算效率高”的算法。这是因为他们使用转换器算法对以并行方式访问数据的图像和文本进行编码。如果我们使用其他算法,如 LSTM 或 RNN,它们往往会以串行方式访问数据进行编码,这可能会消耗大量时间和空间。

图片来自参考资料 2


由于 CLIP 可以将图像与长句子匹配,因此研究人员通常会创建一个文本提示,例如“A photo of a _____”。然后,在遍历文本列表时,计算机程序会自动将列表中的每个单词都放入此文本提示中,例如 -

  • 一张飞机的照片
  • 一辆车的照片
  • 狗的照片等。

然后对该文本进行编码并与输入图像的编码向量进行匹配,以计算相似度值。


限制


与可扩展性相关的挑战

在具有训练拆分的数据集上,零样本 CLIP 的性能平均可与 ResNet-50 特征之上的线性分类器的简单监督基线相媲美。在大多数这些数据集上,该基线的性能现在远低于现有技术的整体水平。仍然需要做大量工作来提高 CLIP 的任务学习和迁移能力。虽然到目前为止,缩放已经稳步提高了性能,并提出了持续改进的途径,但研究人员估计,零样本 CLIP 需要将计算量增加大约 1000 倍才能达到整体最先进的性能。用当前的硬件进行训练是不可行的。有必要进一步研究提高 CLIP 的计算和数据效率。


与零样本性能相关的挑战

发现 CLIP 的零样本性能在几种任务上仍然很弱。与特定任务模型相比,CLIP 在细粒度分类方面的表现较差,例如区分汽车模型、花卉种类和飞机变体。 CLIP 还难以处理更抽象和系统的任务,例如计算图像中的对象数量。最后,对于不太可能包含在 CLIP 预训练数据集中的新任务,例如对照片中最近汽车的距离进行分类,CLIP 的性能可能接近随机。


理解训练集之外的图像(分布)的挑战

虽然零样本 CLIP 可以很好地泛化到所调查的许多自然图像分布,但研究人员观察到,零样本 CLIP 仍然不能很好地泛化到真正超出分布的数据。


例如,CLIP 学习了一种高质量的语义 OCR 表示,该表示在数字渲染的文本上表现良好,这在其预训练数据集中很常见,渲染 SST2 的性能证明了这一点。


然而,CLIP 在 MNIST 的手写数字上仅达到 88% 的准确率。尴尬地

原始像素逻辑回归的简单基线优于零样本 CLIP。语义和近似重复的最近邻检索都验证了在我们的预训练数据集中几乎没有类似于 MNIST 数字的图像。


这表明 CLIP 几乎没有解决深度学习模型泛化脆弱的潜在问题。相反,CLIP 试图规避这个问题,并希望通过在如此庞大和多样化的数据集上进行训练,所有数据都将有效地分布。这是一个天真的假设,正如 MNIST 所证明的那样,很容易被违反。


无法生成字幕

尽管 CLIP 可以灵活地为各种任务和数据集生成零样本分类器,但 CLIP 仍然仅限于从给定零样本分类器中的那些概念中进行选择。与真正灵活的方法(如可以生成新颖输出的图像字幕)相比,这是一个重大限制。


CLIP 没有解决深度学习数据效率低下的问题

CLIP 也没有解决深度学习数据效率低下的问题。相反,CLIP 通过使用可以扩展到数亿个训练示例的监督源来进行补偿。如果在 CLIP 模型训练期间看到的每张图像都以每秒一张的速度呈现,则需要 405 年才能迭代 32 个训练时期看到的 128 亿张图像。将 CLIP 与自我监督和自我训练方法相结合是一个很有前途的方向,因为它们已证明能够提高标准监督学习的数据效率。


实时应用

CLIP 用于解决实时用例的一些领域是:


  • 有一个叫做“paint.wtf”的网站,我们可以在那里玩画画。这里的球员将由 CLIP 进行评判。

  • CLIP 可用于实施过滤器,例如“NSFW(工作不安全)”。

  • 正如我们之前讨论的那样,“DALL-E”是 Open AI 的一种算法,它使用 CLIP 作为辅助模型。

  • CLIP 用于索引Unsplash等网站上的照片。

  • CLIP 可用于为诗歌、谜语、童谣、小说等复杂语言寻找合适的图像。

  • CLIP 还可用于挑选损坏或扭曲的图像。一篇题为“反问题利用预训练对比表示”的新研究论文展示了如何使用监督反演方法来获得损坏图像的有效表示。

    图片来自参考资料 3


  • 2021 年发布的一种名为 CLIP+VQGAN 或矢量量化生成对抗网络的生成模型在文本到图像范式中使用,以在给定一组文本提示的情况下生成可变大小的图像。然而,与 VQGAN 不同的是,CLIP 不是生成模型,而是经过简单训练以有效地表示图像和文本。



图片来自参考资料 4


结论

CLIP 为解决与图像处理和 NLP 相关的复杂用例的高级算法的开发铺平了道路,这是深度学习行业不可否认的事实。


CLIP 可以被认为是计算机视觉和 NLP 之间的创新渡槽。此外,由于它不需要特定于任务的训练数据,因此可以提供大量的文本数据,并且它会在更多不相关的任务中慢慢变得越来越好。


我们可以一起热切期待CLIP在未来提供的突破性进展。我希望您已经以清晰的方式对 CLIP 算法背后的概念进行了基本介绍。


我在参考部分添加了研究论文的链接,您可以在需要参考深入实施时使用。


参考

  1. 来自Open AI的 CLIP 文档

  2. “从自然语言监督中学习可迁移视觉模型” ——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

  3. “利用预训练对比表示的逆向问题” - Sriram Ravula*、Georgios Smyrnis*、Matt Jordan、Alexandros G. Dimakis,德克萨斯大学奥斯汀分校,NeurIPS 2021

  4. “VQGAN-CLIP:使用自然语言指导进行开放域图像生成和编辑”- Katherine Crowson、Stella Biderman、Daniel Kornis、Dashiell Stander、Eric Hallahan、Louis Castricato 和 Edward Raff

  5. 拉德福德,亚历克;纳拉西姆汉,卡尔提克;萨利曼斯,蒂姆; Sutskever, Ilya(2018 年 6 月 11 日)。 “通过生成式预训练提高语言理解力” (PDF)。开放人工智能。 p. 12. 原件存档(PDF) 于 2021 年 1 月 26 日。2021 年 1 月 23 日检索。

  6. Johnson, Khari(2021 年 1 月 5 日)。 “OpenAI 首次推出用于从文本生成图像的 DALL-E” 。 VentureBeat。原始存档于 2021 年 1 月 5 日。2021 年 1 月 5 日检索。

  7. 拉梅什,阿迪亚;普拉富拉达里瓦尔;尼科尔,亚历克斯;楚凯西;陈马克(2022 年 4 月 12 日)。 “具有 CLIP 潜能的分层文本条件图像生成”arXiv2204.06125