摘要:主动学习(Active Learning, AL)在标注预算受限场景中被广泛采用,而基于不确定性的采集函数几乎默认使用模型输出的总不确定性(预测熵、最小置信度、margin 等)作为排序依据。问题在于,总不确定性可分解为偶然不确定性(aleatoric uncertainty,数据本身固有噪声)与认知不确定性(epistemic uncertainty,模型因数据不足产生的无知)。前者随样本量增加不会收敛到零,后者才会。用总不确定性选样本,等于把不可学习的噪声样本与真正值得标注的高信息样本混在同一排序里,标注预算被系统性稀释。本文以“不确定性可分解性—可辨识性—可操作性”为主线,梳理偶然/认知不确定性的定义与估计方法,分析总不确定性采集的失效机制,提出一套可落地的分解式采集流程:先做偶然不确定性估计与噪声样本降权,再用认知不确定性排序采集,最后用预算-收益曲线与停止准则控制浪费。文中给出工程参数、伪代码、对比表格与可验证的公开数据来源,并对该方向的边界条件与前沿走向作出判断。
目录
一、导语:一个被默认设置掩盖的预算浪费
在标注预算固定的现实约束下,主动学习的价值主张非常清晰:用更少的标注样本达到同等或更优的模型性能。主流工具箱(如 modAL、ALToolbox、Baal、scikit-activeml)的默认采集策略,几乎都围绕“模型最不确定的样本优先标注”展开。这个默认设置之所以流行,是因为它在很多基准上确实有效,且实现成本极低——一次前向传播拿到 softmax 概率,算个熵就能排序。
但这里有一个长期被忽略的语义错位:模型输出的不确定性,并不等于“标注这个样本能带来的信息增益”。预测熵高,可能因为模型没见过这类样本(认知不确定性,值得标),也可能因为样本本身标签就模糊、噪声大、甚至标注者之间都难以一致(偶然不确定性,标了也学不会)。把两者混在一起排序,等于把“可学习的困难”和“不可学习的噪声”放在同一张清单上,而预算只够标注清单的前一小部分。
笔者认为,这个问题的严重性被基准评测的结构性偏差掩盖了。学术基准(如 CIFAR-10/100、ImageNet 子集)的标签质量普遍较高,偶然不确定性占比低,因此总不确定性采集的失效不明显;而真实业务数据(医疗影像、工业质检、众包标注、用户生成内容)中标签噪声与固有模糊性显著更高,失效就会被放大。换句话说,越是需要主动学习省预算的场景,越容易踩到这个坑。
本文的核心主张可以压缩成一句话:主动学习应该优化的是“单位标注成本下的认知不确定性削减量”,而不是“总不确定性的大小”。前者才与预算效率直接挂钩,后者只是一个粗糙的代理指标。
为了让讨论不停留在概念层面,本文会给出可执行的分解流程、关键超参与阈值设定方法、预算-收益曲线的读法,以及什么时候应该停止采集。所有涉及数量的结论都会标注来源或明确标注为模拟/整合数据,避免把思辨包装成实证。
二、背景与问题定义:两类不确定性到底差在哪
2.1 定义:偶然不确定性与认知不确定性
在贝叶斯深度学习语境下,给定输入 x 与模型参数 θ,预测分布可写为 p(y|x) = ∫ p(y|x,θ) p(θ|D) dθ。总不确定性(总熵)可分解为:
H[p(y|x)] = I[y, θ | x] + E_{p(θ|D)}[ H[p(y|x,θ)] ]
总不确定性 = 认知不确定性(互信息) + 偶然不确定性(条件熵期望)
其中第一项 I[y,θ|x] 是预测与参数之间的互信息,衡量“如果知道真实参数,预测能减少多少不确定性”,这正是认知不确定性的标准定义;第二项是各参数假设下条件熵的期望,衡量“即使知道参数,标签本身还剩多少随机性”,即偶然不确定性。这个分解在 Houlsby 等人的 BALD 工作中被系统化(Houlsby et al., 2011, ICML),此后成为贝叶斯主动学习的理论基石。
本文评述:这个分解在数学上是干净的,但在工程上有一个关键陷阱——它依赖对后验 p(θ|D) 的可靠近似。如果后验近似质量差(例如 MC Dropout 的 dropout 率设置不当、深度集成成员数太少),互信息估计会有偏,分解出来的“认知部分”可能并不可信。因此分解式采集不是免费的午餐,它把问题从“选样本”转移到了“估得准不准”。
2.2 为什么偶然不确定性“加数据消不掉”
偶然不确定性来源于数据生成过程本身的随机性:同一输入在不同观测下可能对应不同标签,或标签由多名标注者给出时存在系统性分歧。它不会因为样本量增加而收敛到零,因为它是数据分布的内在属性,而不是模型的无知。一个直观例子:在医学影像中,某些病灶边界在影像学上就是模糊的,多位专家标注也可能不一致;在情感分析中,反讽句的情感极性本身就存在合理歧义。
笔者认为,工程上更实用的判据是“重复标注一致性”:如果同一批样本让多名标注者独立标注,一致性低(如 Cohen's kappa 低、Fleiss kappa 低),那这部分分歧就是偶然不确定性的经验下界。它不随你标更多同类样本而消失,只随标注规范的细化而部分降低——而规范细化本身是另一类成本。
2.3 总不确定性采集的失效机制
把总不确定性作为采集分数,失效路径可以拆成三步:
第一步,噪声样本天然高熵。标签模糊或矛盾的样本,模型学到的条件分布本身就接近均匀,熵自然高。它们在总不确定性排序中稳定占据前列。
第二步,采集预算被前置消耗。每轮采集取 top-k,噪声样本反复入选。标注它们既不能有效降低认知不确定性,还可能把错误标签引入训练集,进一步污染模型。
第三步,模型校准恶化。噪声标签训练会让模型过度自信或过度保守,预测熵的排序能力下降,形成负反馈。这一点在标签噪声鲁棒学习的文献中有较充分讨论(如 Natarajan et al., 2013; Song et al., 2022 的综述性工作)。
一个便于记忆的类比:总不确定性像“题目难度”,认知不确定性像“你没学过的知识点”,偶然不确定性像“题目本身出错了”。考试复习时间有限,应该优先补没学过的知识点,而不是反复研究一道错题。主动学习的预算分配,本质上是同一道理。
2.4 问题的形式化:预算约束下的采集目标
设标注预算为 B,每轮采集 k 个样本,采集函数为 a(x)。我们希望最大化的是验证集性能的期望提升,或等价地,最小化认知不确定性的剩余量。形式化地:
max_{a} E[ U_epi(D) - U_epi(D ∪ label(a(X))) ] s.t. |label(a(X))| ≤ B
其中 U_epi 为认知不确定性度量(如互信息总和、集成方差)
这个目标与“最大化总不确定性”的差别在于:它显式地把偶然不确定性排除在收益之外。本文评述:该形式化仍是理想化的,因为真实标注会引入新噪声、分布会漂移;但作为设计采集函数的出发点,它比总不确定性更贴近预算效率的真实含义。
三、原理与技术路线:分解式采集的完整链路
3.1 总体架构:先降噪、再排序、后止损
笔者建议把分解式主动学习拆成三个串联模块,而不是单一采集函数:
模块 A(噪声侧):估计每个未标注样本的偶然不确定性或“可学习性”,对高偶然不确定性样本降权或直接排除。
模块 B(信息侧):在剩余候选池上,用认知不确定性(互信息、集成方差、BALD 变体)排序,选出 top-k。
模块 C(止损侧):用预算-收益曲线监控边际收益,设定停止准则,避免在收益趋平时继续烧预算。
这个架构的关键在于模块 A 与 B 的解耦。很多工程实现把两者揉进一个分数(例如熵减去某个置信度惩罚),结果超参难调、可解释性差。解耦之后,每个模块可以用不同的估计器、不同的验证方式,出问题也容易定位。
3.2 偶然不确定性的估计方法
工程上可用的估计路径主要有四类,各有适用边界:
| 方法 | 核心思路 | 适用边界 |
|---|---|---|
| 异方差回归头 | 模型同时输出均值与方差,方差项即偶然不确定性估计(Kendall & Gal, 2017) | 回归任务、可加高斯噪声假设成立时 |
| 重复标注一致性 | 用多名标注者的分歧率估计标签噪声下界 | 有人工复核预算、可抽样重标时 |
| 标签噪声建模 | 用噪声转移矩阵或混合模型估计 P(观测标签|真实标签) | 类别数不大、有干净小验证集时 |
| 近邻一致性 / 密度 | 特征空间中近邻标签分歧大,提示偶然不确定性高 | 无额外标注预算时的低成本代理 |
本文评述:异方差回归头在理论上优雅,但它估计的是“模型认为的噪声”,而不是“真实噪声”,在分布外样本上容易失真。重复标注一致性最可靠,但成本高,适合做小样本校准而非全量估计。笔者认为,实践中更稳妥的做法是组合使用:用近邻一致性做全量粗筛,用重复标注在粗筛的高风险区做精标定,再用标定结果校准粗筛阈值。
关于 MC Dropout 与深度集成的实现细节,可参考 Gal & Ghahramani 的原始工作(2016)以及后续的实用教程。一个可操作的入门资源是 BatchBALD 官方实现,其中对互信息估计的批处理版本有清晰代码;另一个是 Baal 主动学习库,内置了 BALD、熵、核心集等多种策略,便于做对照实验。
3.3 认知不确定性的估计与排序
认知不确定性的主流估计器包括:MC Dropout 下的互信息(BALD)、深度集成(Deep Ensembles, Lakshminarayanan et al., 2017)的预测方差、随机权重平均高斯(SWAG)等。工程选型时,笔者建议优先考虑深度集成,原因是它的方差估计更稳定、对超参不敏感,代价是训练成本随成员数线性增长。成员数 5 是文献中常见的折中(Lakshminarayanan et al., 2017 的消融显示 5 个成员已能获得大部分收益)。
排序阶段还有一个容易被忽视的细节:批内冗余。如果 top-k 里有大量高度相似的样本,标注它们的信息增益会重复计算。BatchBALD(Kirsch et al., 2019)通过联合互信息缓解这个问题,核心集方法(Core-Set, Sener & Savarese, 2018)则从覆盖角度选样本。笔者认为,在分解框架下,批内去重应该放在认知不确定性排序之后、最终提交之前,作为一道后处理,而不是混进分数里。
3.4 可落地的伪代码
输入: 已标注集 D_L, 未标注池 D_U, 预算 B, 每轮 k, 集成成员数 M
初始化: 训练 M 个模型(不同初始化/数据子采样)
while 剩余预算 >= k:
# 模块 A: 偶然不确定性粗筛
for x in D_U:
a_hat[x] = 近邻标签分歧率(x) # 低成本代理
tau = 分位数(a_hat, q=0.9) # 排除最高 10% 噪声候选
D_cand = {x in D_U : a_hat[x] < tau}
# 模块 B: 认知不确定性排序
for x in D_cand:
epi[x] = 互信息(集成预测) # 或集成方差
# 批内去重: 贪心选 top-k, 相似度 > 0.9 的跳过
batch = 贪心去重选批(D_cand, epi, k)
# 标注与更新
D_L += 标注(batch); D_U -= batch
重训集成模型
# 模块 C: 止损
if 验证集增益 < delta 连续 2 轮: break
这段伪代码刻意保持简单,目的是让每个模块可替换。例如把“近邻标签分歧率”换成“异方差头输出”,把“互信息”换成“集成方差”,整体流程不变。笔者认为,工程上最忌讳的是一上来就堆复杂采集函数,却说不清每个模块解决了什么问题。
3.5 关键参数与阈值设定
几个必须调但常被忽略的参数:
噪声排除分位 q:决定排除多少高偶然不确定性样本。q 太大(如 0.99)等于没筛,q 太小(如 0.5)可能误伤真正有信息量的难样本。建议从 0.9 起步,用验证集上的“标注效率”做敏感性分析。本文评述:这个参数没有普适最优值,它与数据噪声率强相关,必须在自己的数据上标定。
批内相似度阈值:常用 0.85–0.95(余弦相似度)。太低会过度去重导致批次多样性不足,太高则去重无效。
停止阈值 delta:验证集性能增益连续两轮低于该值即停。delta 的设定应结合业务对性能的边际价值,而非拍脑袋。
四、关键数据与案例:噪声样本如何吞掉预算
4.1 公开基准上的间接证据
直接对比“总不确定性 vs 分解式采集”的公开研究并不算多,但可以从几条线索拼出图景。其一,标签噪声鲁棒学习的文献反复显示,在对称噪声率 20%–40% 的设定下,标准交叉熵训练的泛化性能显著下降,而噪声鲁棒损失(如对称交叉熵、广义交叉熵)能部分恢复(Zhang & Sabuncu, 2018; Ma et al., 2020)。这说明噪声样本确实在消耗模型容量。
其二,主动学习在噪声标签下的专门研究(如 AL 与噪声标签结合的综述性工作)指出,基于不确定性的采集在噪声率高时优势收窄,甚至不如随机采样。这一现象在多个图像分类基准上被复现。笔者认为,这为“总不确定性把噪声当信息”提供了间接但一致的证据:当噪声成为不确定性的主要来源时,按不确定性排序就退化为按噪声排序。
其三,BatchBALD 等工作的实验显示,批内去重能显著提升每轮采集的信息效率。这从侧面说明,采集分数的“排序质量”与“批内冗余”是两个独立问题,混在一起会低估真实收益。
4.2 一个模拟数据的预算-收益对照
为把机制讲清楚,这里给出一组模拟数据(非真实实验,仅用于说明趋势)。设定:二分类任务,候选池 10000 样本,其中 15% 为标签模糊样本(偶然不确定性高),其余可分。对比三种策略在相同预算下的验证准确率:随机采样、总不确定性(熵)、分解式(先筛噪声再按互信息排序)。
| 已用预算(样本数) | 随机采样 | 总不确定性 | 分解式 |
|---|---|---|---|
| 200 | 0.71 | 0.70 | 0.74 |
| 500 | 0.78 | 0.76 | 0.82 |
| 1000 | 0.83 | 0.80 | 0.87 |
| 2000 | 0.86 | 0.82 | 0.89 |
(数据说明:上表为模拟数据,由笔者按“15% 模糊样本 + 可分主体”的生成过程整合得到,不代表任何真实数据集结果,仅用于说明总不确定性在噪声占比高时可能劣于随机采样的趋势。)
本文评述:这张表最重要的信息不是具体数值,而是总不确定性在 1000 样本后开始落后于随机采样。机制解释是:噪声样本被反复选中,模型被污染,预测熵的排序能力下降。这提醒我们,主动学习的“早期优势”可能掩盖“后期反噬”,评估时必须看完整曲线而非单点。
4.3 真实场景的观察:医疗与工业质检
在医疗影像与工业质检中,偶然不确定性的来源更具体:影像模糊、病灶边界不清、缺陷定义在工艺文件里本身有歧义。这类场景的标注一致性通常低于通用视觉基准。笔者认为,这类场景恰恰是分解式采集收益最大的地方,因为噪声样本占比高且可被先验识别(例如通过影像质量评分、工艺歧义清单)。一个可操作的做法是:在采集前先用规则或轻量模型给样本打“可学习性”标签,把明显不可学习的样本移出候选池,再跑标准 BALD。
关于不确定性估计的工程实践,推荐参考 Kendall & Gal 的异方差不确定性论文 与 Deep Ensembles 原始论文,前者讲清了偶然/认知分解的损失设计,后者给出了集成方差的实用配方。
五、对比与局限:分解方法的代价与边界
5.1 与主流采集策略的横向对比
| 策略 | 抗噪性 | 计算成本 | 主要风险 |
|---|---|---|---|
| 随机采样 | 中 | 低 | 预算利用率低 |
| 总不确定性(熵/margin) | 低 | 低 | 把噪声当信息 |
| BALD / 互信息 | 中 | 中 | 后验近似偏差 |
| 核心集 / 多样性 | 中高 | 中 | 忽略难样本 |
| 分解式(本文) | 高 | 中高 | 噪声估计器本身有偏 |
本文评述:分解式不是“全面更优”,而是“在噪声占比高时更稳”。如果数据标签质量很高、偶然不确定性占比低,分解带来的收益有限,反而增加工程复杂度。因此选型前应先估计数据的噪声水平,再决定是否上分解。
5.2 局限一:偶然不确定性估计的偏差
所有偶然不确定性估计器都有偏差来源。异方差头假设噪声分布形式;近邻一致性依赖特征空间质量;重复标注受标注者疲劳与规范漂移影响。笔者认为,工程上应把偶然不确定性估计当作“带误差的筛子”,而不是“精确的噪声标签”。这意味着阈值要留余量,且要定期用人工复核校准。
5.3 局限二:分布外样本的误判
分布外(OOD)样本往往同时具有高认知不确定性和高偶然不确定性(因为模型对它们一无所知,预测接近均匀)。如果噪声筛子过于激进,可能把真正需要标注的 OOD 样本误判为噪声而排除。这是一个真实的边界条件。缓解办法是:对高认知不确定性且高偶然不确定性的“双高”样本单独设一个复核队列,而不是直接排除。
5.4 局限三:重训成本与冷启动
分解式采集通常需要集成模型,每轮重训 M 个成员的代价不低。冷启动阶段(已标注样本很少)集成方差估计不稳定,分解的收益也有限。笔者建议冷启动阶段先用多样性/核心集策略铺底,等标注量达到一定规模(例如每类至少数十样本)再切换到分解式。
六、结论与展望:从“选最难”到“选最值”
回到开头的问题:偶然不确定性加数据消不掉,而主动学习还在用总不确定性选样本,把噪声当信息去标,标注预算怎么才不浪费?本文给出的答案是:把采集目标从“总不确定性最大”改为“单位标注成本下的认知不确定性削减最大”,并通过“噪声侧降权—信息侧排序—止损侧监控”的三段式流程落地。这个转变不需要推翻现有主动学习框架,只需要在采集函数前后各加一道工序。
笔者认为,这个方向的前沿走向有三个值得关注的点。其一,偶然不确定性的在线估计:随着训练进行,噪声估计器本身也应该更新,而不是一次性设定。其二,采集与标注规范的联动:当偶然不确定性高到一定程度,正确的动作可能不是“标更多”,而是“改标注规范”,这属于主动学习与数据治理的交叉地带。其三,预算-收益曲线的标准化报告:当前论文多报单点或少数几个预算点的结果,掩盖了后期反噬。社区若能约定报告完整曲线与噪声率,比较会更有意义。
最后需要强调边界:分解式采集不是万能药。它在高噪声、中等规模、有人工复核能力的场景收益最大;在低噪声、超大规模、标注极廉价的场景,随机采样或简单熵策略可能更划算。工程决策应基于对自身数据噪声水平的估计,而不是盲目追随方法复杂度。
主要参考文献(节选)
- Houlsby N., Huszár F., Ghahramani Z., Lengyel M. Bayesian Active Learning for Classification and Preference Learning. arXiv:1112.5745, 2011.
- Kendall A., Gal Y. What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision? NeurIPS, 2017.
- Gal Y., Ghahramani Z. Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning. ICML, 2016.
- Lakshminarayanan B., Pritzel A., Blundell C. Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles. NeurIPS, 2017.
- Kirsch A., van Amersfoort J., Gal Y. BatchBALD: Efficient and Diverse Batch Acquisition for Deep Bayesian Active Learning. NeurIPS, 2019.
- Sener O., Savarese S. Active Learning for Convolutional Neural Networks: A Core-Set Approach. ICLR, 2018.
- Zhang Z., Sabuncu M. Generalized Cross Entropy Loss for Training Deep Neural Networks with Noisy Labels. NeurIPS, 2018.
- Ma X., Huang H., Wang Y., et al. Normalized Loss Functions for Deep Learning with Noisy Labels. ICML, 2020.
- Song H., Kim M., Park D., et al. Learning from Noisy Labels with Deep Neural Networks: A Survey. IEEE TNNLS, 2022.
说明:文中涉及数据集与模拟数据的部分已在对应段落标注;参考文献总数与近三年占比按写作时的检索整理,具体以原始文献为准。
文章声明:本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

