贝叶斯神经网络 (BNN) 的实际训练和性能评估是核心内容。BNN使用变分推断 (VI) 和马尔可夫链蒙特卡洛 (MCMC) 等推断方法。实施和评估BNN涉及对标准深度神经网络的考量,特别是关于超参数调整、收敛性监控和不确定性量化。
配置贝叶斯神经网络
在训练之前,仔细配置是必需的。这包括为权重和偏差选择合适的先验分布,并定义网络架构。
- 先验选择: 先验编码了我们在观察数据之前对参数的信念。常见的选择包括高斯先验,通常中心为零 (N(0,σ2))。方差 σ2 充当正则化参数。大方差意味着较弱的正则化(权重更灵活),而小方差意味着更强的正则化(权重更接近零)。σ2 的选择可以通过经验贝叶斯(从数据估计,尽管可能复杂)或根据领域知识或交叉验证进行设置。层次化先验,当 σ2 本身具有先验时,也可以用于增加灵活性。
- 网络架构: 架构(层、激活函数)的选择遵循与标准深度学习相似的原则,但与贝叶斯方法有互动。例如,参数的数量直接影响后验分布的维度,从而影响推断的难度。
使用变分推断训练BNN
VI,特别是像反向传播贝叶斯 (Bayes by Backprop) 这样的方法,将推断重新构造为一个优化问题,即最大化证据下界 (ELBO)。
- 目标函数 (ELBO): 回顾ELBO:
L(ϕ)=Eqϕ(w)[logp(D∣w)]−KL(qϕ(w)∣∣p(w))
这里,qϕ(w) 是由 ϕ 参数化的变分近似(通常是对角高斯),p(D∣w) 是似然,p(w) 是先验。第一项鼓励拟合数据,而第二项KL散度作为正则项,使近似后验接近先验。
- 优化: 随机梯度上升方法(如Adam)通常用于最大化ELBO,相对于变分参数 ϕ。梯度通常使用重参数化技巧进行估计,这允许通过采样过程进行反向传播。
- 收敛监控: 在训练期间追踪ELBO值。它通常会增加并趋于平稳。单独监控似然项和KL散度项,以理解其中的权衡。有时,KL项可能在早期阶段占据主导,或者模型可能难以拟合数据(低似然)。由于随机梯度,波动是预期的,但稳定的趋势很重要。
- KL退火: 有时,对ELBO中的KL项加权有助于训练。从一个小权重(例如接近0)开始,并逐渐增加到1(退火),可以使模型首先专注于拟合数据,然后先验的正则化效果再充分生效。这可以防止变分后验 qϕ(w) 过早地坍缩到先验上。
使用MCMC训练BNN
MCMC方法,例如随机梯度哈密尔顿蒙特卡洛 (SGHMC),旨在直接从真实的后验分布 p(w∣D) 中生成样本。
- 采样过程: MCMC算法不优化参数,而是模拟马尔可夫链,其平稳分布是目标后验。SGHMC通过使用小批量梯度来适应大型数据集的HMC,并引入摩擦项以抵消梯度噪声。
- 超参数: SGHMC涉及调整步长(学习率)ϵ 和摩擦系数 α 等参数。这些参数显著影响采样效率和稳定性。调整通常需要反复试验。周期性学习率等技术有时会有益。
- 预热和稀疏化: MCMC链的早期样本(预热期)通常会被丢弃,因为链可能尚未达到平稳分布。为减少样本间的自相关性,常采用稀疏化(只保留每 k 个样本),尽管其必要性存在争议,特别是在HMC/NUTS变体等高效采样器中。
- 收敛诊断: 与VI的ELBO不同,MCMC收敛通过对生成样本进行诊断来评估。轨迹图(绘制迭代过程中采样到的参数值)应显示良好的混合性(围绕稳定均值的随机波动)。正式诊断方法,如Gelman-Rubin统计量 (R^),需要运行多条链并比较链内和链间方差。R^ 值接近1表明收敛。
进行预测和估计不确定性
BNN的一个重要优点是它们提供不确定性估计的能力。预测是通过对权重后验分布进行边缘化来做出的。
- 预测分布: 对于新输入 x∗,预测分布为:
p(y∗∣x∗,D)=∫p(y∗∣x∗,w)p(w∣D)dw
在实践中,这个积分通过使用从后验分布(通过MCMC获得)或变分分布(通过VI获得)中抽取的样本进行近似。
p(y∗∣x∗,D)≈S1s=1∑Sp(y∗∣x∗,w(s))
其中 w(s) 是从 p(w∣D) (MCMC) 或 qϕ(w) (VI) 中抽取的 S 个样本。
- 预测: 最终预测通常是该近似预测分布的平均值。对于分类任务,这涉及对多次前向传播中,使用不同采样权重获得的输出概率进行平均。
- 不确定性量化: 预测分布的方差量化了不确定性。它可分解为:
- 偶然不确定性: 数据生成过程中的固有噪声。通过似然函数的方差进行建模(例如,回归任务中高斯似然的方差参数)。它无法通过更多数据来减少。
- 认知不确定性: 由模型参数引起的不确定性。反映在后验分布 p(w∣D) 的方差中。它可以通过更多数据来减少。
在实践中,总预测方差是从 S 个预测 y∗(s) 的方差中估计的,如果明确建模,则可能与估计的偶然不确定性方差相结合。高方差表明低置信度。
评估BNN性能
评估应评估预测准确性以及不确定性估计的质量。
- 标准指标: 准确率、F1分数(分类)、均方根误差 (RMSE)、平均绝对误差 (MAE)(回归)是根据平均预测计算的。这些指标衡量预测分布的中心趋势。
- 概率指标:
- 负对数似然 (NLL): 衡量整个预测分布 p(y∗∣x∗,D) 与测试数据的拟合程度。NLL越低越好。
- 校准: 评估预测概率是否与经验频率匹配。例如,如果模型对一组预测预测了80%的置信度,那么这些预测中大约80%应该是正确的。可靠性图(校准图)可视化了这一点。
该可靠性图显示了预测置信度水平(分组到不同的区间)与在这些区间内观察到的实际准确率之间的关系。对角线上方的条形表示置信度不足,而对角线下方的条形表示置信度过高。
- 不确定性质量: 评估模型对于分布外 (OOD) 样本或错误分类的例子是否比正确分类的分布内样本更不确定。可以在这些组之间比较预测熵或方差等指标。
实际挑战与考虑
- 计算成本: 训练BNN,特别是使用MCMC时,通常比训练标准DNN计算量更大。VI速度更快,但会引入近似误差。预测也需要多次前向传播。
- 超参数敏感性: 性能可能对先验选择、变分族结构(针对VI)、MCMC采样器参数(步长、摩擦)以及优化超参数(学习率、批量大小)敏感。通常需要仔细调整和敏感性分析。
- 软件: TensorFlow Probability (TFP)、Pyro (PyTorch)、PyMC和Stan等库提供构建和训练BNN的工具,可以实施各种推断算法和概率层。熟悉这些工具会很有帮助。
- 可解释性: 尽管BNN提供了不确定性,但解释不确定性的来源(偶然不确定性与认知不确定性)以及特定先验的影响需要仔细分析。
"训练和评估BNN需要思维方式从点估计转向分布。虽然有挑战,但由此产生的模型提供了对预测置信度更丰富的理解,这在许多需要可靠性和风险评估的应用中具有重要价值。"