Unified Contrastive Learning in Image-Text-Label Space 论文笔记

论文地址:https://arxiv.org/abs/2204.03610
代码地址:https://github.com/microsoft/UniCL
微软的工作,在图像-文本对比学习的基础上引入了标签信息。

摘要

视觉识别目前使用两种类型的方法:基于图像-标签的监督学习,或基于图像-文本的对比学习。由于数据源和学习目标不同,两种学习各有优势,图像-标签的预训练方式能生成更具有判别力的表征,图像-文本的方式具有零样本识别能力。本文介绍一种图像-文本-标签的新学习范式(UniCL),在零样本、线性分类、微调和迁移学习场景都取得了不错的效果。

介绍

图像-标签的监督学习[10]具有强大的迁移学习能力[14,33],但收集数据和打标签的成本很高。
图像文本的对比学习如CLIP[48]和ALIGN[29]囊括很多语义场景,但抓取的图像文本对存在较多噪声,缺乏迁移学习所需的判别能力。
提出问题:能否用一个模型同时实现判别性表征和广义的语义场景?


图1上:本文定义的图像-文本-标签空间,列出了多个方法如CE、SupCon、CLIP、ALIGN等

图1下:图像-文本-标签样例

图像-标签监督学习[30]将图像映射到离散标签,训练过程中忽略了每个标签相关的文本概念,图像-文本对比学习[48]训练一对图像-文本编码器,则可以隐含假设每个图像-文本对有一个独特的标签。基于这个隐含假设,我们对每个图像-文本对编码唯一标签,如图1下所示。
本文主要贡献:

  • 我们引入了图像-文本-标签空间的新视角,它可以将常用的图像标签和图像-文本数据无缝统一起来。
  • 我们提出了一种在图像-文本-标签空间中的统一的对比学习方法,称为UniCL,它可以从图像标签和图像文本数据中的任何一种学习,也可以从两者中学习。
  • 广泛的实验表明,我们的UniCL可以有效地利用这两种类型的数据,并在标准的zero-shot、线性探测、完全微调和转移学习设置上普遍取得优异的性能。

相关工作

  • 监督学习:CNN相关[23, 26, 35, 36, 41, 54, 55],Transformer相关[15, 44, 59, 64, 67, 71, 76],损失函数交叉熵[47],边缘损失[43, 11, 52],监督对比损失[30],零样本分类[9,28,46,65,69,70]。
  • 文本-图像对比学习:主要分为两类,第一类学习通用的多模态融合层,受到BERT启发,基于遮蔽标记预测或者图像-文本匹配建立图像和文本的特征提取器[17,45,40,53,77,31,39,66],用于改善下游任务如VQA[2,27],图像说明[42,1],视觉常识推理[74]。第二类侧重于从自然语言监督中学习可转移的视觉表征,包括生成性方法[12,50]和对比性方法[16,29,48,62,63,78]。以上方法忽略了图像标签。
  • 自监督学习:图像的自监督学习主要是从原始像素中学习通用视觉表征,无需标签和文本的监督[19]。对比学习方法[3,6,8,21,24,57,58],最大限度地提高了同一图像地不同增强view之间的学习表征一致性,最小化了不同view的一致性,这种数据增强方法也扩展到了非对比性方法[4,7,20,38],尽管图像自监督可以无限量利用无标签数据[18],但缺乏语言关联,不适用于零样本任务。

方法

  1. 问题设置:定义数据格式如下。


    图2:数据格式
  2. 统一图像-文本-标签的对比度。
    图3:

    分别对图像和文本抽取特征、归一化得到,计算内积,分别得到图像-文本的对比损失及文本-图像的对比损失
  • 其中每一行

    where
  • 同理每一列

    where

3.3 讨论&性质
图3对比了我们提出的UniCL与CE、SupCon、CLIP几种方法的异同。
3.4 模型训练与优化
Dataloader的定义,图像-文本对的标签暂时全部定义为0,图像-标签对索引为,之后在函数Target中修改。在训练过程中是一个初始化为1的可学习变量。

  • 伪代码
Algorithm 1: Training process for UniCL.
# n: batch size; d: projected feature dim
# The main training loop
1 for x, t, y in loader:
2   target = TargetM(y)
    # Image encoding: n×d
3   u = l2 normalize(fθ(x), dim=-1)
    # Text encoding: n×d
4   v = l2 normalize(fφ(t), dim=-1)
    # Cosine similarities: n×n
5   logits = exp(τ) · u * v.T
    # Bidirectional contrastive loss
6   i2t = SoftCE(logits, target)
7   t2i = SoftCE(logits.T, target.T)
8   loss = (i2t + t2i)/2
9   loss.backward()
# The Target Modification function
10 def TargetM(y):
    # Note y = 0 for image-text in loader
11   cap m = (y == 0).sum()
12   cls m = y[y > 0].max()
13   y[y == 0] = arange(0, cap m) + cls m + 1
14   return y.view(-1, 1) == y.view(1, -1)
# The SoftTargetCrossEntropy function
15 def SoftCE(s, t):
16   s = softmax(s, dim=-1)
17   loss = - (t * log(s)).sum(dim=-1)
18   return (loss/t.sum(dim=-1)).mean()

实验

  • 数据集:前4行是图像分类数据,文本描述来源于标签。后3行是图像-文本数据集,我们使用Spacy[25]抽取名词短语,统计出现次数大于5次的名词实体。


    数据集
  • 训练:我们对分类数据使用与CLIP[48]相同的提示策略和标记器,将类名填充到提示模板中,在输入文本编码器之前进行标记化。细节参考CLIP源码。
  • 评估:用于标准图像分类、零样本图像分类、线性分类、目标检测。
    本节中我们讨论两个问题:
    Q1:与SupCon相比我们的UniCL在图片分类上表现如何?
    Q2:我们的图像-文本-标签方法有何独特优势?


    表2:提出方法在图像分类上的精度对比

    在CIFAR-10、CIFAR-100上优于CE和SupCon,在ImageNet-1K上与SupCon不相上下,且相对于SupCon有以下优势:1)端到端训练,2)可以直接用于零样本学习。


    增加额外的图像-文本数据

    与CLIP的对比

    在多个数据集上的零样本实验

结论

提出了UniCL,一个用于通用多模态表征学习的新的对比性学习范式。它建立在图像-文本-标签空间中,并由我们的统一对比学习方法所支持。这样一个统一的范式促使图像-标签和图像-文本对之间的无缝协同,以进行辨别性和语义丰富的表征学习,这带来了对零点射击、线性探测、微调基准的普遍改进。此外,我们还讨论了它与现有学习方法的联系,并通过经验证明,我们的学习方法在纯图像-标签数据上是一个很好的替代学习者。

  • 讨论:在我们的提交过程中,我们主要关注视觉任务,如图像识别和物体检测,并将我们的模型建立在公共数据集上。然而,我们向读者推荐Florence[72]的大规模预训练以及对包括VQA和视频理解在内的一系列任务的评估。我们注意到Florence使用了大量的私人数据,因此推荐本文中的这套实验作为未来学术研究的基线。

你可能感兴趣的:(Unified Contrastive Learning in Image-Text-Label Space 论文笔记)