跳转至

Dual Distribution Estimation for Zero-shot Noisy Test-Time Adaptation with VLMs

会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/PolyU-VCLab/OpenOOD-VLM
领域: 多模态 VLM
关键词: 噪声测试时适应、零样本分类、分布外检测、双分布估计、负标签筛选

一句话总结

DDE 冻结 CLIP,用类包含/排除高斯分布校准分类、用正负图像响应差筛选负标签,在零样本噪声测试流上同时改善分类与拒识,ImageNet 平均调和准确率由 AdaND 的 73.09% 提升至 76.79%。

研究背景与动机

CLIP 一类视觉语言模型可以把类别名称编码为文本原型,再按图文相似度完成零样本分类。 测试时适应希望利用部署过程中到来的无标签图像,修正预训练模型与当前数据之间的偏差。 但许多方法默认每张测试图像都属于预先给定的类别集合,真实数据流却可能夹杂完全不属于这些类别的图像。 如果仍对这些分布外图像进行自训练或缓存更新,模型可能把错误预测当作可靠监督,进而损害正常图像的分类。 本文研究的噪声测试时适应(NTTA)因此要求系统在线完成两个目标:正确分类分布内(ID)图像,并拒绝分布外(OOD)图像。 这里的“噪声”主要指语义上不属于 ID 标签空间的输入,而不是单纯的像素噪声或训练集错标。

已有零样本 NTTA 方法 AdaND 在测试过程中训练噪声检测器,但分类仍较依赖 CLIP 的图文对齐。 一张真实图像即使属于某类,也可能因为姿态、背景或外观差异而远离该类文本原型。 只保留高置信度实例也不能自动刻画整个类别的视觉分布,尤其难以区分相邻类别的混淆区域。 检测端还有另一种失配:与 ID 类名在文本空间相距很远的负标签,不一定是当前 OOD 图像最合适的描述。 有些负标签反而会被干净的 ID 图像激活;把大量这样的词加入检测分母,会增加误拒识。 同时,在线训练需要足够多的样本和额外优化开销,不利于短数据流与低延迟部署。

作者的切入点不是再训练一个更复杂的判别器,而是分别估计视觉特征分布和负标签响应分布。 前者回答“这一类在当前图像流中长什么样、哪些近邻不该归入它”,后者回答“哪些负标签真正区分当前的 ID 与 OOD”。 这两种统计信息服务于不同决策,不能把“分类更准确”等同于“未知输入更容易识别”。 核心 idea:用包含与排除高斯分布修正 ID 分类边界,再用正负图像上的响应差动态筛选 OOD 负标签,在不更新 CLIP 参数的前提下联合改善分类与拒识。

方法详解

整体框架

输入是已知 ID 类别名称、候选负标签和按批到来的无标签测试图像;图像与文本编码器均保持冻结。 系统先计算图像对 ID 与负标签的相对支持度,挑出伪正样本和伪负样本,分别更新两个有容量限制的缓存。 正特征分布估计(PFDE)利用可靠 ID 图像建立分类统计,负标签分布估计(NLDE)则同时利用正负图像筛选检测词表。 最后,自适应阈值决策把检测得分转换为 ID/OOD 判定;只有被接受为 ID 的输入才使用融合分类器给出的类别。 输出因此既包含已知类预测,也包含用于识别未知输入的 OOD 得分或拒识结果。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
        Input["无标签图像流<br/>ID 与候选负标签"] --> Encode["冻结 CLIP 编码<br/>初始 ID 得分"]
        Encode --> Cache["伪正与伪负<br/>双缓存更新"]
        Cache --> PFDE["正特征分布估计<br/>PFDE"]
        Cache --> NLDE["负标签分布估计<br/>NLDE"]
        PFDE -->|融合类别预测| Decide["自适应阈值决策"]
        NLDE -->|筛选后 ID 得分| Decide
        Decide --> Output["接受并分类<br/>或拒绝为 OOD"]

初始 ID 得分是图像在 ID 标签与负标签共同构成的归一化响应中,分配给全部 ID 标签的总量。 得分高表示更支持已知类别,不表示已经知道该图像的真实标签。 论文用得分不低于 0.75 的样本作为伪正样本,用低于 0.25 的样本作为伪负样本。 中间区间的样本不进入这两个高置信度集合,但仍是需要输出预测的测试输入。 两个缓存各自的容量上限都是 \(Q=1000\),并不是给每个类别都保存 1000 张图像。 以下三个设计对应分类、负标签选择和最终决策;其中自适应阈值继承已有方法,不应单独视为全新贡献。

关键设计

1. 正特征分布估计:同时描述属于该类与容易误归该类的区域

PFDE 不只为每个 ID 类建立一个“典型外观”的分布,而是维护包含与排除两套高斯统计。 对类别 \(k\),CLIP 首选预测为 \(k\) 的伪正样本进入包含分支,用来描述该类在当前测试流中的视觉变化。 首选不是 \(k\)、但次选是 \(k\) 的伪正样本进入该类的排除分支,用来描述最容易造成混淆的相邻区域。 排除分支不是把全部 OOD 图像当作这一类的反例,也不是把所有其他 ID 类简单混在一起。 它刻意聚焦于“差一点被判成这一类”的 ID 样本,因此能对文本原型附近的局部歧义提供更具体的校准。 同一图像可以给首选类提供包含证据,同时给次选类提供排除证据;两者不是互相冲突的监督。

作者在高斯判别分析(GDA)框架下估计类条件均值与协方差,并以均匀类别先验计算后验。 论文将更新描述为 EM 式过程:先取得类别概率,再用带概率权重的当前特征与历史有效样本量更新统计。 历史累计量使类别估计不只依赖眼前这一小批图像,而新特征使分布能够贴近部署数据。 为防止样本不足时协方差求逆奇异,作者采用单位阵收缩,收缩系数为 \(10^{-4}\)。 缓存公式的部分下标、减号和分母存在提取损坏,因此这里不重造完整均值、协方差递推或 GDA logit 公式。 可以明确确认的分类机制是:包含分支提供正证据,排除分支按权重扣除,随后与 CLIP 零样本分类分数融合。

按第 8 页的文字定义,分布分类分数及其随数据量变化的融合权重为:

\[ f_k(x)=f_k^{\mathrm{in}}(x)-\beta f_k^{\mathrm{ex}}(x), \qquad \alpha_t=\min\bigl(\rho B t,\alpha_{\max}\bigr). \]

其中 \(B\) 是批大小,\(t\) 是当前批次序号,\(\rho=0.005\),\(\beta=0.5\),上限 \(\alpha_{\max}\) 通常为 1.0。 系统将 \(\alpha_t f_k(x)\) 加到 CLIP 的类别 logit 上,再归一化为融合类别概率。 数据很少时,分布估计还不可靠,因此模型主要相信冻结的零样本先验。 数据增加后,历史视觉证据的影响才逐步增强;这与一开始就让少量伪标签主导分类不同。 需要注意,增大的权重取决于累计处理量,而不是经过真实标签验证的分布估计精度。

2. 负标签分布估计:选择对 OOD 强、对 ID 弱的词

初始候选负标签沿用 NegLabel 的思路,从大词表中寻找远离 ID 类名的标签。 这种文本空间筛选只提供起点,并不能保证这些词能描述测试流中的未知图像。 NLDE 因而计算每个负标签在伪负图像缓存和伪正图像缓存上的平均归一化图文响应。 归一化响应同时考虑 ID 与负标签,而不是只在负标签之间比较裸余弦相似度。 一个词如果在两类图像上都很活跃,可能只是共享背景或通用视觉属性,不是可靠的 OOD 证据。 真正有价值的是它在伪负图像上明显更强,而在伪正图像上较弱。

论文第 8 页将这一判别依据定义为正负响应差;其含义可写为:

\[ \Delta\mathrm{Sim}(y_i^-) =\mathrm{Sim}(\mathcal{X}_{\mathrm{neg}},y_i^-) -\mathrm{Sim}(\mathcal{X}_{\mathrm{pos}},y_i^-). \]

这里 \(\mathrm{Sim}\) 是某个标签在相应图像集合上的平均归一化响应,而不是一个额外训练出来的预测器。 系统按响应差选取前 \(\hat M\) 个负标签,再用这个精简词表重新计算 ID 总响应得分。 ImageNet 默认取 \(\hat M=500\),细粒度数据集取 \(\hat M=100\)。 因此 NLDE 估计的是“哪些负标签被什么图像支持”的分布,并不是给每个负标签再拟合一个高斯。 PFDE 内部已有包含/排除两套高斯,而方法名中的双分布还强调 PFDE 与 NLDE 两个互补层面,应避免混为一谈。 上述减法依据正文明确描述;原始归一化式的温度位置与部分符号提取不完整,不在笔记中补写精确实现。

3. 自适应阈值决策:把排序得分转成在线拒识结果

负标签筛选之后,系统仍需决定多高的 ID 得分才足以接受输入。 固定阈值可能适合一个标签空间,却不适合另一组类别或另一种 OOD 来源。 作者采用 OWTTT 的自适应阈值思想,利用得分分布的双峰性,寻找使两侧组内方差较小的切分位置。 得分不低于阈值的样本被接受为 ID,其类别取融合分类器的预测;其余样本判为噪声。 用于建缓存的 0.75/0.25 阈值与这里的最终拒识阈值承担不同任务,不能视为同一组超参数。 前者宁愿少选一些样本以提高统计可靠性,后者必须对整个输入流给出决策。 也不能直接拿 PFDE 的最大类别概率替代 NLDE 得分,否则会重新把“已知类中最像谁”和“是否属于已知类”混在一起。

一个完整示例

以下是解释机制的假设例子,不是论文报告的额外实验。 假设已知类别包含两种汽车,而当前图像流夹杂船只照片。 一张 ID 得分为 0.90 的汽车图像超过 0.75 门槛,进入伪正缓存;若首选为类别 A、次选为 B,它分别更新 A 的包含分支和 B 的排除分支。 一张得分为 0.10 的船只图像低于 0.25 门槛,进入伪负缓存,主要为负标签筛选提供证据。 如果“船”在伪负图像上的平均响应远高于伪正图像,它更有机会被保留;若“道路”在汽车图像上也强烈激活,则会受到响应差的抑制。 后续模糊汽车图像既能受益于更贴近视觉数据的分类分布,也能避免被无关负标签轻易拒绝。 这个例子说明两条路径需要合作,但不保证这些假设输入一定被模型正确处理。

损失函数 / 训练策略

“免训练”指没有为 CLIP、提示或新噪声检测器进行梯度优化,并不表示模型的全部状态保持不变。 在线变化的状态包括两个缓存、类别高斯统计、筛选后的负标签以及自适应阈值。 论文的 EM 式统计估计以似然为依据,但不引入需要反向传播的新网络训练任务。 主实验使用 CLIP ViT-B/16;算法 1 按当前批次选择样本、更新统计、融合分类、筛选负标签并计算拒识阈值。 因此这是允许当前无标签批次参与适应的在线评测,不应自动等同于严格“先预测、后更新”的逐样本协议。 给定缓存未包含补充材料,初始化细节、具体批大小、缓存淘汰规则和精确指标实现仍需原文代码或补充材料进一步核对。

实验关键数据

主实验

实验在零样本、无源数据条件下,将各 ID 数据集与 iNaturalist、SUN、Texture、Places 四种 OOD 来源分别组成测试流。 \(\mathrm{Acc}_S\) 表示 ID 分类准确率,\(\mathrm{Acc}_N\) 表示噪声检测准确率,两者越高越好。 论文使用调和平均 \(\mathrm{Acc}_H=2\mathrm{Acc}_S\mathrm{Acc}_N/(\mathrm{Acc}_S+\mathrm{Acc}_N)\),避免只优化分类或只优化拒识。 下表保留原表按四个 OOD 来源汇总的平均值,不把平均 \(\mathrm{Acc}_S\)、平均 \(\mathrm{Acc}_N\) 再计算一次调和平均。

来源:表 2,第 11 页;CLIP ViT-B/16,指标为平均 \(\mathrm{Acc}_H\)(%),提升单位为百分点。

ID 数据集 AdaND DDE DDE 相对 AdaND
ImageNet 73.09 76.79 +3.70
ImageNet-S 53.77 57.83 +4.06
ImageNet-A 56.41 62.98 +6.57
ImageNet-V2 67.72 71.29 +3.57
ImageNet-R 80.25 83.24 +2.99

AdaND 是这里统一选取的对照,不是每个数据集上的最强其他方法;例如 ImageNet-S 的 DMN 与 AdaNeg 均为 55.75%。 ImageNet-A 上的提升说明 DDE 对较强视觉分布偏移也有帮助,但该结果不能证明所有未知域都适用。 作为独立检测评测,表 4 还报告 AUROC 与 FPR95;后者是在 95% 真阳性率操作点的假阳性率,越低越好。

来源:表 4,第 13 页;ImageNet 为 ID,四种 OOD 来源的平均检测指标(%)。

方法 AUROC FPR95
NegLabel 94.21 25.40
AdaNeg 96.66 18.92
AdaND 95.58 16.00
DDE 97.89 9.80

相对 AdaND,DDE 的平均 FPR95 降低 6.20 个百分点;这不是“错误数量减少 6.20%”的相对比例结论。 AUROC 衡量得分排序的整体区分能力,而 NTTA 的调和准确率还依赖具体阈值与已知类别预测,二者不能互相替代。

消融实验

来源:表 5,第 13 页;ImageNet 的干净/噪声流组件消融,数值均为准确率(%)。 表题未明确标注噪声来源;完整模型的 65.57/96.25/78.00 与表 2 的 ImageNet+SUN 一致,但这里不把这一对应当作已确认的完整协议。

配置 干净流 AccS 噪声流 AccS 噪声流 AccN 噪声流 AccH
基线,无新增组件 66.62 53.43 83.96 65.30
仅 PFDE 包含分支 69.62 61.87 88.34 72.77
PFDE 包含+排除 70.34 62.69 88.90 73.52
仅 NLDE 66.83 55.72 95.99 70.51
PFDE 包含+排除,NLDE 70.81 64.14 95.76 76.82
完整模型,增加自适应阈值 71.14 65.57 96.25 78.00

关键发现

  • 加入排除分支使噪声流 AccH 从 72.77% 增至 73.52%,提升 0.75 个百分点,支持针对近边界样本建模的价值。
  • NLDE 单独使用时把 AccN 从 83.96% 提高至 95.99%;96.25% 属于完整系统,不能全归因于 NLDE。
  • PFDE 与 NLDE 合用后,加入自适应阈值进一步把 AccH 从 76.82% 提高至 78.00%,提升 1.18 个百分点。
  • 图 3h 与第 13 页讨论显示,负标签数从最佳 500 增至 1000 时,AccH 从 78.00% 降至 71.28%,说明更多负标签不一定更好。
  • 表 7(第 14 页)在 RTX 3090 上报告 DDE 总测试时间 1.84 分钟、显存 5.41 GiB;AdaND 为 6.59 分钟、4.57 GiB。DDE 更快,但这里并非显存更低。

原文一致性提示:第 10 页写 ImageNet-R 相对 AdaND 提升 3.01%,但表 2 的 83.24 与 80.25 相差 2.99 个百分点。 同页 ImageNet+iNaturalist 正文写 AccS/AccN 为 67.73/99.42,表 2 则为 67.72/99.45;本笔记的数值对比依据表格,不擅自统一这些差异。

亮点与洞察

  • 把易混淆区域变成显式反证。 排除分布不是泛化的“其他类”平均,而是围绕某类的次选混淆样本建模,能够补充单个正原型难以表达的边界信息。
  • 负标签应由当前图像流决定价值。 仅与 ID 类名语义不同还不够;正负缓存的响应差提供了一个免训练的判别依据,也解释了为何扩大词表可能适得其反。
  • 把零样本先验当作冷启动保护。 随样本数增长的融合权重让模型逐渐使用视觉分布,而不是立即信任小样本统计,这一思路可借鉴到其他在线原型方法。

局限与展望

  • 伪标签仍是薄弱点。 这是读者推断:高置信度不等于正确,若早期 OOD 被收入正缓存,分类统计与负标签选择可能同时受污染。
  • 高斯与均匀先验具有适用边界。 多峰类分布、极端类别不均衡或持续域切换可能不符合估计假设;论文没有据此给出普遍鲁棒性保证。
  • 负词表大小需要选择。 图 3h 的明显退化表明该参数不是无关紧要的实现细节;能否依据当前流自动确定标签数量值得研究。
  • 效率优势不等于零成本。 统计更新、协方差处理和缓存仍消耗内存,表 7 也显示 DDE 显存高于 AdaND;更大标签空间下的开销仍需专门测试。
  • 可复现细节仍有缺口。 本次全文缓存止于参考文献,未附补充材料;损坏公式、精确指标口径与部分数值差异限制了逐式复现,以上没有被当作已验证实现。

相关工作与启发

  • AdaND,原文参考文献 [3]: 同样面向零样本 NTTA,但在线训练噪声检测器。DDE 用统计估计替代这部分学习,并额外利用视觉分布改善已知类分类。
  • NegLabel [18] 与 AdaNeg [58]: 前者提供负标签检测基础,后者利用动态负代理;DDE 进一步用正负图像响应差筛出更有判别力的负标签。
  • DOTA [13] 与 DMN [60]: 分别代表分布建模和记忆式 VLM 适应。DDE 将包含/排除分布与 OOD 感知的负标签筛选结合,而不是只增加正样本记忆。
  • OWTTT [24]: 为最终拒识提供自适应阈值思想。应将继承的阈值机制与 PFDE、NLDE 的方法贡献区分开。
  • 研究启发: 可尝试让分布不确定性而不是处理样本量控制融合权重,同时监测正负缓存污染;这是基于本文机制的后续设想,不是已有实验结论。

评分

  • 新颖性: 4/5。包含/排除分布与负标签响应差的组合有明确针对性,但 GDA 和自适应阈值本身属于已有工具。
  • 实验充分度: 4/5。覆盖多种 ID、OOD、骨干及组件分析,但部分协议细节依赖未提供的补充材料。
  • 写作质量: 3/5。总体机制清楚,正文与表格存在数值不一致,当前缓存公式还不足以支持精确复现。
  • 价值: 4/5。为冻结 VLM 的在线分类与未知输入拒识提供了实用的统计路线,部署前仍需验证缓存可靠性和资源成本。