A Comprehensive Introduction to Bayesian Deep Learning
贝叶斯深度学习综合介绍
弥合基础研究和现代研究之间的差距
![]()
- 引言贝叶斯(深度)学习一直令我既着迷又敬畏——或许因其高度依赖概率论,而后者本身便颇具挑战性。我注意到,即便掌握基础概率知识,仍将现代贝叶斯深度学习研究中的概念理解和联系视为难事。本文旨在弥合这一鸿沟,提供一份全面且易懂的入门导引。
我将不从基础讲起,而是以 Andrew Wilson 与 Pavel Izmailov(纽约大学)在 NeurIPS 2020 上发表的一篇杰出论文《贝叶斯深度学习与泛化的概率视角》(Bayesian Deep Learning and a Probabilistic Perspective of Generalization)为切入点。该论文为我们提供了一个生动的起点,在其中可自然地接触真实研究中的贝叶斯概念;我希望这能使贝叶斯视角更具象化,并彰显其现实意义。
我将从论文摘要与引言着手,为后续讨论铺垫背景;每当遇到贝叶斯概念时,我会适时抽离,从概率论及机器学习/函数逼近两个角度,给出兼具直觉与深度的系统性阐释;同时,贯穿全文,我将持续回归并关联该论文内容。
愿你读罢此文,不仅能多少“沾上几分贝叶斯气息”,更能理解该论文的诸多贡献,并对“泛化”这一核心议题形成更深刻的认识。
- 神经网络的泛化能力(摘要与引言)
如果你的贝叶斯知识有些生疏,这篇摘要或许显得颇为晦涩。其中前两句话对我们理解贝叶斯深度学习(Bayesian DL)至关重要;中间部分提出了三项技术性贡献;最后加粗的两句话则为理解神经网络中若干神秘现象(如泛化)提供了新颖洞见的初步引导。我将逐一讲解,但按部就班——先从论文引言开始。
引言中提出的一个关键问题是:神经网络为何以及如何实现泛化?
作者指出:
“从概率视角看,泛化能力主要取决于模型的两个属性:支撑集(support)与归纳偏置(inductive biases)。”
- 支撑集(support)指模型所能处理的数据集类别范围,换言之,即模型所能表示的函数集合——这些函数旨在逼近数据的生成过程。
- 归纳偏置则刻画了某一模型类对特定类型数据集(如图像、文本、数值特征)的拟合能力优劣。作者巧妙地将此称为“支撑上的分布”(distribution of support),即:模型类性能(≈归纳偏置)在所有可能数据集(即支撑集)上的分布情况。
让我们来看作者给出的几个例子:
- 线性函数的支撑集是截断的(truncated),因其甚至无法表示一个二次函数;
- 多层感知机(MLP)虽高度灵活,但其支撑在各类数据集上分布过于均匀,导致对许多图像数据集而言缺乏针对性,因而“不够有趣”;
- 卷积神经网络(CNN)则在图像识别任务中展现出支撑集与归纳偏置之间的良好平衡。图2a对此作了清晰展示。
纵轴所表示的,即我此前朴素解释为“模型对特定数据集拟合能力优劣”的量,实则为贝叶斯证据(Bayesian evidence),亦称边缘似然(marginal likelihood)——这是我们接触到的第一个贝叶斯概念!我们将在下一节深入探讨;现在,先完成当前思路。
一个优良的模型不仅需要足够大的支撑集(以确保真实解在函数空间中可实现),还需具备恰当的归纳偏置(以真正收敛至该解)。当前可将贝叶斯后验(Bayesian posterior)理解为我们的模型:在恰当归纳偏置作用下,后验分布应能“收缩”(contract)至正确解;但同时,先验假设空间必须足够广阔,以保证真实模型在函数意义上是可实现的(即具备宽泛的支撑集)。
下图以三种示例模型直观展示了这一点:从左至右依次为绿色的CNN、紫色的线性函数与粉色的MLP。
在引言的此处,作者再次强调——正如摘要首句所述:
“贝叶斯方法的关键区别性特征在于边缘化(marginalization)而非优化(optimization):我们以所有参数取值按其后验概率加权的方式表示解(即对参数进行积分),而非将全部赌注押在单一参数配置上。”
此刻正是深入探讨“边缘化 vs 优化”之差异,并全面拓展我们对贝叶斯方法理解的恰当时机。接下来,我们将逐一阐释诸如后验(posterior)、先验(prior)、预测分布(predictive distribution)、边缘似然(marginal likelihood)、贝叶斯证据(Bayesian evidence)、贝叶斯模型平均(Bayesian model averaging)、贝叶斯推断(Bayesian inference)等核心概念。
3 回归基础:贝叶斯方法
我们随处可见“边缘化是贝叶斯统计的核心”这一论断,甚至连 Bishop 的机器学习经典教材《模式识别与机器学习》(PRML)中亦如此强调。与贝叶斯视角相对的是频率学派(frequentist)视角——这正是大多数机器学习文献所采用的范式,也更易于理解。我们先从此处入手。
3.1 频率学派方法
频率学派的机器学习方法是:通过优化一个损失函数,以获得模型参数的最优配置。例如,交叉熵损失常用于分类任务(如目标检测或机器翻译);最常用的优化技术则是各类(随机)梯度下降(SGD)的变体。在 SGD 中,模型参数沿损失空间中下降最陡的方向迭代更新——该方向由损失函数关于参数的梯度决定。所期望的结果是:对于相同或相似的输入,新参数配置能使模型输出更接近目标值。对于神经网络,梯度通常借助一种名为反向传播(backpropagation)的计算技巧高效求得。
![]()
值得注意的是,这种通过 最大似然估计 (Maximum Likelihood Estimation, MLE)来获取(或称“训练”)预测模型的频率学派做法,实则可置于更广阔的贝叶斯框架下理解——事实上,MLE 可视为 最大后验估计 (Maximum A Posteriori, MAP)的一个特例:当先验分布为均匀分布(uniform prior)时,MAP 即退化为 MLE(MAP 将在下文简要讨论)。
3.2 贝叶斯学派
贝叶斯方法的一个关键特性是真实地量化不确定性——这在现实世界应用中至关重要,尤其是在我们需要信赖模型预测结果的场合。因此,贝叶斯方法并不输出参数的点估计(point estimate),而是定义一个完整的参数概率分布,我们称之为后验分布(posterior distribution)。该后验分布表达了我们对各参数(取值)的信念、假设与不确定性程度。
我们利用贝叶斯定理(Bayes’ Theorem)来计算后验分布。该定理是贝叶斯机器学习的核心(也因此得名),且可由基础概率规则直接推导得出:
![]()
![]()
3.3 贝叶斯推断与边缘化
我们现已触及问题的核心:贝叶斯推断(Bayesian inference)是指学习(推断)参数 w w的后验分布的过程——这与频率学派通过微分优化寻找最优 w w 的学习方式形成鲜明对比。
如前所述,为计算完整后验,我们必须对整个参数空间进行边缘化(即积分)。然而在实践中,这项操作通常不可行(不可解,intractable),因为参数可能有无穷多种取值。正因如此,贝叶斯方法本质上是以边缘化而非优化为核心。
后验中出现的不可解积分催生了一类不同的参数学习方法。不同于梯度下降,贝叶斯学派常采用采样方法(如马尔可夫链蒙特卡洛,MCMC)或变分推断(variational inference)——后者试图用一类更简单、可解的分布族来近似真实后验。类似技术也广泛用于生成模型(如变分自编码器,VAE)。近年来,标准化流(normalizing flows)作为一种较新的方法,也被用于对复杂分布进行高精度近似。
- 如何在实践中使用后验分布?
既然我们已理解贝叶斯后验分布的含义,那么在实际应用中该如何使用它呢?例如,若我们想预测一个未见过的句子 x 对应的下一个词 y ,该怎么做?
4.1 最大后验估计(MAP)
一种做法是:直接取模型 M M 的参数后验分布,并选择其中概率密度最高的参数配置 w (即分布的众数,mode)——该方法称为最大后验估计(Maximum A Posteriori, MAP)。
然而…… 若我们费尽周折计算出完整的参数概率分布,最终却仅取一个点估计,岂非可惜?(除非后验分布的绝大部分概率质量确实高度集中于参数空间中某一点。)
正因 MAP 仍输出点估计,它不被视为完整的贝叶斯方法。
4.2 完整的预测分布
![]()
这一过程称为贝叶斯模型平均(Bayesian Model Averaging, BMA)——即对所有可能的模型(此处指所有可能的参数配置)进行加权平均。
在贝叶斯机器学习中,预测分布的计算是边缘化的第二个关键应用场景,第一个则是后验本身的计算。
一种直观理解预测分布的方式是借助简单回归任务进行可视化(如下图所示);具体示例可参见这些幻灯片(第9–21页)。
4.3 近似预测分布
正如我们所知,预测分布中的积分往往不可解,至少计算代价极高。使用后验的第三种方法是:采样若干组参数配置,并融合对应模型的预测结果(例如实现近似的贝叶斯模型平均,BMA)。该方法实则被称为预测分布的蒙特卡洛近似(Monte Carlo approximation)!
这最后一种方法隐约让人联想到一个对朴素频率学派而言或许更熟悉的概念——深度集成(deep ensembles)。深度集成通过组合多个架构相同、但参数初始化不同的神经网络而构建。这恰与我们此前论文讨论的结尾处巧妙呼应!还记得论文摘要吗?
“我们证明,深度集成为近似贝叶斯边缘化提供了一种有效机制,并提出一种相关方法,通过在吸引域(basins of attraction)内部进一步边缘化,从而提升预测分布的质量。”
如今第二次重读此摘要,其各项贡献应已清晰许多。同时,我们也终于正式迈入了贝叶斯深度学习(Bayesian Deep Learning)的领域!
- 贝叶斯深度学习
贝叶斯神经网络(Bayesian Neural Network, BNN)本质上就是将后验推断应用于神经网络架构:具体而言,为每个权重与偏置指定一个先验分布。然而,由于神经网络参数空间极为庞大,其后验推断比常规模型更加困难。
那么,为何还要开展贝叶斯深度学习?
经典答案是:为获得对不确定性的真实刻画与良好的校准性(calibration)。当分类器对某类预测的置信度(概率)与其实际错误率一致时,称该分类器是校准良好的——如前所述,这对现实应用至关重要。
“神经网络通常存在校准不良问题,其预测往往过度自信。”
然而,我们正在研读的这篇论文作者 Wilson 与 Izmailov 指出:贝叶斯模型平均(BMA)不仅能提升不确定性估计,还能提高预测准确率。根据第3.1节所述,贝叶斯视角对神经网络尤其具有说服力:因其庞大的参数空间,神经网络可表征大量与观测数据一致的不同解(即模型严重欠定,underspecified)。正因如此,贝叶斯模型平均极为有用——它能将多种多样的函数形式(或称“视角”)融合为一。
“神经网络能够表征众多与观测一致的模型;若依经典方法仅择其一,则当这些模型在测试点上预测分歧时,我们便丢失了关键的不确定性信息。”
5.1 近期(近似)贝叶斯深度学习方法
近期,许多研究者尝试融合传统神经网络(如借助 SGD 与反向传播实现高效训练)与贝叶斯方法(如良好校准性)各自的优势。
蒙特卡洛 Dropout(Monte Carlo Dropout)
一种流行且概念简洁的方法。回顾可知,Dropout 传统上用作正则化手段——通过在训练中随机“关闭”部分权重,为网络引入随机性或多样性。研究发现,Dropout 可被重新诠释为一种近似贝叶斯推断,并可应用于测试阶段:此时多次前向传播将产生多个不同的参数配置。这听起来是否与“从后验中采样参数以近似预测分布”颇为相似?
随机权值平均—高斯(Stochastic Weight Averaging – Gaussian, SWAG)
另一类工作源于随机权值平均(SWA)——这是一种优雅的集成近似方法,通过智能地融合同一网络在训练不同阶段的权重实现(若想深入了解,可参阅相关博客)。SWAG 在其基础上进一步发展:利用 SGD 过程中提供的简单统计量,近似后验分布的形状(即局部几何结构)。
回想一下,SGD 实质是在参数空间中“移动”,以寻找损失函数的(局部)极小值点。为刻画后验的局部几何特性,SWAG 用高斯分布拟合 SGD 迭代轨迹的一阶矩(均值)与二阶矩(协方差):矩(moments)用于描述函数或分布的形状——零阶矩为总和,一阶矩为均值,二阶矩为方差。所得高斯近似即可用于贝叶斯模型平均(BMA)。
频率学派的不确定性表征替代方法
显然,我在此仅提及了该领域不到 1% 的工作(例如:用于提升校准性的 KFAC Laplace 近似、温度缩放等),所选上述例子部分原因在于它们与我们正在解读的论文密切相关。最后再补充一个近期流行的频率学派(抑或……?)不确定性近似方法作为收尾:该方法表明,可训练一个深度集成(deep ensemble),并利用其构建预测分布,从而获得校准良好的模型。作者还引入若干附加技巧(此处不展开),例如使用对抗训练来平滑预测分布。详见该论文:https://arxiv.org/abs/1612.01474 。
- 回归论文
至此,我们已充分准备就绪,可以重返论文本身,系统梳理其核心贡献了!现在理解起来应当轻松许多
6.1 深度集成即贝叶斯模型平均(BMA)
Wilson 与 Izmailov 指出:与近期文献(包括笔者自己)的通常观点相反,深度集成并非一种“频率学派替代方案”以获取贝叶斯优势;实际上,它正是对后验分布的一种极佳近似。
由于深度集成通过多次独立的 MAP 或 MLE 重训练构建,不同成员往往收敛至损失曲面上不同的吸引域(basins of attraction)——即通向某(局部)最优解的“盆地”或谷底。然而,损失景观中通常存在多个最优解(即多个谷底),而非唯一。
由集成中不同成员所发现的多个吸引域,带来了比“仅在单个吸引域内近似后验”的贝叶斯方法更丰富的函数多样性(functional diversity)。
6.2 融合深度集成与贝叶斯神经网络(第4节)
上述“利用多个吸引域”的思想对下一项贡献同样关键——即一种改进的预测分布近似方法。作者将深度集成所具备的“多吸引域”特性与 SWAG 的贝叶斯处理方式相结合,提出了一种集两者之长的方案:多吸引域随机权值平均高斯法(Multiple basins of attraction Stochastic Weight Averaging Gaussian),简称 MultiSWAG:
“MultiSWAG 组合了多个独立训练所得的 SWAG 近似,构建出一个高斯混合后验近似,其中每个高斯分量中心位于不同的吸引域上。值得注意的是,MultiSWAG 相较于标准深度集成,并未增加任何额外训练时间。”
若想了解具体技术细节,欢迎查阅原文
6.3 神经网络先验(第5节)
你或许会问:我们怎么可能为数百万参数指定一个有意义的先验?这确实是个极为合理的问题——事实上,这也常被用作对贝叶斯方法的批评之一。
然而,论文第5节中,Wilson 与 Izmailov 提供了证据:采用模糊先验(如简单高斯先验)
“对参数施加模糊的高斯先验,当与神经网络架构相结合时,可诱导出一个在函数空间上具有有益归纳偏置的函数分布。” …… “函数上的分布(distribution over functions)决定了模型的泛化性能;而孤立的参数先验本身并无实际意义。”
换言之:一个模糊的参数先验,经由神经网络的函数形式映射后,可在函数空间中产生有意义的分布。关键不在于先验本身的形式,而在于它对最终预测分布所产生的影响。
6.4 重新思考泛化与双重下降现象(第6、7节)
我们现已来到摘要中所强调的那些“奇特神经网络现象”。根据第6节所述,神经网络能够拟合随机标签这一看似惊人的事实,实则毫不奇怪——只要从支撑集与归纳偏置的视角加以审视。
宽泛的支撑集(即满足 p ( D ∣ M ) > 0 的数据集范围)对泛化至关重要。事实上,只要具备恰当的归纳偏置,能将模型引导至优良解,那么“拟合随机标签”的能力本身并无问题。Wilson 与 Izmailov 进一步指出,这一现象并非神经网络所特有;高斯过程(Gaussian Processes)同样展现出拟合随机标签的能力,因而它并非某种神秘的神经网络专属特性。
双重下降(Double Descent)
第二个现象是“双重下降”——这是近期发现的一种反常现象:模型规模增大或数据量增多时,性能反而意外下降。
Wilson 与 Izmailov 发现:使用 SGD 训练的模型会出现双重下降现象,而 SWAG 可在一定程度上缓解该现象;更重要的是,MultiSWAG 与深度集成均能完全消除双重下降现象!这一结果与他们此前的论断高度一致:
“深度集成对贝叶斯预测分布的近似效果,优于传统的单吸引域贝叶斯边缘化方法。”
同时也凸显了:对后验分布多个模态(modes)
https://towardsdatascience.com/a-comprehensive-introduction-to-bayesian-deep-learning-1221d9a051de/
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.