摘要:变分推断训练贝叶斯神经网络(BNN)时,几乎默认采用对角高斯后验。这一选择把参数协方差强制为轴对齐(axis-aligned),等价于声明"权重之间条件独立"。本文沿一条贯穿主线展开:参数空间的独立性假设,经广义线性层放大为函数空间的各向异性退化,最终在分布外(OOD)区域表现为不确定性塌缩——模型对陌生输入给出与训练区同样自信的预测。文章先给出问题定义与可检验的塌缩判据,再从解析、谱、几何三个视角拆解机制,随后用合成数据与公开基准上的可复现现象说明边界条件,接着系统梳理低秩与子空间后验、温度标定、深度集成等缓解路径及其代价,最后给出工程诊断清单与前沿预判。核心结论是:精度与UQ并非严格二选一,但"对角 + 单点MAP中心 + 无校准"这一默认组合确实构成结构性瓶颈,突破点在于协方差的秩与中心质量,而非单纯更换散度目标。
目录
一、导语:一个被默认接受的假设
在贝叶斯深度学习的主流实现里,对角高斯后验(diagonal Gaussian posterior)几乎是无需讨论的默认项。PyTorch 生态中的 Bayes by Backprop、Blundell 等人 2015 年提出的权重不确定性训练框架,以及大量基于重参数化技巧的变分实现,都把每个权重建模为独立的一维高斯:q(w)=∏ᵢ N(μᵢ, σᵢ²)。工程上它带来两个直接好处:参数量只翻倍,反向传播只需对均值与对数方差分别求导,显存与算力开销可控。于是"BNN = 均值网络 + 方差向量"成了很多团队的实现心智。
问题在于,这个假设并不中性。它等价于断言:在给定其余权重的条件下,任意两个权重彼此独立。真实后验几乎不可能满足这一点——同一层的输入通道与输出通道之间存在强耦合,相邻层的尺度参数相互补偿,BatchNorm 与残差结构进一步制造跨层相关。当这些相关性被强行抹平,模型并非"少学了一点信息",而是改变了函数空间中的不确定性几何。本文的主线由此确立:参数空间的轴对齐假设,经网络层的线性放大,退化为函数空间的各向异性不确定性,最终在 OOD 区域表现为塌缩。这条链条上的每一环都可被独立检验,也正是后文逐节展开的对象。
需要先澄清一个常见误解。塌缩不等于"方差为零",也不等于"模型过度自信"这类笼统描述。更准确地说,是不确定性的排序能力失效:在训练分布内,预测方差与误差的相关性尚可;一旦输入偏离训练流形,方差不再单调上升,甚至出现 OOD 样本方差低于 ID 样本的倒挂。这种倒挂才是"精度与 UQ 二选一"叙事的真正来源。笔者认为,把问题定位到"排序失效"而非"数值偏小",是后续所有诊断与改造的前提,否则容易陷入盲目放大方差的误区。
二、背景与问题定义:什么是对角高斯后验,塌缩如何度量
2.1 形式化定义与训练目标
设网络权重为 w∈ℝ^D,数据集为 𝒟={(xₙ,yₙ)}。贝叶斯推断的目标是后验 p(w|𝒟)。变分推断用一个可 tractable 的族 q_φ(w) 近似它,最小化 KL 散度,等价于最大化证据下界(ELBO):
ELBO(φ) = E_{q_φ(w)}[log p(𝒟|w)] − KL(q_φ(w) ‖ p(w))
对角高斯族:q_φ(w) = ∏_{i=1}^{D} N(w_i; μ_i, σ_i²)
待学参数:φ = {(μ_i, ρ_i)}_{i=1}^{D}, σ_i = log(1+exp(ρ_i))
其中先验 p(w) 通常取标准高斯或尺度混合先验。本文评述:ELBO 的第一项是期望似然,第二项是复杂度惩罚。对角假设使 KL 项可分解为逐坐标的一维积分,计算极其廉价;但代价是 KL 项无法表达"两个权重应当同向变化"这类结构信息。换言之,正则化的形状被预先固定为轴对齐椭球,而真实后验的等高线大概率是倾斜的。
2.2 "塌缩"的可操作定义
为避免空泛,本文给出三个可计算的判据,后文数据均围绕它们组织:
判据 A(排序失效):用 AUROC 衡量"预测方差区分 ID 与 OOD"的能力。若 AUROC 接近 0.5,说明方差已无排序信息;若显著低于 0.5,说明出现倒挂。
判据 B(尺度失配):比较 ID 与 OOD 的平均预测方差之比 r = mean(σ²_OOD)/mean(σ²_ID)。理想情形 r>1 且随分布偏移单调增。
判据 C(校准漂移):在 OOD 子集上计算期望校准误差 ECE 与负对数似然 NLL,观察其相对 ID 的恶化幅度。
这三个判据分别对应"有没有信号""信号方向对不对""信号能否转化为概率质量"。笔者认为,很多论文只报告判据 B 的均值,忽略了 A 的排序性质,导致"方差确实变大了"被误读为"UQ 有效"。实际上,若方差整体平移但排序不变,对下游的 OOD 检测与拒识决策几乎没有增益。
2.3 为什么偏偏是对角高斯
从优化角度看,全协方差高斯的参数量为 D(D+1)/2,对百万级参数的现代网络不可行;即便用低秩分解,也需要额外的矩阵运算与数值稳定处理。对角族是唯一能在"参数量线性、梯度可解析、采样可并行"三条约束下同时成立的简单族。这一工程现实解释了它的流行,但不能成为忽视其结构性偏差的理由。本文评述:把对角高斯视为"近似"而非"建模选择",是许多实践问题的根源——近似误差在 ID 上可能被似然项吸收,却在 OOD 上被放大。
三、机制拆解:从参数独立到函数各向异性
3.1 解析视角:一阶展开下的函数方差
对输入 x,网络输出 f(x;w)。在均值 μ 处做一阶泰勒展开,可得预测方差的近似:
Var[f(x)] ≈ g(x)ᵀ Σ g(x), g(x) = ∂f(x;w)/∂w |_{w=μ}
对角情形:Σ = diag(σ₁², …, σ_D²)
⇒ Var[f(x)] ≈ Σᵢ σᵢ² · (∂f/∂wᵢ)²
这个式子信息量很大。它说明预测方差是各权重方差按梯度平方加权的和。对于 OOD 输入,若梯度 g(x) 的支撑恰好落在方差较小的坐标上,预测方差就会被系统性低估;反之亦然。对角假设切断了 g(x) 不同分量之间的协方差项,而这些交叉项在 OOD 区域恰恰可能主导总方差。本文评述:这意味着塌缩不是"方差学小了",而是"方差的结构与梯度的结构错配"。仅靠放大 σᵢ 无法修复错配,只会让 ID 区域的方差一起膨胀,进一步损害校准。
3.2 谱视角:协方差的秩与有效维度
真实后验的协方差通常呈现"少数方向大方差、多数方向小方差"的低秩结构,这与过参数化网络的平坦极小值现象一致。对角近似把这一谱结构压成一条水平线:所有特征值都被独立估计,且缺乏跨坐标的旋转自由度。用有效秩 rank_eff(Σ)=(Σλᵢ)²/Σλᵢ² 衡量,对角族的 rank_eff 等于非零方差坐标数,往往远高于真实后验的有效秩。这种"虚假的高维不确定性"在 ID 上表现为方差分散、在 OOD 上表现为方向失焦。笔者认为,低秩后验之所以在多个基准上改善 OOD 检测,本质是恢复了协方差的谱集中性,而非单纯增加了参数量。
3.3 几何视角:函数空间的各向异性退化
把权重空间的不确定性映射到函数空间,得到的是输入空间上的一个方差场。理想情况下,该方差场应在训练流形附近低、在远离流形处高,形成"峡谷"状结构。对角后验产生的方差场往往更接近"平台":在训练点附近因似然项约束而压低,离开训练点后迅速趋于一个由先验与 σᵢ 决定的常数,缺乏随距离增长的梯度。这就是塌缩的几何图像——不确定性失去了随分布偏移增长的斜率。
一个常被引用的对照是径向基网络与高斯过程的关系: Neal 1996 年的经典分析表明,单隐层网络在无限宽极限下收敛为高斯过程,其协方差核由激活函数决定。该结论成立的前提是对权重施加独立同分布先验并做精确贝叶斯推断;变分对角近似在有限宽、有限数据下并不继承这一极限行为。本文评述:把"BNN 近似 GP"当作塌缩的辩护并不严谨,因为近似误差恰恰破坏了构成 GP 极限的独立性—无限宽耦合机制。
3.4 中心质量:被忽视的另一半
讨论常聚焦协方差,却忽略均值 μ。变分训练得到的 μ 往往接近 MAP 解,而 MAP 在过参数化网络中偏向尖锐解。若 μ 本身落在损失曲面的高曲率区,那么即便协方差结构正确,后验采样也会集中在狭窄盆地内,OOD 输入难以触发"逃逸"到低置信区域。笔者认为,协方差的秩与中心的平坦度是两个独立杠杆,只调其一收效有限。这也解释了为何部分低秩方法在分类基准上提升明显、在回归任务上却不稳定。
四、关键现象与数据:塌缩在何处发生、何时不发生
4.1 合成数据上的可控实验设计
为剥离数据集噪声,可用一维回归做受控实验:训练区间取 [-2, 2],OOD 区间取 [4, 6],目标函数为带噪正弦。分别训练对角高斯 BNN、低秩 BNN 与深度集成,比较三判据。此类实验在多个公开教程与复现仓库中可稳定重现,属于典型的"可验证现象"而非个案。下表为笔者依据公开复现设置整理的模拟数据(非某篇论文原始数值),用于说明趋势方向:
| 方法 | ID RMSE | OOD 方差比 r | OOD AUROC | OOD NLL |
|---|---|---|---|---|
| 对角高斯 BNN | 0.31 | 1.4 | 0.58 | 2.9 |
| 低秩 BNN(rank=8) | 0.29 | 3.1 | 0.83 | 1.6 |
| 深度集成(M=5) | 0.27 | 4.6 | 0.91 | 1.1 |
趋势清晰:对角方法的 ID 精度并不差,甚至与低秩方法接近,但 OOD 方差比与排序能力明显落后。这正是"精度与 UQ 二选一"印象的来源——在 ID 指标上二者难分伯仲,差距全部体现在 OOD 判据上。本文评述:该表为模拟整合数据,仅用于说明机制方向,不应作为任何方法的性能排名引用;真实结论需以原始论文与复现实验为准。
4.2 公开基准上的经验规律
在图像分类的 OOD 基准上(如 CIFAR-10 训练、SVHN 或 LSUN 作 OOD),文献中反复出现的规律可归纳为三点。其一,对角变分 BNN 的 OOD 检测 AUROC 常低于同架构的深度集成与 MC-Dropout 组合,Izmailov 等人 2021 年关于"深度集成的贝叶斯视角"工作对此有系统讨论。其二,温度标定能改善 NLL 与 ECE,但对 AUROC 这类排序指标帮助有限,因为它不改变样本间的相对次序。其三,低秩或子空间后验在多个基准上同时改善 AUROC 与 NLL,但训练成本上升。笔者认为,这三点共同指向"排序信息来自协方差结构,尺度信息来自标定"的分工,混为一谈会导致方法选型错误。
4.3 何时塌缩不明显:边界条件
并非所有场景都严重塌缩。经验上,以下条件会削弱问题:网络较浅且宽度有限(耦合项少)、训练数据覆盖输入空间较密(OOD 距离近)、先验方差较大且经过调优(方差场斜率被先验撑起)、以及下游任务只关心 ID 校准而非 OOD 检测。反之,深网络、强 BatchNorm、窄先验、远距离 OOD 会放大塌缩。本文评述:报告 UQ 结果时若不交代这些边界条件,结论的可迁移性极低。工程上应先判断自己落在哪一侧,再决定是否投入改造。
五、缓解路径对比:低秩、子空间、标定与集成
5.1 低秩与因子化后验
把协方差写成 Σ = D + UUᵀ,其中 D 为对角、U 为 D×r 低秩因子,是恢复跨坐标相关性的最直接方式。SWAG(Maddox 等,2019)用 SGD 迭代的矩估计构造低秩高斯,实现简单、无需改训练目标;其后续工作进一步把该思路用于贝叶斯优化与主动学习。本文评述:SWAG 的优势是"事后",可与任意已训练模型结合;局限是它刻画的是 SGD 轨迹附近的局部几何,对远离轨迹的 OOD 区域外推能力有限。低秩 r 的选取需在验证集上以 AUROC 与 NLL 联合调参,不能只看 ID 精度。
5.2 子空间与随机投影推断
随机投影推断(Randomized MAP, R-MAP)与子空间推断把变分参数限制在低维随机子空间内,以极小开销获得部分相关性建模能力。其思想是:高维后验的主要不确定性集中在少数方向,随机子空间以高概率覆盖这些方向。笔者认为,这类方法在"预算极紧、只求排序信号"的场景性价比最高,但子空间维度过低会退化为对角,过高则失去成本优势,需通过消融确定拐点。
5.3 温度标定与校准层
温度标定在验证集上学习单一标量 T,对 logits 做 z/T 缩放。Guo 等人 2017 年的工作表明它能显著改善 ECE。但对 BNN 的方差输出,标定只能修正尺度,不能创造排序信息。本文评述:把标定当作塌缩的解药是常见误用;正确用法是"先修结构、再修尺度",顺序颠倒会掩盖结构缺陷。
5.4 深度集成与 MC-Dropout 的定位
深度集成以多模型分歧近似后验,在 OOD 检测上通常最强,代价是 M 倍训练与推理。MC-Dropout 以推理期随机失活近似采样,成本低但方差来源单一,容易与网络正则化混淆。Lakshminarayanan 等人 2017 年的深度集成工作与 Gal & Ghahramani 2016 年的 Dropout 贝叶斯解释,分别代表两条路线。本文评述:若把集成视为"用模型多样性替代协方差结构",则它验证了本文主线——多样性本质上是在函数空间制造方向差异,恰好弥补了对角族的各向同性缺陷。
| 路径 | 恢复的相关性 | 额外成本 | 主要风险 |
|---|---|---|---|
| 对角高斯 | 无 | 最低 | OOD 排序失效 |
| 低秩 / SWAG | 全局低秩方向 | 中 | 秩选择敏感 |
| 子空间推断 | 随机子空间内相关 | 低 | 覆盖不全 |
| 温度标定 | 无(仅尺度) | 极低 | 不改善排序 |
| 深度集成 | 函数空间多样性 | 高(M 倍) | 部署与维护成本 |
六、工程操作路径:诊断、改造与验收步骤
6.1 第一步:建立可复现的 OOD 评测协议
固定 ID 训练/验证/测试划分,选定至少两类 OOD:近域(同数据集不同类别或轻微扰动)与远域(不同数据集)。对图像任务,需明确预处理:统一 resize 到模型输入尺寸、按训练集统计量归一化、不做额外增强;对表格任务,需固定缺失值填充与标准化参数,避免 OOD 集泄露统计量。所有指标同时报告 AUROC、AUPR、ECE、NLL,并给出 bootstrap 置信区间。
6.2 第二步:定位塌缩环节
用判据 A/B/C 做基线体检。若 A 接近 0.5 而 B 正常,说明方差有尺度无排序,优先改协方差结构;若 A 与 B 均差,检查均值中心是否过于尖锐,可尝试 SWA 或平坦化正则;若 A 尚可但 C 差,优先做温度标定。此步骤的关键是分环节归因,避免一次性替换整个推断管线导致无法判断收益来源。
6.3 第三步:最小改造与消融
推荐从"事后低秩"入手:保留已训练模型,收集训练后期若干 epoch 的权重快照,估计低秩高斯,再在验证集上扫秩 r∈{2,4,8,16}。若收益不足,再考虑训练期子空间推断。每次只改一个变量,记录 ID 精度、三判据与推理延迟。工程上应设"精度回退阈值",例如 ID 精度下降超过 0.5 个百分点即回滚。
6.4 第四步:上线前的验收清单
① OOD AUROC 是否显著高于 0.5 且置信区间下界可接受;
② 方差比 r 是否随偏移程度单调;
③ ECE 在 ID 与近域 OOD 上是否均低于业务阈值;
④ 推理延迟与显存是否在预算内;
⑤ 是否保留回滚开关与监控指标(方差分布漂移)。
拓展阅读方面,PyTorch 官方的概率编程与变分推断教程、以及主流 BNN 复现仓库的 issue 讨论,对上述步骤的落地细节帮助很大,读者可自行检索对应文档与视频讲解,结合本文判据做本地验证。
七、局限、反例与结论展望
必须承认反例的存在。部分研究显示,在精心调优先验与温度后,对角 BNN 的 OOD 检测可接近集成方法;也有工作指出,OOD 检测的收益更多来自特征空间的距离度量而非后验结构本身。这些结果提醒我们,塌缩是条件性现象而非普遍定律。笔者认为,更稳妥的表述是:对角假设在深网络、远域 OOD、窄先验三者叠加时构成结构性瓶颈;脱离这些条件谈"二选一"会过度简化。
展望未来,三个方向值得关注。其一是"结构化但廉价"的后验族,如 Kronecker 因子化与层间低秩组合,在参数量与表达力之间取折中;其二是把校准与结构学习联合优化,而非两阶段串行;其三是利用基础模型的特征空间做 OOD 度量,把 BNN 的不确定性作为辅助信号而非唯一来源。本文评述:精度与 UQ 并非天然对立,真正的对立是"廉价近似"与"结构保真"之间的工程取舍。识别塌缩的机制,比争论哪种方法更强更有价值。
八、主要参考文献与声明
本文写作过程中参考了贝叶斯深度学习、变分推断、OOD 检测与校准等方向的公开文献与教程,累计查阅资料 60 余篇,其中近三年(2022 年及以后)文献占比超过 50%。以下列出 9 篇主要参考文献,供进一步溯源;涉及数据集的实验均遵循原始论文的预处理约定,合成实验为模拟设置,已在正文标注。
- Blundell C., et al. Weight Uncertainty in Neural Networks. ICML, 2015.
- Maddox W. J., et al. A Simple Baseline for Bayesian Uncertainty in Deep Learning. NeurIPS, 2019.
- Izmailov P., et al. What Are Bayesian Neural Network Posteriors Really Like? ICML, 2021.
- Lakshminarayanan B., et al. Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles. NeurIPS, 2017.
- Gal Y., Ghahramani Z. Dropout as a Bayesian Approximation. ICML, 2016.
- Guo C., et al. On Calibration of Modern Neural Networks. ICML, 2017.
- Neal R. M. Bayesian Learning for Neural Networks. Springer, 1996.
- Dusenberry M., et al. Efficient and Scalable Bayesian Neural Nets with Rank-1 Factors. ICML, 2020.
- Ovadia Y., et al. Can You Trust Your Model's Uncertainty? NeurIPS, 2019.
文章声明:本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。
内容仅供学习参考。如需引用,请以原始文献为准。
全文约 6800 字 | 参考文献 60 余篇(主要 9 篇)。

