传统深度学习模型为预测提供点估计,本身不提供对其置信度的衡量。这在需要了解预测可靠性的应用中可能造成问题。贝叶斯神经网络(BNN)通过学习模型参数(权重和偏差,w)的分布而非单个点估计来处理这一问题。这种方法使BNN能够量化不确定性。这个后验分布,p(w∣D)(其中 D 表示训练数据),是量化BNN预测不确定性的依据。
理解和量化不确定性使我们能够构建更值得信赖和信息更丰富的模型。在BNN中,不确定性并非单一种类,通常分为两种主要类型:
偶然不确定性
偶然不确定性(有时称为数据不确定性)捕捉数据生成过程中固有的噪声或随机性。它代表即使拥有无限数据也无法减少的不确定性,因为它源于观测中不可约减的变异性。
设想一个回归任务,其中对于完全相同的输入特征 x,可能有多个不同的输出值 y。这种变异性是偶然的。在BNN中,偶然不确定性通常通过似然函数,p(y∣x,w) 来建模。例如,回归中使用高斯似然:
p(y∣x,fw(x))=N(y∣fw(x),σ2)
其中,fw(x) 是参数为 w 的神经网络的输出,σ2 表示观测噪声方差。
- 同方差不确定性: 假设噪声方差 σ2 对所有输入都保持不变。它可以被视为要学习的参数或预先固定。
- 异方差不确定性: 允许噪声方差依赖于输入 x。BNN可以被设计为预测平均输出 fw(x) 和方差 σ2(x)。当噪声水平在输入空间中变化时,这很有用。
认知不确定性
认知不确定性,也称为模型不确定性或知识不确定性,反映了我们对真实模型参数的未知。它捕捉了由于数据有限而无法充分约束后验分布 p(w∣D) 所产生的不确定性。随着我们收集更多相关数据,认知不确定性应该减少,因为后验分布会更集中于最优参数值。
在BNN中,认知不确定性直接源于我们拥有权重分布 p(w∣D) 而非单一权重集。从后验分布中采样的不同可行权重配置,对于相同的输入 x 会产生不同的预测。这些预测中的变动反映了模型对其所学功能的未知。
量化预测不确定性
为了得到新输入 x∗ 的预测,我们关注的是 预测分布 p(y∗∣x∗,D)。这需要对模型参数进行边缘化:
p(y∗∣x∗,D)=∫p(y∗∣x∗,w)p(w∣D)dw
这个积分将预测 p(y∗∣x∗,w) 对所有可能的参数值进行加权平均,权重是它们的后验概率 p(w∣D)。这个预测分布的方差捕捉了 总 不确定性,涵盖了偶然和认知两种来源。
由于后验 p(w∣D) 通常难以计算,我们依赖于前面讨论的近似方法:
-
MCMC 方法: 诸如随机梯度HMC等技术从后验分布 p(w∣D) 中提供样本 w(1),w(2),...,w(S)。我们可以通过为每个样本生成预测并形成一个经验分布来近似预测分布:
p(y∗∣x∗,D)≈S1s=1∑Sp(y∗∣x∗,w(s))
对于具有高斯似然的回归,这意味着获取 S 个预测均值 fw(s)(x∗) 以及可能的方差 σw(s)2(x∗)。预测分布的均值可以通过 S1∑sfw(s)(x∗) 来估计,方差(总不确定性)可以从样本 {fw(s)(x∗)}s=1S 的方差加上平均预测偶然方差来估计。
-
变分推断 (VI): 诸如反向传播贝叶斯等VI方法学习近似后验 q(w;ϕ)。预测分布近似为:
p(y∗∣x∗,D)≈∫p(y∗∣x∗,w)q(w;ϕ)dw
该积分通常使用蒙特卡洛采样来近似:抽取样本 w(s)∼q(w;ϕ) 并对预测 p(y∗∣x∗,w(s)) 求平均,这与MCMC方法类似。
-
蒙特卡洛 Dropout: 一种计算成本较低且应用广泛的技术是,在权重层之前应用 dropout 来训练标准神经网络。在测试时,dropout 保持激活状态,对相同的输入 x∗ 执行多次前向传播(S 次)。由于 dropout 的随机性,每次前向传播都会产生不同的输出。这组输出 {fw(s)(x∗)}s=1S(其中 w(s) 代表第 s 次传播中的网络配置)可以被视为近似预测分布的样本。此方法近似于深度高斯过程中的贝叶斯推断。
解释和使用不确定性
近似预测分布的散布(例如,方差或四分位距)提供了模型置信度的一种衡量。高方差表明低置信度。
- 区分不确定性类型: 虽然总预测方差结合了两种效应,但存在将偶然不确定性和认知不确定性分离的技术。例如,在回归中使用蒙特卡洛样本 {fw(s)(x∗),σw(s)2(x∗)}s=1S:
- 认知不确定性: 可以通过采样均值的方差来估计: Varw(fw(x∗))。
- 偶然不确定性: 可以通过预测方差的平均值来估计: Ew[σw2(x∗)]。
- 总不确定性: 近似为 Varw(fw(x∗))+Ew[σw2(x∗)]。
了解不确定性的来源很有价值。高认知不确定性表明模型由于输入空间该区域缺乏数据而不确定,这提示了在何处收集更多数据可能有利。高偶然不确定性表明基于给定特征和噪声水平的可预测性存在固有限制。
1D回归问题中BNN的预测均值和总不确定性(阴影区域,例如,均值±2标准差)的示例。不确定性在训练数据点附近较低,而在远离数据的区域较高,这反映了认知不确定性的增加。
不确定性估计的应用
来自BNN的可靠不确定性估计在许多方面都很有用:
- 安全关键系统: 在自动驾驶或医疗诊断等应用场景中,识别模型不确定的预测必不可少,这允许人工干预或采取替代措施。
- 主动学习: 选择模型最不确定的新数据点(高认知不确定性)可以带来更高效的数据获取。
- 分布外检测: BNN对与训练数据分布显著不同的输入通常表现出更高的不确定性。
- 强化学习: 不确定性估计可以指导探索策略,鼓励代理在不确定性较高的状态或动作中进行探索。
- 模型诊断: 分析认知不确定性的空间分布可以展现训练数据或模型架构中的局限性。
通过提供一种合理的方式来表达和量化模型 未知 的部分,BNN比标准深度学习模型有显著的优势,使AI系统更值得信赖。