尝试时规模顺应(Test-Time Adaptation)的目的是使源域模型顺应推理阶段的尝试数据,在顺应未知的图像损坏规模取得了出色的效果。然而,当前许多要领都缺乏对真实世界场景中尝试数据流的考虑,例如:
尝试数据流应当是时变散布(而非传统规模顺应中的固定散布)
尝试数据流可能存在全部类型相关性(而非完全独立同散布采样)
尝试数据流在较长时间里仍表现全部类型不均衡
近日,华南理工、A*STAR 和港中大(深圳)团队通过大量实验证明,这些真实场景下的尝试数据流会对现有要领带来巨大应战。该团队认为,最先进要领的失败首先是由于不加区分地根据不均衡尝试数据调整归一化层造成的。
为此,研究团队提出了一种创新的均衡批归一化层 (Balanced BatchNorm Layer),以取代推理阶段的常规批归一化层。同时,他们发现仅靠自我训练(ST)在未知的尝试数据流中进行学习,容易造成过度顺应(伪标签类型不均衡、目标域并非固定规模)而导致在规模不断变化的情况下功能不佳。
因此,该团队建议通过锚定损失 (Anchored Loss) 对模型革新进行正则化处理,从而改进持续规模转移下的自我训练,有助于显著提升模型的鲁棒性。最终,模型 TRIBE 在四个数据集、多种真实世界尝试数据流设定下稳定达到 state-of-the-art 的表现,并大幅度超越已有的先进要领。研究论文已被 AAAI 2024 接收。
论文链接:https://arxiv.org/abs/2309.14949
代码链接:https://github.com/Gorilla-Lab-SCUT/TRIBE
引言
深度神经搜集的成功依赖于将训练好的模型推广到 i.i.d. 尝试域的假设。然而,在实际应用中,散布外尝试数据的鲁棒性,如不同的照明条件或恶劣天气造成的视觉损坏,是一个需要关注的问题。最近的研究显示,这种数据损失可能会严重影响预先训练好的模型的功能。重要的是,在部署前,尝试数据的损坏(散布)通常是未知的,有时也不可预测。
因此,调整预训练模型以顺应推理阶段的尝试数据散布是一个值得价值的新课题,即尝试时规模适 (TTA)。此前,TTA 主要通过散布对齐 (TTAC++, TTT++),自监督训练 (AdaContrast) 和自训练 (Conjugate PL) 来实现,这些要领在多种视觉损坏尝试数据中都带来了显著的稳健提升。
现有的尝试时规模顺应(TTA)要领通常基于一些严格的尝试数据假设,如稳定的类型散布、样本服从独立同散布采样以及固定的规模偏移。这些假设启发了许多研究者去探究真实世界中的尝试数据流,如 CoTTA、NOTE、SAR 和 RoTTA 等。
最近,对真实世界的 TTA 研究,如 SAR(ICLR 2023)和 RoTTA(CVPR 2023)主要关注全部类型不均衡和连续的规模偏移对 TTA 带来的应战。全部类型不均衡通常是由于尝试数据并非独立同散布采样而产生的。直接不加区分的规模顺应将导致有偏置的散布估计。
最近有研究提出了指数式革新批归一化统计量(RoTTA)或实例级判别革新批归一化统计量(NOTE)来解决这个应战。其研究目标是超越全部类不均衡的应战,考虑到尝试数据的总体散布可能严重失衡,类的散布也可能随着时间的推移而变化。在下图 1 中可以看到更具应战性的场景示意图。
由于在推理阶段之前,尝试数据中的类型流行率未知,而且模型可能会通过盲目的尝试时间调整偏向于多数类型,这使得现有的 TTA 要领变得无效。根据经验观察,对于依靠当前批数据来估计全部统计量来革新归一化层的要领来说,这个问题变得尤为突出(BN, PL, TENT, CoTTA 等)。
这主要是由于:
1.当前批数据会受到全部类型不均衡的影响带来有偏置的整体散布估计;
2.从全部类型不均衡的整个尝试数据中估计出单一的全部散布,全部散布很容易偏向多数类,导致内部协变量偏移。
为了避免有偏差的批归一化(BN),该团队提出了一种均衡的批归一化层(Balanced Batch Normalization Layer),即对每个单独类型的散布进行建模,并从类型散布中提取全部散布。均衡的批归一化层允许在全部和全部类型不均衡的尝试数据流下得到散布的类均衡估计。
随着时间的推移,规模转移在现实世界的尝试数据中经常发生,例如照明 / 天气条件的逐渐变化。这给现有的 TTA 要领带来了另一个应战,TTA 模型可能由于过度顺应到规模 A 而当从规模 A 切换到规模 B 时出现矛盾。
为了缓解过度顺应到某个短时规模,CoTTA 随机还原参数,EATA 用 fisher information 对参数进行正则化约束。尽管如此,这些要领仍然没有明确解决尝试数据规模中层出不穷的应战。
本文在两分支自训练架构的基础上引入了一个锚定搜集(Anchor Network)组成三搜集自训练模型(Tri-Net Self-Training)。锚定搜集是一个冻结的源模型,但允许通过尝试样本调整批归一化层中的统计量而非参数。并提出了一个锚定损失利用锚定搜集的输出来正则化老师模型的输出以避免搜集过度顺应到全部散布中。
最终模型结合了三搜集自训练模型和均衡的批归一化层(TRI-net self-training with BalancEd normalization, TRIBE)在较为宽泛的的可调节学习率的范围里表现出一致的优越功能。在四个数据集和多种真实世界数据流下显示了大幅功能提升,揭示了独一档的稳定性和鲁棒性。
要领介绍
论文要领分为三部分:
介绍真实世界下的 TTA 协议;
均衡的批归一化;
三搜集自训练模型。
真实世界下的 TTA 协议
作家采用了数学概率模型对真实世界下具有全部类型不均衡和全部类型不均衡的尝试数据流,以及随着时间变化的规模散布进行了建模。如下图 2 所示。
均衡的批归一化
为了纠正不均衡尝试数据对 BN 统计量产生的估计偏置,作家提出了一个均衡批归一化层,该层为每个语义类分别维护了一对统计量,表示为:
为了革新类型统计量,作家在伪标签预测的帮助下应用了高效的迭代革新要领,如下所示:
通过伪标签对各个类型数据的采样点进行单独统计,并通过下式重新得到类型均衡下的整体散布统计量,以此来对齐用类型均衡的源数据学习好的特征空间。
在某些特殊情况下,作家发现当类型数量较多或伪标签准确率较低 (accuracy<0.5) 的情况下,以上的类型独立的革新策略效果没那么明显。因此,他们进一步用超参数 γ 来融合类型无关革新策略和类型独立革新策略,如下式:
通过进一步分析和观察,作家发现当 γ=1 时,整个革新策略就退化成了 RoTTA 中的 RobustBN 的革新策略,当 γ=0 时是纯粹的类型独立的革新策略,因此,当 γ 取值 0~1 时可以顺应到各种情况下。
三搜集自训练模型
作家在现有的学生 – 老师模型的基础上,添加了一个锚定搜集分支,并引入了锚定损失来约束老师搜集的预测散布。这种设计受到了 TTAC++ 的启发。TTAC++ 指出在尝试数据流上仅靠自我训练会容易导致确认偏置的积累,这个问题在本文中的真实世界中的尝试数据流上更加严重。TTAC++ 采用了从源域收集到的统计信息实现规模对齐正则化,但对于 Fully TTA 设定来说,这个源域信息不可收集。
同时,作家也收获了另一个启示,无监督规模对齐的成功是基于两个规模散布相对高重叠率的假设。因此,作家仅调整了 BN 统计量的冻结源域模型来对老师模型进行正则化,避免老师模型的预测散布偏离源模型的预测散布太远(这破坏了之前的两者散布高重合率的经验观测)。大量实验证明,本文中的发现与创新是正确的且鲁棒的。以下是锚定损失的表达式:
下图揭示了 TRIBE 搜集的框架图:
实验部分
论文作家在 4 个数据集上,以两种真实世界 TTA 协议为基准,对 TRIBE 进行了验证。两种真实世界 TTA 协议分别是全部类散布固定的 GLI-TTA-F 和全部类散布不固定的 GLI-TTA-V。
上表揭示了 CIFAR10-C 数据集两种协议不同不均衡系数下的表现,可以得到以下结论:
1.只有 LAME, TTAC, NOTE, RoTTA 和论文提出的 TRIBE 超过了 TEST 的基准线,表明了真实尝试流下更加鲁棒的 TTA 要领的必要性。
2.全部类型不均衡对现有的 TTA 要领带来了巨大应战,如先前的 SOTA 要领 RoTTA 在 I.F.=1 时表现为错误率 25.20% 但在 I.F.=200 时错误率升到了 32.45%,相比之下,TRIBE 能稳定地揭示相对较好的功能。
3. TRIBE 的一致性具有绝对优势,超越了先前的所有要领,并在全部类型均衡的设定下 (I.F.=1) 超越先前 SOTA (TTAC) 约 7%,在更加困难的全部类型不均衡 (I.F.=200) 的设定下获得了约 13% 的功能提升。
4.从 I.F.=10 到 I.F.=200,其他 TTA 要领随着不均衡度增加,呈现功能下跌的趋势。而 TRIBE 能维持较为稳定的功能表现。这归因于引入了均衡批归一化层,更好地考虑了严重的类型不均衡和锚定损失,这避免了跨不同规模的过度顺应。
更多数据集的结果可查阅论文原文。
此外,表 4 揭示了详细的模块化消融,有以下几个观测性结论:
1.仅将 BN 替换成均衡批归一化层 (Balanced BN),不革新任何模型参数,只通过 forward 革新 BN 统计量,就能带来 10.24% (44.62 -> 34.28) 的功能提升,并超越了 Robust BN 的错误率 41.97%。
2.Anchored Loss 结合 Self-Training,无论是在之前 BN 结构下还是最新的 Balanced BN 结构下,都得到了功能的提升,并超越了 EMA Model 的正则化效果。
本文的其余部分和长达 9 页的附录最终呈现了 17 个详细表格结果,从多个维度揭示了 TRIBE 的稳定性、鲁棒性和优越性。附录中也含有对均衡批归一化层的更加详细的理论推导和解释。
总结和展望
为应对真实世界中 non-i.i.d. 尝试数据流、全部类不均衡和持续的规模转移等诸多应战,研究团队深入探索了如何改进尝试时规模顺应算法的鲁棒性。为了顺应不均衡的尝试数据,作家提出了一个均衡批归一化层(Balanced Batchnorm Layer),以实现对统计量的无偏估计,进而提出了一种包含学生搜集、老师搜集和锚定搜集的三层搜集结构,以规范基于自我训练的 TTA。
但本文仍然存在不足和改进的空间,由于大量的实验和出发点都基于分类任务和 BN 模块,因此对于其他任务和基于 Transformer 模型的适配程度仍然未知。这些问题值得后续工作进一步研究和探索。