【深度学习】详解 CLIP

【深度学习】详解 CLIP

目录

摘要

一、引言和激励性工作

二、方法

2.1 自然语言监督

2.2 创建一个足够大的数据集

2.3 选择一种有效的预训练方法

2.4 选择和放缩一个模型

2.5 训练

三、实验

3.1 零次迁移

3.1.1 激励

摘要

        SOTA 的 CV 系统被训练来预测一组固定的、预设的对象的类别 (即可预测类别数通常在训练时就固定了)。这种受限的监督形式限制了它们的通用性和可用性,因为需要额外的带标签数据来指定任何其他的视觉概念 (即想要预测新的类别就需要加入新的训练标签)。直接从原始文本 (raw text) 中学习关于图像的知识是一种很有前途的替代选项,它利用了更广泛的监督来源。对于 预测某段说明文字 (caption) 与某幅图像相匹配 这种简单的预训练任务,我们证明了 从互联网收集的 4 亿 (图像和文本对) 数据集学习 SOTA 图像表示 是一种有效且可扩展/放缩的方法。在预训练后,自然语言 (natural language) 被用于参考经学习的视觉概念 (或描述新的视觉概念),使模型零次 (zero-shot) 地迁移到下游任务。我们通过对超过 30 个不同的现有 CV 数据集进行基准测试来研究这种方法的性能,这些数据集跨越的任务包括光学字符识别 (OCR)、视频动作识别、地理定位和类别多样的细粒度对象分类。该模型非凡地 (non-trivially) 迁移到大多数任务,并且通常在无需任何特定数据集训练的条件下,能够与完全监督的基线相媲美。例如,我们在 ImageNet 零次地匹配原始 ResNet-50 的准确率,而无需使用训练 ResNet-50 的 128 万个训练示例中的任何一者。我们在 https://github.com/OpenAI/CLIP 上发布了我们的代码和经预训练的模型权重。

一、引言和激励性工作

【深度学习】详解 CLIP
图 1:本文方法总结。标准图像模型联合训练一个图像特征提取器和一个线性分类器来预测某些标签,而 CLIP 联合训练图像编码器和文本编码器来预测一个 batch 的 (图像, 文本) 训练示例的正确配对。在测试时,经学习的文本编码器通过嵌入目标数据集类别的名称或描述来合成一个零次线性分类器。

        在过去几年中,直接从原始文本 (raw text) 中学习的预训练方法已经彻底改变了 NLP。与 任务无关的目标 (task-agnostic),例如 自回归 (autoregressive) 和 掩码语言建模 (masked language modeling, MLM)已经在计算、模型容量和数据方面扩展了许多数量级,稳步提升容量/能力 (capabilities)。将 “文本到文本” 作为标准化的输入输出接口开发 使 任务无关的架构 能够 零次迁移 (zero-shot transfer) 到下游数据集,消除了对 特定输出头部或特定数据集 的需要。诸如 GPT-3 这样的旗舰系统 现在在许多具有定制模型的任务上具有竞争力,而几乎无需特定数据集的训练数据。 

        这些结果表明,在网络规模 (web-scale) 的文本集合中,现代预训练方法可获得的聚合监督 (即所有总的监督) 优于 由人群标记的高质量 NLP 数据集。然而,在 CV 等其他领域,在诸如 ImageNet 等由人群标记的数据集上预训练 CV 模型 仍是标准做法 (Deng et al., 2009)。直接从网络文本中学习的可扩展 (scalable) 预训练方法会在 CV 中产生类似的突破吗?先前的工作令人鼓舞。

        20 多年前,Mori 等人 (1999) 探索了通过训练一个模型来预测 与图像配对的文本文档中的名词和形容词,从而改进基于内容的图像检索。Quattoni 等人 (2007) 证明,通过流形学习 (manifold learning) 在分类器的权重空间中学习更有效的图像表示,从而预测与图像相关的说明文字 (caption) 中的单词。Srivastava 和 Salakhutdinov (2012) 通过在低级 (low-level) 图像和文本标签特征之上 训练多模态深度玻尔兹曼机器 来探索深度表示学习。Joulin 等人 (2016) 使这一工作现代化,并证明了经训练以预测图像说明文字 (caption) 中的单词的 CNN 学习有用的图像表示。他们将 YFCC100M 数据集中 (Thomee 等, 2016) 图像的标题 (title) 、描述和标签元数据转换为词袋多标签分类任务,并表明预训练 AlexNet (Krizhevsky 等, 2012) 来预测这些标签学习表示,这些表示与基于 ImageNet 的迁移任务预训练类似。Li 等人 (2017) 将这种方法扩展到预测短语 n-gram 以及单个单词,并通过基于已学习的视觉 n-gram 字典 对目标类别进行评分 并预测得分最高的一个,展示了其系统零次迁移到其他图像分类数据集的能力。VirTex (Desai & Johnson, 2020)、ICMLM (Bulent Sariyildiz 等人, 2020) 和 ConVIRT (Zhang 等人, 2020) 采用了更近期的架构和预训练方法,在近期证明了基于 Transformer 的语言建模、掩码语言建模 和 对比目标 从文本中学习图像表示的潜力。

        虽然作为概念的证明令人兴奋,但使用自然语言监督进行图像表示学习仍然很少。这 可能是因为在公共基准测试上演示的性能远低于其他方法。例如,Li 等人 (2017) 在零次 (zero-shot) 设置下,在 ImageNet 上的准确率仅达到 11.5%。这远低于目前最新技术水平的 88.4% 的准确率 (Xie et al., 2020)。它甚至低于经典计算机视觉方法的 50% 的准确率 (Deng et al., 2012)。相反,范围更狭窄但针对性良好 (well-targeted) 的弱监管使用提高了性能。Mahajan 等人 (2018) 研究表明,在 Instagram 图像上预测与 ImageNet 相关的标签/符号 (hashtags) 是一项有效的预训练任务。当微调到 ImageNet 时,这些预训练模型提高了 5% 以上的准确率,并超越了当时的 SOTA。Kolesnikov 等人 (2019) 和 Dosovitskiy 等人 (2020) 也通过预训练模型来预测有噪声标签的 (noisily-labeled) JFT-300M 数据集的类别,在更广泛的迁移基准上取得了很大的收益。

        这一工作代表了当前务实/实用的中间地带 (current pragmatic middle ground),即 从有限的有监督 “黄金标签” 中学习 从实际无限的原始文本中学习。然而,这并非没有妥协。两种工作都具有精心设计,在过程限制中,他们的监督分别为 1000 和 18291 个类别 (即两种工作限制了固定的类别数为 1000 和 18291)。自然语言能够通过其普遍性来表达,并因此来监督一组更广泛的视觉概念 (即更多的类别)。这两种方法都使用静态 softmax 分类器来执行预测,并且缺乏动态输出的机制。这严重限制 (curtails) 了他们的灵活性,并限制了它们的 “零次” 能力。

        这些弱监督模型和最近直接从自然语言学习图像表示的探索之间的一个 关键区别是尺度 (scale)。Mahajan 等人 (2018) 和 Kolesnikov 等人(2019) 对数百万到数十亿张图像进行加速器年 (accelerateor years) 模型训练,VirTex、ICMLM 和 ConVIRT 对 1 到 20 万张图像进行加速器日 (accelerateor days) 训练。在这项工作中,我们缩小了这一差距,并研究了大规模的自然语言监督训练的图像分类器的行为。由互联网上这种形式的大量公开数据的存在,我们创建一个具有 4 亿 (图像、文本) 对的新数据集,论证一个简化版本的 ConVIRT 的从头训练,我们称之为 CLIP (Contrastive Language-Image Pra-training),对比语言图像预训练,是一个能够从自然语言监督中有效学习的方法。我们通过训练一系列的 8 个模型来研究 CLIP 的 可放缩/可扩展性 (scalability),并观察到 迁移性能是一个平滑可预测的计算函数 (Hestness 等人, 2017; Kaplan 等人, 2020)。我们发现,CLIP,类似于 GPT 家族,在预训练时学习实施一系列广泛的任务集合,包括 OCR、地理定位、动作识别等。我们通过在 30 多个现有数据集上对 CLIP 的零次迁移性能进行基准测试来衡量这一点,并发现 它可以与先前的任务特定的 (task-specific) 监督模型相竞争。我们还通过 linear-prob 表示学习分析 证实了这些发现,并表明 CLIP 优于最好的公开可用 ImageNet 模型,同时计算效率也更高。此外,我们还发现,零次的 CLIP 模型比准确度相等的有监督 ImageNet 模型更鲁棒,这表明 任务无关的 (task-agnostic) 模型的零次评估更能代表模型的能力。这些结果具有重要的政策和伦理影响,我们在第 7 节中考虑。

linear-probe、无监督训练和对比学习的联系:

  • 无监督训练可以用对比学习方法。训练后要评价模型的好坏,通过将最后一层替换成线性层,并只训练该线性层,即为 linear probe。换言之,对比学习是无监督训练的方法或任务,linear-probe 是测试预训练模型性能的一种方法。

linear-probe 和 finetune 的区别:

  • linear-probe 固定/冻结通过自监督学习获得的网络用于提取特征,然后在下游任务中只训练末尾的一个线性分类器。
  • finetune 对整个网络进行微调训练,使得网络中所有的可学习参数权重都得到更新。

二、方法

2.1 自然语言监督

        我们方法的核心是从自然语言所包含的监督中学习感知的思想 (At the core of our approach is the idea of learning perception from supervision contained in natural language)。正如在引言中所讨论的,这绝非一个新的想法,然而用来描述这个领域的工作的术语是多样的,甚至看起来是矛盾的,并且陈述的动机是多样的。Zhang 等人 (2020)、Gomez 等人 (2017)、Joulin 等人 (2016) 和 Desai 与 Johnson (2020) 都引入了从与图像配对的文本中学习视觉表示的方法,并分别描述为 无监督 (unsupervised)自监督 (self-supervised)弱监督 (weakly supervised) 有监督 (supervised)

        我们强调,这一行的共同点不是所使用的特定方法的任何细节,而是对 使用自然语言作为训练信号 的欣赏。所有这些方法都是从自然语言的监督 (language supervision) 中学习的。尽管早期的工作在使用主题模型和 n-gram 表示时纠结于自然语言的复杂性,但 深度上下文表示学习 的改进表明,我们现在有了工具以便于有效地利用这种丰富的监督来源 (McCann et al., 2017)。

        与其他训练方法相比,学习自然语言有几个潜在的优势。与图像分类的标准众包标签相比,扩展自然语言监督要容易得多,因为它 无需被标注为经典的 “机器学习兼容格式”,如标准的 1 到 N 多数投票 “黄金标签”。相反,研究自然语言的方法可以被动地 从互联网上大量文本所包含的监督中学习。与大多数无监督或自监督的学习方法相比,从自然语言中学习也有一个重要的优势,因为它 不但 “仅仅” 学习一种表示,而且将该表示与语言联系起来,从而实现灵活的零次迁移 (zero-shot transfer)。在下面的小节中,我们将详细介绍我们所选定的具体方法。

2.2 创建一个足够大的数据集

        现有的工作主要使用了 3 个数据集,MS-COCO (Lin 等人, 2014年) 、Visual Genome (Krishna 等人, 2017年) 和 YFCC100M (Thomee 等人, 2016 年)。虽然 MS-COCO Visual Genome 是高质量的人群标记数据集,但按照现代标准衡量,它们都很小,每人大约有 10 万张训练照片。相比之下,其他 CV 系统接受了多达 35 亿张 Instagram 照片的训练 (Mahajan 等人, 2018年)。YFCC100M 有 1 亿张照片,是一个可能的替代方案,但每张图像的元数据 (metadata) 都是稀疏的且质量各异的。许多图像使用自动生成的文件名,如 20160716.113957.JPG 作为 “标题” 或包含相机曝光设置的 “描述”。经过过滤,只保留具有自然语言标题和/或英文描述的图像后,数据集缩小了 6 倍,缩小到只有 1500 万张照片。这与 ImageNet 的大小大致相同。

        自然语言监督的一个主要动机是在互联网上公开提供这种形式的大量数据。由于现有的数据集不能充分反映这种可能性,因此只考虑基于它们的结果就会低估这一研究方向的潜力。为解决该问题,我们构建了一个包括 4 亿对图像和文本 的新数据集,这些数据集收集自互联网上的各种公开来源。为尽可能广泛地覆盖一组视觉概念,我们搜索图像和文本对作为构建过程的一部分,其文本包含了一组 50 万个查询 (querys) 中的一个。我们通过令 每个查询中包含多达 2 万个图像和文本对 来近似地对结果平衡类别。得到的数据集与用于训练 GPT-2 的网络文本数据集具有相似的总词数 (word count)。我们将该数据集称为 WIT (WebImageText)

2.3 选择一种有效的预训练方法

        最先进的 CV 系统使用了非常大量的计算。Mahajan 等人 (2018) 需要 19 GPU 年来训练他们的 ResNeXt101-32x48d,Xie 等人 (2020) 需要 33 TPUv3 核心年来训练他们的 Noisy Student EfficientNet-L2。当考虑到这 2 个系统都被训练成只能预测 1000 个 ImageNet 类别时,从自然语言中 学习一组开集 (open set) 视觉概念 的任务似乎很棘手 (daunting)。在我们的努力过程中 (In the course of our efforts),我们发现 训练效率是成功扩展自然语言监督的关键,因此我们基于该指标选择了最终的预训练方法。

【深度学习】详解 CLIP
图 2:CLIP 在零次迁移上比我们的图像标题 (caption) 基线更有效。虽然高度表达,但我们发现基于 Transformer 的语言模型在零次 ImageNet 分类时相对较弱。其学习速度比预测文本的词袋 (BoW) 编码的基线慢 3 倍 (Joulin et al., 2016)。将预测目标替换为 CLIP 的对比目标进一步将效率提高了 4 倍。

        我们最初的方法,类似于 VirTex,从头开始联合训练了一个图像 CNN 和文本 Transformer 来预测一幅图像的说明文字 (caption)。然而,我们在有效地扩展这种方法时遇到了困难。在图 2 中,我们展示了一个 6300 万参数的 Transformer 语言模型,它已经使用了其 ResNet-50 图像编码器 2 倍的计算量,学习识别 ImageNet 类别比一个更简单的基线 —— 用于预测相同文本的词袋 (bag-of-word) 编码慢 3 倍。

        这两种方法都有一个 关键的相似之处。它们 试图预测每张图片所附带文本的确切词语 (exact words)。这是一项困难的任务,因为有各种各样的描述、评论和相关的文本与图像共存。近期在 图像的对比表示学习 方面的工作表明,对比目标 (contrastive objectives) 相比于它们的等效预测目标能够学习到更好的表示 (Tian et al., 2019)。其他研究表明,尽管图像的生成模型可以学习高质量的图像表示,但它们需要比具有相同性能的对比模型 (contrastive models) 更多一个数量级的运算 (Chen et al., 2020a)。注意到这些发现,我们探索了训练一个系统来解决潜在的更容易的代理任务 (proxy task),即 只预测哪段文本整体与哪幅图像配对,而非预测该段文本的确切词语 (exact words)。从相同的词袋编码基线开始,我们将预测目标替换为图 2 中的一个对比目标,并观察到 ImageNet 的零次迁移效率进一步提高了 4 倍。

【深度学习】详解 CLIP
图 3:CLIP 核心实现的 Numpy 风格伪代码。

        给定一个 batch 的 N 个图像和文本对 (本文 N = 2^{15} = 32768),训练 CLIP 来预测一个 batch 中 N \times N

        据我们所知,这种 batch 构造技术和优化目标 是 首次 引入深度度量学习领域的 多类别 N 对损失函数 (multi-class N-pair loss) (Sohn, 2016),并由 Oord 等人 (2018) 作为 InfoNCE 损失函数 来推广对比表示学习,且近期被 Zhang 等人 (2020) 适配用于医学成像领域的对比 (文本和图像) 表示学习。

        由于预训练数据集规模较大,过拟合并非主要关注的问题,且与 Zhang 等人 (2020) 的实现相比,训练 CLIP 的细节得到了简化。我们 从头开始训练 CLIP,而不使用 ImageNet 权重初始化图像编码器 或 预训练权重初始化文本编码器。我们没有使用表示和对比嵌入空间之间的 非线性投影,这一变化是由 Bachman 等人 (2019) 引入的,并由 Chen 等人 (2020b) 推广的。相反,我们 只使用一个线性投影来将每个编码器的表示映射到多模态嵌入空间。我们没有观察到两种版本之间的训练效率差异,并且推测非线性投影可能仅在自监督的表示学习方法中与当前图像的细节共同适应 (non-linear projections may be co-adapted with details of current image only in self-supervised representation learning methods)。我们还参考 Zhang 等人 (2020) 删除了文本转换函数 t_u,该函数从文本中统一采样一个单句 (samples a single sentence at uniform from the text),因为 CLIP 的预训练数据集中的许多图像和文本对只是一个单句。我们还 简化了图像变换函数 t_v从经调整尺寸的图像中进行随机正方形裁剪 是训练中使用的唯一数据增强。最后,在训练时,将控制 Softmax 中的 logits 范围的 温度参数 \tau 直接优化为对数参数化 (log-parameterized) 的乘性标量,以避免作为超参数调参。

2.4 选择和放缩一个模型

        图像编码器 方面考虑了 2 种不同的架构,即 5 个不同尺寸的残差网络及 3 个不同尺寸的 ViT,并调整模型细节。第一个架构 ResNet-50 作为图像编码器的基础架构,用 ResNet-D 改进 和 Zhang (2019) 的 抗混叠 rect-2 模糊池化 (antialiased rect-2 blur pooling) (在下采样前加一个高斯低通滤波) 对原版稍作修改。还用 注意力池化机制 (Transformer 的 self-attention) 替换 全局平均池化层 (GAP)。注意力池化被实现为 单层的 “Transformer 式” 的多头 QKV 注意力,其中 查询 (query) 以 图像的全局平均池化表示 为条件 (is conditioned on)。总之,CLIP 采用的残差网络共有 5 种,即 ResNet-50、ResNet-100 及按照 EfficientNet 的思想对 ResNet-50 分别作 4 倍、16 倍和 64 倍的放缩得到的模型:ResNet-50×4,ResNet-50×16,ResNet-50×64。

        第二个架构尝试使用最近引入的 视觉 Transformer (ViT),它们的实现被严格遵循,只做了很小的修改,即在 Transformer 前 为经组合的 patch embedding 和 position embedding 加一个 层归一化 (LN),并用一个略不同的初始化方案 (initialization scheme)。总之,ViT 共训练了 ViT-B/32、ViT-B/16  及 ViT-L/14 这 3 个模型。

        文本编码器 是一个 Transformer,由 Radford 等人 (2019) 描述了架构的修改。作为一个基本尺寸,我们使用参数量为 63M 、层数为 12、宽度为 512、且带有 8 个注意头部的模型。Transformer 使用 词表大小为 49152 的文本的 小写字节对编码 (lower-cased baye pair encoding, BPE) 表示 (Sennrich 等人, 2015)。为保证计算效率,最大序列长度的上限设为 76。文本序列用 [SOS] [EOS] 标记 (tokens) 作为 括号,[EOS] 标记的 Transformer 最高/深层的激活被视为 文本的特征表示,其通过 层归一化 (LN),然后 线性投影到多模态嵌入空间中。在文本编码器中使用了 掩码自注意力 (masked self-attention),以保留使用经预训练的语言模型进行初始化的能力,或者加入语言建模作为辅助目标,即便对这一点的探索仍将作为未来的工作。

        虽然以前的 CV 研究经常通过单独地增大宽度或深度来放缩模型 (scale models),对于 ResNet 图像编码器,我们适配了 Tan & Le (2019) 的方法并发现,同时在所有的宽度、深度和分辨率三个维度分配额外的计算,优于仅仅分配模型的单个维度。当 Tan & Le (2019) 为其 EfficientNet 架构调整分配给每个维度的计算比例时,我们使用了一个简单的基线,平均分配额外的计算来增加模型的宽度、深度和分辨率 (即三个维度平均分配计算量作为基线)。对于 文本编码器只放缩模型的宽度,使之与计算出的 ResNet 宽度增长成正比,而根本 不放缩深度,因为我们发现 CLIP 的性能对文本编码器的容量不那么敏感

2.5 训练

  • 训练了 5 个 ResNet 和 3 个视觉 Transformer。
  • 对于 ResNets,我们训练一个 ResNet-50,一个 ResNet-101,然后再训练 3 个遵循 EfficientNet 式模型放缩的模型,使用约 4倍、16 倍和 64 倍的 ResNet-50 计算量。它们分别被记为 RN50x4、RN50x16 和 RN50x64。对于视觉 Transformer,我们训练了 ViT-B/32、ViT-B/16 和 ViT-L/14。
  • 所有模型训练 32 个 epochs。
  • 使用 Adam 优化器 (Kingma & Ba, 2014) 和解耦的 (decoupled) 权重衰减正则化 (Loshchilov & Hutter, 2017),应用于所有非增益 (gains) 或偏差 (biases) 的权重,并使用余弦策略衰减学习率 (Loshchilov & Hutter, 2016)。
  • 当训练 1 个 epoch 时,使用网格搜索、随机搜索和手动调整这三种方式的组合来设置基线 ResNet- 50 的初始超参数。
  • 由于计算量的约束和限制,超参数被启发式地适配于更大的模型 (由于大模型不便调参,不同大小的模型直接使用相同的超参数)。
  • 可学习的温度参数 \tau 初始化为相等的 0.07 (Wu et al., 2018),并进行夹断 (clipped) 以防止放缩 logits 超过 100,我们发现这是防止训练不稳定性所必要的。
  • 使用一个非常大的 batch size (N = 2^{15} = 32768)。
  • 混合精度 (Micikevicius et al., 2017) 用于加速训练和节省内存。
  • 为节省额外的内存,使用了梯度检查点 (gradient checkpointing) (Griewank & Walther, 2000; Chen 等人, 2016)、半精度 Adam 统计 (half-precision Adam statistics)  (Dhariwal 等人, 2020) 和半精度随机 rounded 文本编码器权重 (half-precision stochastically rounded text encoder weights)。
  • 嵌入相似度的计算也被分离/分散,因为单个 GPU 只计算其局部 batch 嵌入所需的按对相似度的子集。
  • 最大的 ResNet 模型 RN50x64 在 592 个 V100 GPU 上训练 18 天,最大的视觉 Transformer 在 256 个 V100 GPU 上训练 12 天。
  • 对于 ViT-L/14,我们还以更高的 336 像素分辨率预训练额外 1 个 epoch,以类似于 FixRes 提高性能 (Touvron 等人, 2019)。我们将该模型表示为 ViT-L/14@336px。
  • 除非另有说明,本文中报告的 “CLIP” 结果都使用我们认为表现最好的模型。

三、实验

3.1 零次迁移

3.1.1 激励

        在 CV 中,零次学习通常指在图像分类中泛化到未曾见过的物体类别的研究 (Lampert et al., 2009)。取而代之地,我们在更广泛的意义上使用该术语,并 研究对未曾见过的数据集的泛化能力。正如 Larochelle 等人 (2008) 的零数据 (zero-data) 学习论文中所渴望的那样,我们将其作为执行未曾见过的任务的代理 (proxy)。虽然在无监督学习领域的许多研究都集中在机器学习系统的表示学习能力上,但我们激励着研究零次迁移作为衡量机器学习系统的任务学习能力的一种方式。在此视角下,数据集将评估特定分布上的任务的性能。然而,许多流行的计算机视觉数据集是由研究社区创建的,主要作为基准来指导通用图像分类方法的开发,而非衡量特定任务的性能。虽然可以合理地说,SVHN 数据集衡量的是谷歌街景照片分布上的街道号码转录任务,但尚不清楚 CIFAR-10 数据集衡量的是什么 “真正的” 任务。然而,很清楚,CIFAR-10 的分布来自-TinyImages (Torralba 等人, 2008)。在这类数据集上,零次迁移 更多的是评估 CLIP 对 分布偏移和域泛化 (distribution shift and domain generalization) 的鲁棒性而非任务泛化的 (task generalization) 。请参阅第 3.3 节中的分析。

        未完待续……

【深度学习】详解 CLIP

3. 模型效果

        在论文中,作者对 CLIP 进行了大篇幅的效果的讨论,此处总结了要点。

3.1 优点

        CLIP 的主要优点:

  1. 训练高效:CLIP 使用对比学习的训练方式,可在一个大小为 N 的 batch 中同时构建 N² 个优化目标,实现简单快捷,计算高效。此外,CLIP的对比学习的训练方式也比基于 Image Caption 构建的预训练任务简单很多,模型的收敛速度也快很多;
  2. 方便迁移:CLIP 图像对应的标签不再是一个值了,而是一个句子。这就让模型映射到足够细粒度的类别上提供了可操作空间。由此也可以对这个细粒度的映射进行人为控制,进而规避一些涉黄,涉政,涉种族歧视等敏感话题;
  3. 全局学习:CLIP 学习的不再是图像中的一个物体,而是整个图像中的所有信息,不仅包含图像中的目标,还包含这些目标之间的位置,语义等逻辑关系。这便于将 CLIP 迁移到任何计算机视觉模型上。这也就是为什么 CLIP 可以在很多看似不相关的下游任务上(OCR等)取得令人意外的效果。

3.2 缺点

        CLIP 的主要缺点:

  1. 数据集:虽然 CLIP 采取了 4 亿的图像文本对的数据集,但并未开源。且构建这 4 亿数据的 5 万条查询语句介绍的也不详细。而且从它介绍的数据集构建方式来看略显单薄,而整个 CV 任务是非常庞大且复杂的。如何构建一个分布更合理且全面的数据集是一个非常值得探讨的方向。
  2. 通用效果:CLIP 在论文和官网上也讨论了一些缺点,例如更细粒度的分类任务、数据集未覆盖到的任务上的表现。这些从本质上来看还是说明了 CLIP 还是一个有偏的模型。可见仅通过 4 亿条数据及对比学习预训练,还不足以让模型学习到在 NLP 上那些通用的能力,这一方向也亟待提升。
  3. 夸大零样本:CLIP 在论文中以及一些宣传上,有些过分夸大它零样本学习 (zero-shot learning) 的能力。从模型效果来看,CLIP 还是通过庞大的数据集来尽可能地覆盖下游任务,而它在未见过的数据上表现非常不理想。我认为这种通过庞大数据集覆盖尽可能多的任务的训练方式,并不能证明模型的零样本学习的能力。因为在更传统的 CV 中,零样本更应该是 DBM 这类生成模型才有的效果。

4. 总结

        CLIP 是一个 OpenAI 特色非常重的文章,一是表现在它采集了大量的数据以及使用了大量的训练资源,二是不是非常侧重算法上的创新。这充分体现了目前搞预训练正逐步成为企业垄断的方向,表现在无论是数据,还是计算资源,都是个人和小机构无法承担的。CLIP的技术突破不大,但是效果非常惊艳,作为多模态预训练的算法之一,充分证明了这个方向庞大的科研潜力,起到了抛砖引玉的作用。

参考资料:

多模态预训练CLIP – 知乎

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年2月25日 上午10:58
下一篇 2023年2月25日 上午10:59

相关推荐