什么是 蒙特卡洛 Dropout(Monte Carlo Dropout)?

蒙特卡洛 Dropout(Monte Carlo Dropout)是在推理时采样 Dropout Mask,对固定已学习权重执行多次前向传播,再汇总预测分布的不确定性估计方法,常缩写为 MC Dropout。

快速了解

规范文档官方规范

工作原理

采样 Dropout,同时冻结其他模型状态

Gal 与 Ghahramani在特定深度高斯过程视角下,将 Dropout 训练和随机推理解释为近似贝叶斯推断。推理时应保留训练时的 Dropout 位置与概率,独立采样 Mask,并固定权重。如果框架的全局训练模式还会更新 BatchNorm 统计或启用其他增强,就不能简单调用全模型 train();应只激活随机 Dropout,同时冻结归一化与可变状态。

围绕声明的预测对象汇总样本

回归任务可报告样本均值与跨前向传播方差;需要总预测方差时,还要加入单独建模的观测方差。分类任务应先平均类别概率,再计算熵或其他决策统计;Logits 的变化本身不是经过校准的概率。采样次数应足以让目标统计量稳定,并记录随机种子策略、测量蒙特卡洛误差,而不是假设任意固定次数都足够。

用简单替代方案检验近似价值

在代表性分布偏移下检查准确性、严格适当评分、校准、选择性风险、延迟和不确定性行为。MC Dropout 失效模式研究表明,其近似在部分设定下可能随数据增加呈现病态行为;增加前向次数无法修复错误的近似族。应与确定性基线比较,高风险场景还应比较深度集成或其他 UQ 方法,并让硬校验与 Fallback 独立于 MC Dropout。

主要特点

  • 使用独立采样的 Dropout Mask 执行多次推理
  • 保持已学习权重和非 Dropout 模型状态不变
  • 无需训练完整显式集成即可近似预测分布
  • 只表示指定 Mask 与已学习权重能够产生的变化
  • 在蒙特卡洛误差、延迟和成本之间存在采样次数权衡
  • 必须单独验证校准、偏移行为和决策效用

常见用途

  1. 为已有 Dropout 模型增加相对轻量的不确定性代理
  2. 估计回归任务的预测均值与跨采样方差
  3. 为不确定分类结果提供拒答或复核阈值信号
  4. 比较模型发布前后的随机前向传播稳定性
  5. 与确定性和集成基线比较不确定性质量

示例

loading...
Loading code...

常见问题

蒙特卡洛 Dropout 如何工作?

先使用明确的 Dropout 层训练模型,冻结已学习状态,在推理时独立采样 Dropout Mask,并汇总多次预测。结果分布反映的是这些 Mask 引入的变化,而不是全部模型与数据不确定性。

蒙特卡洛 Dropout 需要多少次前向传播?

没有通用次数。在固定验证集上,随采样次数增加跟踪均值、方差、熵或决策阈值的蒙特卡洛误差与稳定性,选择满足预设容差和延迟预算的最小次数。

MC Dropout 应该把整个模型切换到训练模式吗?

如果训练模式还会更新 BatchNorm 统计或激活其他可变行为,就不应该这样做。应只启用随机 Dropout,同时冻结已学习权重、归一化统计、数据增强和所有无关状态。

蒙特卡洛 Dropout 方差是经过校准的不确定性吗?

不是自动成立。Mask 方差只是某个近似产生的尺度。需要用严格适当评分、可靠性或覆盖率、关键切片和偏移数据验证概率或区间;任何校准映射都应在独立代表性数据上拟合。

蒙特卡洛 Dropout 与深度集成有什么区别?

MC Dropout 复用一套已学习权重并改变 Mask,训练通常更便宜,但推理仍需重复执行;深度集成改变分别训练的成员,可能探索更广的拟合解,但成本更高。相对质量取决于任务与评测协议。

相关术语

相关文章