In Search of Lost Online Test-time Adaptation: A Survey--论文笔记

news2024/11/15 12:02:37

论文笔记

资料

1.代码地址

https://github.com/jo-wang/otta_vit_survey

2.论文地址

https://arxiv.org/abs/2310.20199

3.数据集地址

1论文摘要的翻译

本文介绍了在线测试时间适应(online test-time adaptation,OTTA)的全面调查,OTTA是一种专注于使机器学习模型适应批量到达时的新数据分布的新方法。尽管最近OTTA方法得到了广泛应用,但该领域仍陷入了诸如模糊设置、过时的主干网络和不一致的超参数调优等问题,这些问题混淆了真正的挑战,并使可重复性难以捉摸。为了清晰和严格的比较,我们将OTTA技术分为三个主要类别,并使用强大的视觉转换(ViT)主干对它们进行基准测试,以发现真正有效的策略。我们的基准涵盖了传统的损坏数据集,如CIF AR-10/100C和ImageNet-C,以及CIF AR-10.1和CIF AR-10-Warehouse中体现的真实变化,通过扩散模型封装了搜索引擎和合成数据的变化。为了衡量在线场景中的效率,我们引入了新的评估指标,包括GFLOPs,揭示了适应精度和计算开销之间的权衡。我们的研究结果与现有文献不同,表明:(1)Transformer对不同的域位移表现出更高的弹性;(2)许多OTTA方法的有效性取决于充足的批量;(3)优化的稳定性和对扰动的抵抗在适应过程中至关重要,特别是当批量大小为1时

在这些见解的激励下,我们指出了未来研究的有希望的方向。

2问题背景

这里主要介绍问题的定义,并介绍了广泛使用的数据集、指标和应用。并且提供OTTA的正式定义,并深入研究其基本属性。此外,我们探索了广泛使用的数据集和评估方法,并研究了OTTA的潜在应用场景。进行比较分析,以区分OTTA与类似的设置,以确保清晰的理解
在这里插入图片描述

2.1问题定义

2.2 数据集介绍

2.2.1 CIFAR-10-C

图像分类的标准基准。它包含950,000张彩色图像,每张32 × 32像素,跨越10个不同的类。CIF AR10-C保留了CIF AR-10的分类结构,但纳入了15种不同的损坏类型,严重程度从1级到5级不等。这种损坏的变体旨在模拟在图像采集、存储或传输等过程中可能出现的真实图像失真或损坏。

2.2.2 CIFAR-100-C

95万张32 × 32像素的彩色图像,均匀分布在100个独特的类别中。CIF AR-100损坏数据集,类似于CIF AR-10-C,将人工损坏集成到规范的CIF AR-100图像中。

2.2.3 ImageNet- c

ImageNet测试集的损坏版本。由ImageNet-1k生成,ImageNet-C有19种类型的损坏域,包括4种验证损坏。对于每个领域,产生了5个严重级别,每个严重级别有来自1000个类的50,000个图像。

以上数据集人为创建的领域差异
以下数据集是现实世界的实验基准

2.2.4 CIFAR-10.1

具有与CIFAR-10相同标签空间的真实测试集。它包含大约2000张从Tiny Image数据集采样的图像

2.2.5 CIFAR-10-Warehouse

集成了来自两种扩散模型的图像,特别是稳定扩散,以及七个流行搜索引擎的目标关键字搜索。包含37个生成数据集和143个真实数据集,每个子集有300到8000张图像,在不同的搜索标准中显示出明显的类内变化。

2.3 评估指标

2.3.1 Mean error

它计算所有损坏类型或域的平均错误率。
虽然有用,但这个指标通常不能在OTTA中提供特定于类的见解。

2.3.2 GFLOPs

指每秒千兆次浮点运算,它量化了一个模型在一秒钟内执行的浮点运算次数。GFLOPs越低的模型计算效率越高

2.3.3 Number of updated parameter

提供了对适应过程复杂性的见解。需要大量更新参数的模型可能不适合在线自适应。

2论文的贡献

  • 据我们所知,这是第一次关于在线考试时间适应的重点调查,它提供了对三个主要工作机制的透彻了解。广泛的实验调查是在公平的比较环境中进行的。
  • 我们在VIT架构下重新实现了具有代表性的Otta基线,并在五个基准数据集上验证了它们的性能。我们驱动了一组替换规则,使现有的OTTA方法适应新的主干。
  • 除了使用传统的识别精度指标外,我们还通过每秒千兆浮点运算(GFLOPS)进一步提供了对计算效率的各个方面的见解。这些指标在实时流应用中非常重要。
  • 虽然现有文献广泛探索了OTTA方法在CIFAR-10-C、CIFAR-100-C和ImageNet-C等腐败数据集上的应用,但我们更感兴趣的是它们导航真实世界数据集变化的能力。具体地说,我们评估了OTTA在CIFAR-10-Warehouse,,CIFAR-10-Warehouse,是CIFAR-10的一个新引入的、可扩展的测试集。我们的实证分析和评估导致了与现有调查结果不同的结论。

3 论文方法的概述

鉴于在线数据与源训练数据的分布差异,OTTA技术大致分为三类,这取决于它们对两个主要问题的反应:管理在线数据和缓解由于分布变化而导致的性能下降。基于优化的方法以设计无监督目标为基础,通常倾向于调整或增强预先训练的模型。基于模型的方法着眼于修改或引入特定的层。另一方面,基于数据的方法旨在扩大数据多样性,要么改善模型泛化,要么协调数据视图之间的一致性。这里的方法可以看到会不类所使用的方法。
在这里插入图片描述

3.1 Optimization-based OTTA

三个子类 (1) recalibrating statistics in normalization layers, (2) enhancing optimization stability with the mean-teacher model(3) designing unsupervised loss functions 下图为上述策略发展实践线在这里插入图片描述

3.1.1 Normalization Calibration

Tent

3.1.2 Mean Teacher Optimization

RoTTA
这种方法涉及使用预先训练的源模型来初始化教师模型和学生模型。对于任何给定的测试样本,都会创建弱和强增强版本。然后,每个版本都由学生和教师模型进行相应的处理。这种方法的关键在于使用预测一致性,也称为一致性正则化,来更新学生模型。该策略旨在从不同的数据视图实现相同的预测,从而降低模型对测试数据变化的敏感度,并提高预测的稳定性。
教师模型被改进为学生在迭代中的移动平均值。值得注意的是,在OTTA中,Mean教师模型和基于BatchNorm的方法并不是相互排斥的;事实上,它们可以有效地集成在一起。将BatchNorm更新纳入教师-学生学习框架可以产生更稳健的结果第四节。同样,Mean-Teacher模型与以数据为中心(如3.2小节所述)的集成。或模型驱动(详见第节3.3)的方法为进一步提高OTTA的预测精度和稳定性提供了希望,标志着该领域向前迈出了重要的一步。

  • Model updating strategies.
    遵循均值-教师学习的思想,ViDA利用教师的预测和增加的输入来监控学生的输出。它还引入了更新的高/低等级适配器,以适应持续的OTTA学习。

3.1.3 Optimization Objective

在测试数据数量有限的情况下,设计合适的优化目标是非常重要的。图4总结了常见的基于优化的在线测试时间适应(OTTA)。现有文献使用以下三种主要策略来解决优化问题。
在这里插入图片描述

  • 策略1:Optimizing (increasing) confidence
    一种直观的方法是增强模型对测试数据的置信度
    • Entropy-based confidence optimization
      该策略通常旨在最小化Softmax输出向量的熵: H ( y ^ ) = − ∑ c p ( y ^ c ) log ⁡ p ( y ^ c ) , ( 5 ) H(\hat{y})=-\sum_cp\left(\hat{y}_c\right)\log p\left(\hat{y}_c\right),\quad(5) H(y^)=cp(y^c)logp(y^c),(5)其中 y ^ c \hat{y}_{c} y^c是第c个预测类, p ( y ^ c ) p(\hat{y}_{c}) p(y^c)是其对应的预测概率。直观地说,当预测的熵减少时,向量看起来会更尖锐,此时置信度或最大置信度会增加。
      在OTTA中,这种优化方法将在不依赖标签的情况下增加对当前批次的模型置信度,并提高模型精度。
      有两种工作方式。一种考虑整个Softmax向量;另一种利用辅助信息并使用Softmax输出的最大条目。Tent是前者的一种典型方法。
    • Prototype-based
      基于原型的学习是一种常用的无标签数据策略,通过为每个类别选择代表性或平均值,并根据基于距离的度量对无标签数据进行分类。然而,在分配变化的情况下,其有效性可能会受到限制。为了寻找可靠的原型,TSD(使用基于香农熵的过滤器从具有高置信度的目标样本中找到类原型。然后,如果目标样本最近的原型与来自同一分类器的其类别预测一致,则使用目标样本来更新感兴趣的分类器。
  • 策略二:Feature representation learning.
    由于测试数据没有假设任何注释,对比学习自然可以用于测试时间适应任务。在一种自我监督的方式中,对比学习是学习一种特征表示,其中正对(数据样本及其扩充)接近,而负对(不同数据样本)彼此推开。然而,这需要多纪元更新,这违反了在线适应设置。为了适应在线学习,AdaContrast使用了目标伪标签来忽略潜在的同类负样本,而不是将所有其他数据样本视为负样本。

3.1.4 Pseudo-labeling

伪标记技术在领域自适应和半监督学习中是一种有用的技术。它通常以高置信度为样本分配标签,然后使用这些伪标签样本进行训练。在OTTA中,适应仅限于当前批次的测试数据,经常使用批次级别的伪标记。例如,MuSLA实现了伪标签,作为BatchNorm更新后的优化步骤。这种方法使用当前批次的伪标签来改进分类器,从而提高了模型的准确性。
此外,teacher-student框架,如COTTA、Rotta和Vida等模型也采用了伪标签策略,其中teacher输出被用作软伪标签。由于在反向传播过程中保持了不确定性,这可以防止模型被过度拟合以适应错误的预测。

  • Reliable pseudo labels
    在OTTA的中使用这一可靠的伪标签策略,这是特别具有挑战性的。一方面,由于连续数据流的使用,我们数据利用的机会有限。另一方面,源和测试集之间的协变量差异会显著降低伪标签的可靠性。
    为了应对这些挑战,TAST采用了基于原型的伪标签策略。该算法首先将原型作为支持集中的类质心,支持集首先由源预先训练好的分类器的权值得到,然后利用测试数据的归一化特征进行细化和更新。为了避免不可靠的伪标签带来的性能下降,该算法只利用附近的支持度样本来计算质心,然后使用温度缩放的输出来获得伪标签。或者,AdaContrast在特征空间中使用软K近邻投票来为目标样本生成可靠的伪标签。另一方面,Wu等人(2021)提出使用多重扩充和多数投票来获得一致和可信的伪标签。

3.1.5 其他方法

LAME:

3.1.6 小结

基于优化的方法是在线测试时间适应中最常见的类别,独立于神经体系结构。这些方法集中于确保优化中的一致性、稳定性和健壮性。然而,这些方法的一个基本假设是有足够的目标数据可用,这应该反映全局测试数据分布。关于这一方面,下一节将重点介绍基于数据的方法,研究它们如何解决OTTA中缺乏可访问的目标数据的问题。

3.2 Data-based OTTA

由于测试批次中的样本数量有限,经常会遇到出现意外分布变化的测试样本。我们承认,数据可能是弥合源数据和测试数据之间差距的关键。在本节中,我们将更深入地探讨以OTTA中的数据为中心的策略。我们重点介绍了数据的各个方面,例如每批中的数据多样化(3.2.1节)和在全局范围内保存高质量信息(3.2.2节)。这些策略可以增强模型的泛化能力,并针对当前的数据批次定制模型的识别能力。

3.2.1 Data Augmentation

数据增强在域适应和域泛化中非常重要,它们模仿真实世界的变化,以提高模型的可转移性和泛化能力。它对于测试时间适应特别有用。

  • Predefined augmentations
    常见的数据增强方法,如裁剪、模糊和翻转,被有效地整合到各种OTTA方法中。这种整合的一个例子是TTC,它使用来自多次扩充的平均预测来更新模型。另一种场景来自平均教师模型,例如Rotta、Cotta和ViDA,将预定义的扩充应用于教师/学生输入,并在不同的扩充视图上保持预测一致性。
    为了确保一致和可靠的预测,PAD采用了对单个测试样本的多次扩充进行多数投票。这是基于这样一种信念,即如果大多数增强的视图产生相同的预测,那么它很可能是正确的,因为它表明了对风格变化的不敏感。相反,TTPR采用KL发散来实现一致的预测。对于每个测试样本,它都会生成三个增强版本。然后,通过将这些增强视图上的平均预测与每个视图的预测对齐来改进模型。另一种方法是Memo,它使用AugMix来测试图像。对于测试数据点,将生成来自AugMix pool A \mathcal {A} A的一个范围(通常为32或)64的增量,以做出一致的预测。
  • Contextual Augmentations
    OTTA方法通常预先确定增强策略。考虑到测试分布在不断发展的环境中可能经历很大的变化,存在这样的风险,即这种固定的扩充策略可能不适合每一个测试样本。在COTTA中,不是通过统一的策略来扩大每个测试样本,而是只有在检测到领域差异(即低预测置信度)时才明智地应用扩大,从而降低误导模型的风险。
  • Adversarial Augmentation
    传统的增强方法总是提供有限的数据视图,而不能完全表示领域差异。TeSLA远离了这一点。相反,它利用对抗性数据增强来确定最有效的增强策略。它不是固定的扩充集,而是创建一个策略搜索空间O作为扩充池,然后为每个扩充分配一个幅度参数 m ∈ [ 0 , 1 ] m\in[0,1] m[01]。子策略由增量 ρ ρ ρ及其相应的大小组成。为了优化策略,教师模型使用具有严重程度正则化的熵最大化损失来适应,以鼓励预测变化,同时避免增强太强而不能远离原始图像。

3.2.2 Memory Bank

除了可以使数据批次多样化的扩充策略之外,内存库还是一个强大的工具,可以为未来的内存重播保留有价值的数据信息。设置内存库涉及两个关键注意事项:(1)。确定哪些数据应该存储在内存库中。这需要在适应期间对确定可能有价值的样本放入。(2)。内存库的管理。这包括添加新实例和从库中删除旧实例的策略
内存库策略通常分为time-uniform和class-balanced两类。值得注意的是,许多方法选择将这两种类型集成在一起,以最大化有效性。为了解决以上策略问题带来的挑战,Note引入了Prediction-Balanced Reservoir Sampling (PBRS)来保存样本-预测对。PBRS的独创性在于它融合了两种截然不同的抽样策略:time-uniform和class-balanced。time-uniform的方法,reservoir sampling(RS),目的是在时间流上获得统一的数据。具体地说,对于被预测为类 k k k的样本 x x x,我们从均匀分布 [ 0 , 1 ] [0,1] [01]中随机抽样值 p p p。然后,如果 p p p小于类 k k k在整个内存库样本中的比例,则从相同的类中随机选择一个,并用新的 x x x替换它。相反,预测一致节省策略(PB)对预测的标签进行优先排序,以确定内存中的多数类。在识别后,它用新的数据样本取代从多数类中随机选择的实例,从而确保表示的均衡性。Sotta也采用了类似的策略来促进班级平衡学习。当存储体具有可用空间时,存储每个高置信度样本-预测对。如果银行已满,则该方法选择替换来自多数类之一的样本,或者如果样本属于多数类,则选择替换来自其类的样本。这确保了更公平的班级分配,并加强了针对班级不平衡的学习过程。

3.2.3 小结

基于数据的技术对于处理可能有偏见或具有独特风格约束的在线测试集特别有用。然而,这些技术经常增加计算需求,在在线场景中构成挑战。

3.3 Model-based OTTA

Model-based OTTA一类的方法主要专注于调整模型体系结构以应对分布变化。对体系结构进行的更改通常涉及添加新组件替换现有神经网络块。它涉及adapting prompt parameters方法或使用 prompts 来引导适应过程.

3.3.1 添加模块
  • Input Transformation
    一般在模型的顶部这里的模型
  • Adaptation Module
    为了在模型更新期间稳定预测,TAST将20个适应模块集成到源预训练模型。基于BatchEnSemble,这些模块被附加到预先训练的特征抽取器的顶部。通过将它们的平均结果与用于一批数据的相应伪标签合并来独立地多次更新自适应模块。
    在不断适应的情况下,及时检测和适应数据分布的变化是不可避免的,以应对灾难性的遗忘和错误的积累。为了实现这一点,Vida利用了低/高阶特征合作的思想。低阶特征保留通用共的知识,而高阶级特征更好地捕捉分布变化。为了获得这些特征,作者引入了两个相应地并行于线性层的适配器模块(如果主干模型是ViT)。此外,由于连续OTTA的分布变化是不可预测的,战略性地组合低/高等级信息是至关重要的。在这里,作者使用MC Dropout来评估关于输入x的模型预测不确定性。然后,这种不确定性被用来调整赋予每个特征的权重。直观地说,如果模型对样本不确定,则领域特定知识(高等级特征)的权重增加,反之,领域共享知识(低等级特征)的权重增加。这有助于模型动态识别分布变化,同时保留其决策能力。
3.3.2 修改模块

层替换通常是指将模型中的现有层替换为新层。常用的技术包括:

  • Classifier
    基于余弦距离的分类器通过利用与代表性示例的相似性来进行决策,从而提供了极大的灵活性和可解释性。利用这一点,TAST通过评估样本特征和支持集之间的余弦距离来制定预测。TSD使用了类似的分类器,根据来自记忆库的K最近邻居的特征来评估当前样本的特征。PAD在其多数投票过程中使用余弦分类器来预测扩大的测试样本。T3A依靠支持集中的模板和输入数据表示之间的点积进行分类。在更新BatchNorm统计数据的情况下,对BatchNorm进行的任何超出标准更新方法的更改都可以归入这一类别。这包括Mecta Norm、MixNorm、RBN和GpreBN等技术。为了保持重点和避免冗余,本节将不再广泛介绍这些具体方法及其复杂的细节。
3.3.3 基于提示的方法

视觉语言模型的兴起展示了它们在零次学习泛化方面的非凡能力。然而,对于特定于领域的数据,这些模型往往表现不佳。在试图解决这一问题时,传统的微调策略通常会通过改变模型的参数来损害模型的泛化能力。
相对应的,借鉴了TTA的思想,Test Time Prompt Tuning作为一种解决方案应运而生。与传统方法不同,它对提示进行了微调,只调整了模型输入的上下文,从而保留了模型的泛化能力。其中一个代表是TPT。它生成每个测试图像的N个随机增加的视图,并通过最小化平均预测概率分布的熵来更新提示参数。另外,提出了一种置信度选择策略来滤除高熵的输出,以避免不可信样本带来的噪声更新。通过更新提示符的可学习参数,可以更容易地使模型适应新的、不可见的领域。
与提示相关的想法在OTTA任务中也很强大。Decorate the Newcomers(Dn)使用提示作为添加到图像输入上的补充信息。为了给提示注入相关信息,它采用了学生-教师框架和冻结的源预先训练模型来捕获领域特定和领域不可知的提示。为了获取特定领域的知识,它优化了教师和学生模型输出之间的交叉损失。此外,DN引入了参数不敏感度损失,以减轻容易发生域移的参数的影响。该策略旨在确保对领域变化不太敏感的更新参数有效地保留与领域无关的知识。通过这种方法,域名系统在学习新的、特定于领域的信息的同时,保持关键的、与领域相关的知识。
这里有一种新的方法(DEPT)。它的过程首先将transformer分割成多个阶段,然后在每个阶段的初始层结合图像和CLS令牌引入可学习的提示。在适应过程中,DEPT使用mean-teacher模型来更新学生模型中的可学习提示和分类器。对于学生模型,基于计算的伪标签和来自强增广的学生输出的输出之间的交叉熵损失进行更新。值得注意的是,这些伪标签是从学生模型中生成的,使用记忆库中学生弱增强输出的前k个最近邻居的平均预测。在师生互动方面,为了应对不正确的伪标签带来的潜在错误,DePT在学生和教师模型的强增强观点所做出的预测之间实现了熵损失。此外,该方法在transformer的输出层最小化了学生和教师模型的组合提示之间的均方误差。此外,为了确保不同的提示集中在不同的功能上,并防止琐碎的解决方案,系还最大化了学生组合提示之间的余弦距离。

3.3.4 小结

基于模型的OTTA方法已显示出有效性,但不如其他组流行,这主要是因为它们依赖于特定的主干架构。例如,模型中主要基于BatchNorm的层替换使得它们不适用于基于ViT的体系结构。
这一类别的一个关键特征是它与激励策略的有效整合。这种组合允许更少但更有影响力的模型更新,从而带来更大的性能改进。这样的效率使得基于模型的OTTA方法特别适合于复杂场景。

4 实证研究

在这项实证研究中,我们专注于升级现有的用于视觉变压器(ViT)模型的OTTA方法,调查它们迁移到新一代主干的潜力。我们提供了使最初为CNN架构提出的方法适应ViTS的解决方案。基线。我们对七种Otta方法进行了基准测试。为了确保公平性,我们坚持标准化的测试协议,选择了五个数据集,包括三个损坏的数据集(即CIFAR-10-C、CIFAR-100-C和ImageNetC)、一个真实世界移动的数据集(CIFAR-10.1)和一个综合数据集(CIFAR-10-Warehouse)。CIFAR-10-Warehouse知识库在我们的评估中发挥了关键作用,提供了广泛的子集,包括来自不同搜索引擎的真实世界变体和通过扩散过程生成的图像。具体地说,我们的调查集中在CIFAR-10-Warehouse数据集的两个子集上:Google Split和Diffsion Split。这些子集既包括真实世界的数据转移,也包括人工数据转移,有助于对OTTA方法的全面评估。

4.1 实现细节

所有方法的基础主干都是VIT-BASE-patch16-224 当使用CIFAR-10-C、CIFAR-10.1和CIFAR-10-Warehouse作为目标域时,我们在CIFAR-10上训练源模型,迭代8,000次,包括跨越1,600次迭代的预热阶段。训练使用批量和随机梯度下降算法,学习率为 3 e − 2 3e−2 3e2。CIFAR-100上的源模型,延长的训练持续时间为16,000次,热身期跨越4,000次。ImageNet-1k数据集上的源模型是从TIMM存储库获取的。此外,我们在所有方法中应用了基本的数据增强技术,包括随机调整大小和裁剪。ADAM优化器的动量项 β \beta β为0.9%,学习率为 1 e − 3 1e−3 1e3,确保了适应期间的一致性。调整大小和裁剪技术被应用为所有数据集的默认预处理步骤。然后,采用均匀归一化(0.5,0.5,0.5)来消除算法核心操作之外的外部因素引起的潜在性能波动。

  • 组件替换
    为了成功调整核心方法以与Vision Transformer(VIT)配合使用,我们制定了一系列策略:
    • 切换到LayerNorm
      鉴于VIT中没有BatchNorm层,我们用LayerNorm更新替换所有BatchNorm更新。
    • Disregard BatchNorm mixup
      去除统计混合策略最初是为基于BatchNorm的方法设计的,因为LayerNorm是为了独立地对每个数据点进行归一化而设计的。
    • Sample Embedding Changes
      去除统计混淆策略最初是为基于BatchNorm的方法设计的,因为LayerNorm是为了独立地对每个数据点进行归一化而设计的。
    • Pruning Incompatible Components
      应识别并删除与VIT框架不一致的任何要素。

这些策略为将核心OTTA方法与Vision Transformer集成奠定了基础,从而扩大了它们在这一高级模型体系结构中的应用。值得注意的是,这些解决方案并不仅限于Otta方法。相反,它们可以被视为一套更广泛的指导原则,可以应用于需要升级到新一代主干架构的地方。
基线:我们仔细选择了七种方法,以彻底检查OTTA方法的适应性。它们包括:

  1. Tent
    一种根植于BatchNorm更新的基本Otta方法。为了在ViTs上重现它,我们用LayerNorm更新策略替换了它的BatchNorm更新。
  2. CoTTA
    采用Mean-Teacher模型、参数重置和选择性扩充策略。虽然它需要更新整个学生网络,但我们进一步评估了LayerNorm更新学生模型的策略。我们还解构了它的参数重置策略,得到了四种变体:参数重置加层范数更新(COTA-LN)、参数重置加完全网络更新(COTA-ALL)、更新层范数而不重置参数(COTA∗-LN)和完全网络更新而不重置参数(COTA∗-ALL)。
  3. SAR
    遵循与Tent相同的策略,同时使用清晰度感知最小化进行优化。
  4. Conj-PL
    作为通过交叉点损失优化的源模型,它类似于Tent,但允许模型与数据交互两次:一次用于更新LayerNorm,另一次用于预测。
  5. MEMO
    考虑了两种不同版本的Memo:完全模型更新和LN更新。我们将所有数据规格化从其增强集中删除,以保持一致性并防止意外的性能变化。
  6. RoTTA
    由于VITS的体系结构限制,我们在ROTTA中排除了RBN模块。由于VIT中的LayerNorm是为在样本级别处理数据而设计的,因此RBN模块不适用。
  7. TAST
    我们使用第一维的类嵌入作为特征表示,以适应VIT体系结构。

尽管有很多Otta方法,彻底评估这个选定的子集即可。在实证研究中,我们解决了以下关键研究问题

4.2 OTTA方法在ViT基础上有效?

为了评估所选方法的有效性,我们将它们与仅限来源(即直接推断)的基线进行比较。在接下来的部分中,我们将讨论每个数据集的实验结果。

4.2.1 在 CIFAR-10-C and CIFAR-10.1 基准

我们评估了批次大小为1和16的CIFAR-10-C和CIFAR-10.1数据集,并在图8中显示了结果。为了清楚地理解预测模式,我们从三个方面讨论了我们的观察结果:1)损坏类型的变化,2)批次大小的变化,3)适应策略的变化。

  • Corruption类型。如图8和图15所示,一个值得注意的观察是,大多数方法都经历了带有噪声破坏的高错误率,而与它们的批次大小无关。然而,对于其他一些类型的腐败,这些方法表现出了合理的性能。
    在这里插入图片描述
    这些不同可能归于噪声破坏的随机性和不可预测性,而不是更结构化的类型,如雪花、变焦或亮度,这些类型可能更易于在线适应。
    此外,适应噪声破坏对基于置信度优化的方法(3.1.3节),与批次大小无关。这一困难可能与前面讨论的噪声模式的显著的磁区间隙和不可预测的性质有关。尽管这些策略旨在增加模型的信心,但它们并不具备直接纠正错误预测的能力。
  • Batch Size
    批次大小的变化不会显著改变平均误差,但Tent、Conj-CE和Memo例外。如SEC中所观察到的。在4.4节,我们得出结论,对于纯粹基于优化的方法,较大的批量可以稳定损失优化,从而有利于适应。然而,纳入预测可靠性的考虑可以大大减轻小批量施加的限制,这在COTTA、TAST和SAR等方法中得到了证明。在CIFAR-10.1中也观察到了类似的模式,其中两种基于熵的方法在小批量时显示出局限性。
  • Adaptation Strategy
    SAR和ROTTA表现出稳定的性能,不受域或批次大小变化的影响。Rotta中的内存库有助于维护全局信息,使其更具批次不可知性。从另一个角度来看,SAR实现了平坦的极小值,这确保了模型的稳定性优化,并防止了自适应过程中的偏向学习。MEMO在某些领域也表现出令人印象深刻的性能,即使批次大小只有1。
4.2.2 关于 CIFAR-100-C 基准

在CIFAR-100-C数据集上的性能表现出与在CIFAR-10-C数据集上观察到的类似的趋势。为了确保讨论的重点,只有当它们的性能模式与CIFAR-100-C数据集的性能模式明显不同时,我们才会探索具体的适应策略。值得注意的是,CIFAR-100-C上的性能相对较差,特别是在使用批次大小为16的情况下。这种性能下降可能是由于CIFAR-100-C数据集中的更大复杂性和多样性,其中包括更广泛的类。

  • Adaptation Strategy
    COTTA在大多数类型的腐败中表现出明显的有效性下降,特别是在批次大小为16的情况下。这种性能下降可以部分归因于大量的类,例如,相比于CIFAR-10-C中的10类和CIFAR-100-C中的100类。此外,随机参数重置可能导致新获得的关于这些不同领域的知识的丢失。同样SAR开始表现出局限性,特别是在存在噪声失真的情况下,如高斯噪声、镜头噪声和脉冲噪声。一个有趣的观察是对比腐败领域的性能下降。在这里,Rotta是唯一一种始终优于直接推断的方法,与批次大小无关。这凸显了有效保存有价值的样本信息的重要性,特别是对于处理对批次敏感和具有挑战性的适应任务而言。在图10中也可以观察到类似的趋势。
    在这里插入图片描述
4.2.3在Imagenet-C基准上
  • Adaptation Strategy
    对于图10中描述的ImageNet-C数据集,当批大小设置为16时,SAR、Conj-CE和ROTTA在平均误差方面优于仅源模型。相比之下,Tent、Memo和Cotta表现出明显的糟糕结果。值得注意的是,Conj-CE为最终预测的每一批进行额外的推断,在大多数领域和平均误差上明显超过Tent。这表明ImageNet-C存在显著的批次间分布变化,例如样式或类别差异,这表明基于优化当前批次来预测下一批次的策略不太有效。此外,在标签集复杂和数据多样性显著的场景中,MEMO面临着挑战。COTTA的参数重置也可能对模型的区分能力产生不利影响,特别是在复杂环境中。
    当批量减少到1时,只有RoTTA保持其性能水平,这意味着典型的无监督损失函数可能不足以满足复杂的适应任务。同时,保留有价值的数据可以显著减少由域转换引起的性能差异。
  • Batch Size
    与CIFAR-10-C和CIFAR-100-C相比,ImageNet-C经历了更明显的性能下降,特别是当批量减少到1时。这一观察结果,结合我们对适应策略的分析,表明具有更高复杂性和难度的数据集对批量大小的变化更敏感。
  • Corruption Type
    相对于CIFAR-10-C和CIFAR-100-C数据集(如图8和图9所示),ImageNet-C数据集的一个显著特点是在各种类型的损坏中性能差距较小。这意味着具有较少类的数据集可能会表现出更大的性能变化,以响应不同的损坏。对于包含1,000个类的ImageNet-C,我们观察到所有腐败领域的表现一直很差,可能是由于批次间的巨大差异,这阻碍了有效的学习。
    在这里插入图片描述
4.2.4 关于CIFAR-10-Warehouse基准

我们在新引入的CIFAR-10-Warehouse数据集上评估OTTA技术,它和CIFAR-10标签相同。在我们的评估中,我们选择了CIFAR-10-Warehouse中具有代表性的两个领域。这些域被专门用来衡量OTTA方法在两种不同的分布变化下的性能:真实世界变化和扩散合成变化。Google split包括来自谷歌搜索引擎的图片。这一子集是评估当代OTTA方法在管理现实世界分布变化方面的能力的关键基准。我们评估了OTTA在其标记为G-01到G12的12个子域中的性能。每个子域代表以不同主色为主的图像,提供了一系列不同的视觉场景,以测试OTTA方法在现实世界条件下的适应性和有效性。

  • Batch Size
    关于图11中描述的批次大小差异,我们观察到,当批次大小为16时,大多数OTTA方法的性能与直接推理相当或超过。这一结果表明,目前的OTTA方法总体上是有效的。此外,大多数OTTA方法的性能在批量减少到1时保持稳定。然而,Tent和Conj-CE等方法在大多数领域表现出性能下降。这可能归因于单样本批次优化的不稳定性,特别是在Tent中,它只专注于优化熵。

  • Adaptation Strategy
    无论批次大小,ROTTA和SAR都表现出非凡的稳定性。这种稳定性是通过保留ROTTA的高质量数据信息和在SAR的优化中寻求平坦极小来实现的。我们比较了Conj-CE和Conj-Poly,其中Conj-Poly指的是当源训练前损失为PolyLoss时的适应策略。在我们的实验中,我们在不改变训练前损失来源的情况下修改了适应策略,以观察性能差异。有趣的是,即使当批处理大小设置为1,并且源预训练损失是交叉熵损失(其中Conj-Poly不是假定的最佳选择)时,Conj-Poly仍然设法在平均误差方面优于Conj-CE。这一发现挑战了Conj-PL原始论文中得出的结论,表明Conj-Poly可能比最初认为的更有效,即使与原始的训练前损失不一致。

  • Adaptation Strategy
    另一个值得注意的观察是COTTA、SAR和ROTTA的稳定表现。通过采用锐度感知最小化,SAR使模型能够到达优化环境中对数据变化不那么敏感的区域,从而产生稳定的预测。CONTTA的参数重置策略有效地减轻了偏向适应,允许从源域恢复部分知识,从而有助于其一致的性能,即使在具有挑战性的DM-05子域中也是如此。最后,ROTTA利用信息丰富的内存库,在子域之间实现了很好的性能。

  • 小结
    从我们广泛的实验来看,大多数OTTA方法在不同的数据集上显示出类似的行为模式。这种一致性强调了当代OTTA技术在有效管理不同领域转移方面的潜力。特别值得注意的是ROTTA和SAR,强调了优化不敏感和信息保存的重要性。

4.3 OTTA是否高效

为了评估OTTA算法的性能,特别是在硬件限制的情况下,我们使用GFLOPS作为度量,如图13所示。较低的GFLOPS和平均误差是可取的。我们的观察表明,Memo取得了较高的性能,但会产生较高的计算成本。相比之下,RoTTA成功地平衡了低错误率和高效更新。这还表明,减少批处理大小可能有助于实现性能和计算效率之间的平衡。
在这里插入图片描述

4.4 OTTA对超参数选择是否敏感

批量大小很重要,但仅在一定程度上。图15在CIFAR-10-C数据集中检查了不同批次大小对Tent性能的影响。它显示,在大多数损坏中,性能随着批处理大小的不同而显著不同,从1到16。然而,与传统的BatchNorm设置相比,随着批次大小的增加(16到128),这种可变性减小,这表明LayerNorm更新对批次大小的影响较小。这种模式在其他数据集中是一致的,如图14所示。
在这里插入图片描述
然而,批次大小仍然至关重要。以稳定优化过程。例如,在CIFAR-10-Warehouse数据集的Google拆分的置信度优化方法中,批次大小为16的性能优于批次大小1。然而,对于像CIFAR-100-C和ImageNet-C这样的复杂数据集来说,更大的批次大小是必不可少的,在这些复杂数据集中,直接推理很难进行,强调需要根据数据的复杂性来调整批次大小。此外,图15表明,增加批次大小对诸如高斯和散粒噪声等具有挑战性的腐败现象并不有效。这突出表明,在复杂的学习情况下,有必要采取更先进的适应策略,而不仅仅是调整批量。
在这里插入图片描述

  • 优化层很重要
    为了评估LayerNorm的关键作用,我们将基于LayerNorm的优化与完全模型优化进行了比较,如表2所示。本文的消融研究主要集中在COTA和MEMO上,单独评估了优化LayerNorm的影响。值得注意的是,对于所有方法,LayerNorm更新在获得高性能方面发挥了重要作用,强调了它通过避免显著忘记源知识来提高模型性能的有效性。
    在这里插入图片描述

5 未来方向

我们对Vision Transformer的初步评估显示,许多在线测试时间适应方法没有完全针对此架构进行优化,导致结果不是最优的。基于这些发现,我们为理想的OTTA方法提出了几个关键属性,适用于未来的研究并针对VIT等高级体系结构进行了定制

  • 在真实环境中细化OTTA
    未来的OTTA方法应该在现实环境中进行测试,采用先进的架构、实用的试验台和合理的批次大小。这种方法旨在获得更深入和更相关的见解。
  • 应对多模式挑战并探索激励技术
    随着向CLIP等基础模式的演变,OTTA面临着新的挑战。这些模式可能会面临各种模式的变化,这就需要创新的OTTA战略,超越仅依赖图像的范围。探索基于提示的方法可能会在OTTA方面取得重大突破。
  • 热插拔OTTA
    跟上主干架构的快速发展是至关重要的。未来的OTTA方法应该关注与不断发展的体系结构无缝集成的适应性和通用性。
  • OTTA算法的稳定和稳健的优化
    优化中的稳定性和稳健性仍然是最重要的。鉴于更大的批次大小在ViT中显示的有效性有限,未来的研究应该调查更普遍的优化改进。这些改进旨在持续提高模型性能,而不受批次大小等外部因素的影响。

6 总结

在这项调查中,我们彻底检查了在线测试时间适配(OTTA),详细介绍了现有的方法、相关数据集、评估基准及其实施。综合实验评估了现有OTTA方法应用于视觉转换器的有效性和效率。我们的观察表明,与其他类型的移位相比,噪声合成的域移通常会带来更大的挑战,例如在真实世界场景或扩散环境中遇到的移位。此外,数据集中存在的大量类可能会导致批次之间的显著差异,潜在地影响OTTA模型保持一致知识的能力。这可能会导致学习困难和严重健忘的风险增加。为了应对这些挑战,我们发现用记忆库或优化平坦度更新归一化层,结合适当的批次大小选择,可以有效地稳定适应过程并减少遗忘。

知识点

灾难性遗忘:灾难性遗忘即学习了新的知识之后,几乎彻底遗忘掉之前习得的内容。
转载自于:https://blog.csdn.net/u013468614/article/details/95623987

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1909824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Apache配置与应用(优化apache)

Apache配置解析(配置优化) Apache链接保持 KeepAlive:决定是否打开连接保持功能,后面接 OFF 表示关闭,接 ON 表示打开 KeepAliveTimeout:表示一次连接多次请求之间的最大间隔时间,即两次请求之间…

一.5 高速缓存至关重要

这个简单的示例揭示了一个重要的问题,即系统花费了大量的时间把信息从一个地方挪到另一个地方。hello程序的机器指令最初是存放在硬盘上,当程序加载时,它们被复制到主存;当处理器运行程序时,指令又从主存复制到处理器。…

C++报警:warning: zero as null pointer constantstddef.h

源码和警告内容 解决办法: select(0,nullptr,nullptr,nullptr,&delay); 关于NULL和nullptr的区别: 在C中,nullptr和null(通常指的是NULL宏,因为C标准中并没有直接定义null关键字)都用于表示空指针&am…

基于eBPF的procstat软件追踪等待锁和持有锁的时间

在并发编程中,锁的使用是保证线程安全的重要手段。然而,过度使用锁或者锁竞争可能导致性能瓶颈。为了分析程序中锁的使用情况,我们可以借助procstat软件来追踪程序加锁时间和等待锁的时间。procstat是一个基于eBPF(extended Berke…

uniapp安卓端实现语音合成播报

最初尝试使用讯飞语音合成方式,能获取到语音数据,但是数据是base64格式的,在安卓端无法播放,网上有说通过转成blob格式的url可以播放,但是uniapp不支持转换的api;于是后面又想其他办法,使用安卓插件播报原生安卓语音播报插件 - DCloud 插件市场 方案一(讯飞语音合成) 1.在讯飞…

AGE Cypher 查询格式

使用 ag_catalog 中的名为 cypher 的函数构建 Cypher 查询,该函数返回 Postgres 的记录集合。 Cypher() Cypher() 函数执行作为参数传递的 Cypher 查询。 语法:cypher(graph_name, query_string, parameters) 返回: A SETOF records 参…

[240709] X-CMD 发布 v0.3.15:新增 uname、coin、df 和 uptime 模块;优化非 Posix Shell

目录 X-CMD 发布 v0.3.15✨ uname✨ coin✨ df✨ uptime✨ fish | onsh | nu | elv✨ go✨ env X-CMD 发布 v0.3.15 ✨ uname 新增了 uname 模块,用于增强 uname 命令的功能。 ✨ coin 新增了 coin 模块,作为 CoinCap 平台信息查看器。 ✨ df 新增了…

Prometheus+Grafana监控Linux主机

1、安装Prometheus 1.1 、下载Prometheus 下载网址 https://github.com/prometheus/prometheus/releases选择需要的版本 wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz1.2、安装Prometheus软件 1.2.1、…

命名空间namespace--c++入门基础等

个人主页点这里~ 1.命名空间-namespace 简介 :在C/C中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化&#xf…

递归、搜索与回溯算法 2024.7.4-24.7.9

专题介绍&#xff1a; 一、递归 1、汉诺塔问题 class Solution {public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {int n A.size();move(n,A,B,C);// 将A柱上的n个盘子通过借助B盘子全部挪到C柱子上}void move(int m,List<Integ…

UI组件库---vantList组件接口多次调用大坑问题

问题描述&#xff1a;当使用refesh下拉操作时&#xff0c;vanlist组件会多次调用&#xff08;大概三次&#xff09;&#xff01; 解决方案&#xff1a; 1、接口错误的时候&#xff0c;大量重复请求。 可能接口错误时vant3内部某些变量没重置&#xff0c;导致一直重复请求&am…

08.C2W3.Auto-complete and Language Models

往期文章请点这里 目录 N-Grams: OverviewN-grams and ProbabilitiesN-gramsSequence notationUnigram probabilityBigram probabilityTrigram ProbabilityN -gram probabilityQuiz Sequence ProbabilitiesProbability of a sequenceSequence probability shortcomingsApproxi…

tauri如何实现窗口拖动,自定义标题栏

文章目录 一、tauri是什么&#xff1f;二、封装好的标题栏&#xff0c;引用修改即可使用三 相关配置实现细节实现窗口拖动 一、tauri是什么&#xff1f; Tauri是一个开源框架&#xff0c;用于创建跨平台的桌面应用程序。它使用Rust编程语言&#xff0c;并结合了现有的Web技术&…

javascript DOM BOM 笔记

Web API API的概念 API&#xff08;Application Programming Interface,应用程序编程接口&#xff09;是一些预先定义的函数&#xff0c;目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力&#xff0c;而又无需访问源码&#xff0c;或理解内部工作机制的细…

PLM系统供应商:PLM系统供应商哪家好

PLM系统供应商&#xff1a;PLM系统供应商哪家好 在智能制造时代&#xff0c;产品生命周期管理&#xff08;PLM&#xff09;系统已成为企业提升产品创新能力、优化生产流程、加速产品上市的关键工具。作为这一领域的核心力量&#xff0c;PLM系统供应商正以前所未有的速度和深度&…

vue3实现无缝滚动 列表滚动 vue3-seamlessscroll

vue3框架内使用无缝滚动&#xff0c;使用一个插件比较合适&#xff08;gitee地址&#xff09;&#xff1a; vue3-seamless-scroll: Vue3.0 无缝滚动组件 具体更多配置请看&#xff1a; 组件配置 | vue3-scroll-seamless 1. 安装&#xff1a; npm install vue3-seamless-sc…

红酒与电影经典:那些银幕上的醉人瞬间

在光影交织的银幕世界里&#xff0c;红酒不仅是品味生活的象征&#xff0c;更是情感与故事的催化剂。每当夜幕降临&#xff0c;一杯色泽深邃的红酒&#xff0c;便能带我们走进那些令人陶醉的影片瞬间&#xff0c;感受不同的人生百态。今天&#xff0c;就让我们一起回味那些银幕…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十二章 Linux 权限管理

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

25考研,数二全程跟的张宇老师请问660(做了一半)880和张宇1000题应该怎么选择?

跟张宇老师&#xff0c;也可以做其他的题集&#xff0c;不一定非要做1000题 我当初考研复习的时候&#xff0c;也听了张宇老师的课程&#xff0c;但是我并没有做1000题 因为1000题对于我来说太难了。做了一章之后&#xff0c;就换成其他的题目了。 对于大家来说&#xff0c;…

MySQL——第一次作业

部署MySQL 8.0环境 1&#xff0c;删除之前存在的MySQL程序 控制面板删除 2&#xff0c;删除完成后下载MySQL 官网&#xff1a; https://www.mysql.com 在window下下载MSI版本 3&#xff0c;自定义安装 4&#xff0c;配置环境变量 1&#xff0c;系统高级系统设置 2&#xff…