cvpr目标检测2023 (cvpr2023目标检测)

cvpr2023目标检测,cvpr目标检测2023

论文题目:

Improved Test-Time Adaptation for Domain Generalization

摘要

领域泛化(DG)的主要挑战是处理训练数据和测试数据之间的分布移位问题,最近的研究表明,将学习到的模型与测试数据相适应的测试时间训练(test-time training, TTT)可能是解决这一问题的一个有希望的方法。通常,TTT策略的性能取决于两个主要因素:选择适当的辅助TTT任务进行更新,并确定在测试阶段要更新的可靠参数。我们的实验都表明,如果这两个因素没有得到适当的考虑,TTT可能不会改善,而是对学习模型有害。本工作通过提出改进的测试时间适应(ITTA)方法来解决这两个因素。首先,我们不是启发式地定义辅助目标,而是为TTT任务提出了一个可学习的一致性损失,其中包含可学习的参数,这些参数可以调整为TTT任务和主预测任务之间更好的一致性。其次,我们为训练模型引入了额外的自适应参数,并且我们建议只在测试阶段更新自适应参数。通过大量的实验,我们表明提出的两种策略对学习模型是有益的(见图1),并且在几个DG基准测试中,ITTA可以取得比当前最先进的方法更好的性能。代码可从https://github.com/liangchen527/ITTA获得。

1. 介绍

近年来,深度学习模型发展迅速,这些模型通常假设训练数据和测试数据来自同一领域,并且遵循相同的分布,然而,这种假设在现实世界中并不总是成立。在相关领域,如自动驾驶或目标识别任务中,源域和目标域之间的分布转移是普遍存在的,导致精心设计的模型性能不佳,阻碍了深度学习技术的进一步应用。

领域泛化(DG),旨在将学习到的模型泛化到未知的目标领域,引起了研究界的广泛关注。这个问题可以追溯到10年前,从那时起,人们就提出了各种方法来突破DG的界限。这些努力包括不变表征学习,对抗性学习,增强学习,或元学习。尽管在某些情况下取得了成功,但最近的一项研究表明,在严格的评估方案下,大多数这些方法都不如基线经验风险最小化(ERM)方法。这一发现并不令人惊讶,因为目前大多数都努力通过训练数据来减少分布变化,而忽略了测试样本的贡献。

近年来,测试时间训练(TTT)技术在缓解分布转移问题方面获得了发展势头。TTT的成功之处在于通过辅助TTT任务对预训练模型和测试样本进行动态调整,当面对来自不同领域的数据时,这似乎是一个有前途的努力。但是,TTT不能保证提高性能。先前的技术表明,选择合适的辅助TTT任务是至关重要的,与主要损失不一致的不合适的TTT任务可能会恶化而不是提高性能。同时,文献指出,确定可靠的参数进行更新对于泛化也是至关重要的,这与我们5.3节的实验结果一致。这两项任务都很重要,而且解决它们的努力也很有限。

本文旨在改进TTT策略,以获得更好的DG。首先,与以往的经验定义辅助目标并假设它们与主要任务一致的工作不同,我们的工作没有做出这样的假设。相反,我们建议为测试时更新学习适当的辅助损失。具体来说,受到最近多视图一致性学习成功的鼓舞,我们建议通过在原始实现的基础上添加可学习参数来增加一致性损失,其中参数可以调整以确保我们的TTT任务可以与主任务更加一致,并通过强制两个任务共享相同的优化方向来更新。

其次,考虑到当前深度模型的规模越来越大,识别可靠的参数更新是一项持久的工作,我们建议在测试阶段的每个块之后引入新的自适应参数,我们只通过学习到的一致性损失来调整新参数,而保持原始参数不变。通过对当前基准的广泛评估,我们表明可学习一致性损失比以前采用的自监督TTT任务更有效,并且通过仅调整新的自适应参数,我们的方法优于更新全部或部分参数的现有策略。

这项工作旨在通过改进TTT来缓解分布移位问题,主要贡献有三个方面:

•我们引入了用于测试时间适应的可学习一致性损失,可以通过调整其可学习参数来强制其与主要损失更加一致。

•我们为训练好的模型引入新的自适应参数,并且只在测试阶段更新它们。

•我们在各种DG基准上进行了实验,并说明我们的ITTA在多源和单源DG任务的严格设置下与当前方法相比具有竞争力。

2. 相关工作

2.1. 域泛化

在部署时能够泛化到新的环境是当前深度模型的一个挑战和实际需求,现有的DG方法大致可以分为三种类型,(1)不变表示学习:开创性的工作从理论上证明,如果特征在不同的领域保持不变,那么它们是一般的,并且可以转移到不同的领域。在这一发现的指导下,使用最大平均差异(MMD)来对齐学习到的特征,提出使用多域重建自编码器来获得不变特征。最近,建议最大化来自不同域的梯度的内积以增强不变性,也提出了类似的想法,其中这些梯度被期望与它们的平均值相似。(2)优化算法:在DG采用的不同优化技术中,主流的方法是对抗学习和元学习。对抗性训练通常用于强制学习特征对领域信息不可知,通过要求主流特征最大化领域分类损失来实现领域对抗神经网络(DANN)。同时,元学习技术被用于模拟可见环境和不可见环境之间的分布变化,这些工作大多是基于MAML框架开发的。(3)增强:除混合图像或其相位合成新数据外,泛化任务中应用的大多数增强技能都是在特征层进行操作。为了实现对比学习,我们在我们的框架中加入了现有的增强策略。该方法起源于AdaIN,通过混合特征的统计量来合成新的领域信息。

2.2. 测试时训练和适应

测试时培训(TTT)于2010年首次引入,基本范式是在训练阶段采用主任务之外的测试时间任务,并在最后的预测步骤之前仅使用测试时间目标使用测试数据更新预训练模型。该思想已被经验证明是有效的,并在其他相关领域得到进一步发展。目前的大多数工作都集中在寻找测试阶段的辅助更新任务,这些工作来自自监督,元学习,信息熵,伪标记等。然而,并非所有经验选择的测试时间任务都是有效的。最近的一项研究表明,只有当辅助损失与主损失一致时,TTT才能改善训练模型。受此启发,我们提出了一个可学习的一致性损失,并加强了两个目标之间的一致性。结果表明,我们的策略对训练好的模型是有益的(参见图1)。

cvpr2023目标检测,cvpr目标检测2023

同时,辅助损失并不是影响性能的唯一因素,在TTT框架内,选择可靠的参数进行更新也至关重要。考虑到当前模型的大尺寸,正确识别这些参数可能需要大量的努力。为此,我们建议包括新的自适应参数,以便在测试阶段进行更新,而不是启发式地选择候选者,实验结果表明,该方法可以获得与现有技能相当的性能。

3.方法

在DG任务中,我们经常获得S (S≥1)个源域Ds = {D1, D2,…, DS},并期望模型对未知目标域Dt = {D1, D2,…, DT} (T≥1)。我们的方法旨在改进测试时间训练(TTT)策略,以获得更好的DG,这种改进是双重的。首先,我们提出了TTT任务的可学习一致性损失,可以通过调整其可学习权值来强制其与主要目标保持一致。其次,我们建议包括额外的自适应参数,并且只在测试阶段更新这些自适应参数。

3.1. TTT的可学习一致性损失

TTT策略在处理分布移位问题时表现出了良好的性能,然而,他们的成功取决于经验选择的辅助TTT任务,如果选择不当,可能会降低性能。受最近多视图一致性学习成功的启发,我们建议在我们的TTT任务中采用一致性损失。请注意,幼稚一致性损失仍然不能保证有效,因为现有技术表明,只有当辅助损失与主损失一致时,TTT才能提高性能。为此,我们建议用可学习的参数来增加辅助损失,这些参数可以调整为TTT和主要任务之间更好的一致性。在我们的例子中,我们通过引入一个权重子网络使所采用的一致性损失可学习,该网络允许灵活地测量同一实例的两个视图之间的一致性。

我们首先介绍培训框架的管道,给定从特征提取器(即{z, z '} = fθ(x))得到的D维表示z∈RD1及其相应的增广版本z ',其中x是来自Ds的输入图像,fθ(·)是由θ参数化的特征提取器。在我们的实现中,我们使用现有的增强方法,通过修改fθ(x)中的中间激活来获得z '。我们在补充材料中展示了我们的框架也可以与其他增强策略一起茁壮成长,我们的可学习一致性损失是由,

cvpr2023目标检测,cvpr目标检测2023

式中∥·∥为L2范数;fw(·)是由w参数化的权重子网络。为了使训练过程更稳定,并可能获得更好的性能,我们在计算L2范数之前,应用一个维度非线性函数来映射z−z '的每个维度。也就是说,∀h∈RD, fw(h)是通过堆叠非线性函数ReLU(a∗h + b)的层来实现的,其中a∈RD和b∈RD是非线性函数的权值和偏置,而a, b的不同层构成fw中的参数w。实际上,这为h创建了一个分段线性映射函数:根据h的值,输出可以是0,常数或h的缩放和移位版本。与没有fw的朴素一致性学习相比,我们的Lwcont使用可调节的fw可以更加灵活,这是我们在改进的TTT框架中学习适当损失的关键。

将Lwcont与对原始输入和增强输入均应用交叉熵损失(CE)的主损失Lmain(即Lmain = CE(fϕ(z), y) + CE(fϕ(z’),y)相结合,其中fϕ是由φ参数化的分类器,y是相应的标签),特征提取器和分类器的目标可以表述为:

cvpr2023目标检测,cvpr目标检测2023

其中α是平衡两项贡献的权重参数,图2显示了该工作流的一个简单示例。

cvpr2023目标检测,cvpr目标检测2023

从Eq.(2)中,Lmain和lwcontt的特征提取器的期望梯度可以表示为:

cvpr2023目标检测,cvpr目标检测2023

我们观察到gwcont的方向也是由权重子网络fw(·)决定的,它应该靠近gmain,以确保Lmain和Lwcont之间的对齐。为此,我们提出了一个直接的解决方案,即在gmain和gwcont的标准化版本之间强制执行相等性,并且我们使用这个术语作为更新fw(·)的目标,它给出:

cvpr2023目标检测,cvpr目标检测2023

在我们的实现中,我们以另一种方式更新{θ, ϕ}和w。训练过程的伪代码见算法1。

cvpr2023目标检测,cvpr目标检测2023

3.2. 包括额外的自适应参数

在TTT框架中,在测试阶段选择可表达且可靠的参数进行更新也是必不可少的。一些策略决定更新来自特征提取器的所有参数,而其他策略仅使用来自特定层的参数进行更新。考虑到当前深度模型的大小通常非常大,而且还在不断增长,在数百万个候选模型中穷尽地尝试不同的组合似乎是一项永恒的工作。由于在应该更新哪个参数上没有达成共识,我们建议在这项工作中另一个简单的替代方案。

具体来说,假设在预训练的特征提取器fθ(·)中总共有m个块,第i个块可以记为fθ(·)。则由f θ(·)得到的中间表示zi可表示为:

cvpr2023目标检测,cvpr目标检测2023

我们建议在测试时间自适应阶段,在fΘ的每个区块之后加入额外的自适应区块fΘ,该区块参数化为Θ,将Eq.(6)重新表述为:

cvpr2023目标检测,cvpr目标检测2023

其中fΘ(·)不会改变中间表示的维度和大小,在我们的工作中,我们使用类似于fw的结构来实现fΘ。注意zm在这一阶段被简化为z,同样的过程也适用于得到z '。然后,在测试时适应阶段,我们建议仅通过学习到的一致性损失来更新新的自适应参数。优化过程可写成:

cvpr2023目标检测,cvpr目标检测2023

注意,与训练阶段不同的是,这个阶段的x来自目标域Dt,我们使用在线设置进行更新。图3显示了测试适配管道的一个简单示例。

cvpr2023目标检测,cvpr目标检测2023

最后一步,我们使用从预训练的特征提取器获得的原始表示和自适应参数进行预测。测试阶段的伪代码见算法2。

cvpr2023目标检测,cvpr目标检测2023

4. 实验

4.1. 设置

数据集 我们在五个基准数据集上评估ITTA: PACS,由7个类别的9,991张图像组成。该数据集可能是最广泛使用的DG基准,因为它在艺术绘画、漫画、照片和素描四个领域的分布变化很大;VLCS包含来自4个不同数据集(即域)的5个类的10,729张图像,包括PASCAL VOC 2007, LabelMe , Caltech和Sun,其中每个数据集被认为是DG中的一个域;OfficeHome由来自办公室和家庭环境65个类的15,588张图像组成,这些图像可以分为4个领域(即艺术,剪贴画,产品和现实世界);TerraInc有来自10个类的24,788张图片。这些图像是在L100、L38、L43和L46四个不同位置(即域)拍摄的野生动物;DomainNet包含来自345类的586,575张图片,其中的图片可以用6种风格来描绘(即剪贴画,信息图,绘画,快速绘制,真实和素描)。

实现细节 在所有的实验中,我们使用了ImageNet预训练的ResNet18主干,其中有4个块作为特征提取器fθ,与更大的模型相比,它可以扩大DG中的间隙。相应地,我们还包括4个额外的自适应参数块(即fΘ),每个块由5层可学习参数实现,权重初始化为全1,偏置初始化为全0。对于权重子网fw,我们使用10层可学习参数,初始化技巧与fΘ相似。分类器fφ是由Domainbed基准提供的MLP层。对于Eq.(2)中的权重参数α,我们将所有实验的权重参数α设为1(分析请参考我们的补充资料)。

训练和评估细节 对于所有比较的方法,我们在每个源域上进行60次试验,每个迭代步骤为5000个。在训练阶段,我们将训练域的样本分成8:2 (train:val),在不同的训练试验中动态选择训练样本和验证样本。在测试过程中,我们选择验证样本中表现最好的模型,并在目标域上进行测试。该策略在中被称为“训练域验证集”模型选择方法。对于不同数据集中的每个域,最终的性能是60次试验的平均准确率。

4.2. 多源泛化

在这些实验中,我们使用上述五个基准数据集进行评估,并采用留一策略进行训练(即S = |Ds∪Dt|2−1,T = 1),结果如表1所示。我们注意到,ERM方法对现有艺术获得了良好的表现。事实上,作为强基线,ERM在平均准确率方面优于一半的方法,在比较的22种方法中,只有5种方法(即SelfReg, Fish, CORAL, SD和our)在大多数数据集(即得分≥3)中优于ERM。相比之下,所提出的ITTA平均比所有其他模型更有效。特别是,ITTA在5个基准测试(即PACS, VLCS和TerraInc数据集)中的3个达到了最佳性能,在前5个中达到了4个。请注意,尽管我们的方法在OfficeHome和DomainNet基准测试中没有获得最佳性能,但它仍然优于一半以上现有的模型。结果验证了该方法在多源环境下的有效性。

cvpr2023目标检测,cvpr目标检测2023

4.3. 单一泛化

在这些实验中,我们采用广泛使用的PACS基准进行评估,模型在一个域上进行训练,在其余三个域上进行测试(即S = 1, T = 3)。虽然有些方法(如MLDG和Fishr)可能需要多个域信息进行训练,但我们可以只使用源域模拟多域信息,因此实验设置对它们来说仍然是可行的。

与多源泛化任务相比,由于训练阶段的域信息有限,单源泛化任务被认为更加困难,评价结果见表2。我们注意到,ERM方法优于大多数最先进的模型,只有5个模型,包括VREx, Fishr, SagNet, MixStyle和所提出的ITTA,在平均精度方面可以获得比ERM更好的结果。同时,我们的方法在12个源域中的5个域中训练时获得了最好的性能,并且平均性能最好,比第二名(即MixStyle[74])和ERM方法领先2%以上,我们注意到朴素ERM方法在严格的评估协议下确实可以较好地对抗大多数现有模型。事实上,所提出的方法是唯一在多源和单源设置中始终优于ERM的方法。这些结果表明,目前仅通过训练数据来缓解分布转移的努力仍然具有挑战性,使用提出的改进的TTT策略可能是解决DG的一个有希望的方向。

cvpr2023目标检测,cvpr目标检测2023

5. 分析

本节的所有实验都是在广泛使用的PACS基准上,采用留一策略进行的。实验设置与4.1节所示相同。更多分析请参考我们的补充资料。

5.1. 与其他基于TTT的模型比较

利用测试时间自适应来缓解分布偏移问题已经在以往的研究中进行了探讨,如原始的TTT方法和MT3。它们的区别在于TTT对测试时间目标使用旋转估计任务,而MT3对任务采用对比损失,并使用MAML实现整体框架。最近还提出了一个TENT,旨在通过调整批处理归一化(BN)层的参数来最小化最终结果的熵。为了分析我们方法的总体有效性,我们使用相同的基线(即ResNet18骨干网与现有增强技能)将ITTA与这些技术进行比较。

结果如表3所示,我们观察到,除了“照片”领域,所有比较的基于ttt的方法都可以在几乎所有目标领域改善基线模型,这可能是由于ImageNet预训练。这一现象表明TTT策略可能是缓解分配转移问题的一种有希望的努力。同时,我们观察到所提出的ITTA在大多数目标领域优于所有其他方法,并且在平均准确率方面领先。主要原因是与以往采用的经验设计的TTT任务相比,所提出的可学习一致性损失被强制与主损失更加一致,从而更适合于测试时间适应任务。同时,与从训练好的模型中更新原始参数的策略相比,新包含的参数对整个TTT框架的自适应也更有效。下面,我们将提供更多的分析来支持这些说法。

cvpr2023目标检测,cvpr目标检测2023

5.2. 可学一致性损失的有效性

为了检验我们的可习得一致性损失的有效性,我们通过将我们的方法与以下变体进行了消融研究。(1)我们的w/o fw:我们在计算Eq.(1)中的可学习一致性损失时禁用fw,它使用辅助TTT任务的幼稚一致性损失。(2)我们的w/ Ent。:在使用基线设置(即ResNet18与增强策略)训练模型后,我们将熵最小化任务用于TTT任务。(3)我们的w/ Rot:我们旋转估计任务用于TTT任务。为了确保公平的比较,我们使用相同的基线设置,并为所有变体包括相同的附加自适应参数,结果显示在表4的第4到第6行。

cvpr2023目标检测,cvpr目标检测2023

我们发现从朴素一致性损失(即我们的w/o / w略好于其他两个特殊设计的目标(例如我们的w/o / Ent)。和我们的平均值。除了可能会使性能恶化之外,我们的结果表明,经验地选择TTT任务也可能远非最佳。同时,我们观察到,当启用fw时,所提出的可学习一致性损失在所有目标域中都优于不启用fw时的可学习一致性损失,并且在比较变量的平均准确率方面处于领先地位,说明了其相对于其他采用TTT任务的优势。这些结果并不令人惊讶。通过对比图4中主分类任务的gradm - cam可视化与可学习一致性损失和朴素一致性损失,我们发现当fw启用时,由于两个任务激活的热区相似,所提出的可学习目标可以很好地与主损失对齐,从而保证了测试时间适应性的提高。

cvpr2023目标检测,cvpr目标检测2023

5.3. 自适应参数的有效性

我们将ITTA与三种变体进行比较,以证明所提出的附加自适应参数的有效性。(1)我们的无TTT:我们在测试阶段不更新任何参数,此变体用于验证TTT是否可以改进预训练模型。(2)我们的w/ ALL:类似于原始TTT方法中的更新策略,我们在测试阶段更新来自特征提取器的所有参数。(3)我们的w/ BN:根据TENT的建议,只更新特征提取器BN层的参数。请注意,这些实验中的所有变体都共享相同的预训练模型,并且测试适应阶段的目标是最小化相同的学习一致性损失。

我们在表4的最后三行中列出了结果。我们观察到,当仅从BN层更新参数时,性能不如没有测试时间自适应的策略,并且更新所有参数并不能保证在所有目标域中都有改进。这些观察结果与其他研究结果一致,即选择可靠的参数进行更新对于TTT系统至关重要,并且还可能与TTT任务的选择相互作用。相比之下,当加入额外的自适应参数进行更新时,预训练模型在所有环境下都可以得到提升。

结果验证了我们的自适应参数在应用于提出的可学习测试时间目标时比使用现有策略选择的参数更有效。

5.4. 局限性

虽然提出的习得性损失可以带来满意度的提高,但我们意识到午餐不是免费的,当权重子网fw被禁用时,更新Eq.(2)中的联合损失只需要向前和向后分别花费1和1。然而,为了更新fw,我们必须计算公式(5)中的二阶导数,这将需要多1个前向过程和3个后向过程,给系统带来额外的负担,我们未来的努力目标是简化整个优化过程,降低ITTA的成本。

6. 结论

在本文中,我们的目标是改进现有的TTT策略,以缓解DG的分配移位问题。首先,考虑到辅助TTT任务在整个框架中起着至关重要的作用,并且经验选择一个与主任务不一致的任务可能会潜在地恶化而不是提高性能,我们提出了一个可学习的一致性损失,可以通过调整其可学习参数来强制其与主损失更加一致。该策略保证了模型的改进,并对一些特殊设计的目标显示出良好的性能。其次,考虑到在测试阶段选择可靠和有效的参数进行更新也是必要的,而耗尽地尝试不同的组合可能需要巨大的努力,我们提出了一个新的替代方案,包括新的额外的自适应参数在测试阶段进行自适应。通过我们的实验结果表明,这种替代方案优于以前的一些参数选择策略。通过在严格的评估协议下进行广泛的实验,我们表明我们的方法可以在多源和单源DG任务中获得优于现有方法的性能。