Test-Time Prompt Tuning for Zero-Shot Generalization in Vision-Language Models

代码:https://azshue.github.io/TPT/
 

目录

摘要

1.简介

2.相关工作

3.TPT:Test-Time Prompt Tuning

3.1 背景

3.2 TPT:Test-Time Prompt Tuning

4.实验

4.1 Robustness to Natural Distribution Shifts(对自然分布移位的鲁棒性)

4.2 Cross-Datasets Generalization(跨数据集泛化)

4.3 Context-dependent Visual Reasoning on Bongard-HOI(基于Bongard-HOI的语境依赖视觉推理)

5.Ablation Study(消融实验)

6.Conclusion(结论)


动机预先训练的视觉-语言模型(例如CLIP)在许多具有适当设计的text prompt的下游任务中显示出有前景的zero-shot泛化。后续很多工作开始使用下游任务的训练数据学习prompt,与手工制作的提示相比,这种方法可以找到更好的提示,但学习到的提示仅限于与训练数据对应的分布和任务,对unseen new domains的泛化能力很弱。并且这种方法需要带有注释的训练数据,并且不适用于zero-shot任务。

本文提出的方法:提出了测试时间提示调优(TPT),这是一种可以使用单个测试样本动态学习自适应提示的方法(不需要训练集参与)。对于图像分类,测试样本是一个输入图像。在测试时给定单个样本,通过生成多个随机增强视图来执行提示调优,并优化文本提示。调优后的提示符适用于每个任务,使其适合于zero-shot泛化,而不需要任何特定于任务的训练数据或注释。TPT保留了zero-shot泛化设置,因为没有使用额外的训练数据或注释。

摘要

预先训练的视觉-语言模型(例如CLIP)在许多具有适当设计的文本提示的下游任务中显示出有希望的zero-shot泛化。最近的工作不是依赖手工设计的提示,而是使用来自下游任务的训练数据来学习提示。在特定领域数据上的训练虽然有效,但会降低模型对未见的新领域的泛化能力。在这项工作中,我们提出了测试时间提示调优(TPT),这是一种可以使用单个测试样本动态学习自适应提示的方法。对于图像分类,TPT通过最小化置信度选择的熵来优化提示,以便模型在每个测试样本的不同增强视图中具有一致的预测。在评估自然分布偏移的泛化时,TPT将CLIP的zero-shot top-1精度平均提高了3.6%,超过了之前需要额外任务特定训练数据的提示调优方法。在评估不可见类别的跨数据集泛化时,TPT的表现与使用额外训练数据的最先进方法相当。

1.简介

最近在视觉语言预训练方面的进展,如CLIP[1]和ALIGN[2],为开发视觉任务[3]的基础模型提供了一个有希望的方向。这些基础模型在数以百万计的噪声图像-文本对上训练后编码了广泛的视觉概念,并且可以在没有任务特定训练数据的情况下以zero-shot的方式应用于下游任务[4 -10]。这可以通过适当设计的指令提示来实现。以图1中的图像分类为例:我们可以在类别名称前加上提示“a photo of a”(例如,“a photo of a dog”)。然后可以使用CLIP对图像进行分类,以测量它们与各种类描述的一致性。因此,设计这样的提示对于以zero-shot方式将基础模型应用于下游任务起着至关重要的作用。然而,这种手工制作的提示需要特定于领域的启发式,可能不是最佳的。

最近的工作通过提出提示调优来解决这个问题,直接使用下游任务[11]的训练数据来学习提示。我们可以用微调模型参数的方式微调训练数据提示,因为提示嵌入是模型输入的一部分,并且相对于损失函数是可微的。与手工制作的提示相比,这种方法可以找到更好的提示,但学习到的提示仅限于与训练数据对应的分布和任务,并且可能在此之外的泛化有限。此外,这种方法需要带有注释的训练数据,这可能是昂贵的,并且不适用于zero-shot任务。

 我们的方法。为了解决前面提到的挑战,我们建议测试时提示调优(TPT),它只使用给定的测试示例动态地调优提示。调优后的提示符适用于每个任务,使其适合于zero-shot泛化,而不需要任何特定于任务的训练数据或注释。TPT保留了zero-shot泛化设置,因为没有使用额外的训练数据或注释。

我们在两个不同的下游任务上探索TPT:图像分类和依赖于上下文的视觉推理。对于每个下游任务,我们设计了适合任务性质的定制测试时间调优策略。在不失通用性的前提下,我们考虑CLIP[1]作为我们的视觉语言基础模型,因为它设计简单,适用性广。

对于图像分类,测试样本是一个输入图像。在测试时给定单个样本,我们通过生成多个随机增强视图来执行提示调优,并优化文本提示,以便模型在不同的增强视图中具有一致的预测。这是通过最小化增强视图输出之间的边际熵来实现的。此外,由于一些增强可能会导致误导性的模型预测,我们提出了置信度选择来过滤掉那些“嘈杂”的增强视图。我们放弃了具有高预测熵(即低置信度)的增强视图,并且在一致性优化中只包括高置信度视图。

我们在两种图像分类设置下评估TPT的zero-shot泛化:自然分布偏移[13]和跨数据集泛化[14]。对于评估自然分布偏移的设置,与使用手工制作的提示符相比,TPT在zero-shot设置下将CLIP的Top-1精度平均提高了3.6%,与之前需要额外训练数据的提示符调优方法(即ImageNet)实现了相同的精度。与使用手工制作的提示符相比,TPT在ImageNet-A上实现了6.9%的最大改进,比现有的few-shot提示调优方法提高了5.1%。对于使用可能看不清的类别评估跨数据集泛化的设置,TPT使用最先进的few-shot提示调优方法[14]实现了相同的性能,而不需要额外的训练数据或注释。

对于上下文依赖的视觉推理的第二个任务,例如Bongard-HOI[15],测试样本包含两组支持图像和用于评估的查询图像。这两组支持图像举例说明了人-物交互(HOI)概念的存在和不存在(例如,“骑自行车”)。然后要求模型推断查询图像是否包含底层概念。对于这样一个测试样本,我们通过调优提示来应用TPT,以更好地区分两个支持集,从而更好地对查询图像进行分类。尽管使用了支持集,但我们的方法仍然被认为是视觉推理的zero-shot,因为我们既没有使用来自其他概念的训练任务,也没有在测试时使用查询图像的注释来更新测试任务的提示。通过将TPT适应于上下文依赖的视觉推理,我们比最先进的方法[16]高出4.1% Bongard-HOI benchamrk[15]。

我们将主要贡献总结如下:

1.我们提出测试时提示调优(TPT),它不需要任何训练数据或注释来优化提示。据我们所知,我们是第一个以zero-shot方式对单个测试样本进行prompt tuning的团队。

2.我们引入置信度选择作为TPT图像分类的一个简单的即插即用模块。它通过过滤掉导致低置信度预测的“噪声”增强,改进了增强视图中的熵最小化。

3.我们在自然分布移位、跨数据集泛化和上下文依赖视觉推理下进行了大量的图像分类实验。TPT以zero-shot的方式改进了CLIP,与需要额外训练数据的提示调优方法相当。

2.相关工作

Prompting for foundation models(提示基础模型)。基础模型是在大规模异构数据上训练的模型,其中的知识可以转移到自然语言处理[17,18]、计算机视觉[1,2,19]等各种下游任务中。最近的研究提出了不同的方法来有效地将这些知识转移到下游任务[20 - 23]。提示是一种启发式的方法,以zero-shot的方式直接将基础模型应用于下游任务。Prompt作为文本输入的一部分,指示模型对特定任务进行相应的执行。然而,这种零概率泛化高度依赖于设计良好的提示。Prompt tuning[11,24,25]提出从连续输入嵌入空间中的下游数据中学习提示,这是一种参数高效的基础模型微调方法。提示调优虽然最初是为语言模型开发的,但后来已应用于其他领域,包括视觉-语言模型[26,14,27]和持续学习[28]。CoOp[26]对CLIP应用提示调优。通过调整训练数据集合上的提示符,CoOp有效地提高了CLIP在相应下游任务上的性能。CoCoOp[14]指出,CoOp对分布外数据缺乏泛化能力,提出以模型输入为条件的提示来缓解这一问题。尽管在给定的任务中是有效的,但这一行工作需要访问带有注释的下游训练数据,限制了基础模型的zero-shot知识转移。另一项工作建议以无监督的方式调优提示符[29,30]。然而,它需要访问来自训练或测试分割的多个样本。在这项工作中,我们建议对单个测试样本进行测试时间提示调优。我们的方法可以直接适用于基础模型的zero-shot应用。

Generalization under data distribution shifts(数据分布变化下的泛化)。一个可靠的机器学习模型应该在现实应用的数据分布变化下表现良好。对于在给定数据集上训练的模型,分布偏移指的是测试和训练数据的底层分布之间的差异。在现实世界中,由于环境的变化[31]或遇到不可见的概念[32],分布变化可能自然发生。例如,在元学习文献[33]中,每个测试样本由一个新的任务(即分布)组成,模型应该能够快速适应新的分布。即使在机器学习模型的标准评估协议中,训练分割和测试分割之间的数据分布也存在着微妙的差异[34,35],这也是一种分布偏移。像CLIP这样预先训练的视觉语言模型可以以zero-shot的方式泛化到具有各种分布转移的下游任务。这种零次概化能力为实现可靠的、通用的机器学习模型提供了一个很有前途的方向。在这项工作中,我们的方法旨在将CLIP改进为更好的通用模型,而不是使其适应特定的下游任务或目标数据集。在我们的工作中,我们利用了一个假设,即一个健壮的模型应该在低密度数据区域[36]中具有决策边界。基于一致性正则化的方法可以通过使网络输出对小的输入扰动(例如,增强)不变来实现这一目标。我们使用一致性正则化作为置信度选择模块的测试时提示调优目标。

Test-time optimization(测试时间的优化)。使机器学习模型适应动态测试样本的思想已应用于不同的任务[37 -40]。这项工作主要集中在应用该技术提高模型泛化数据分布的变化。这个领域的一个挑战是设计一个有效的测试时目标。测试时训练及其变体[41,42]通过添加一个自监督的多任务分支来修改训练过程,该分支在测试时计算一个优化目标并且使网络适应于测试样本。这项工作主要集中在应用该技术提高模型泛化数据分布的变化。这个领域的一个挑战是设计一个有效的测试时目标。测试时训练及其变体[41,42]通过添加一个自监督的多任务分支来修改训练过程,该分支在测试时计算一个优化目标。TENT[43]通过最小化批处理预测概率分布的熵来提出测试时间目标。这样的目标不依赖于特定的训练过程,因此可以应用于广泛的模型。然而,TENT需要不止一个测试样本才能得到一个非平凡的解决方案。Zhang等人[44]建议使用数据增强来绕过多样本要求。另一个主要挑战是选择合适的参数组进行优化。批处理归一化(BN)层已被证明可以捕获图像数据中的域差异[45,46]。在测试时直接调整BN统计数据以增强模型对分布移位的鲁棒性是一种简单的方法[47]。然而,调整BN层对模型架构有限制。另一种选择是在冻结预测模块的同时更新特征提取器[41,48]。Zhang等[44]表明,在测试时对整个模型进行优化也是可行的。我们的方法解决了上述两个挑战。对于参数组的选择,我们在保持模型不变的情况下优化了文本提示符。我们的动机是避免扭曲预训练的特征,并保持预训练模型的零概率泛化能力。在第5节中,我们通过经验证明提示符是CLIP最有效的参数组。与之前的单点方法不同[44],我们通过提出置信度选择来改进熵最小化,这有助于过滤掉可能导致误导性预测的噪声增强。

3.TPT:Test-Time Prompt Tuning

在本节中,我们首先讨论如何使用手工制作的提示符以zero-shot方式将CLIP应用到下游任务。接下来,我们简要回顾了使用下游训练数据的CLIP提示调优方法的最新进展。最后,我们详细介绍了如何将该方法应用于图像分类任务。我们还介绍了用于上下文相关的视觉推理的TPT,以及该应用程序的背景知识。

3.1 背景

Contrastive Language-Image Pre-training (CLIP,对比语言-图像预训练)。CLIP由两个并行编码器组成,一个将文本输入映射到特征向量,另一个将图像输入映射到特征向量。该模型是用对比损失来训练的,这种对比损失促进了两个向量之间的相似性,从而使文本和图像在特征空间中对齐。我们将CLIP模型表示为F = {Evisual, Etext},其中Evisual和Etext分别是图像和文本编码器。

我们首先回顾如何将CLIP应用于下游任务,以zero-shot的方式与手工制作的提示符。我们以图像分类为例。考虑class y的单个测试图像Xtest,其中X∈RC×H×W, y∈RK用于k类分类问题。在基线零点设置中,我们为每个yi添加一个手工制作的提示前缀,例如p =“a photo of a”, 对每一个在Y= {y1, y2,…, yK}中的yi形成特定类别的文本输入{p;yi}。然后我们将这些类描述提供给文本编码器以获得文本特征{t1, t2,…, tK},其中ti = Ettext ({p;yi})。每个文本特征ti与图像特征v = visual(X)配对,计算相似度得分Si = sim(ti·v),其中sim(,)表示余弦相似度。在X上的预测概率可表示为

其中τ为softmax函数的温度。

Prompt tuning using downstream training data(使用下游训练数据进行提示调优)。提示调优方法不是使用手工制作的提示,而是训练提示,以便在有标记数据可用的下游任务上最大化性能。目标是获得文本输入{p;Y} = {{p;yi}对于yi∈Y},它可以为模型提供关于任务的最有用的上下文信息。对于交叉熵损失为L的图像分类,问题可表示为:

 Context-dependent visual reasoning(上下文依赖的视觉推理)。对于上下文依赖的视觉推理任务,例如Bongard-HOI[15],一个测试样本包含两组支持图像和一个用于评估的查询图像。这两组支持图像举例说明了人机交互(HOI)概念的存在和不存在(例如,“骑自行车”)。然后要求模型推断查询图像是否包含底层概念。具体来说,该任务中的每个概念都是一个视觉关系c = < s, a, o >,其中s是主体(s =“human”对于HOI任务),a表示动作,o表示对象。每个测试样本Xtest通过在一组支持图像(正例)中呈现c = < s, a, o >来捕获一个概念,同时让另一组(反例)来演示c ' = < s, a ', o >,其中a ' ≠ a。注意,o和a都没有明确给出,它依赖于模型的推理能力来预测查询图像是否包含测试样本的特征概念c。

现有方法[49,50]通过在相似任务的集合上训练模型(使用Bongard-HOI训练分割)来解决Bongard-HOI问题,这样它就可以在测试时对测试样本做出相似的推断。当将CLIP应用于此任务时,我们不使用额外的训练数据,因为CLIP已经学习了丰富的视觉概念,因此非常适合此类视觉推理任务。

3.2 TPT:Test-Time Prompt Tuning

Why optimize prompts?(为什么要优化提示?)CLIP包含丰富的知识,这些知识来自于对大量不同数据集的预训练。然而,如何更有效地提取这些知识仍然是一个悬而未决的问题。一个简单的策略是根据输入类别直接对模型进行微调,无论是端到端还是针对层的子集。然而,先前的研究表明,这种微调策略会导致特定领域的行为,失去基础模型的分布外泛化和鲁棒性[12,51]。另一方面,提示符通过修改模型输入的上下文在预训练的模型之外工作,因此不会扭曲预训练的特征。

在这项工作中,我们的目标是以零概率的方式利用CLIP的现有知识来提高它的泛化。因此,提示调优是实现这一目标的理想方法。此外,我们将测试时间提示调优视为一种为模型提供针对单个测试样本的上下文的方法,这有助于精确地检索CLIP知识。

在推理阶段,唯一可用的信息是没有标签信息的单个测试样本Xtest。因此,TPT能够基于单个测试样本优化测试时的提示p。总的来说,我们的目标可以表述为

 为了一些精心设计的损失。需要注意的是,与式(1)不同,我们的方法不需要任何标签,也不需要零射击测试样本以外的任何数据。

TPT for image classification(TPT用于图像分类)。因为标签不能用于测试时间调优,我们必须选择一个无监督的损失来进行提示调优。我们设计我们的TPT目标,以促进模型预测在给定测试图像的不同增强视图之间的一致性。具体来说,我们使用随机增强A族生成测试图像的N个随机增强视图,并最小化平均预测概率分布的熵:

 在这里,Pp(y|Ai(Xtest))是模型在提供提示p和测试图像的第i个增强视图时产生的类概率向量。

此外,为了减少随机增强带来的噪声,我们提出置信度选择来过滤掉产生高熵(即低置信度)预测的视图。这样的图像视图可能缺乏正确分类所需的重要信息,例如,随机裁剪可能已经删除了重要的图像内容。我们选择预测熵低于阈值τ的可信样本。我们通过在N个扩增视图的自熵中取从低到高(即置信度从高到低)的ρ百分位数处的熵值来调整每个测试样本的τ。对于τ,置信度选择可以写成增广样本1上的掩模[H(pi)≤τ],其中H测量增广视图上预测的自熵。在N个增强视图上使用具有截止百分位数ρ的置信度选择,方程(4)中的平均概率现在变为:

 TPT for context-dependent visual reasoning(基于上下文的视觉推理的TPT)。与图像分类不同的是,每张图像都有一个且只有一个ground-truth标签,在Bongard-HOI中预测的正确性取决于上下文(即示例图像),而上下文是二值的(是否包含c概念)。在二元标签的情况下,一个简单的提示策略是为积极和消极的例子手工制作“标签”,例如“真/假”或“是/否”。另一方面,使用我们提出的TPT,我们可以直接在测试示例中的示例图像上学习最优标签令牌cls。更重要的是,对于视觉推理,TPT能够以文本提示的形式明确地学习上下文(即视觉概念),并借助语言上下文辅助视觉-语言模型的视觉推理。形式上,给定每个测试样本中的M个支持图像,上下文相关推理的TPT目标可以写成:

 其中,我们将y∈{0,1}分别赋值给负样例图像和正样例图像,用于计算交叉熵损失L。与图像分类不同,我们同时调整二元标签令牌cls ={cls1, cls2}, clsi∈R1,D和提示符p∈RL,D。对于每个图像,我们将CLIP的文本输入集合为T = {T1, T2 | Ti = {p, clsi}}。

请注意,支持集是Bongard-HOI示例的重要部分,它为这个依赖于上下文的任务提供了上下文。因此,我们的方法仍然被认为是纯粹在测试时工作,没有训练数据或注释(即,TPT没有在Bongard-HOI训练分离的类似任务集合上进行训练)。

4.实验

在本节中,我们将描述用于评估我们的方法的任务和基准,以及实现细节。我们的主要结果涵盖了模型泛化的三个方面:对自然分布变化的鲁棒性,跨数据集泛化和上下文相关的视觉推理。我们还在第5节中提供了消融实验,分析了测试时间调优的不同网络组件,以及我们方法的其他设计选择。

4.1 Robustness to Natural Distribution Shifts(对自然分布移位的鲁棒性)

Datasets(数据集)。CLIP对现实世界场景中自然发生的分布变化(包括图像样式、数据域等的变化)显示出显著的鲁棒性。我们遵循Radford等人[1]的设置,并评估模型对4个ImageNet变体的自然分布变化的鲁棒性,如下所示,这些变量在之前的工作中被认为是ImageNet[52]的out- of-distribution (OOD)数据。

Baselines(基线)。我们将TPT与现有的针对CLIP设计的zero-shot提示t调优方法进行了比较。CoOp[26]是一个少量提示调优基线,它在每个下游数据集上调优一个固定的数据集特定的提示。CoCoOp[14]是CLIP最先进的提示调谐方法。它使用网络模块生成依赖于输入的提示,其中输入是图像特征。CoCoOp的网络模块也以特定于数据集的方式对下游数据进行训练。按照它们的原始配置,我们在ImageNet上使用每个类别16次训练数据和4个可学习的提示令牌来训练这两种方法,并直接在OOD基准上测试调整后的提示。我们还包括两个版本的CLIP基线zero-shot性能,使用默认提示“a photo of a”,以及来自Radford等人[1]的80个手工制作提示的集合。

Implementation details(实现细节)。对于TPT,我们将提示初始化为默认的手工制作的“a photo of a”,并基于单个测试图像优化文本输入嵌入空间中相应的4个标记。我们使用随机调整大小的作物将单个测试图像增强63次,并构建一批64张图像,包括原始图像。在64个预测中,我们选择前10% (ρ=0.1)的自信样本(自熵中最低的10%),并计算所选预测的平均概率的熵(即边际熵)。我们使用学习率为0.005的AdamW优化器对提示符进行优化,以使一步的边际熵最小化。

Results(结果)。在表 1 中,独立的 TPT 实现了比提示集成和现有的少样本提示调优方法更高的精度,包括 CoCoOp。此外,由于 TPT 在测试时工作,因此它是对现有基线方法的补充。我们表明,通过将 TPT 应用于 CoOp 或 CoCoOp 学习的提示,我们可以进一步提高其域内 ImageNet 数据的准确性,以及 OOD 数据的泛化能力。我们还将 TPT 与附录 A.2 中基线模型的集合进行比较,我们发现将 TPT 应用于基线方法可以带来比模型集成更多的实质性改进。此外,在五个数据集中,few-shot提示调优方法在ImageNet验证集和ImageNet-V2上带来了最大的精度增益。然而,在分布位移更显著的数据集上,在ImageNet上训练的few-shot提示调优方法并不比手工制作的提示集合具有优势。

4.2 Cross-Datasets Generalization(跨数据集泛化)

像CLIP这样的预先训练的视觉语言模型是“open-world”问题的理想选择。例如,我们可以应用 CLIP 以图像分类中的零样本方式对任意类别进行分类。然而,在特定下游数据集上调整的提示可能不太可推广到其训练集之外的类别。在本节中,我们评估了现有few-shot提示调优方法的跨数据集泛化(与第4.1节相同),并将它们与TPT进行比较,后者不是特定于数据集的。

Setup(设置)。我们对图像分类任务进行了跨数据集评估。我们考虑10个数据集,涵盖细粒度的分类,包括植物或动物物种(Flower102[57],OxfordPets[58]),场景(SUN397[59]),纹理(DTD[60]),食物(Food101[61]),运输(StanfordCars [ 62 ], Aircraft [63 ]),人类行为(UCF101[64])、卫星图像(EuroSAT[65])和一般物体(Caltech101[66])。我们考虑两种不同的跨数据集泛化设置。在第一个设置中,我们将具有 1000 个类别的 ImageNet 视为综合源数据集,并使用其他细粒度数据集作为目标数据集进行评估。我们使用与第 4.1 节中相同的设置实现 CoOp 和 CoCoOp,并评估它们对 10 个数据集的泛化性能。在第二个设置中,我们考虑了一个更具挑战性的场景,其中用于few-shot提示调优的源数据也来自专门的细粒度数据集,源-目标对之间的类别没有重叠。

Implementation details(实现细节)。我们按照原始配置在每个源数据集上实现CoOp和CoOp。对于TPT,我们对每个细粒度分类数据集使用相同的初始化“a photo of a ”。我们采用与4.1节相同的超参数设置,在测试时只优化1步的提示。我们使用AugMix[67]作为该任务的更强数据增强。

Results(结果)。在表2中,我们比较了TPT与从ImageNet到细粒度数据集的泛化的少量提示调优方法。请注意,TPT以zero-shot方式工作;因此它不是在ImageNet上训练的。尽管如此,我们发现TPT实现了与ImageNet训练的CoCoOp相当的泛化。在图3中,我们展示了更具挑战性的跨数据集泛化设置的结果,其中源数据集和目标数据集之间没有重叠。为了更好地可视化,我们绘制了相对精度改进acc ' = (acc−accbase)/accbase,通过CLIP-RN50的zero-shot基线精度accbase进行归一化。例如,带有手工制作提示符的基线CLIP在Flower102上达到61.75%的准确率,而在DTD上训练的CoOp在Flower102上只有33.41%的准确率。在这种情况下,我们计算acc '为(33.41−61.75)/61.75 =−0.46。从图3中,我们可以看到,few-shot提示调优方法的平均精度改进(在每个矩阵的最后一列中)总是负的,这意味着它们比zero-shot基线做得更差。另一方面,TPT在10个数据集中的每一个都显示出一致的改进。

4.3 Context-dependent Visual Reasoning on Bongard-HOI(基于Bongard-HOI的语境依赖视觉推理)

Baselines(基线)。我们采用了之前的三种方法进行比较:(1)CNN-baseline[49]是在Bongard-HOI训练数据上训练的简单分类器,训练模型将训练样本作为一个整体(包括支持图像和查询图像)映射到二值输出,表明查询图像是否包含相应的概念;(2) Meta-baseline[50]将Bongard-HOI中的每个样本视为一个小样本任务,在Bongard-HOI训练数据上训练模型,其元目标是使模型快速适应新的任务;(3) HOITrans[16]是先前在Bongard-HOI上的最佳方法。它是一种基于变压器的HOI检测模型,在各种HOI检测基准上达到了最先进的精度。通过比较查询图像和支持图像检测到的hoi来解决Bongard-HOI问题。

Implementation details(实现细节)。对于每个Bongard-HOI测试样例,TPT从头开始同时调优提示前缀和类令牌。在文本嵌入空间中,从σ = 0.02的高斯分布初始化所有可学习的标记。我们使用学习率为0.005的AdamW优化器对测试样本的所有支持图像进行64步的提示优化,然后用更新后的提示推断查询图像。对于其他基线,我们直接报告Jiang等人的结果。[15],我们请感兴趣的读者参阅本文以了解更多细节。请注意,HOITrans模型是针对所有可能的HOI概念进行训练的,包括测试拆分中的概念。

Results(结果)。在表3中,我们遵循Jiang等人[15]的设置,分别对Bongard-HOI的4个测试片段进行TPT与以往方法的比较。在Bongard-HOI中,测试图像根据其在HOI概念中与训练数据的重叠程度分为四组:动作a或对象o是否出现在训练数据中。注意,我们基于CLIP的TPT并不是在Bongard-HOI的训练分割上训练的,因此四分割的定义并不严格适用于TPT。

5.Ablation Study(消融实验)

在本节中,我们对我们的设计选择进行了实证分析,并分析了TPT不同成分的影响。为了简单起见,如果没有特别说明,本节中的分析是在自然分布变化基准上进行评估的。我们首先对CLIP的不同参数组进行测试时间优化,表明提示调优可以为CLIP获得最大的精度增益。接下来,我们展示了置信度选择带来的改进,并分析了置信度阈值对性能的影响。最后,我们对TPT在效率和绩效之间的权衡进行了定量分析。关于数据增强的其他消融研究见附录A.2。我们还在附录a .7中对TPT对模型预测概率分布的影响进行了定性研究。

Test-time optimization on different parameter groups of CLIP(CLIP不同参数组的测试时间优化)。现有的测试时间优化方法适用于模型的不同参数组。尽管对CLIP上的调优提示有很强的直觉,但尚不清楚这是否是最有效的选择。在图4 (a)中,我们评估了CLIP上测试时间优化的不同设计选择。受MEMO[44](一种对整个网络进行优化的单点测试时间优化方法)的启发,我们考虑了四个不同的参数组:1)整个模型,2)文本编码器,3)视觉编码器,4)文本提示符。为了公平比较,我们采用与MEMO相同的设置,使用AugMix[67]作为数据增强。在消融研究中没有使用置信度选择。对于每个设计选择,我们运行超参数调优的网格搜索(关于学习率和优化步骤的数量)并报告最佳结果。

从结果中可以看出,与其他参数组相比,优化文本提示可以获得最大的性能增益。此外,我们发现优化视觉编码器的结果是最差的。这一观察结果与之前的研究一致,即微调图像编码器会扭曲预训练的特征[68,51]。

 The effect of confidence selection(置信度选择的影响)。我们将置信度选择作为我们方法的主要组成部分,它过滤掉提供很少信息的“嘈杂”增强视图。在表 4 中,与完整方法相比,我们提供了没有置信度选择的 TPT 的性能。置信度选择为我们的基线 TPT 带来了非平凡的性能改进。我们进一步展示了图 4 (b) 中置信度阈值 ρ 的影响。结果表明,使用前 10% 的置信样本会导致最高的平均精度。此外,我们发现置信度选择的效果可以推广到其他基于熵的测试时间优化方法。有关此分析的更多详细信息,请参见附录A.3

 

The trade-off between inference efficiency and accuracy(推理效率和准确性之间的权衡)。我们分析了影响TPT效率的两个因素:1)增强视图的数量N增加了实际测试样本的数量;2)增加运行时和内存使用的优化步骤数主要由反向传播引起。图5显示了这两个因素与TPT在自然分布位移上的平均精度之间的关系。

在图5 (a)中,准确度随着增强视图数量的增加而增加,直到在N = 64左右达到平稳状态。即使当N = 8时,TPT仍然为零发CLIP带来超过2%的平均精度增益,这表明TPT可以适应更高效的应用。在图5 (b)中,我们发现将优化步骤的数量从1增加到2可以略微提高精度(0.4%),而超过2步并没有显著的性能增益。考虑到性能的提高是以线性增加推理时间为代价的,我们使用1步TPT作为默认设置,它已经能够将zero-shot CLIP的平均精度提高3%以上。

6.Conclusion(结论)

在这项工作中,我们研究了如何充分利用预训练的视觉语言基础模型作为更好的zero-shot学习者的潜力。我们开发了测试时间提示调优(TPT),这是一种新的提示调优方法,可以通过单个测试样本动态地学习自适应提示。通过使用CLIP作为基础模型,我们证明了我们的方法对自然分布偏移的鲁棒性和跨数据集泛化的有效性。在不需要任何训练数据和注释的情况下,TPT提高了CLIP的零次泛化能力。

Limitations(局限性)。虽然TPT不需要训练数据或注释,但我们的方法在测试时优化提示时需要一步反向传播。由于TPT生成单个测试样本的多个增强视图,因此它增加了推理期间的内存成本

Future directions(未来发展方向)。TPT的思想可以应用于其他基础模型,用于各种下游任务,包括其他视觉-语言模型[5,69]和其他模态的基础模型(例如,预训练的大规模语言模型[18,17]),以进一步提高其zero-shot 泛化。这个方向中最有趣的部分是设计一个适合模型和下游任务性质的测试时目标。此外,如何降低TPT的内存成本,提高TPT的计算效率也是一个有趣的问题。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值