coop:Learning to Prompt for Vision-Language Models

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 摘要
  • 一、Introduction


摘要

像CLIP这样的大型预训练视觉语言模型在学习表征方面显示出了巨大的潜力,这些表征可在广泛的下游任务中迁移。与传统的基于离散标签的表示学习不同,视觉语言的预训练将图像和文本对齐在一个共同的特征空间中,通过提示将零射转移到任何下游任务,即从描述感兴趣类的自然语言合成分类权值。在这项工作中,我们表明,部署的一个主要挑战这样的模型在实践中促使工程,这需要专业知识,非常耗时,需要花大量的时间在单词优化自措辞的微小变化可能对性能产生巨大影响。受到自然语言处理(NLP)快速学习研究的最新进展的启发,我们提出了上下文优化(CoOp),这是一种简单的方法,专门用于将类似clip的视觉语言模型用于下游图像识别。具体来说,CoOp使用可学习向量对提示者的语境词进行建模,同时保持整个预训练参数不变。为了处理不同的图像识别任务,我们提供了两种CoOp实现:统一上下文和类特定上下文。11日通过广泛的实验数据集,我们证明鸡笼需要只有一个或两枪打手工提示一个像样的保证金和能够获得显著改善当使用更多的镜头,例如,16次获得平均约15%(最高达到45%以上)。尽管是一种基于学习的方法,但与使用手工提示的零镜头模型相比,CoOp获得了极佳的领域泛化性能。


一、Introduction

构建最先进的视觉识别系统的一种常见方法是训练视觉模型来预测使用离散标签的一组固定的对象类别(He et al., 2016;Dosovitskiy等,2021)。从技术角度来看,这是通过匹配图像特征(由ResNet (He et al., 2016)或ViT (Dosovitskiy et al., 2021)等视觉模型产生的)与一组固定的权重来实现的,这些权重被视为视觉概念,并随机初始化。尽管训练类别通常具有文本形式,如“金鱼”或“厕纸”,但它们将被转换为离散标签,以简化交叉熵损失的计算,使封装在文本中的语义在很大程度上未被利用。这种学习模式将视觉识别系统限制在封闭的视觉概念上,使得它们无法处理新的类别,因为学习新的分类器需要额外的数据。

最近,CLIP (Radford et al., 2021)和ALIGN (Jia et al., 2021)等视觉语言前训练已经成为视觉表征学习的一种有前途的替代方法。其主要思想是使用两个独立的编码器来对齐图像和原始文本——一个用于每个模态。例如,CLIP和ALIGN都将学习目标表述为对比损失,将图像及其文本描述组合在一起,同时将特征空间中不匹配的对排除在外。通过大规模的预训练,模型可以学习不同的视觉概念,并且可以很容易地通过提示转移到任何下游任务(Radford等人,2021;Jia等人,2021年;F¨urst等人,2021年;Li等人,2021年;辛格等人,2021年;Yuan等,2021)。特别地,对于任何新的分类任务,可以先将描述与任务相关的类别的句子给文本编码器,合成分类权重,然后与图像编码器产生的图像特征进行比较。

我们观察到,对于预先训练的视觉语言模型,文本输入,即提示符,在下游数据集中扮演着关键的角色。然而,识别正确的提示是一项艰巨的任务,这通常需要大量的时间进行文字调优——措辞上的微小变化可能会对性能产生巨大的影响。例如,对于Caltech101(图1(a),第2和第3个提示符),在类令牌之前添加“a”可以带来超过5%的准确性提高。此外,即时工程还需要对任务的先验知识,最好是语言模型的潜在机制。图1(b-d)举例说明了这一点,其中添加与任务相关的上下文可以导致显著的改进,例如,对于Flowers102,“flower”,对于DTD,“texture”和对于EuroSAT,“satellite”。调整句子结构可以带来进一步的改进,例如,将“a type of flower”放在Flowers102的类令牌之后,在DTD的上下文中只保留“texture”,以及在EuroSAT的“satellite photo”之前添加“centered”。然而,即使进行了广泛的调优,所得到的提示也不能保证对这些下游任务是最优的。

受近期自然语言处理(NLP)中的即时学习研究的启发(Shin等人,2020;Jiang et al., 2020;Zhong等人,2021),我们提出了一种简单的方法,称为上下文优化(CoOp)1,以自动化提示工程,特别是针对预训练的视觉语言模型。具体来说,CoOp用可学习向量对提示符的上下文单词进行建模,这些向量可以用随机值或预先训练的单词嵌入来初始化(见图2)。提供了两种实现来处理不同性质的任务:一种是基于统一上下文,它与所有类共享相同的上下文,并在大多数类别上运行良好;而另一种则基于特定于类的上下文,它为每个类学习一组特定的上下文标记,并被发现更适合于一些细粒度的类别。在训练过程中,我们简单地使用相对于可学习上下文向量的交叉熵损失最小化预测误差,同时保持整个预训练参数不变。梯度可以通过文本编码器反向传播,提取出与学习任务相关的上下文参数中编码的丰富知识。

为了证明CoOp的有效性,我们在11个数据集上进行了基准测试,这些数据集涵盖了一系列不同的视觉识别任务,包括对一般物体、场景、动作和细粒度类别的分类,以及识别纹理和卫星图像等特殊任务。结果表明,CoOp有效地将预训练的视觉语言模型转化为数据效率高的视觉学习者,只需一两个镜头,就能比手工制作的提示更有优势。使用更多的镜头可以进一步提高表现,例如,使用16次镜头,与手工提示的平均差距约为15%,最高达到45%以上。CoOp也优于线性探测模型,后者被称为强少拍学习基线(Tian et al., 2020)。此外,尽管CoOp是一种基于学习的方法,但它对领域转移的鲁棒性要比零镜头模型(使用手动提示)强得多。

综上所述,我们做出了以下贡献:

  1. 我们对最近提出的视觉语言模型在下游应用中的适应性进行了及时的研究,并确定了一个与部署效率相关的关键问题,即即时工程。

  2. 为了使预先训练的视觉语言模型的提示工程自动化,我们提出了一种基于连续提示学习的简单方法,并提供了两种可处理不同识别任务的实现方法。

  3. 我们首次表明,对于大型视觉语言模型,提出的基于提示学习的方法在领域转移下的下游迁移学习性能和鲁棒性方面优于手工提示和线性探测模型。

我们希望这些发现一起开源代码可以激励和促进未来研究有效的适应方法对于大型视觉语言模型新兴主题与民主化的基础模型(Bommasani et al ., 2021)也就是说,使他们更容易和更便宜的适应更广泛的社区。

你可能感兴趣的:(prompt,语言模型,人工智能)