点击下方卡片,关注 「AI视界引擎」 公众号
为了在少样本学习任务中充分利用CLIP(Conditional Image Patch)模型,研究人员提出了一种称为“增强少样本CLIP的语义感知微调”的方法。该方法的主要目标是提高CLIP模型在少样本学习任务中的性能,特别是对于那些具有语义关联的类别。
在CLIP模型中,每个图像都被表示为一组条件图像块(Conditional Image Patch),这些条件图像块是根据图像内容生成的。在训练阶段,CLIP模型使用这些条件图像块来学习如何将输入图像分类为不同的目标类别。然而,在少样本学习任务中,通常只有很少的训练样本可用,这使得CLIP模型在训练过程中面临一些挑战。
为了解决这个问题,研究人员提出了一种称为“增强少样本CLIP的语义感知微调”的方法。该方法的主要思想是利用先验知识,通过对CLIP模型进行语义感知微调,提高模型在少样本学习任务中的性能。
具体来说,该方法使用预先训练的CLIP模型来生成条件图像块,这些条件图像块具有语义关联,可以更好地表示输入图像的特征。然后,将这些条件图像块输入到CLIP模型中,以进行分类任务。
这种方法的主要优势在于,它利用了CLIP模型的预训练知识,可以有效地提高模型在少样本学习任务中的性能。此外,该方法还可以应用于其他任务,例如语义分割和目标检测等。总之,增强少样本CLIP的语义感知微调是一种有效的方法,可以提高CLIP模型在少样本学习任务中的性能。
从有限的训练样本中学习通用的表示对于在低资源场景中应用深度神经网络至关重要。最近,基于对比语言图像预训练(CLIP)的方法在少样本适应任务中展现了令人瞩目的性能。为了避免由于少样本微调导致的灾难性遗忘和过拟合,现有研究通常冻结CLIP在大规模数据集上预训练的参数,而忽视了某些参数可能不适合下游任务的可能性。为此,作者重新审视了CLIP的视觉编码器,重点关注其独特的注意力池层,该层对密集特征图进行空间加权求和。
由于密集特征图包含有意义的语义信息,而且不同的语义对于不同的下游任务(例如在宠物分类任务中,将耳朵和眼睛等特征视为更重要的语义,而不是侧镜)具有不同的优先级,因此,在不同的少样本任务中使用相同的加权求和操作对密集特征图进行加权可能并不适合。因此,作者提出在训练过程中微调注意力池层的参数,以鼓励模型专注于任务特定的语义。
在推理过程中,作者将通过微调的注意力池层和原始注意力池层之间的残差融合来合并少样本知识和对预训练CLIP的先验知识。作者称这种方法为语义感知微调(SAFE)。SAFE在增强传统少样本CLIP方面有效,并与现有的Adapter方法(称为SAFE-A)兼容。
在11个基准测试上的广泛实验表明,SAFE和SAFE-A在1-shot设置和4-shot设置中分别比第二最佳方法**+1.51%和+2.38%,以及+0.48%和+1.37%**。
- 简介
由于模型架构的进步和大规模、高质量训练数据集的可用性,近年来图像理解任务如图像分类,语义分割,以及目标检测等领域取得了显著的进展。
然而,在实际场景中收集大规模、高质量的数据集成本高昂且资源密集。得益于对比语言图像预训练模型(CLIP),该模型通过学习4亿互联网图像文本对来展示出将视觉语言表示对齐的出色能力。用户可以通过构建合适的Prompt来构建具有良好性能的零样本分类器。例如,在开放词汇设置下,一个新类别的图像的置信度可以通过CLIP中图像与Prompt句子“一张[CLASS]的照片”之间的相似度度量来获得,而无需进一步再训练。
然而,零样本CLIP在某些场景下的性能仍然有所不足。例如,在欧洲SAT数据集上,使用ResNet-50视觉编码器的CLIP分类精度仅为37.56%。为了提高CLIP的实用性和适用性,少样本学习利用少量样本来增强CLIP在下游任务中的适应性。这对于在低资源场景中应用深度学习技术具有重要的意义。遵循Prompt-Tuning的方向,CoOp提出通过最小化目标任务上的分类损失来学习连续文本Token,而CoCoOp则进一步通过学习一个中间神经网络来生成每个图像的输入条件Token。
受到自然语言处理中使用的PEFT技术的启发,CLIP-Adapter为CLIP配备了两个可学习的残差Adapter,而TIP-Adapter构建了一个使用CLIP从少样本样本中提取的特征作为初始值的关键值值缓存模型。CLIP-Adapter和TIP-Adapter优化了添加的轻量级线性层,同时将CLIP的视觉编码器冻结。这些现有方法的一个共同特点是冻结CLIP在大规模数据集上预训练的参数,以避免由少样本微调引起的过拟合。然而,视觉编码器中所有预训练参数是否都适合用于下游任务,以及是否合理地将所有这些参数冻结,仍然存在疑问。
作者从语义注意力的角度探讨了这个问题,并假设不同的语义对于各种下游任务有不同的贡献。具体来说,例如车灯、车轮和侧镜等特征在汽车分类任务中可能具有重要意义,而在宠物分类任务中,这些语义可能几乎没有任何相关性。作者引入了Shapley值来衡量与最终真实类别的概率相关的图像不同部分的贡献,并发现CLIP在大规模数据集上预训练的视觉编码器并不总是关注任务特定的语义。
如图1(d)所示,原始CLIP模型在决策时更注重背景区域相对于狗的语义。因此,将所有预训练参数用于下游任务可能不是适当的选择,作者应该探索引导模型关注任务特定语义的方法,这有可能增强模型的可解释性和少样本适应性能。
在检查CLIP的密集特征(在经过池化层之前)时,作者发现了一个有趣的现象:这些密集特征已经捕获了物体的语义信息,这可以用于在各种图像之间建立语义对应关系,如在第三部分A中讨论的那样。为了更好地利用密集特征中的语义信息,本文对CLIP的视觉编码器进行了彻底的重新检查,尤其是其独特的注意力池层。与传统的全局平均池化不同,注意力池层对密集特征进行空间加权求和,这意味着该层为密集特征中的不同位置分配不同的权重。
为了根据不同下游任务对密集特征中不同部分的重权进行校正,作者提出使用少样本训练样本来微调CLIP的注意力池层。在少样本训练样本的指导下,注意力池层更注重在密集特征中的任务特定语义,而不是像现有方法那样采用跨不同任务相同的注意力机制。
在推理过程中,作者提出在微调的注意力池层输出和原始注意力池层之间执行残差融合,以合并少样本知识和预训练CLIP的先验知识。这种方法可以实现显著的少样本适应性能和跨分布泛化性能。将这种方法称为语义感知微调(SAFE)。它也可以作为即插即用的方式,用于增强现有方法,即在CLIP上装备Adapter以增强少样本性能(称为SAFE-A)。
如图1(f)所示的狗图像为例,头部部分对经过SAFE微调的CLIP的决策具有决定性影响,而尾巴和背景的影响较小。这符合人类的感知,即头部特征对于宠物分类至关重要。SAFE不仅赋予少样本CLIP良好的分类性能,还增强了其可解释性。
作者在11个广泛使用的数据集上进行了大规模实验,以证明作者方法的有效性。如图2所示,与现有Baseline相比,作者的方法具有一致且显著的改进。例如,对于平均准确性,SAFE和SAFE-A(每个类别1个样本)分别比第二好的方法提高了1.51%和2.38%。此外,SAFE在非分布数据集上比其他方法具有更强的泛化能力。
论文的主要贡献如下:
- 观察到一个有趣的现象,即CLIP的密集特征已经捕获了物体的语义信息,可以用于在不同图像之间建立语义对应关系。作者假设不同的语义信息对下游的少样本任务有不同的重要性
- 提出了一种语义感知微调(SAFE)方法,该方法微调CLIP的注意力池层,以鼓励模型在密集特征中关注任务特定的语义,并融合微调后的和原始注意力池层的输出,以合并少样本知识和预训练先验知识
- 大量的实验表明,提出的SAFE和SAFE-A在11个广泛使用的少样本分类数据集上实现了最先进的性能,并表现出优越的跨分布泛化能力。
2 相关工作
在大规模和高质量数据集的帮助下,深度模型表现出杰出的性能。然而,收集这样数据具有挑战性,因为存在长尾分布、噪声注释和不断增加的Token成本。为了解决这个问题,少样本学习被提出。传统的少样本学习算法通常假设一个大规模的元训练集用于预训练深度模型,然后通过多个少样本训练(支持)和测试(查询)集的评估。
度量学习方法计算查询样本和已知类别样本之间的距离,根据邻近类别确定查询样本的分类结果。元学习方法提出从众多先验任务中学习元知识,利用过去知识快速指导模型适应新领域。图神经网络方法[33, 34]利用图结构建模样本之间的内聚性和外聚性,并在一些少样本任务中展现出良好的性能。
在最近的发展中,对比语言图像预训练(CLIP)已经证明了从对比视觉语言对中学习可以得到在多种数据集上的通用特征,这对于零样本识别具有前景。此外,一些工作已经开始制定有效策略,使其适应下游的少样本任务。
在本研究中,作者遵循最近对少样本CLIP的研究中实现的新少样本评估协议:
- 经典少样本学习的元训练阶段被预训练CLIP模型取代,
- 测试集由每个数据集的官方测试集组成(因此不是少样本)。
Prompt-Tuning
Prompt-Tuning的主要概念是将各种NLP任务形式化为被遮挡的语言建模问题,类似于语言模型的预训练。这些方法的成功关键在于找到合适的Prompt,这构成了这个领域研究的关键方面。Context Optimization(CoOp)通过优化一组可学习的Prompt词元以优化少样本样本,来学习连续的软Prompt。Conditional Context Optimization训练一个中间网络来生成输入条件Token。
与CoOp的静态Prompt不同,CoCoOp的动态Prompt是实例自适应的。考虑到学习单个Prompt可能会忽略视觉表示的多样性,并可能面临捕捉视觉内容各种变化的挑战,陆等人[37]提出学习一组多样化的Prompt来增强泛化能力。朱等人[38]提出Prompt对齐梯度方法,以防止Prompt-Tuning忘记从视觉语言模型中获取的一般知识。这种方法选择性地更新与一般知识梯度对齐的Prompt,以确保一般知识的保留。
此外,大型语言模型(LLMs)也可以用于设计Prompt。例如,普雷特等人[39]利用GPT-3生成包含图像类别重要鉴别特征的描述性句子,实现这些定制Prompt的出色性能。
模型微调
CLIP可以在迁移到下游任务时采用线性探测和完全微调。然而,使用少量样本进行微调可能会导致在训练数据上过拟合,并在测试数据上牺牲性能。在自然语言处理中,休斯比等人[13]提出了一种Adapter,将可学习的线性层插入每个Transformer层,同时冻结Backbone以实现数据高效的下游任务微调。
受到这种方法的影响,高等人[14]提出CLIP-Adapter,在视觉或语言分支上进行微调。张等人[15]引入了Tip-Adapter,使用从少样本训练集中派生出的键值缓存模型构建Adapter,从而在微调过程中受益于其优越的初始化方法,实现了更快的收敛。WiSE-FT采用CLIP原始预训练权重和微调权重组成的权重空间集成来增强跨分布鲁棒性。
CAIP提出了一种无需参数的注意力机制来引导视觉和文本表示之间的交互,并探索跨模态的有用特征。其参数版本CALIP-F进一步实现了更高的少样本精度。此外,林等人[22]提出了一种跨模态的少样本学习方法,在微调期间重新利用文本特征作为训练样本。
与现有方法不同,作者观察到CLIP在池化层之前的密集特征具有有意义的语义属性。因此,作者提出了一种语义感知的微调方法,该方法根据特定的下游任务,鼓励模型关注不同的语义信息。实验结果表明,作者的方法在微调方法方面优于现有方法。
3 方法
3.1 动机
作为人类,作者可以通过匹配给定图像和已知类别的语义特征来识别一个新的图像。例如,作者使用眼睛、耳朵和鼻子等语义特征来确定一个对象是否是一只猫。
问题是,CLIP(对比语言图像预训练)能否学习图像和已知类别之间的语义对应关系,并利用这些信息来增强少样本性能?
Zeiler和Fergus,Mehrer等人表明,神经网络的早期层(更接近输入)关注局部特征,如边缘、角点和线条。因此,作者研究CLIP模型中的深度特征(而不是早期特征)是否展示出通用的语义,可以用于在不同图像之间建立对应关系。
具体而言,给定源图像和源点,作者感兴趣的是是否可以使用CLIP提取的密集特征来定位目标图像中的语义相关点。在这里,密集特征指的是CLIP视觉特征提取器提取的特征,这些特征在池化过程之前被提取出来。作者对密集特征图进行双线性插值上采样,以匹配其大小与输入图像的大小,并将这些上采样的密集特征称为。源图像中位置的像素级特征被表示为。然后作者计算与目标图像不同像素级特征之间的余弦相似度,并将最相似的点视为预测的目标点:
其中表示余弦相似度度量。
如图3所示,给定源图像上特定空间位置(称为源点),CLIP提取的特征图可以用于识别与源点语义相关的目标图像上的空间位置(称为预测的目标点)。作者使用热力图来表示目标图像中点与源图像中源点之间的余弦相似度。亮度越高表示相似度越高,反之亦然。
在源图像中,红色的点表示源点,而在目标图像中,与源点相似度最高的点被视为预测的目标点,并用红色标出。显然,CLIP的密集特征已经捕获了视觉识别中的非平凡语义信息,例如鸟的喙和爪子、公交车的头灯和轮胎以及猫的眼睛和耳朵,这启发作者利用这些信息来增强模型的少样本性能。
作者假设不同的下游任务可能会关注对象的不同的语义部分。例如,在在汽车分类任务中,关注点可能是轮子、侧镜和车灯等语义特征,而在宠物分类任务中,关注点可能集中在眼睛、耳朵和尾巴上。因此,利用有限的训练样本引导模型将注意力集中在CLIP的密集特征中的任务特定语义,可能是增强少样本适应性能的有效方法。然而,现有方法总是冻结视觉编码器并应用相同的注意力机制到不同任务中的密集特征,忽视了任务特定适应的需求。
3.2 语义感知微调
本文重新检查CLIP的视觉编码器,旨在利用密集特征中的语义信息,进一步发挥CLIP在少样本分类方面的潜力。如图4所示,CLIP的视觉编码器(以ResNet-50为Backbone)包括视觉特征提取器和独特的注意力池层,该层使用了一种Transformer风格的multi-head attention机制。
注意力池层内的操作如下:全局平均特征通过线性层映射到查询,每个空间位置的密集特征通过线性层和映射到键值对。然后,注意力池层通过缩点积注意力与线性层得到输入密集特征的空间加权求和。这个过程可以表示为:
其中和分别表示密集特征的高度和宽度,是一个常数缩放因子,表示空间位置的输入特征,是所有的平均值。注意力池层的输出作为整个图像的综合表示,可以捕获密集特征图对视觉识别至关重要的语义信息。
简言之,注意力池层通过加权求和的方式为密集特征中的各种空间语义分配不同的权重,从而得到池化特征。注意力池层在大规模数据集上预训练,可以提供模型一定的泛化能力。
然而,对于下游任务,任务特定的语义可能对分类性能产生更显著的正面影响。因此,作者提出在注意力池层的参数上进行微调,同时冻结CLIP的视觉编码器中剩下的参数。这个过程鼓励模型关注特定少样本适应任务的语义。考虑到微调可能产生的灾难性遗忘问题,在推理过程中,作者执行微调后的注意力池层和原始注意力池层之间的残差融合,以合并预训练和少样本知识的先验知识。
作者将微调后的注意力池层称为,原始的注意力池层称为,CLIP的视觉特征提取器提取的密集特征。作者将CLIP从预训练文本编码器中产生的分类器的权重表示为。残差混合特征和输出对数似然量可以表示为:
其中表示残差比例。
此外,CLIP视觉编码器中的最后一个Transformer层(具有Vision Transformer(ViT)架构)与ResNet架构中的注意力池层非常相似。它们之间的区别微乎其微:首先,ViT中的全局查询由一个特殊的类Token(class token)生成,而不是所有空间位置的平均值;其次,Transformer层包含一个残差连接。
因此,在实现CLIP视觉编码器时使用ViT架构时,作者将最后一个Transformer层与注意力池层视为相同,并微调此层以增强少样本适应性能。作者称作者的方法为语义感知微调(SAFE),并详细说明上述过程。
算法1语义感知微调(SAFE)
要求:特征提取器G,冻结的原注意力池层AttnPool和微调后的注意力池层AttnPool,CLIP的分类器权重,迭代次数,残差比例。
微调:作者省略了与验证性能相关的早期停止过程以简化。对于,执行, = few_shot_loader.next(), = AttnPool(G()),损失 = Cross_Entropy(, ),损失.backward(),update(AttnPool.params)结束,返回微调后的AttnPool。
推理过程:给定一个测试样本。 = G() = ,logits = ,返回logits。
作者的方法通过微调CLIP的注意力池化层来增强其少样本性能,这种操作与使用Adapter增强CLIP的现有方法兼容。以TIP-Adapter为例,它使用从少样本训练集中的池化特征派生出一个键值缓存模型来构建Adapter。
具体而言,给定K-shot N-class训练样本(Token为,其标签为),TIP-Adapter利用CLIP的预训练视觉编码器提取其C维特征,并将它们的地面真值标签转换为N维的one-hot向量。这些特征和标签向量可以表示为:
其中G代表特征提取器。然后TIP-Adapter将视为键,将标签向量视为值来构建缓存模型,该模型记忆着从少样本训练样本中提取的所有新知识。在推理过程中,TIP-Adapter首先提取给定测试样本的C维特征:
TIP-Adapter将来自缓存模型和预训练CLIP的少样本知识相结合,计算的输出对数似然量。
其中,和表示可调整的超参数。作者的SAFE方法与这种Adapter方法兼容,因为它们从不同的角度增强少样本CLIP。直观地,与原始CLIP模型相比,TIP-Adapter通过引入缓存模型来检索少样本知识,从而提高了性能。作者的方法微调视觉编码器以关注任务特定的语义,从而输出对少样本任务有益的池化特征。
将Tip-Adapter与作者的SAFE方法结合是简单的。只需要用作者的改进的池化操作替换原始池化操作(见公式(5)和(7))即可,同时保持其余计算不变。这样,缓存模型中的键和给定测试样本的特征被重新表示为:
然后,根据公式(8),测试样本的输出对数似然量仍然可以计算。这种简单的修改使得在1-shot场景下,与原始TIP-Adapter-F相比,在11个数据集上的平均性能提高了3.78%。作者将在以下部分中称这种方法为SAFE-A。
迄今为止,作者介绍了算法的动机和方法。与传统的分类器微调、完全微调、Adapter微调和Prompt微调等实践不同,SAFE只微调注意力池层,以关注与下游任务相关的语义,并在原始和微调注意力池层生成的特征池上进行残差融合,以增强泛化能力。这种方法以简单而优雅的特点,有效地调和了数据稀缺性和模型参数规模之间的冲突,并在少样本适应任务中取得了优越性能。
4 实验
4.1 设置
数据集。 作者在11个广泛使用的数据集上进行少样本实验:ImageNet,DTD,Standford-Cars,Oxford-Pets,UCF101,Caltech101,Flowers102,Food101,SUN397,EuroSAT,以及FGVC-Aircraft。
为了确保可重复性,作者使用CoOp's数据集划分和相同随机种子下采样的三个折叠少样本训练集来微调CLIP,每个类别有1,2,4,8和16个Token样本。作者详细地列出了这些11个数据集的统计信息,如表II所示。
少样本评估协议。 为了确保公平的比较,作者严格遵循CoOp和Cross-Modal Fine-tuning的协议,在11个公共图像数据集上报告测试性能,默认情况下使用ResNet-50作为CLIP的视觉编码器Backbone。作者还使用ViT-B/16作为视觉编码器评估了作者的方法的有效性。作者使用下游任务的完整测试集来评估每个方法。作者将类名转换为句子,使用Tip-Adapter建议的手工工程模板,以获得初始化CLIP分类器的文本Prompt。作者在第IV-D4节讨论了不同Prompt的影响。
训练细节。 遵循现有实践,作者使用AdamW优化器,并在整个12800迭代过程中实现余弦退火学习率调度。批处理大小设置为8。作者对每个任务在[0.0001, 0.00001, 0.000001, 0.0000001]的学习率范围内和[0.0, 0.001, 0.00001]的权重衰减范围内进行网格搜索。早期停止基于每个给定的少样本验证集上的评估性能,每100迭代一次,其中表示训练轮数,最小样本数为4。所有实验在一个Tesla V100 GPU上进行。默认超参数残差比例设置为0.5。作者在第IV-D1节讨论超参数的影响。
少样本性能
如表1所示,SAFE和SAFE-A在其他方法的表现上都非常出色。这里报告的零样本CLIP数量与原始CLIP中的略有不同,因为作者使用了现有少样本自适应工作中采用的手工工程Prompt,而不是原始Prompt。这里报告的跨模态结果是基于他们论文中建议的最佳少样本性能设置。
对于11个少样本数据集的平均性能,SAFE分别比CoOp方法+6.58%和+1.51%在1-shot设置上表现更好。值得注意的是,即使只有1个样本,SAFE也分别比16-shot的CoOp方法在Food101数据集上+2.83%和Oxford-Pets数据集上+0.36%的表现更好。
在某些场景下,SAFE的性能可能不如现有方法。例如,在Stanford-Cars数据集上,SAFE在16-shot设置下的性能比TIP-Adapter-F低1.85%,但在1-shot设置下比TIP-Adapter-F高1.24%。作者认为这是因为随着训练样本数量增加,TIP-Adapter中的缓存存储了足够的少样本知识来增强分类任务。幸运的是,SAFE是一个即插即用的方法,可以与现有方法结合以进一步提高少样本适应性能。通过Adapter的帮助,SAFE-A在与现有方法相比的所有少样本设置下都实现了最佳性能。
在Stanford-Cars数据集上,SAFE-A在1-shot设置下比TIP-Adapter-F高3.10%,在16-shot设置下比TIP-Adapter-F高1.95%。值得注意的是,即使只有1-shot,SAFE-A在Oxford-Pets数据集上比16-shot的Coop和WiSE-FT方法分别高1.05%和0.56%。这些卓越的结果充分证明了在少样本自适应任务中,鼓励模型关注特定任务语义的有效性。
外部分布性能
除了在特定下游任务上的表现(专业性),模型在非分布数据集上的泛化能力也是关键的问题。CLIP模型在大规模数据集上进行了预训练,这赋予了它良好的泛化能力。在本节中,作者将评估作者的方法是否可以增强CLIP在非分布数据集上的泛化性能,同时提高其在少样本性能。
作者遵循现有工作的协议来评估非分布性能。作者将ImageNet设置为源数据集,具有16个训练样本,并在ImageNet的变体(ImageNetV2,ImageNet-A,ImageNet-R和ImageNet-Sketch)上的测试时间分布转移进行测试。这里报告的跨模态[22]结果是基于他们论文中建议的最佳非分布性能设置。
作者在Tab. III中报告了使用两种视觉编码器(ResNet-50和ViT-B/16)的结果,并使用粗体Token最佳结果。作者的提出的SAFE方法在所有四个测试数据集上的外部分布性能方面都超过了现有工作。具体来说,使用ResNet-50视觉编码器,SAFE在ImageNet-V2上比方法TIP-Adapter-F提高了0.6%,在ImageNet-R上比方法Cross-Modal+WiSE-FT提高了0.8%。使用ViT-B/16视觉编码器,SAFE在ImageNet-V2上比方法Cross-Modal+WiSE-FT提高了1.6%,在ImageNet-A上比方法CoCoOp提高了1.0%。
在域内性能最佳的情况下,SAFE-A在ImageNet-V2上的外部分布性能显著优于SAFE,比SAFE提高了0.9%,并比TIP-Adapter-F提高了1.5%。对于具有更多分布转移的数据集(如ImageNet-A,ImageNet-R和ImageNet-Sketch),SAFE-A的表现略低于SAFE。具体来说,使用ViT-B/16视觉编码器,SAFE-A在ImageNet-A上的表现落后于SAFE by 0.3%,在ImageNet-R上的表现落后于SAFE by 0.7%。
作者将这种现象归因于SAFE-A中使用的Adapter,它是从少样本训练样本构建的。与SAFE相比,SAFE-A利用了更多的少样本知识,有效地提高了模型在类似域数据集场景中的性能。然而,这种方法可能会降低模型的泛化能力。因此,在具有更多分布转移的场景中,其性能略逊于SAFE。
消融研究
V-D1:超参数的影响
作者的方法只引入了一个超参数,如公式(3)所示。本节讨论超参数对少样本性能的影响,如图5所示。作者使用16-shot ImageNet训练数据微调CLIP,并在ImageNet的变体上进行测试。作者考虑了ResNet-50和ViT-B/16作为视觉Backbone的选项。精度表示不同值带来的性能提升,表明与为零的情况相比的准确性差异。总体而言,随着的增加,模型的性能在不同的数据集上表现出上升趋势,然后逐渐下降。
使用ResNet-50作为Backbone,当为0.9时,在ImageNet-R数据集上获得2.27%的性能提升,在ImageNet-Sketch数据集上获得1.27%的性能提升。当进一步增加时,性能提升逐渐减少。在ImageNet数据集和ImageNet-V2数据集上,当超过0.8时,性能显著下降。尤其是对于ImageNet数据集,当大于0.8时,性能提升变为负数。
然而,对于其他数据集,性能下降不显著,甚至当超过0.8时,性能可能会继续提高。为了简单起见,作者在实验中设置超参数为0.5,并已实现比现有方法更好的性能。进一步改进模型性能可能需要精心选择超参数。
V-D2:视觉编码器的早期层是否能捕获语义
图3表明CLIP的特征提取器可以捕获语义。在这里,特征提取器指的是视觉编码器中在池化层之前的部分。作者的实验表明,微调注意力池层以关注任务特定的语义可以提高少样本CLIP的性能。这引发了一个问题:早期层是否也能捕获语义,以及如何微调视觉编码器的早期层?
作者选择了ResNet-50架构作为CLIP视觉编码器,它包括四个残差块和一个注意力池层。图6定性评估了视觉编码器早期层的语义捕获能力。视觉编码器中的第三个残差块展示了语义捕获能力,例如,它可以正确预测鸟眼之间的对应关系。然而,较早的层显示出相对较弱的语义捕获能力。例如,第一个残差块错误地感知到鸟的尾巴和眼睛之间存在强烈的相关性。这些发现与一些现有研究的观点一致,表明模型较早的层关注的是边缘和角等通用特征,而不是语义特征。
然后,作者探讨微调早期层的影响。考虑到第三个残差块也具有语义捕获能力,作者在视觉编码器中同时冻结前三个残差块,同时微调第四个残差块和注意力池层,使用少样本训练样本。
正如预期那样,过拟合现象出现了。在这种情况下,微调后的CLIP的分类性能和跨模态泛化性能与零样本CLIP相比急剧下降。作者认为这是因为在微调中涉及的参数数量远超过训练样本的数量。这个结果表明,微调CLIP视觉编码器较早的层可能不适合用于少样本任务。
V-D3:类激活映射
在这个子节中,作者使用Smooth Grad-CAM++为不同的图像生成热力图。如图7所示,作者微调后的CLIP视觉编码器的热力图与图像中的物体对齐效果更好。
作者使用ResNet-50作为视觉Backbone。微调后的模型对于欧洲火烈鸟的热力图显示,这只鸟的头部主导了决策,而原始模型更关注尾部。对于气球的图像,原始模型更关注气球的附近区域,错误地将气球识别为降落伞。相比之下,作者的微调模型将注意力集中在气球本身,从而正确地分类。作者的方法微调的模型更关注与物体相关的部分,这可能有助于其更好的测试准确性。
Iv-B4:Prompt的影响
本文主要关注视觉编码器对少样本任务的影响。作者在第四部分A详细介绍了少样本评估协议。Prompt设计也是少样本任务的一个关键方面。本节探讨了不同Prompt选择对少样本性能的影响。以ImageNet上的少样本任务为例,作者在图8中说明了各种Prompt对作者提出的SAFE方法的影响。"Class Name"表示仅使用类名构建Prompt。"Vanilla"表示使用单个Prompt,例如"一张[CLASS]的照片。"Hand Engineered"表示采用Tip-Adapter提供的Prompt。
"模板挖掘"涉及在180个模板中搜索出21个具有最佳零样本性能的模板,这是Lin等人提出的。 "CuPL"利用GPT3为每个类别生成特定的Prompt。"线性微调"使用CuPL的Prompt文本特征来初始化CLIP的分类器,然后用少样本样本微调这个线性层。
使用仅包含类别名称的Prompt来为初始化CLIP分类器提取特征并不是明智之举。在不同的少样本设置下,其性能远远落后于其他方法。最近提出的CuPLPrompt在1-shot设置中比手工设计的Prompt提高了0.97%,在4-shot设置中提高了0.59%。
此外,在1-shot设置中,利用Linear Fine-tuning得到的线性层作为CLIP分类器,作者的SAFE性能从61.85%提高到62.98%,与手工设计的Prompt相比提高了1.13%。这突显了通过Prompt设计实现更好的少样本性能的潜力。考虑到本文专注于揭示少样本任务中语义的重要性并已提出超越现有方法的方法,设计更好的Prompt将是未来研究的课题。
5 结论
在本文中,作者从语义注意力的角度为少样本CLIP中的障碍因素提供了新的见解,并假设在少样本适应任务中,任务特定的语义很重要。与现有方法不同,作者建议微调CLIP的注意力池层,以鼓励视觉编码器关注任务特定的语义。作者将这种轻量级且有效的方法命名为语义感知微调(SAFE)。
此外,由于CLIP的原始注意力池层可能会捕获一些对模型泛化能力有帮助的一般语义,作者在原始和微调注意力池层之间的推理中采用残差融合,从而在非分布数据集中获得显著的性能提升。对于11个基准的平均准确性,SAFE实现了最先进的性能,在1-shot设置下比第二好的方法提高了1.51%。作者希望作者的发现可以激发对CLIP内部机制的新研究,以充分利用其视觉表示能力。
6 参考
[1]. Enhancing Few-shot CLIP with Semantic-Aware Fine-Tuning.
点击上方卡片,关注 「AI视界引擎」 公众号