try ai
科普
编辑
分享
反馈
  • 蒙特卡洛 Dropout

蒙特卡洛 Dropout

SciencePedia玻尔百科
核心要点
  • 蒙特卡洛 Dropout 通过在测试时启用 Dropout 并执行多次前向传播来近似贝叶斯推断,从而有效地从模型集成中进行采样。
  • 该技术允许将预测不确定性分解为认知不确定性(模型无知)和偶然不确定性(固有的数据噪声)。
  • 量化的不确定性催生了主动学习、鲁棒的目标检测、能够“拒绝预测”的安全关键系统以及指导科学发现等应用。
  • 正确使用需要谨慎的实现,包括正确处理批量归一化(Batch Normalization)和执行校准检查,以确保不确定性估计是可信的。
  • MC Dropout 提供了一种实用的方法来构建能够表达自身置信度的模型,从而使人工智能系统更安全、更可靠、更透明。

引言

你的人工智能有多确定?一个标准的神经网络,尽管具有强大的预测能力,但通常只提供一个单一、确定的答案。这种“点估计”方法无法洞察模型自身的无知,从而产生一个“黑箱”,在面对不熟悉的数据时可能会危险地过度自信。植根于贝叶斯统计的理想解决方案,是平均所有可能模型集合的预测,但这对于现代深度学习来说在计算上是不可行的。本文探讨了一种革命性但又出奇简单的解决方案:蒙特卡洛(MC)Dropout。它解决了如何让深度学习模型意识到自身不确定性这一关键知识空白。您将学习到一种常见的正则化技术如何被重新利用,成为近似贝叶斯推断的强大工具。“原理与机制”一章将揭开 MC Dropout 背后理论的神秘面纱,解释其工作原理以及如何分解不确定性。随后,“应用与跨学科联系”一章将展示这种量化的不确定性如何正在改变从医学成像到材料科学的各个领域,为更智能、更安全、更透明的人工智能系统铺平道路。

原理与机制

要真正掌握蒙特卡洛 Dropout 的威力,我们必须首先挑战一个关于机器学习模型的普遍假设。当我们训练一个神经网络时,我们通常会得到一组经过精细调整的权重——一个单一的“最佳”模型。这就像为一个关键决策咨询一位专家。他们可能听起来非常自信,但这种自信并不能告诉我们他们有多少不知道的东西。一个点估计网络使用单一固定的权重向量 W^\widehat{W}W,它只能告诉我们数据本身中预期的噪声;它无法表达对其自身参数的任何怀疑。它提供单一的答案,却忽略了所有其他可能同样合理的答案。

然而,世界很少如此确定。一种更诚实的方法,植根于贝叶斯视角,是承认我们的无知。我们不应只有一个单一的答案,而应拥有一整套可能的模型*分布*——一个后验分布 p(W∣D)p(W | D)p(W∣D)——这些模型都与我们观测到的数据 DDD 相一致。为了做出真正鲁棒的预测,我们不应该只问一位专家,而应该咨询一个由众多专家组成的委员会,并明智地平均他们的意见。这就是​​贝叶斯模型平均​​的核心,这是一个强大但在计算上极为复杂的思想,由以下积分概括:

p(y∣x,D)=∫p(y∣x,W) p(W∣D) dWp(y \mid x, D) = \int p(y \mid x, W)\ p(W \mid D)\ dWp(y∣x,D)=∫p(y∣x,W) p(W∣D) dW

对于拥有数百万参数的深度神经网络而言,直接求解这个积分在实践中是不可能的。在很长一段时间里,这个优美的理论框架在很大程度上仍然遥不可及。正是在这里,对一个熟悉工具的巧妙重新诠释改变了一切。

Dropout:从简单技巧到深刻洞见

大多数机器学习从业者都知道 ​​dropout​​ 是一种简单而有效的正则化技术。在训练期间,我们在每一层随机“关闭”一部分神经元。这可以防止神经元之间变得过于相互依赖而产生复杂的协同适应,从而迫使网络学习更鲁棒和更通用的特征。你可以把它看作不是在训练一个大型的、单一的网络,而是在训练一个由大量共享权重的、更小的、“稀疏化”的子网络组成的集成模型。

蒙特卡洛(MC)Dropout 背后的革命性洞见在于提出了一个简单的问题:如果在测试时也保持 Dropout 激活会发生什么?

每次我们将输入通过激活了 Dropout 的网络时,我们都在使用一个不同的、随机选择的子网络。每个预测都是我们这个庞大的、隐式训练的委员会中不同成员的意见。通过进行多次前向传播——比如说 TTT 次——并收集预测结果,我们实际上是在从我们的集成模型中抽取样本。这些预测的平均值可以作为对那个难以处理的贝叶斯积分的蒙特卡洛近似。

突然之间,一个简单的正则化技巧转变成了一个用于近似贝叶斯推断的强大工具。这组学习到的权重不再被看作是单一的点解,而是被看作定义了一个丰富的、在众多网络上的近似后验分布 q(W)q(W)q(W) 的参数。我们在测试时应用的每个 Dropout 掩码都从这个分布中采样一个模型,让我们得以窥探机器的思维,不仅看到它的想法,还能看到它有多确定。

分解不确定性:知道你所不知道的

通过访问这个模型委员会,我们现在可以区分两种基本类型的不确定性。这种分解是该方法最优雅的结果之一,它直接源于全方差定律。

首先,想象一下我们给网络展示一张完全超出其训练经验的图片——比如,给一个只用猫和狗训练的模型看一张宇宙飞船的图片。由于学习了不同的特征,不同的子网络可能会给出截然不同但各自却很自信的预测。一个可能以99%的置信度说是“猫”,另一个则以98%的置信度说是“狗”。这些预测之间的分歧揭示了模型自身的无知。这就是​​认知不确定性​​:由于模型自身知识的缺乏而产生的不确定性。这是一个信号,表明模型正在其舒适区之外运行。在 MC Dropout 中,我们通过测量 TTT 次随机前向传播的预测方差来估计这种不确定性。随着我们收集更多数据,这种不确定性自然会减少。

其次,想象一下我们给网络看一张模糊的图片,它完美地介于猫和狗之间。在这里,所有的专家子网络可能都会在预测上达成一致:“我50%确定是猫,50%确定是狗。”模型之间的分歧很低,但预测的不确定性很高。这就是​​偶然不确定性​​:数据本身固有的不确定性。它是世界中不可减少的噪声和模糊性,是再多的额外数据也无法消除的。仅靠 MC Dropout 无法捕捉到这一点;它必须被明确地构建到模型的输出中,例如,让网络不仅预测类别,还预测数据固有噪声的度量。

在分类任务中,这种分解被信息论完美地捕捉。总预测不确定性由最终平均预测的​​预测熵​​来衡量。这个总不确定性可以分解为:

  • ​​偶然不确定性​​:每个单独预测的平均熵。这衡量了每个独立模型平均的困惑程度。
  • ​​认知不确定性​​:预测与模型参数之间的​​互信息​​。这衡量了我们通过观察模型预测能获得多少关于模型参数的信息——换句话说,它量化了模型之间的分歧。

深入探究:不确定性的机制

让我们用一个简单的线性模型来揭开其神秘面纱,其中输出 yyy 由 y=∑iriwixi+εy = \sum_i r_i w_i x_i + \varepsilony=∑i​ri​wi​xi​+ε 给出。在这里,wiw_iwi​ 是学习到的权重,rir_iri​ 是独立的伯努利随机变量,以“保留概率” ppp 取值为 1,否则为 0。有效权重 wi,eff=riwiw_{i, \text{eff}} = r_i w_iwi,eff​=ri​wi​ 遵循一个简单的“尖峰-厚板”(spike-and-slab)式分布:它要么是完整的权重 wiw_iwi​(“厚板”),要么是精确的零(“尖峰”)。

当我们计算这个模型下预测的方差时,我们发现它巧妙地分成了两部分。第一部分是噪声的方差 σ2\sigma^2σ2,也就是我们的偶然不确定性。第二部分,即认知不确定性,结果与 p(1−p)∑i(wixi)2p(1-p)\sum_i (w_i x_i)^2p(1−p)∑i​(wi​xi​)2 成正比。这个优雅的结果告诉我们几件事。不确定性取决于 dropout 率;当 p=0.5p=0.5p=0.5 时最大化,当 p=0p=0p=0 或 p=1p=1p=1 时为零。它还取决于输入 xxx 和学习到的权重 www,这意味着模型对于不同的输入可以有或多或少的不确定性。我们可以看到这一点在实践中的表现:对于一个固定的输入,随着我们增加 dropout 率,多次运行的预测方差会增加,这标志着更大的认知不确定性。

这种数学上的清晰性,即使在一个简单的模型中,也证实了我们的直觉。我们通过 dropout 注入的随机性直接转化为对模型自我怀疑的一种可量化和可解释的度量。

细则:假设与局限性

像任何强大的工具一样,MC Dropout 并非魔杖,真正的科学家必须了解其局限性。这个优美的理论建立在一个关键的近似之上。通过假设不同层的 dropout 掩码是独立的,我们实际上是在使用一种​​平均场​​变分分布。这意味着我们的近似 q(W)q(W)q(W) 假设不同层中的权重是不相关的。由数据中错综复杂的模式所塑造的真实后验分布 p(W∣D)p(W|D)p(W∣D),几乎肯定在其整个结构中都具有复杂的关联。MC Dropout,由于其构造方式,无法捕捉这些跨层依赖关系。

此外,现代深度学习的现实也带来了一些实践中的陷阱。一种常见的技术,​​批量归一化(Batch Normalization, BN)​​,在训练期间对小批量数据内的激活进行归一化,如果在测试时与 MC Dropout 一起天真地使用,可能会引发混乱。如果在推断过程中 BN 层继续使用批次统计数据,归一化就成了另一个随机性来源,它依赖于测试批次的构成。这会混淆不确定性估计,使其变得不稳定和无法解释。正确的做法是将 BN 层切换到“评估”模式,使用在训练期间学习到的固定的、“冻结的”总体统计数据。这正如预期地将随机性来源隔离到 dropout 掩码上。

最后,MC Dropout 并非对所有形式的分布外(Out-of-Distribution, OOD)数据都万无一失。研究表明,经过特殊制作的​​对抗性样本​​不仅可以欺骗模型的预测,还可以欺骗其不确定性估计。这些攻击可以将输入推入模型特征空间中一个微妙的“盲点”,在这个区域,内部激活对随机的 dropout 掩码变得不敏感。产生不确定性的机制被有效地短路了,导致模型自信地犯下灾难性的错误。这提醒我们,虽然 MC Dropout 是一个巨大的进步,但寻求真正鲁棒和自我感知的 AI 仍然是一个持续的探索之旅。

应用与跨学科联系

我们已经看到,一个简单甚至近乎异想天开的想法——在预测时保持 Dropout “开启”——如何为我们提供了一个窥探神经网络“思想”的窗口。这不仅仅是技术上的好奇心;它是通往构建不仅强大而且智慧的模型的门户。在这种背景下,智慧是认识到自身知识局限的能力。一个能说“我不知道”的智能系统,通常比一个提供自信但错误答案的系统更有价值。现在,让我们踏上一段旅程,穿越科学和工程的各个领域,看看蒙特卡洛 Dropout 这一深刻概念如何重塑我们与人工智能的关系,将其从一个“黑箱”神谕转变为探索发现中的合作伙伴。

两种不确定性的故事

在我们能使用不确定性之前,我们必须首先理解它的本质。想象一下,你是一位生物学家,正试图在显微镜下测量单个细菌的位置。由于热运动,这个细菌在不停地抖动——这是你试图测量的事物中一种固有的、不可减少的随机性。这就是​​偶然不确定性​​。现在,假设你的显微镜镜头稍微失焦。这引入了另一层不确定性,它源于你测量工具的局限性。这就是​​认知不确定性​​。如果你能得到一台更好的显微镜,你就可以减少这第二种不确定性,但无论你的设备多好,你都无法阻止细菌的抖动。

在机器学习中,我们的模型面临着这两种不确定性。偶然不确定性来自数据本身——固有的噪声、测量误差或被建模系统中的基本随机性。认知不确定性来自模型——它反映了模型未能从有限的训练数据中学到的东西。这是模型的“失焦”镜头,是它对未曾见过的问题空间区域缺乏了解。

蒙特卡洛 Dropout 是我们用来窥探模型认知不确定性的工具。但我们如何将两者分开呢?全方差定律,概率论的基石,提供了答案。对于任何预测 yyy,其总方差可以被完美地分解。让我们考虑一个模型,对于给定的输入,它不仅预测均值 μ\muμ,还预测数据噪声的方差 σ2\sigma^2σ2。我们预测的总方差由下式给出:

Var(y)=E[σ2]+Var(μ)\mathrm{Var}(y) = \mathbb{E}[\sigma^2] + \mathrm{Var}(\mu)Var(y)=E[σ2]+Var(μ)

这个优雅的公式是关键。第一项 E[σ2]\mathbb{E}[\sigma^2]E[σ2] 是模型预测的数据噪声在其所有可能参数配置上的平均值;这是我们的偶然不确定性。第二项 Var(μ)\mathrm{Var}(\mu)Var(μ) 是模型自身均值预测的方差;这是我们的认知不确定性。

当我们运行蒙特卡洛 Dropout 时,我们生成一组预测 {μ(m),σ2,(m)}m=1M\{\mu^{(m)}, \sigma^{2,(m)}\}_{m=1}^{M}{μ(m),σ2,(m)}m=1M​。然后,我们可以直接从这个样本中估计不确定性的两个组成部分。偶然部分大约是预测方差的平均值,即 1M∑σ2,(m)\frac{1}{M}\sum \sigma^{2,(m)}M1​∑σ2,(m)。认知部分是预测均值的样本方差,它捕捉了不同“子网络”之间分歧的程度。这种分解不仅仅是数学上的精妙之处;它具有深刻的实用性。认知不确定性告诉我们模型在哪里需要更多数据,而偶然不确定性告诉我们可预测性的基本极限是什么。

构建更智能、更安全的人工智能

了解不确定性的类型使我们能够设计出更智能、更可靠的系统。如果一个模型的不确定性很高,它应该怎么做?答案取决于它为什么不确定。

考虑​​主动学习​​,这是一个模型可以请求标记新数据的过程。如果一个模型遇到一个新的数据点并且具有很高的认知不确定性,它实际上是在说:“我不知道这是什么;学习它的真实标签对我会有很大帮助。”这是一个信号,表明标记这个数据点是对人类专家时间的宝贵利用。我们甚至可以通过估计标记一个新数据点预期会减少多少模型的后验不确定性,来量化这种“信息的价值”。MC Dropout 提供了一种直接估算该量的方法,使我们能为主动学习循环建立一个停止标准:当预期的知识增益降至某个阈值以下时,我们停止为新标签付费。

现在,考虑一个部署用于关键任务的模型,比如医学图像分析或自动驾驶。如果模型不确定,我们可能根本不希望它做出决定。我们希望它​​拒绝预测​​。但什么时候拒绝呢?如果不确定性主要是偶然性的,那么数据本身就是模糊的,再多的模型训练也无济于事。但如果是不确定性是认知性的,那么模型就超出了其能力范围。一个复杂的拒绝预测策略可以利用这种区别:首先,对所有认知不确定性超过某个预算的预测(“未知的未知”)进行拒绝。然后,在剩余的预测中,对那些偶然不确定性过高的预测(“已知的未知”)进行拒绝。这创造了一个安全阀,使人工智能系统能够谨慎操作,并在最需要的时候精确地请求人类干预。

不确定性也可以被融入到算法的结构中,使其更加鲁棒。在计算机视觉中,目标检测器通常必须为单个物体筛选多个重叠的候选框。标准方法,即非极大值抑制(NMS),通常保留分类得分最高的框。但是,如果模型对一个框的类别非常自信,但对其精确位置非常不确定呢?一种基于贝叶斯决策理论的、能感知不确定性的方法可以创建一个修正后的分数,该分数在分类置信度与高定位不确定性的惩罚之间取得平衡。这会带来更可靠、更准确的检测结果,因为最终的选择不仅基于模型的想法,还基于它对这些想法的确信程度。

科学发现的指南针

蒙特卡洛 Dropout 最令人兴奋的前沿领域或许是它作为科学发现引擎的角色。在许多科学领域,我们使用机器学习来构建复杂、昂贵的模拟或实验的模型,即“代理模型”。这些模型学习从一些输入参数到输出的映射,例如根据分子的结构预测其毒性 或根据材料的原子构型预测其能量。

所有可能的分子或材料的空间是天文数字般的浩瀚。我们永远无法希望能探索其全部。在这里,认知不确定性成为我们的指南针。当我们要求模型对一个新的、未见过的配置进行预测时,高的不确定性估计告诉我们,我们正处于未知领域。这不是模型的失败;这是一个特性!它准确地告诉科学家模型的知识在哪些地方薄弱,因此,下一次实验或高保真模拟最有可能在哪些地方产生最令人惊讶和信息最丰富的结果。这就是贝叶斯优化的核心原则,这是一种强大的策略,用于设计新的分子、材料和生物序列,其指导思想是模型自身量化的无知。

这种范式延伸到了物理学的前沿。物理信息神经网络(PINNs)是一种卓越的新工具,它通过将物理定律直接整合到其训练损失中来学习求解偏微分方程。但是我们如何能信任它们的解呢?通过使用 MC Dropout,我们不仅可以向 PINN 索要例如热方程的解,还可以索要其不确定性的分布图。如果在特定的时空区域不确定性很高,这可能预示着存在复杂的物理现象,如冲击波或湍流,而模型难以捕捉这些现象,或者它可能仅仅表明模型在何处需要更多数据来锚定其解。不确定性估计将 PINN 从一个黑箱求解器转变为一个用于物理探究的交互式工具。

诚实的度量:关于校准

我们的故事还有最后、至关重要的一环。模型仅仅产生一个不确定性分数是不够的。这个分数必须是诚实的。如果一个模型的 95% 置信区间只在 50% 的时间内包含真实答案,那么它的不确定性估计不仅是错误的,而且是危险的误导。模型声称的置信度与其经验准确率相匹配的这一特性被称为​​校准​​。

我们如何检查一个模型的诚实度?我们测试它。我们取一组模型从未见过的数据,对于每个数据点,我们检查已知的真实答案是否落在模型预测的置信区间内。如果我们测试一个 95% 的置信区间,我们期望看到真实答案在大约 95% 的情况下落入其中。这个简单而优雅的过程,被称为经验覆盖率测试,是判断不确定性估计是否可信的最终裁判。另一种同样强大的检查方法是计算平方误差的平均值,其中每个误差都由其预测方差进行归一化。对于一个校准良好的模型,这个比率应该接近于 1。

这些测试是基础性的。它们确保当一个模型表达怀疑时,这种怀疑是有意义的。它们是应用于我们的人工合作者身上的科学诚信的数学体现。因此,蒙特卡洛 Dropout 不仅仅是为我们提供一个不确定性的数值;它为我们提供了一个框架,用于构建不仅知识渊博,而且在深刻且可验证的意义上,对其知识局限性保持诚实的模型。而在科学中,就像在生活中一样,没有比这更有价值的特质了。