Advertisement

【多模态论文】CLIP(Contrastive Language-Image Pre-training)

阅读量:

Developing Cross-modal Visual Models Based on Natural Language Supervision

摘要

问题:

  • 对预定的类别进行预测,在这种有监督的模式下会受到额外标记数据的限制 。如何通过图像原始文本来获取广泛的监督学习资料?
  • 预训练策略通过Task-agnostic的目标能够在计算资源、模型容量以及数据规模上实现显著扩展(性能得到显著提升)。其中,在LP中我们能够通过大规模无监督学习获得大量数据(即通过大规模无监督学习获得大量 unlabeled data),而在CV领域则主要依赖人工标注的数据集(人工标注的数据集),并且很少采用基于自然语言的监督方法来促进图像表示的学习。
  • 由于当前CV模型仅能识别已知类别中的图像 ,我们推测通过对现有图像对应的文本信息加以引入 ,有可能实现对未见类别图像的有效识别。
    在CV领域引入辅助信息以提升性能的主要原因在于现有标注集的数据规模较小。

方法:基于该4e (image, text) pairs数据集进行预训练学习后模型能够预测caption与图像是否存在匹配关系,并且能够实现零样本转移至下游任务

优点:

  • 能够基于大量自然语言数据进行学习
    • 无需标注信息的监督学习
    • 零样本迁移机制的灵活性

方法详解

  1. 数据集创建
  • 现有三个图像数据集:包括MS-COCO和Visual Genome两个数据集具有较高的质量,并且每个数据集大约各有约一千万幅图片;而YFCC 1亿张图片的数据集中尽管存储规模庞大但其图片质量参差不齐且 metadata信息较为匮乏经过筛选最终保留了约一千五百万张图片这已经接近于ImageNet的数量级。

  • 解决方案:采用互联网收集各种公开可用的资源并利用API或网络搜索接口获取匹配的图文本对来构建WIT(WebImageText)索引系统以实现高效的图文本检索功能。

    1. 训练方法
    • 遇到问题
      (1)训练效率问题:开始训练实验VirTex类似结构,同时训练CNN和Transformer预测生成图像caption,但实验表明慢了三倍速度。
      (2)图像描述、评论和相关文本种类繁多,任务过于困难
      也有之前的方法表明,对比目标比预测目标可以更好的学习表征以及相同性能下生成比对比需要更多计算量

解决方案:无需单独预测每个词,在整体判断该段文字与图片是否匹配的情况下,处理速度可提升约4倍。

在这里插入图片描述
  1. 训练任务:基于N对图像与文本配对数据进行训练。CLIP模型将同时优化图像编码器与文本编码器参数。通过最大化真实配对余弦相似度、同时最小化非真实配对相似度的方法学习多模态空间结构。两个编码器的参数均采用随机初始化策略,并未启用任何预热启动机制。损失函数采用的是对称交叉熵损失函数作为优化目标。

  2. 模型
    图像端:包括卷积神经网络架构、特征提取模块以及全局平均池化层三个主要组件。

ResNet-50 采用了替代全局平均池化机制以实现注意力聚合,在这种情况下 q 被表明为经过全局平均池化处理的结果。

基于Transformer架构设计的模型,在参数规模、层数、宽度等方面进行了优化配置

在这里插入图片描述

训练目标:最小化N^2-N个负样本的相似度,最大化正样本间相似度。

在这里插入图片描述

下图为CLIP实现的伪代码:

在这里插入图片描述

调整文本编码器的宽度时应使其与ResNet的宽度保持同步变化

  • 图像编码器:包括ResNet-50、ResNet-101、RN50x4、RN50x16及RN50x64(其中后三者为ResNet-50的不同缩放版本),共计3个Vision Transformer(ViT),其中包括ViT-B/32、ViT-B/16以及ViT-L/14。
  • 训练设置采用32轮次(epoch),温度系数设为0.07(以确保训练过程稳定)。批量大小设定为32768。
  • 为了优化训练速度并节约显存资源,在模型架构中采用了以下技术方案:基于浮点精度混合精度训练(Mixed-precision)、梯度检查点机制(gradient checkpointing)、半精度Adam优化算法统计信息(half-precision Adam statistics)以及半精度随机截断编码器权重(half-precision stochastically rounded text encoder weights)。

实验

zero-shot transfer:作者采用零样本迁移能力来评估模型在学习任务中的表现。特别适用于图像分类任务。

在这里插入图片描述

零样本学习是什么?其主要缺陷在于标签具有多义性、缺乏语境信息以及难以确定具体含义。此外,在训练数据中通常采用完整的句子而非单独的单词形式。零样本学习方法通常采用提示模板“A图片展示一个{label}”。通过在ImageNet上应用提示方法实现了1.3%的准确率提升。

在这里插入图片描述

针对不同的分类任务, 详细说明其具体类别有助于提升zero-shot学习的效果。例如, Oxford-IIIT Pets数据集中的示例通常表现为“A photo of a {label}, 该类型宠物的一张图片.” 此外, Food101数据集中该类别的典型示例通常表现为“a type of food , 该类别的食物的一张图片”. FGVC Aircraft使用的是“a type of aircraft , 该类别的飞机的一张图片”. 另外, 常见的图像形式包括卫星图像-a satellite photo of a {label} .

除了上述之外,在提升效果方面采用集成多个零样本分类器的方法是有意义的。这样的方法可以通过以下两种示例来体现:一张大{label}的照片和一张小{label}的照片。在嵌入层上计算一个平均文本嵌入以进一步优化模型性能。

在这里插入图片描述

在多个领域相关的测试平台上(包括卫星图像分类(EuroSAT和RESISC45)、淋巴结肿瘤检测(PatchCamelyon)、合成场景(CLEVRCounts)以及自动驾驶相关的任务(如德国交通标志识别(GTSRB)和最近汽车的距离检测(KITTI distance)等),Zero shot CLIP的表现欠佳。研究者指出:评估零样本迁移的能力对于学习者来说是一项具有挑战性的任务。

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

全部评论 (0)

还没有任何评论哟~