论文解读:(UPL)Unsupervised Prompt Learning for Vision-Language Models

发布于:2024-04-29 ⋅ 阅读:(28) ⋅ 点赞:(0)

文章汇总

存在的问题

之前的来自目标数据集的标记数据(有监督学习)可能会限制可伸缩性。

动机

通过无监督提示学习(UPL)方法,以避免提示工程,同时提高类clip视觉语言模型的迁移性能。

方法解读

主张top-k而不是top-p

注:top-k是指挑选概率最大的k个,top-p是指挑选预测概率大于p的那些数据

看图说话:

对于a图,横坐标为每种类别(类别id编号从0-40),Top-k(k=16)指挑选预测概率从大到小的前16名,绿线top-p(p=0.3)指挑选预测概率大于0.3的数据,指定注意的是,在黄线top-p(p=0.9)中我们发现,无法从CLass ID从0-17的数据中挑选出预测概率大于0.9的数据(因此黄色那部分的值为0),这也说明Top-p在实际应用中的不现实性。

对于b图,纵坐标是挑选的伪标签实际正确的数量,可以看到top-p(p=0.3,0.9)对于不同的Class ID上下波动得十分大。

因此,作者认为CLIP中置信度得分与伪标签准确率之间的相关性相对较弱,主张通过Eq. 1和Eq. 2(Clip中的公式)为每个类选择top-K的置信样本进行后续优化。

伪标签集合

不同的视觉模型对每个类别的预测效果不同,比如ViT-L/14对CLass ID为0,1,5这些类别的数据预测的最准,所以这里作者为了减弱不同的视觉模型对每个类别的“敏感度”,选择取平均(很暴力的手法,O(∩_∩)O哈哈~)

第i个样本的概率\overline{p}_i=\sum^M_{m=1}p^m_i/M,其中p^m_i第M个CLIP模型预测的概率。

所以我们从实验中可以看到作者使用了各种视觉架构的额外CLIP模型,包括ResNet-101、ResNet50x4、ResNet50x16、ResNet50x64、ViTB/ 32、ViTB/16和vitl /14 (Dosovitskiy et al 2020),以提高伪标签的质量。

流程解读

伪标签生成阶段

使用多个视觉模型CLip来进行对比学习,按照top-k策略挑选伪标签。

提示表示优化阶段

这个阶段就是clip进行对比学习的训练,只是输入数据有所不同。

图片数据,从上一阶段获得,但标签为伪标签。

文本数据,为\{V_c\}^C_{c=1}(me:是所有类别的文本提示Token,接着预测时看看要预测的图片与哪个
V_c相似度最高)。,其中Vc=[V,w_c],V \in R^{D\times L}是这块结点需要学习的参数,称为可学习的提示表示,w_c\in R^D表示类c的固定词嵌入。值得注意的是,类别中的V是共享的,所以也可以看到
Vc=[V,w_c]Vc无关。流程图上也体现了这点。

模型的推理(即预测阶段)

直接用clip模型来推理,其实与提示表示优化阶段相同,只是V无需再训练了。

直接拿训练好的且每个类别共享的V再加上w_c为文本输入数据,最终组成\{V_c\}^C_{c=1}(me:是所有类别的文本提示Token,接着预测时看看要预测的图片与哪个V_c相似度最高)

要预测的图片直接作为为图片数据。

摘要

像CLIP这样的对比视觉语言模型在迁移学习方面已经取得了很大的进展。在推理阶段,需要精心设计适当的文本描述,也称为提示,以正确分类给定的图像。为了避免费力的提示工程,最近的工作,如CoOp, CLIP-Adapter和Tip-Adapter提出了适应视觉语言模型的下游图像识别任务在一小组标记数据上。虽然实现了有希望的改进,但要求来自目标数据集的标记数据可能会限制可伸缩性。在本文中,我们探索了一种不同的场景,其中目标数据集的标签没有提供,我们提出了一种无监督提示学习(UPL)方法,以避免提示工程,同时提高类clip视觉语言模型的迁移性能。据我们所知,UPL是第一个将无监督学习引入提示学习的工作。实验表明,我们的UPL在ImageNet和其他10个数据集上的快速工程优于原始CLIP。在大多数数据集上,UPL的增强版本甚至可以与8-shot CoOp和8-shot TIPAdapter竞争。代码和模型可在GitHub - tonyhuang2022/UPL: This repo is the official implementation of UPL (Unsupervised Prompt Learning for Vision-Language Models).上获得。

介绍

最近,CLIP (Radford et al . 2021)、ALIGN (Jia et al . 2021)和FLIP (Yao et al . 2021)等视觉语言模型在视觉表征学习和迁移学习方面取得了可喜的进展。与传统的视觉框架相比,视觉语言模型使用双塔架构(通常由图像编码器和文本编码器组成)在大规模图像-文本对上进行训练,以在共享嵌入空间中将图像与原始文本对齐。将井优化模型转移到下游任务(Radford et al 2021;Jia等2021;Yao等2021;Yuan等2021;Gu等2021;Du et al . 2022;Xu et al . 2021b),需要仔细设计合适的文本描述,称为提示符,以正确分类目标图像。例如,CLIP中使用的提示模板之一是“一个[CLS]的照片”(图1a)。然而,识别正确的提示并非易事,这通常需要领域知识和费力的提示工程。

图1:(a)预训练CLIP的推断。(b) CoOp、CLIP- adapter和Tip-Adapter等现有方法使用目标数据集中的一小组标记图像,使预训练的CLIP适应下游任务。(c)我们的UPL对来自目标数据集的未标记图像进行快速学习。

为了避免手工制作的提示设计并提高传输性能,一些监督方法,例如CoOp (Zhou等人2021),CLIP-Adapter (Gao等人2021)和TipAdapter (Zhang等人2021a)提出使用目标数据集中的一小组标记图像来调整视觉语言模型以用于下游图像识别任务,如图1b所示。CoOp学习一个连续的提示表示来代替手工制作的提示;CLIP-Adapter采用附加网络学习精细特征;TIP-Adapter进一步扩展了CLIP-Adapter,从少量监督构造一个查询键缓存模型。然而,所有这些方法都需要来自目标数据集的带注释的样本,这可能会限制它们的扩展能力。在本文中,我们研究了一种不提供目标数据集标签的不同设置,并提出了一种无监督提示学习(UPL)框架,以有效地适应下游图像识别任务的视觉语言模型,同时避免了繁琐的提示设计。图1c显示了该示例。

具体而言,UPL首先利用预训练的视觉语言模型(如CLIP)为目标图像生成伪标签,然后对所选的伪标签样本进行自训练以优化可学习的提示表示。通过简单地用优化的提示表示替换手工制作的提示,CLIP的泛化性能可以得到显著改善。与基于阈值的自训练方法相比,我们根据观察结果选择每个类的top-K自信样本进行自训练:1)视觉语言模型对不同的类有偏偏好,使用预定义的阈值过滤掉不自信样本导致伪数据分布不平衡;2)置信度得分与伪标签准确率之间没有明显的相关性,这说明置信度得分可能不是反映伪标签质量的可靠指标。虽然可能同时引入有噪声的伪标签,但我们通过实验发现我们的方法对噪声具有鲁棒性,因为所有类都使用相同的提示表示。受CLIP提出的提示集成策略的启发,我们引入了伪标签集成和提示表示集成来进一步推广我们的方法。我们的贡献可以总结如下:

•我们提出了一个无监督提示学习(UPL)框架,以避免耗时的提示工程,并更好地适应视觉语言模型(例如CLIP)用于下游图像识别任务。据我们所知,UPL是第一个将无监督学习引入到视觉语言模型的提示学习中的工作

•我们深入分析了CLIP伪标注的特点。在此基础上,我们提出了top-K伪标签策略、伪标签集成和提示表示集成等一系列技术来提高迁移性能。

•我们的UPL在ImageNet和其他10个图像分类数据集上的快速工程显著优于原始CLIP。在大多数数据集上,UPL的增强版本甚至可以与监督方法(如8-shot CoOp和8-shot TIPAdapter)竞争。

相关工作

视觉语言模型

大规模图像-文本对预训练的视觉语言模型在视觉表征学习中显示出巨大的潜力。CLIP (Radford等人2021)创建了一个4亿个数据集,ALIGN (Jia等人2021)利用了18亿个带噪声的图像-文本对,FLIP (Yao等人2021)收集了一组3亿对数据用于细粒度的视觉语言预训练,Wukong (Gu等人2022)提出了一个包含1亿个数据的大规模中文跨模态数据集,用于对不同的多模态预训练方法进行基准测试。和Florence (Yuan et al . 2021)构建了一个名为FLD-900M的9亿图像文本对数据集,并在44个代表性基准中的大多数中获得了新的最先进的结果。这些视觉语言模型都使用双塔架构,包括带有ResNet的视觉(图像)编码器(He et al . 2016), ViT (Dosovitskiy et al . 2020)或Swin Transformer (Liu et al . 2021),以及带有标准Transformer的语言(文本)编码器(Vaswani et al . 2017)。

为了将图像与嵌入空间中的原始文本对齐,采用了文本到图像和图像到文本的对比学习(Van den Oord, Li, and Vinyals 2018)。与自监督预训练方法相比(Grill等人2020;Chen et al . 2020;他等人2020;Chen and He 2021)对于视觉表示学习,视觉语言模型具有图像识别的固有迁移能力。此外,代表性框架CLIP已经适应了一系列视觉任务,如物体检测(Gu et al 2021;Du等人2022),语义分割(Xu等人2021b),动作识别(Wang, Xing, and Liu 2021),视频剪辑检索(Luo等人2021),视频字幕(Tang等人2021)和3D识别(Zhang等人2021b)。

提示学习

预训练的视觉语言模型使用提示(例如,“一张[CLS]的照片”)来生成用于图像识别的类嵌入。识别正确的提示是非常重要的,这通常需要花费大量的时间进行提示工程。受到NLP中提示学习进展的启发(Zhong, Friedman, and Chen 2021;李梁2021;莱斯特,Al-Rfou和Constant 2021;Shin et al . 2020;Jiang et al . 2020), CoOp (Zhou et al . 2021)提出了一种持续提示优化策略,以避免提示设计。CLIP-Adapter (Gao et al . 2021)训练额外的适配器网络,将文本特征和图像特征映射到新的嵌入空间,以更好地适应目标数据集。Tip-Adapter (Zhang et al . 2021a)进一步扩展了CLIP-Adapter,通过从少量训练集构建的键值缓存模型来创建权重。然而,所有这些方法都依赖于少量标记数据,这可能会限制它们的扩展能力。相比之下,我们提出的UPL提高了预训练视觉语言模型的传输性能,同时不需要对目标数据集进行注释。

自监督训练

自我训练(斯卡德尔1965;Yarowsky 1995;Riloff 1996)是一种简单的半监督学习方法。在这个范例中,训练良好的模型首先在未标记的数据集上生成伪标签,然后通过使用标记数据和伪标记数据对模型进行微调。最近,自我训练在深度学习方面取得了重大进展,例如图像分类(Yalniz et al 2019;Xie et al . 2020),目标检测(Xu et al . 2021a;Sohn et al . 2020),语义分割(Hu et al . 2021),语音识别(Kahn, Lee, and Hannun 2020;Parthasarathi and Strom 2019),动作识别(Xu et al 2021c)和机器翻译(He et al 2019)。视觉语言模型通常在大规模的图像-文本对(例如CLIP的4亿数据)上进行预训练,并通过提示显示出有希望的传输性能。我们提出的UPL为目标数据集生成伪标签,并通过精心设计的自我训练方法优化连续提示表示。这种处理大大提高了传输性能。与传统的自我训练相比,UPL只优化连续的提示表示,同时保持整个网络(即图像编码器和文本编码器)固定。据我们所知,UPL是第一个将自我训练引入视觉语言模型快速学习的工作。

方法

在本节中,我们将介绍用于视觉语言模型的无监督提示学习(UPL)框架,特别是用于CLIP (Radford et al . 2021)。UPL的目标是避免费力的提示工程,同时提高预训练的视觉语言模型的迁移性能。与先前的监督方法不同(Zhou et al . 2021;Gao等人2021;Zhang et al . 2021a), UPL不需要对目标数据集进行任何注释。在本节中,我们首先概述我们的UPL。接下来,我们介绍了为目标图像生成伪标签的处理。最后,描述了通过精心设计的自我训练方法进行提示表示优化的细节。

UPL概述

图2:提出的无监督提示学习(UPL)框架的概述。我们的UPL主要包含两个部分,即伪标签生成和提示表示优化。我们首先使用CLIP和一个简单的提示(例如,“一张[CLS]的照片”)来为目标数据集生成伪标签,并为后续训练选择每个类的top-K自信样本。然后,我们定义了一个可学习的提示表示,该表示在选定的伪标记样本上进行优化。对于推理,我们只需将手工制作的提示替换为优化的提示表示

我们的UPL旨在避免提示工程,并以无监督的方式提高视觉语言模型的迁移性能。图2显示了概览。UPL主要由伪标签生成和提示表示优化两个模块组成。在第一步中,我们利用预训练的视觉语言模型(例如CLIP)为目标数据集中未标记的图像生成伪标签。通过观察发现:1)置信度得分与伪标签准确率的相关性较低;2)视觉语言模型的每类精度有偏差,因此我们为每个类选择top-K的置信样本,而不是保留置信分数高于预定义阈值的所有样本,用于随后的提示表示优化。在第二步中,我们定义了一个可学习的提示表示,其灵感来自CoOp (Zhou et al . 2021)。提示表示在所有类别之间共享,并在使用生成的伪标签选择的未标记样本上进行优化。在传输阶段,我们简单地用优化的提示表示替换手工制作的提示,并使用CLIP推理管道进行图像识别。

伪标签生成

CLIP推理

CLIP在大规模图像-文本对上进行预训练,以便在公共嵌入空间中将图像与原始文本对齐。我们首先回顾CLIP的推论。给定包含C类的目标数据集,CLIP将提示(例如“一张[CLS]1的照片”)转换为小写字节对编码(BPE)表示(Sennrich, Haddow和Birch 2015),随后将其输入CLIP的文本编码器以生成每个类别的类嵌入。我们用\{f_c^{text}\}^C_{c=1}表示类嵌入的集合,其中f_c^{text}表示第c类的类嵌入。同时,对于图像I,我们使用f^{image}图像表示CLIP图像编码器提取的视觉特征。则为c类的概率计算为:

式中τ为CLIP学习到的温度参数,<·;·>为余弦相似度。我们可以很容易地识别预测\hat y通过:

me:挑选这个image与所有class text中概率最大的一个。

伪标签生成

给定一个预训练的CLIP,我们可以使用Eq.1和Eq.2为来自目标数据集的未标记样本生成伪标签。自监督训练和半监督学习方法通常保留分数高于预定义的优化阈值的可信样本。然而,我们发现直接将该策略应用于CLIP是不平凡的。原因有两方面:

•我们观察到CLIP在转移到下游图像识别任务时表现出对不同类别的偏好偏差,这主要是由预训练数据集和目标数据集之间的域差距引起的。图3说明了这种现象。使用固定的预定义阈值来过滤掉不可信的样本会导致伪标记数据分布不平衡,这进一步阻碍了优化

图3:UCF-101数据集上两种伪标注策略的分析。我们观察到CLIP在迁移学习中表现出对不同类别的偏见偏好。经典的自我训练预先定义了一个阈值来选择高概率的样本,导致伪标记数据的分布不平衡(橙色和绿色的线)。我们主张每个类选择top-K个可信样本,生成一组平衡的伪标记数据进行自我训练(蓝线)

•自我训练认为置信度(概率)可以很好地反映伪标签和的资格,并且一个定义好的阈值(例如0.9)可用于选择高质量的样本。然而,我们观察到CLIP中置信度得分与伪标签准确率之间的相关性相对较弱,如图4所示。

图4:我们在UCF-101数据集上选择每个类的前16个可信样本,并计算每个类的平均概率和伪标签精度。我们观察到概率(置信度)不能完全反映伪标签的质量。具有低平均概率的类别有可能具有准确的伪标签。

因此,我们主张通过Eq. 1和Eq. 2为每个类选择top-K的置信样本进行后续优化。这可以防止某些类别的大量样本在训练期间压倒模型。我们实验设K = 16。

伪标签集合

CLIP提供了一系列的视觉模型,包括ResNet-50, ResNet-101, ResNet50x4, ResNet-50x16, ResNet-50x64, VIT-B/32, VIT-B/16和VIT-L/14。我们观察到,具有不同视觉体系结构的CLIP模型具有偏向的分类精度,如图5所示。基于这一发现,我们提出了一种简单的伪标签集成策略来进一步提高伪标签的质量。特别地,给定具有不同视觉架构的M个CLIP模型,我们利用Eq.1获得由第M个CLIP模型预测的概率p^m_i,然后将最终概率\overline{p}_i简单地平均为\overline{p}_i=\sum^M_{m=1}p^m_i/M。类似地,可以在\overline{p}_i上应用公式2来生成增强的伪标签。一旦过程完成,我们使用伪标记数据进行无监督提示表示优化。

图5:具有不同视觉编码器的CLIP模型对不同的类有偏好。我们在UCF-101数据集上研究了这一现象。我们比较了三种CLIP模型,即ResNet-50、ResNet-50x64和ViT-L/14,并计算了每个模型的分类伪标签精度。我们显示了ResNet-50x64和ResNet-50之间的精度差距(蓝线),以及ViTL/14和ResNet-50之间的精度差距(橙线)。

提示表示优化

原始CLIP定义了各种提示模板,例如:“一个[CLS]的照片”用于迁移学习。然而,识别正确的提示并非易事,因为它通常需要领域知识和费力的提示工程。提示符的微小变化可能导致性能的巨大差异。CoOp (Zhou et al . 2021)提出通过优化一小组标记数据上的连续提示表示来避免手工制作提示设计。我们的UPL类似于CoOp,但是,我们的方法不需要对目标数据集进行任何注释。

可学习的提示表示

我们的目标是学习伪标记数据的提示表示,以提高CLIP的传输性能。形式上,我们定义了可学习的提示表示V \in R^{D\times L},其中D表示词嵌入的维度(CLIP为512),L是一个超参数,默认设置为16。给定一个包含C类的目标数据集,我们定义类c(1≤c≤C)的连续提示符V_c\in R^{D\times (L+1)}为:

其中w_c\in R^D表示类c的固定词嵌入。注意所有类共享相同的提示表示V。训练非常简单,如图2(右部分)所示。对于每个伪标记图像,我们通过将输入图像馈送到CLIP的视觉编码器来提取其视觉特征;同时,通过将\{V_c\}^C_{c=1}输入CLIP的文本编码器g(·),可以生成类嵌入。第c类的概率计算为

推理

一旦完成对提示表示V的优化,给定目标数据集,我们将\{V_c\}^C_{c=1}输入CLIP的文本编码器以生成所有类别的类嵌入。对于测试图像,我们简单地将其输入CLIP的图像编码器以提取其视觉特征,并应用公式4来计算图像识别的概率。

提示表示合奏

原始CLIP定义了许多提示符来增强其传输性能,启发我们学习具有不同初始化的多提示表示。具体来说,我们独立地优化了N个随机初始化的提示表示。在推理阶段,我们计算所有提示表示预测的概率,并将平均概率作为最终预测。

实验

实现细节

视觉语言模型

我们使用CLIP (Radford等 2021)作为我们预训练的视觉语言模型。使用ResNet-50 (He et al 2016)对CLIP应用UPL作为我们的基线。如图5所示,我们观察到具有不同视觉编码器的CLIP模型对不同的类别具有偏好。因此,我们提出了一个名为UPL*的增强版本,它利用具有各种视觉架构的额外CLIP模型,包括ResNet-101、ResNet50x4、ResNet50x16、ResNet50x64、ViTB/ 32、ViTB/16和vitl /14 (Dosovitskiy et al 2020),以提高伪标签的质量。请注意,这些额外的模型仅用于伪标记,UPL*仍然使用与UPL相同的网络架构(带有ResNet-50的CLIP)。

伪标签生成

CLIP设计了一系列用于推理的提示模板,例如,为ImageNet手工制作的80个提示。使用CLIP提供的所有提示来生成伪标签可能违背了我们避免费力的提示工程的愿望。因此,我们只使用最简单的提示符来生成伪标签。例如,我们采用在ImageNet上推广“一张[CLS]的照片”。关于伪标签生成中使用的提示模板的更多细节,请参考补充材料。除非另有说明,否则我们选择每个类的前16个可信样本来优化提示表示。

可学习的提示表示

通过从标准差等于0.02的零均值高斯分布中随机初始化提示表示。我们在Eq.3中默认设置长度L = 16。在系统级与先前的方法比较中,我们使用16个提示表示来进行集成。除非特别说明,对于所有消融研究,我们使用单一提示表示效率。

训练的细节

我们使用初始学习率为0.002的SGD和余弦衰减学习率调度器进行优化。我们为所有数据集和批处理训练50个epoch并且batch设置为32。我们在第一个epoch用固定的学习率1e-5来预热训练。

数据集

继CLIP (Radford等人2021)和CoOp (Zhou等人2021)之后,我们使用了11个公开可用的图像分类数据集,包括ImageNet (Deng等人2009)、Caltech101 (Fei-Fei, Fergus, and Perona 2004)、DTD (Cimpoi等人2014)、EuroSAT (Helber等人2019)、FGVCAircraft (Maji等人2013)、Food101 (Bossard, Guillaumin, and Van Gool 2014)、Flowers102 (nil 2008)、OxfordPets (Parkhi等人2012)、SUN397 (Xiao等人2010)、StandfordCars (Krause等人2013)和UCF101 (Soomro, Zamir, 2014)。and Shah 2012)。这些数据集涵盖了各种不同的视觉分类任务,如一般对象、细粒度甚至纹理分类,构成了一个全面的基准。

主要结果

表1报告了11个数据集的主要结果。我们将我们的方法与:1)原始CLIP与即时工程进行比较;2)有监督方法,包括CoOp (Zhou et al . 2021)和Tip-Adapter (Zhang et al . 2021年)。原始CLIP定义了许多提示模板(例如ImageNet的80)来提高传输性能。我们的UPL不仅避免了这种快速工程,而且比CLIP平均精度高出+4:2点。我们的UPL*涉及不同的CLIP模型进行伪标记,同时使用具有ResNet-50的单个CLIP进行推理,进一步将平均准确率提高到68:37。与监督方法相比,UPL优于2-shot CoOp,并且UPL*在大多数数据集(ImageNet, Caltech101, EuroSAT, Food101, OxfordPets, SUN397和StandfordCars)上与8-shot CoOp和8-shot Tip-Adapter具有竞争力。

表1:UPL和UPL*在11个数据集上的主要结果。我们将我们的无监督方法与:1)原始CLIP与即时工程(Radford et al 2021)进行比较;2)监督方法,包括CoOp (Zhou et al . 2021)和Tip-Adapter (Zhang et al . 2021a)。UPL和UPL*都提高了原始CLIP的性能,并及时进行工程设计。UPL优于2-shot CoOp。UPL*在大多数数据集上与8-shot CoOp和8-shot Tip-Adapter竞争。

消融实验

不同的伪标签策略

传统的自训练和半监督学习方法通常选择置信度分数高于预定义阈值的未标记样本作为伪标记数据。在这里,我们将我们提出的top-K伪标记策略与表2中基于阈值的策略进行比较。我们还在图3中可视化了不同策略的伪标签准确性和正确伪标签的数量。使用较高的阈值(0.9)会导致伪标记数据分布不平衡,而较低的阈值(0.3)会引入过多的噪声,从而干扰训练。相反,我们的默认top-K伪标记策略确保了伪标记数据的平衡分布,并防止某些类别的大量样本在训练期间压倒模型。

选择Top-K自信样本作为伪标记数据

我们已经证明了top-K伪标记策略的优越性,这里我们研究了每个类应该使用多少个伪标记样本(K)。具体地说,我们改变K的值(K = 2;4;8;16)用不同数量的伪标记数据训练我们的UPL。结果如图6所示。随着伪标记样本的增加,性能也随之提高。因此我们设K = 16。

伪标签集成

如图5所示,具有各种视觉体系结构的CLIP模型对不同的类具有偏好。本文定量评价了使用不同CLIP模型进行伪标注的伪标注精度和传递精度。表3显示了结果。

表3:伪标签集成策略在UCF101和SUN397数据集上的消融研究。对于UPL*,我们使用不同的CLIP模型和不同的视觉编码器来生成伪标签,并评估伪标签的准确性和传递精度。注意,不同的CLIP模型只用于伪标记,训练和推理仍然使用ResNet-50在CLIP上进行。

提示符表示的长度

我们研究了表4中提示表示的长度L。

表4:研究提示表示长度L对Caltech101、DTD和StandfordCars的影响。UPL对L的变化不太敏感。

提示学习表现集合

CLIP设计了一系列促进迁移性能的提示模板,启发我们在推理阶段学习多提示表示并将其集成。本文研究了不同数量(N = 2;4;8;16)图7a中的提示表示。我们发现当N = 16时,性能几乎饱和。接下来,我们研究了提示表示集合的有效性。具体来说,我们使用UCF101数据集上的UPL独立优化了三种提示表示(pr - 1,2和3)。对于三个学习良好的提示表示中的每一个,我们计算UCF101测试集上的每类精度。我们使用PR-1作为基线,并计算与其余两个(PR-2和PR-3)的每类精度差异。结果如图7b所示。尽管三种提示表征的总体准确率几乎相同(PR-1、pr - 2和pr - 3的准确率分别为64.58、64.66和64.39),但每类准确率差异显著。因此,提示表示集合促进迁移。

对噪声伪标签的鲁棒性

伪标签在自我训练中扮演重要角色。伪标记的关键原则是生成足够数量和高质量的伪标记样本。最近的一些作品(Hu et al 2021;Rizve等2021;Xu等人(2021a)探索了减少有噪声伪标签负面影响的方向。如图3a所示,CLIP的每类精度有偏差,这表明CLIP预测的伪标签对于表现不佳的类别是有噪声的。很自然会提出一个问题:每个类的伪标签准确性和每个类的传输准确性之间是否存在任何对应关系?为了回答这个问题,我们对UCF101数据集进行了以下计算:1)每个类的伪标签精度;2)每类传递改进(UPL与原始CLIP之间的精度差异)。图8显示了结果。

图8:我们在UCF101数据集上计算了每个类的伪标签精度和每个类的传输改进。伪标签精度与传递精度之间没有明显的对应关系。我们仍然看到这些具有低伪标签准确性的类的显著传输改进,这表明我们的UPL对有噪声的伪标签样本具有鲁棒性。

我们观察到伪标签精度与传递精度之间不存在明显的对应关系。事实上,我们仍然观察到一些具有低伪标签准确性的类别的显著传输改进,这表明我们的UPL对伪标签噪声具有鲁棒性。由于所有类共享相同的提示表示(参见Eq. 3),提示表示在所有类的伪标记样本上进行优化。虽然在某些类别中存在噪声伪标签,但我们仍然可以在大量合格的伪标签样本上优化一个有利的共享提示表示。

结论

在本文中,我们提出了一个无监督提示学习(UPL)框架,以避免耗时的提示工程,同时促进CLIP的迁移性能。与之前的监督方法(如CoOp、CLIP-Adapter和TIP-Adapter)相比,我们的UPL是第一个无监督框架,可以更好地将预训练的视觉语言模型适应下游图像识别任务。我们在ImageNet和10个广泛使用的图像分类数据集上进行了大量的实验。我们的UPL在Imagenet和其他10个数据集上的快速工程优于原始CLIP。此外,我们的无监督方法在11个数据集的平均精度方面也优于2-shot CoOp,并且UPL的改进版本甚至可以与8-shotCoOp和8-shot Tip-Adapter在大多数数据集上竞争。

参考资料

论文下载(2022 年)

https://arxiv.org/abs/2204.03649

代码地址

GitHub - tonyhuang2022/UPL: This repo is the official implementation of UPL (Unsupervised Prompt Learning for Vision-Language Models).