Drainage: A Unifying Framework for Addressing Class Uncertainty¶
会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/ZKI-PH-ImageAnalysis/Drainage
领域: 噪声标签学习 / 鲁棒损失 / 开放集识别
关键词: 标签噪声, 类别不确定性, 排水节点, 鲁棒损失, 开放集识别
一句话总结¶
在分类网络的输出层额外加一个"排水节点"(drainage node)并配一个从交叉熵推广出来的"排水损失",让歧义、异常或被错标的样本把概率质量倒进这个节点而不是被强行塞进某个错误类别,从而在高噪声场景下比一众鲁棒损失高出最多 10% 准确率,并能直接复用为开放集识别的拒识器。
研究背景与动机¶
领域现状:主流分类范式(ResNet / ViT 等 + softmax + 交叉熵)预设了一组固定类别,网络输出是这些类别上的离散概率分布,训练时最大化预测与标签的一致。这套范式简洁有效,是几乎所有分类数据集和模型的默认结构。
现有痛点:真实数据并不总是干净地落在这个固定类别方案里。有的样本天然处在两类边界、标注员只能任意二选一(类内歧义);有的样本因为标注员疏忽、领域知识不足或自动标注而被彻底标错;还有的样本根本不属于任何已知类别。无论哪种情况,交叉熵都会逼着网络在固定类别里挑一个,把这些"脏"样本的梯度一股脑灌进某个类。
核心矛盾:作者点出,即便是 GCE、SCE、APL、ANL 这些专门的鲁棒损失,本质上仍对不确定/错标样本施加一个统一的惩罚(uniform penalty),网络在高不确定区域没有"逃生通道"——它无法说"这个样本我不确定",只能被迫做出有信心的预测。这是各种鲁棒损失设计共有的天花板,在非对称噪声和实例相关(instance-dependent)噪声下尤其致命。
本文目标:给网络一个原理化的逃生出口,让它能把"信息量低 / 歧义大 / 标错"的样本主动从类别预测中剥离出来,同时保持端到端可训练、可微、且能无缝退化成普通分类器。
切入角度:既然问题出在"概率质量无处安放",那就给它一个专门的去处。作者在输出层加一个额外神经元——排水节点 \(z_d\),专门吸收那些无法合理分配给任何类别的"多余"概率。
核心 idea:用一个"排水节点 + 排水损失"把类别不确定性从类别概率里显式分离出来,让歧义/异常/错标样本流向排水节点,而不是被任意分到某个错误类别。
方法详解¶
整体框架¶
方法对标准分类器只做两处改动,因此非常轻量。第一,在原本 \(C\) 个类别 logit \((z_i)_{i=1}^C\) 之外,额外加一个排水节点 logit \(z_d\),输出神经元集合变成 \(\big((z_i)_{i=1}^C,\, z_d\big)\)。第二,把训练损失从交叉熵换成排水损失,引导"无足够证据支持目标类"的样本去激活排水节点,而不是去激活非目标类。
推理时区分两种模式。开放排水(open drainage):softmax 归一化时把排水节点也算进分母,
此时 \(p_d\) 是一个显式的"不确定/未知"得分,可直接拿来做拒识或开放集识别。封闭排水(closed drainage):归一化只在类别上做、把排水节点排除,
这就退化成一个普通的 \(C\) 类分类器,可作为现有系统的 drop-in 替换。训练用开放排水(损失需要 \(p_d\)),分类推理用封闭排水,两种模式共享同一组权重、自由切换——这正是它"统一框架"的来源。
由于本方法是纯输出层 + 损失改进、没有多阶段串行或多模块协同的 pipeline,这里不画框架图,核心机制全部由下面的损失公式承载。
关键设计¶
1. 排水节点:给不确定性一个显式出口
针对的痛点是前面说的"网络在高不确定区域没有逃生通道"。做法是在输出层挂一个不对应任何真实类别的神经元 \(z_d\)。它在 softmax 里和普通类别一视同仁地参与竞争,但语义上专门承接"无法合理归到任何类别"的概率质量。和阈值法(对 \(\max_i p_i\) 卡阈值拒识)不同,排水节点产出的是一个专属的、被训练出来的不确定得分 \(p_d\),模型架构内部就完成了不确定性路由;和异方差(heteroskedastic)方法用额外神经元建模 \(\sigma(x)\) 相比,它不假设高斯噪声形式,而是直接在 softmax 概率空间里抢占概率。关键的工程价值在于:同一个 \(z_d\),训练期当正则、推理期当拒识器、做分类时又能整个无视掉,一套权重覆盖三种用途。
2. 排水损失:用 LSE 软约束把错标样本"引流"到排水节点
光加节点不够,得有损失逼样本流过去。设样本真实类为 \(t\),非目标类集合 \(J=\{1,\dots,C\}\setminus\{t\}\),其概率和 \(p_J=\sum_{j\in J}p_j\),排水损失定义为
其中 \(\alpha,\beta>0\) 为超参。它等价地可写成 logit 上的 log-sum-exp(可理解为软 max-pooling):
最小化一个 LSE 要求池内每一项都小,这等于施加了一组软约束:排水 logit \(z_d\) 和所有非目标 logit \(z_j\) 都被压在目标 logit \(z_t\) 之下(保证正常分类),而更关键的是——\(z_d\) 被鼓励超过非目标 logit \(z_j\)(即 \(z_j-z_d\) 项)。也就是说,当目标类证据不足、模型本想转投某个错误类时,损失会让它宁可投给排水节点也不要投给错类。这正是其它鲁棒损失缺的那个"逃生通道":CE 只惩罚 \(z_j-z_t\)(把非目标压在目标下),排水损失多塞了 \(z_d-z_t\) 和 \(z_j-z_d\) 两项,凭空给出一条引流路径。作者还证明了两条单调性(把概率从非目标搬向目标、或搬向排水节点,损失都不增)和损失对 logit 的凸性(LSE 凸 + 输入是 logit 线性函数),保证行为可控、线性模型下是凸优化。
3. α/β 软约束强度与"塌缩回交叉熵"的连续性
\(\alpha,\beta\) 控制各条软约束的强度,给方法一个连续可调的"鲁棒性旋钮"。\(\beta>\alpha\) 时强调"排水节点要压过错类",排水主导的区域随之扩大,模型更激进地把可疑样本判为 drainage。最漂亮的一点是它和交叉熵的连续衔接:CE 本身也能写成池化形式 \(\ell_{\mathrm{CE}}=\mathrm{LSE}\big(0,(z_j-z_t)_{j\in J}\big)\);在排水损失里取 \(\alpha=1\)、\(\beta\to0\)、并令排水节点取其最优 \(p_d=0\),排水损失精确退化为交叉熵。这说明排水损失是 CE 的一个严格超集——干净数据上它就是 CE,噪声越大引流项越起作用。实践中作者把 \(\beta\) 直接设为 \(1/\alpha\),只需调 \(\alpha\)(CIFAR-10 取 1、CIFAR-100 取 0.1)。
4. 断开 \(z_d\) 适配开放集识别(OSR)
定性分析发现排水节点的响应天然和"类别歧义 / 分布外"强相关:把验证样本按 \(p_d\) 升序排,左边是典型清晰的样本、右边逐渐变成离群、错标、甚至画作(协变量偏移)。顺着这个观察,作者做一个建模决策——把 \(z_d\) 从网络断开、固定为常数 \(z_d=\text{cst}\)。这样排水节点不再被网络主动调控,而是被动收集"所有类别 logit 都不强响应"的样本,即缺乏任何已知类视觉证据的输入。二维玩具实验里,常数 \(z_d\) 能把数据包得更紧、同时保持类间边界,使模型适配 OSR。推理时既可用排水概率 \(p_d\) 直接当未知得分,也可把它融进最大 softmax 概率(MSP)做拒识。
一个例子:MNIST 上的系统性错标¶
作者在 MNIST 上做了个直观演示:把训练集里所有 7、8、9 的样本随机重标成 0–6 的标签(系统性错标)。用排水损失训练后,测试集上原本属于 7、8、9 的样本被一致地预测为 drainage——模型没有被这些被污染的标签带偏去学错误的类边界,而是识别出"这批样本和给定标签对不上",统统倒进排水节点。这就把抽象的"引流"机制变成了画面:错标不是被强行学进去,而是被排水节点吸走。
实验关键数据¶
主实验:合成噪声(CIFAR-10/100,准确率%)¶
8 层 CNN(CIFAR-10)/ ResNet-34(CIFAR-100),对比 CE、GCE、SCE、AFL、APL、ANL-CE。下表摘取高噪声档,排水损失在噪声越大时领先越明显。
| 数据集 / 噪声 | 本文 Drainage | 次优方法 | 提升 |
|---|---|---|---|
| CIFAR-10 非对称 0.45 | 82.23 | CE 77.92 | +4.3 |
| CIFAR-10 实例 0.5 | 64.22 | GCE 59.27 | +5.0 |
| CIFAR-100 非对称 0.4 | 61.55 | GCE 55.08 | +6.5 |
| CIFAR-100 非对称 0.45 | 52.69 | GCE 42.70 | +10.0 |
| CIFAR-100 实例 0.5 | 53.01 | GCE 48.12 | +4.9 |
低噪声/无噪声档各方法基本打平(CIFAR-10 noise=0 时 CE 92.16 反而最高,Drainage 91.30),印证了"干净数据上排水损失≈CE"的连续性设计。
真实世界噪声(准确率%)¶
| 数据集 | 类数 | 噪声% | 本文 | 次优 | 说明 |
|---|---|---|---|---|---|
| CIFAR-10N (Worst) | 10 | 40.2 | 79.85 | GCE 81.70 | 略低于 GCE/AFL |
| CIFAR-100N (Noisy) | 100 | 40.2 | 57.77 | ANL-CE 56.62 | 结构化噪声占优 |
| Mini-WebVision | 50 | 20.0 | 68.80 | ANL-CE 67.53 | 超 SOTA |
| ILSVRC12 | 50 | 0.0 | 64.90 | ANL-CE 65.77 | 第二 |
| Clothing-1M | 14 | ~38.5 | 70.42 | AFL 68.94 | 约 +1.5~2 |
开放集识别(ROC AUC,5 次随机移除 4 类的平均)¶
固定 \(\alpha=\beta=1\)、\(z_d\) 取常数,只换一个评分规则,不额外调参就超过 CE-MSP 基线。
| 损失 / 评分 | SVHN | CIFAR-10 |
|---|---|---|
| CE / MSP | 91.0 | 67.3 |
| Drainage / MSP(排除 \(d\)) | 92.0 | 72.2 |
| Drainage / 直接用 \(p_d\) | 92.3 | 72.4 |
关键发现¶
- 领先幅度随噪声单调放大:低噪声各方法挤在一两个点内,噪声升高后 Drainage 与次优的差距越拉越大,CIFAR-100 非对称 0.45 直接拉开 10 个点——逃生通道的价值在高噪声区才充分释放。
- 类别空间越大越受益:CIFAR-100(决策边界更多)上 CE 相比 CIFAR-10 掉得更狠,而 Drainage 在大类别空间下优势更突出,说明显式分离不确定性在复杂边界上更划算。
- 去噪是涌现行为:定性上排水神经元会一致地吸走污染、错标、离群样本(WebVision 里把鲸鱼标成大白鲨的脏样本响应最强),决策边界更稳定,而非靠人为清洗。
- 超参极简:\(\beta=1/\alpha\),只调一个 \(\alpha\),且跨噪声类型复用同一组参数,L1 正则对它和 ANL 同样有效。
亮点与洞察¶
- CE 的严格超集:排水损失能精确退化为交叉熵(\(\alpha=1,\beta\to0,p_d=0\)),这意味着它在干净数据上零成本、在噪声数据上才付出代价,几乎没有"用错了更差"的风险——这种"向下兼容"是它敢叫 unifying framework 的底气。
- 一节点三用:同一个 \(z_d\) 训练当正则、推理当拒识、分类时直接 mask 掉,一套权重覆盖鲁棒分类 + OSR 两个任务,工程上极省事。
- 把"不确定"做成可优化的目标:多数鲁棒损失是"少惩罚脏样本",而 Drainage 是"给脏样本一个正确的去处",并用 LSE 软约束 + 单调性证明保证 \(z_d\) 在错类之上、目标之下——动机非常具体地落在"escape uniform penalty"上。
- 可迁移思路:"加一个吸收型输出节点 + 在 LSE 池里塞引流项"这套范式,理论上可迁到检测的背景类、分割的 void 类、检索的拒识等任何"需要显式表达'都不是'"的场景。
局限与展望¶
- 作者承认:Drainage 需要按应用做定制适配——鲁棒分类用封闭排水/学习型 \(z_d\),OSR 则要把 \(z_d\) 断开设常数,并没有一套配置通吃所有任务。
- 真实噪声非全胜:CIFAR-10N、ILSVRC12 上 Drainage 只是第二、未夺冠,优势主要体现在结构化(非对称 / 实例相关)噪声上;对称/随机噪声场景下相对 GCE 等并无明显优势。⚠️ 论文未细分不同噪声结构下的胜负边界,实际选型需结合噪声类型判断。
- 与样本混合正交但未联合:作者指出 Drainage 与 MixUp/CutMix 在输入层正则上互补(一个改输入、一个改输出),但把两者结合的协同效应留作未来工作,尚无实验。
- OSR 评测较轻量:OSR 只在 SVHN/CIFAR-10、3 层小骨干、移除 4 类的设定下验证,规模和强 OSR 基线对比都偏简单,普适性待进一步检验。
相关工作与启发¶
- vs 鲁棒损失(GCE / SCE / APL / ANL):它们都对不确定样本施加统一惩罚、网络无处可逃;Drainage 多给一个排水节点和两条引流软约束,让样本能"主动认怂",这是高噪声下领先的根因。
- vs 异方差(heteroskedastic)方法:同样加额外输出神经元建模不确定性,但异方差假设 \(y|x\sim\mathcal N(\mu,\sigma)\)、在似然框架里学 \(\sigma(x)\);Drainage 不假设噪声分布,直接在 softmax 概率空间里让 \(z_d\) 抢概率,且原生支持分类。
- vs 开放集识别(OpenMax / MSP / 反事实不确定性):OSR 一类靠对 \(\max_i p_i\) 卡阈值、一类估计背景/未知得分;Drainage 属后者,但把不确定性路由内建进架构与损失、端到端训练,而非事后附加一个评分头。
评分¶
- 新颖性: ⭐⭐⭐⭐ 排水节点 + 排水损失思路简洁但切中"无逃生通道"的真痛点,并优雅地把 CE 收为特例。
- 实验充分度: ⭐⭐⭐⭐ 合成/真实/OSR 三类噪声、5 数据集、6 个强基线 + 单调性凸性证明,但 OSR 部分偏轻量。
- 写作质量: ⭐⭐⭐⭐ 机制、公式、退化关系讲得清楚,定性可视化有说服力。
- 价值: ⭐⭐⭐⭐ 近乎零成本的 drop-in 鲁棒损失,高噪声大类别空间增益显著,且能复用于 OSR。