NEO — No-Optimization Test-Time Adaptation through Latent Re-Centering¶
会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=mVlIKLiizr
代码: 公开(论文声明已开源,替换 nn.Linear 为自定义 NEO 层)
领域: 测试时适应 / 自监督表示 / 分布偏移鲁棒性
关键词: Test-Time Adaptation, Neural Collapse, Latent Re-Centering, Distribution Shift, Vision Transformer, Edge Inference
一句话总结¶
NEO 发现输入分布偏移会让倒数第二层 embedding 整体产生一个跨样本/跨类别共享的平移,于是只用一个全局质心向量把测试特征重新居中到原点,就能在零优化、零超参、几乎零额外开销下超过 7 个主流 TTA 方法。
研究背景与动机¶
领域现状:测试时适应(TTA)让模型在部署阶段用无标签测试数据自我调整,以对抗训练/部署间的协变量偏移(雪、雾、运动模糊等 corruption)。主流做法如 TENT/SAR/EATA 通过最小化预测熵来更新 BatchNorm 仿射参数,CoTTA 做持续适应,T3A 用原型修正分类器。
现有痛点:这些方法几乎都依赖反向传播或多次前向,带来三大代价——① 显存与延迟显著上升(边缘设备难以承受);② 对超参数极度敏感,调不好会灾难性遗忘、精度归零;③ 很多方法假设有 BN 层、或需要大 batch / 大量样本才能算出稳定统计量。对于"车载红绿灯识别"这类必须本地、实时、低功耗的场景,现有 TTA 基本不可用。
核心矛盾:TTA 的有效性几乎总是用"更多计算/更多样本/更多调参"换来的,精度提升与部署可行性之间存在根本张力。
本文目标:做一个 fully TTA(不碰源数据)、无优化、无超参、无显著额外开销的方法,且能在单样本/单类别/持续偏移下都稳健。
核心 idea:【几何洞察 + 全局重居中】 作者发现分布偏移在 latent 空间里主要表现为一个跨样本、跨类别共享的全局平移——而且这个平移只集中在极少数高幅值维度上。借助 neural collapse 理论可证明:训练到收敛的模型其源数据全局质心恰好在原点(\(\mu_G=0_d\)),因此"把腐蚀样本的全局质心对齐回源"等价于"把测试特征重新居中到原点"。于是适应只需在线估计一个全局质心向量 \(\tilde\mu_G\) 并从特征里减掉它,无需任何梯度。
方法详解¶
整体框架¶
NEO 把模型拆成编码器 \(h\) 与线性分类头 \(\theta\)(\(f=\theta\circ h\))。它不改任何权重,只在 \(h\) 和 \(\theta\) 之间插入一个"重居中"操作:在线维护腐蚀 embedding 的全局均值 \(\tilde\mu_G\),对每个测试特征做 \(h(\tilde x)-\tilde\mu_G\) 后再喂给分类头。实现上只需把 ViT 的 nn.Linear 换成一个自定义层即可,存储成本是单个向量。
flowchart LR
A[腐蚀输入 x̃] --> B[编码器 h]
B --> C["embedding h(x̃)"]
C --> D["在线更新全局质心 μ̃_G<br/>(累积平均)"]
C --> E[重居中 h(x̃) − μ̃_G]
D --> E
E --> F[原始线性分类头 θ]
F --> G[预测 y]
关键设计¶
1. 分布偏移的几何刻画:偏移是少数维度上的全局共享平移,这是 NEO 一切的实证起点。作者把每个样本写成 \(h(\tilde x)=h(x)+\Delta_G+\Delta_c+\delta\),其中 \(\Delta_G=\tilde\mu_G-\mu_G\) 是全局质心偏移、\(\Delta_c\) 是去掉全局后的类别偏移、\(\delta\) 是样本残差。在 50000 个 ImageNet-C 样本上统计 \(h(x)-h(\tilde x)\) 的最大幅值维度,发现 contrast 这类腐蚀里 95% 样本的最大差异只落在不到 20/768 个维度上、所有腐蚀下 80% 样本最大差异维度少于 50 个。更关键的是逐级对齐的对比实验:只做全局对齐就把源/腐蚀 embedding 的余弦相似度从 −0.44 拉到 0.51 并把 L2 范数差从 4.33 降到 3.65(贡献最大),而再做类别对齐余弦只微涨且范数差反而变大。这说明"全局共享的那一个平移"才是偏移的主体,逐类细修得不偿失。
2. 用 neural collapse 把"全局对齐"落地为"原点居中",解决了 fully TTA 下源质心不可知的难题。前述 \(\Delta_G\) 需要源数据才能算,但 Proposition 4.2 在 neural collapse + 交叉熵 + unconstrained features + 类别平衡假设下证明源全局质心 \(\mu_G=0_d\),于是 \(\Delta_G=\tilde\mu_G-\mu_G=\tilde\mu_G\)——腐蚀数据的全局质心本身就是要减掉的偏移量,完全不需要源数据。实证上(图 3b 最后一行)把 \(h(\tilde x)\) 减 \(\tilde\mu_G\) 得到的余弦相似度和范数差,与减真实 \(\Delta_G\) 几乎一致,验证了这个等价。Proposition 4.1 进一步说明:neural collapse 下线性分类结果只由 \(\cos(w_c,h(x))\) 决定(\(\arg\max_c \|w_c\|\,\|h(x)\|\cos(w_c,h(x))\)),所以只要恢复余弦相似度就能恢复精度,而范数差则解释了置信度/校准的变化——这就把"为什么重居中足够"讲清楚了。
3. 在线累积均值 + 持续变体,让方法零优化又能应对演化偏移。NEO 核心算法(Algorithm 1)极简:初始化 \(\tilde\mu_G\leftarrow 0_d\),每来一个 batch 用累积平均 \(\tilde\mu_G\leftarrow\frac{i-1}{i}\tilde\mu_G+\frac{1}{i}\mathrm{Avg}(h(B))\) 更新质心,然后输出 \(\theta(h(B)-\tilde\mu_G\mathbf{1}_b^T)\)。整个过程只有平均、加法、标量乘和一次向量广播,没有任何梯度或矩阵分解。因为它对所有样本一视同仁、用全部样本估计同一个全局量,估计极稳健(对比 T3A 等按类估计因每类样本太少而不可靠),且 batch size 无关、不依赖伪标签、不改权重故无灾难性遗忘。当偏移会随时间变化时,作者提出 NEO-Continual,把累积平均换成指数移动平均 \(\tilde\mu_G\leftarrow(1-\alpha)\tilde\mu_G+\alpha\,\mathrm{Avg}(h(B))\),仅引入一个语义清晰的超参 \(\alpha\) 即可跟踪漂移的特征均值。
实验关键数据¶
主实验表格¶
ViT-Base 在 ImageNet-C 15 种腐蚀上、用于适应的 512 样本上的精度(%,节选 + 汇总):
| 方法 | Contrast | Fog | Glass | ImageNet-C 平均 | CIFAR-10-C | ImageNet-R | ImageNet-S |
|---|---|---|---|---|---|---|---|
| No Adapt | 32.6 | 65.8 | 35.3 | 55.6 | 80.4 | 59.2 | 45.4 |
| TENT | 36.9 | 62.4 | 36.8 | 56.3 | 81.3 | 59.4 | 45.7 |
| FOA | 54.5 | 70.7 | 36.8 | 58.4 | 80.9 | 60.2 | 46.3 |
| Surgeon | 31.7 | 63.0 | 36.8 | 56.1 | 82.7 | 60.2 | 47.0 |
| NEO | 58.2 | 71.2 | 37.9 | 59.2 | 82.4 | 60.3 | 47.2 |
- 15 种腐蚀里 NEO 在 12 种取得最高、其余 3 种第二(仅被开销大得多的 Surgeon 超过);平均提升 3.6%,contrast 上几乎翻倍(32.6→58.2)。
- NEO 在任何一种腐蚀上都没有让精度下降——这与其他 TTA 常因调参不当而崩溃形成鲜明对比。
- ImageNet-C / ImageNet-R / ImageNet-S 上全面第一,CIFAR-10-C 上 7 个方法里赢 6 个。
消融实验表格¶
不同对齐方式对源/腐蚀 embedding 对齐质量的影响(ImageNet-C 严重度 5 高斯噪声,ViT-Base,50000 样本平均):
| 对齐方式 | 与 \(h(x)\) 余弦相似度 ↑ | L2 范数差 ↓ |
|---|---|---|
| \(h(\tilde x)\)(不对齐) | −0.44 | 4.33 |
| \(-\Delta_G\)(全局对齐) | 0.51 | 3.65 |
| \(-\Delta_G-\Delta_c\)(再加类别对齐) | 0.64 | 5.47 |
| \(-\Delta_G-\Delta_c-\delta\)(理想全对齐) | 1.00 | 0.00 |
| \(-\tilde\mu_G\)(原点居中,可计算) | 0.49 | 3.64 |
关键信号:原点居中(NEO 实际用的、唯一在 fully TTA 下可算的方案)在余弦相似度上几乎追平全局对齐,且范数差最小——印证了 \(\Delta_G=\tilde\mu_G\) 的理论。类别对齐虽提升余弦却恶化范数差,说明"只修全局"是正确取舍。
关键发现¶
- 极少样本即可适应:仅 1 个样本就让 ImageNet-C 精度涨 1.5%,1 个 batch(64 样本)后再加样本收益已很小(55.6→59.2)。
- 跨类别泛化:只用 1 个类别的数据适应,能让其余 999 个类别精度提升超 3%。
- 校准更好:12 个设置中 9 个 ECE 持平或改善;ViT-S/ImageNet-C 上 ECE 低于所有对比 TTA 方法。
- 边缘效率:Jetson Orin Nano 上 NEO 是唯一不增加推理时间、不增加峰值显存的方法;论文摘要报告相对 baseline 推理时间降 63%、显存降 9%。
- 持续适应:NEO-Continual 在 15 种随机排序腐蚀上优于 CoTTA,仅次于资源消耗大得多的 Surgeon。
- 质心可迁移:噪声类、模糊类腐蚀之间 \(\tilde\mu_G\) 余弦相似度高、跨域适应精度也高,意味着可复用质心、省去对每个域单独适应。
亮点与洞察¶
- 把 TTA 从"优化问题"降维成"减一个向量":当业界普遍在 backprop-free 里卷"仅前向迭代优化器"时,NEO 直接给出解析、无优化的方案,且有 neural collapse 的理论支撑而非纯启发式。
- "原点居中"的优雅等价:\(\mu_G=0_d\) 这一 neural collapse 结论让"对齐源质心"在无源数据时变得可执行,是全文最漂亮的一跳。
- 工程落地极低门槛:一行代码替换
nn.Linear,存储一个向量,天然 batch-size 无关、不遗忘、不依赖伪标签——对真实边缘部署友好。 - 诊断性实验扎实:少数维度承载偏移、逐级对齐分解、跨腐蚀质心相似度热图,把"为什么全局重居中就够"层层讲透。
局限与展望¶
- 架构覆盖窄:只在 ViT(ViT-S/B/L)上验证,CNN、ConvNeXt、混合架构等是否同样有"全局共享平移"未知。
- 只看倒数第二层:洞察局限于 penultimate-layer 激活,是否对其他层、其他 representation 成立留待未来。
- 理论假设较强:\(\mu_G=0_d\) 依赖 neural collapse + 类别平衡 + unconstrained features,类别严重不平衡或未充分训练的模型上等价性可能松动(实验虽用真实模型,但理论保证会打折)。
- 单一全局偏移的假设边界:NEO 假设所有测试样本来自同一分布;混合多源/快速漂移场景靠 NEO-Continual 的 EMA 缓解,但 \(\alpha\) 仍需人工设定,且只校正"平移"而非更复杂的协方差形变。
相关工作与启发¶
- 熵最小化 TTA(TENT/SAR/EATA)与 NEO 形成对照:前者更新 BN 仿射参数、需反向传播且对超参敏感;NEO 不动任何权重。
- 原型/输出型解析 TTA(T3A、LAME、FOA、Surgeon)同属无/弱优化阵营,但 T3A 按类估计原型样本不足、FOA 需源数据算统计量;NEO 用单一全局量规避了这些脆弱点。
- Neural Collapse(Papyan 2020、Súkeník 2023)此前多用于域泛化与 OOD 检测,本文首次把它引入 TTA 来论证"全局重居中足够",提供了一条"用收敛态几何指导部署期适应"的新思路。
- 启发:很多分布偏移问题或许并不需要重新优化模型,而只需在表示空间做一次几何校正——这对低功耗、隐私敏感的端侧持续学习是很有价值的范式。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 把 neural collapse 的 \(\mu_G=0\) 转化为可执行的原点居中,将 TTA 从优化降维成减一个向量,视角新颖且理论实证闭环。
- 实验充分度: ⭐⭐⭐⭐ 4 数据集 × 3 ViT × 7 baseline,覆盖精度/校准/单样本/单类别/持续/边缘设备,诊断实验扎实;扣分在仅限 ViT 与倒数第二层。
- 写作质量: ⭐⭐⭐⭐⭐ 从几何观察→理论命题→极简算法层层递进,图 3 的分解实验把动机讲得非常清楚。
- 价值: ⭐⭐⭐⭐⭐ 零超参、零优化、近零开销且不退化,一行代码可落地,对边缘/实时部署有直接实用价值。