CLIP: 连接文本与图像

OpenAI 推出了 CLIP (Contrastive Language–Image Pre-training),这是一种通过自然语言监督来学习视觉概念的神经网络。通过在互联网上发现的海量图像和文本对进行训练,CLIP 可以执行广泛的视觉分类任务,而无需特定任务的训练数据,从而有效地实现了类似于 GPT-2 和 GPT-3 中的“zero-shot”能力。

解决标准计算机视觉的局限性

CLIP 解决了传统深度学习计算机视觉方法的三个主要缺陷:

  • 降低数据集成本:传统模型依赖于人工标注的数据集(例如 ImageNet,它需要 25,000 名工作人员标注 1400 万张图像),这些数据集成本高昂且范围有限。CLIP 则利用互联网上公开可用的文本-图像对。
  • 提高灵活性:标准模型通常被限制在它们所训练的特定类别中。为了使标准模型适应新任务,从业者必须构建新数据集并对模型进行微调。通过只需向文本编码器提供视觉概念的名称,CLIP 就可以适应几乎任何视觉分类任务。
  • 缩小鲁棒性差距:模型在基准测试上的表现与在现实世界“野外”部署中的表现之间往往存在显著差距。OpenAI 推测,这是因为模型通过专门针对基准测试进行优化来“作弊”。由于 CLIP 是在没有针对其特定数据进行训练的情况下在基准测试上进行评估的,因此其性能更具现实世界的实用性。在测试中,CLIP 将这种鲁棒性差距缩小了高达 75%,同时在 ImageNet zero-shot 上达到了与原始 ResNet-50 相当的性能。

技术方法与训练效率

CLIP 使用代理任务进行训练:给定一张图像,模型必须从随机采样的 32,768 个文本片段中预测哪一个实际上与该图像配对。这迫使模型学习广泛的视觉概念并将其与它们的自然语言名称联系起来。

为了优化训练计算量,OpenAI 实施了两个关键的算法选择:

  1. Contrastive Objective:CLIP 使用对比目标函数来连接文本与图像。在中小规模实验中,发现这种方法在 zero-shot ImageNet 分类上比图像到文本的方法效率高出 4 倍到 10 倍。
  2. Vision Transformer (ViT):采用 Vision Transformer 提供了比标准 ResNet 进一步 3 倍的计算效率提升。

因此,最佳性能的 CLIP 模型是在 256 个 GPU 上训练了两周时间。

能力与泛化性

CLIP 在 30 多个不同数据集上展示了高度的灵活性,包括 OCR、视频中的动作识别、地理定位和细粒度物体分类等任务。在利用线性探测(linear probes)进行表示学习评估时,最佳 CLIP 模型在 26 个不同迁移数据集中的 20 个上都优于 Noisy Student EfficientNet-L2。

局限性与挑战

尽管具有通用能力,CLIP 仍存在特定的弱点:

  • 抽象与系统性任务:CLIP 在图像中计数物体或预测空间关系(例如,汽车在照片中离多远)方面表现不佳,其性能仅略好于随机猜测。

  • 细粒度分类:在区分非常相似的类别时,该模型的效果不如任务特定模型,例如特定的飞机变体、花卉品种或汽车型号。

  • 分布外数据:CLIP 对其预训练中未涵盖的图像表现出较差的泛化性。例如,它在 MNIST 数据集的手写数字识别上达到了 88% 的准确率,显著低于人类的 99.75% 的准确率。

  • Prompt Sensitivity:Zero-shot 分类器对特定措辞非常敏感,有时需要进行“prompt engineering”以获得最佳性能。

更广泛的影响与偏见

由于 CLIP 允许用户在没有任务特定数据的情况下设计自己的分类器,标签的选择可能会引入或放大偏见。OpenAI 发现,当给定一组包含种族标签和诸如“criminal”或“animal”等极端词汇的标签时,模型会将 0-20 岁的年龄段人群分类为极端类别,比例约为 32.3%。在标签中加入“child”类别可以使这一比例降至约 8.7%。

关于隐私与监控,当从 100 个候选者中进行选择时,CLIP 在“野外”名人图像分类任务中实现了 59.2% 的 top-1 准确率,在从 1,000 个候选者中进行选择时为 43.3%。OpenAI 指出,这虽然可以通过任务无关的预训练实现,但它并不具备与生产级名人识别模型相比的竞争力。

Sources