有关贝叶斯深度学习误解的回应
【原文序言】 本人对最近 关于贝叶斯深度学习的一些误解 发布了回应 。从那以后,大家一直要求我将其更进一步发展为容易被理解,且能自成一体的参考资料。为此,我专门在此发布此帖,希望对那些正在寻求了解 “贝叶斯推断独特之处” 以及 “贝叶斯推断在深度学习中为何有价值” 的人们有所帮助。此外,最近人们存在一些对 深度集成
和 贝叶斯方法
之间的误解,认为两者之间存在相互竞争的关系,因此,本文还旨在帮助大家厘清 近似贝叶斯推断
和 深度集成
之间的联系。
【论文背景】 2019 年 12 月, OpenAI 的研究人员 Carles Gelada
发布了一篇推文,表示 “贝叶斯神经网络毫无意义”,其主要论据是深度集成方法已经被证明比传统贝叶斯方法更为有效。一石激起千层浪,社区对此言论展开了激烈的讨论,其中纽约大学的 Wilson 教授
对此给予了驳斥,并专门发论文进行了科学地回应。不过话说回来, Carles Gelada
可能真的书读少了,模型选择、模型平均、模型集成不仅仅是贝叶斯领域的重点领域,而且很可能是未来机器真正自动选择 AI 模型的可能解决途径之一。
【原 文】 Andrew Gordon Wilson (2020), The Case for Bayesian Deep Learning
(1)贝叶斯的核心特征是边缘化,即贝叶斯模型平均。
贝叶斯推断对于深度神经网络来说尤其引人注目。贝叶斯方法的关键区别性性质是 边缘化,而非 优化、 先验 甚至 贝叶斯法则。
此外,参数上的模糊先验通常也是先验主观信念的合理描述。通常我们对先验采用哪种函数形式并不模糊,但对设置哪些参数没有任何强烈的先验偏好。值得重申的是:参数空间中的模糊先验与卷积神经网络等高度结构化的模型相结合,并不意味着在函数空间中的先验也是模糊的,这是神经网络经典训练方法能够提供良好结果的原因。参数的模糊先验通常比完全忽略认知不确定性(注:后文会有此概念的定义)更可取(后者通常是现代神经网络的标准选择)。事实上,忽略认知不确定性正是标准网络训练中导致校准误差的关键原因。错误的模型假设被有限的数据集最终确定,使得最终的预测分布变得过于自信。典型案例是:经过最大后验等标准训练的卷积神经网络得到的最大 softmax 输出(注:常被错误地视为类概率),通常会远高于相应类别标签的概率[7]。重要的是,忽略认知不确定性会导致点预测准确性的降低,因为我们现在忽略了对数据的所有其他解释。与大家公认贝叶斯方法具有在校准过程中改进模型的巨大优势相比,目前,人们对贝叶斯方法与神经网络结合的边缘化在提升模型准确性方面的巨大潜力还存在很大程度上的不足。
在许多情况下,我们要计算的预测分布由以下期望公式给出:
公式的输出是 (例如,类别标签,回归值等),由输入 索引( 可以是图像,空间位置等),模型 的参数(或权重)是 ,而 则代表数据。公式 (1) 表示了 贝叶斯模型平均(Bayesian Model Average,BMA)。其本质是:与其把所有事情都押宝在某个确定的参数值 上,不如把每一种可能的参数设置都考虑进来,通过参数的后验概率进行加权得出一个平均结果。
贝叶斯模型平均过程也被称为参数 的边缘化,因为感兴趣的预测分布将不再以 作为条件了。这并非一个有争议的方程,而是概率论加法法则与乘法法则的直接表达。
贝叶斯模型平均得到的不确定性代表了认知不确定性(也称模型不确定性)。也就是说,在有限数据的情况下,参数设置是否正确存在不确定性。认知不确定性与测量过程中噪声带来的偶然不确定性形成对比。
当我们在 空间中移动时,通过观察预测分布的变化情况,可以自然地可视化回归任务中的认知不确定性。例如,当我们远离真实数据时,会发现更多函数能够符合观测数据(亦即候选函数的数量增多了),也就是说,认知不确定性增加了。
(2)传统方法是贝叶斯边缘化的一种特例
在经典训练中,通常会寻求带正则的最大似然解:
此过程有时被称为最大后验 (MAP) 优化,因为它涉及最大化后验。 是对数似然,通过将待学习的函数 与观测数据相关联而形成。如果我们使用 softmax
链接函数执行分类任务,则 对应于交叉熵损失。如果我们执行含高斯噪声的回归任务,则有:
此时 对应于缩放了的 MSE 损失,而先验 则起到了正则化的作用。 如果选择一个平坦先验,其对参数 的任何设置都没有偏好,那么该先验对优化解也没有影响。但平坦先验可能对贝叶斯模型平均(边缘化)产生重大影响。
实际上,即便最大后验方法也涉及了后验、先验及贝叶斯规则,但从本质上它并不是贝叶斯的,因为无论如何,它是在执行优化以将结果押宝在单个假设 上。
我们可以将经典训练想象为执行了近似贝叶斯推断,使用近似后验 ,其中 是 Dirac 冲激函数,该函数除了 处,其他地方均为零。然后,我们就可以恢复贝叶斯预测分布 。从这个角度来看,许多替代方案(尽管不完美)将是可取的,包括对后验 做出最简单的高斯近似,即便真实的后验或似然是高度非高斯的和多峰值的。
经典方法和贝叶斯方法之间的区别将取决于后验 的尖锐程度。如果后验是尖峰,则两者可能几乎没有区别,因为点(概率)质量可能是后验的合理近似值。然而,深度神经网络通常无法被可用数据充分指定,因此将具有弥散的似然 。不仅似然是弥散的,而且参数的不同设置都可以对应于对数据令人信服的不同解释。
事实上,Garipov 等 [5] 表明:神经网络的损失图形中存在多个大峡谷,在这些地方,模型参数的损失也很小,而且都能够产生对测试数据而言有意义但不同的
高性能预测函数。Izmailov et. al [9] 和 Zołna et al. [33] 还展示了可以由神经网络的后验分布来解释的其他解。
【摘 要】 贝叶斯方法的关键特性是边缘化,而非频率主义中单一权重的最优化。边缘化可以提高现代深度神经网络的准确性和校准,并且得到许多引人注目的解。本文表明:深度集成
为近似贝叶斯边缘化提供了一种有效的机制,并根据其作用机理,提出了 MultiSWM
和 MultiSWAG
方法,通过在损失的吸收谷做边缘化来改进预测分布,且不需要显著开销。论文研究还表明,神经网络权重的模糊分布所隐含的函数空间先验,可以从概率视角解释此类模型的泛化特性。从这个角度来看,作者解释了神经网络泛化中存在的一些神秘而独特的结果(例如:神经网络能够用随机生成的标签拟合图像),并表明上述结果可以用高斯过程重现。
(3)深度集成方法本质上也是贝叶斯的,但贝叶斯模型平均和深度集成的使用场景有所不同。
深度集成方法 [12] 最近的成功并不令人沮丧,反而是遵循贝叶斯方法的一种强烈驱动。深度集成涉及在相同神经网络架构下,从不同随机初始化开始进行的多次最大后验训练,以找到不同的局部最优值。因此,在深度集成中使用这些模型其实是加权贝叶斯模型平均的一种近似,其中每套参数设置都对应具有高似然和不同预测结果的模型。
与传统训练使用单点(概率)质量来近似后验不同,深度集成在适当位置使用多个点(概率)质量,从而能够更好地逼近 式(1)
中的积分。而模型(函数)多样性对于获得贝叶斯模型平均的良好近似非常重要,因为我们要对 形式的项求和;如果两组参数设置 和 都提供了高似然,而且产生的模型相似,那么在模型平均时实际上是冗余的。
虽然最近的一份报告 [22] 显示深度集成似乎优于贝叶斯神经网络的某些特定方法,但其结果背后有两个关键原因,而且这两个原因不仅不是对贝叶斯方法的否定,反而是对贝叶斯方法的支撑:
-
首先,深度集成方法在努力寻找不同的吸引谷(对应于不同的解),这比 Ovadia 等 [22] 考虑的单一吸收谷贝叶斯方法更能够逼近贝叶斯模型平均值。
-
其次,深度集成需要从头开始进行多次重新训练,这将产生巨大计算开销。反之如果要控制计算,可能首选还是应当专注于单一吸收谷的方法。
贝叶斯模型平均和一些深度集成方法之间存在着一个重要区别:
-
贝叶斯模型平均设想某个假设(特定的模型参数设置)是正确的,只是在有限数据的情况下,无法区分不同的假设,因此才对模型做平均 [19]。如果数据的真实解释果真符合设想的话,则随着观测到更多数据,贝叶斯模型平均会逐步收敛到最大似然解(点估计)。但是,如果数据的真实解释不是单一模型假设,而真的是
多个假设的组合
时,随着观测到更多数据,贝叶斯模型平均会表现得越来越差。 -
而深度集成方法则不同,它们是通过丰富假设空间来工作的,因此不会以贝叶斯平均的这种方式坍缩。但深度集成从不同的随机初始化开始、寻找对应于不同吸引谷的最大后验或最大似然解,因此当数据的真实解释趋向于单一模型设置时(真实后验体现为比较聚集的形式),深度集成也会出现后验坍塌。对于现代神经网络而言,由于假设空间一般都颇具表现力,因此在很多真实解释趋向于单一模型设置的情况下,深度集成的后验坍塌是可预期的。
注: 后验坍塌(posterior collapse)是指出现了后验无法解释数据的失效现象,因此也称 “后验失效”。
(4)先验的重要性主要体现在函数空间中,而不是贝叶斯神经网络的参数空间中。
对于先验而言,其重要性主要体现在函数空间中,而不是参数空间。在高斯过程情形下[28],模糊先验是灾难性的,因为它是函数空间中的先验,并且对应于白噪声。然而,当我们将参数的模糊先验 与类似卷积神经网络之类的结构化函数形式 相结合时,会引入函数 上的结构化先验分布。事实上,这些模型中的归纳偏好和等方差约束是其在经典环境中运行良好的原因。利用参数的先验,我们可以直接从函数的高斯过程先验中生成样本, 其生成过程可以首先从 中采样参数,然后对 中的这些参数取条件概率,进而从高斯过程 中生成一个函数的样本( [29] , chapter 2 )此外,也可以使用具有高斯过程的神经网络核来推导出一个关于函数的结构化分布 [30]。
贝叶斯与否以及先验如何选择,是和 模型采用何种函数形式或似然?
同样的问题,肯定是不完美的。我们不可能做出无懈可击的假设,但又必须做出假设。试图避免建模过程的假设过程,通常比不完美的假设更糟糕。在选择先验时可能有许多考虑因素,有时考虑重参数化下的不变性。而参数的不变性也是在考虑正则化器、优化过程以及模型规范时的一个重要问题,并不特定于是否应该遵循贝叶斯。尽管如此,我将就这些问题作一些简短的补充说明。
如果我们确实对参数有一个模糊先验(可能会受归一化的约束),则后验反映的是与似然相同的模型间的相对偏好。因为此时后验仅仅是按照某些不依赖于 的因子缩放了的似然。在计算贝叶斯模型平均的积分时,每套参数设置都由关联函数的质量(实际上变成了由似然来度量)加权。因此,模型平均发生在函数空间,并且对重参数化具有不变性。在许多标准架构规范背景下,使用相对广泛的、以零均值为中心的高斯先验还有一些额外好处,例如可以通过约束参数的范数来提供函数空间的平滑度。但这种平滑性并不是采样贝叶斯方法的主要原因,因为最大后验优化也可以实现类似效果。贝叶斯方法最大区别还是在于用边缘化
代替优化
。
深度集成 [22] 正迅速成为准确和校准良好的预测分布的黄金标准。最近的报告 [undefined][1] 表明,在不确定性表示方面,深度集成似乎优于贝叶斯神经网络的某些特定方法,导致人们混淆了深度集成和贝叶斯方法是竞争方法。这些方法通常被明确称为非贝叶斯 [22][undefined][undefined] 。相反,我们认为按照 第 3.1 节
的思路,深化组合实际上是贝叶斯模型平均的一种引人注目的方法。
还有许多示例表明,参数的平坦先验与边缘化相结合,可以回避最大似然训练的病理。没有边缘化的先验只是简单的正则化,但贝叶斯方法本身实际上与正则化无关( [17], Ch 28)。并且有大量工作正在考虑如何逼近具有无信息参数(注意:不是函数)先验的贝叶斯方法,例如,[3]、[2]、[21]、[1]、[6]、[17]、[14]、[20]。这些方法动机良好,边缘化在其中引人注目,而且结果往往比单纯的正则化要好。
(5) 贝叶斯深度学习的研究领域正在蓬勃而有生命力的发展,不仅体现在方法上,而且在实用性上。
我们提出了概率化的观点,它取决于模型的支撑和归纳偏好。支撑应尽可能大,但归纳偏好应根据特定的问题类别进行良好的校准。我们认为贝叶斯神经网络体现了这些特性,并且通过概率推断视角,解释了以前被视为神秘现象的泛化表现。此外,我们认为贝叶斯边缘化对神经网络来说特别有说服力,展示了深度集成如何为边缘化提供一个实用的机制,并提出了一种新方法,使深度集成在坡谷内边缘化。我们表明,MultiSWAG
这种多峰的贝叶斯模型平均化方法可以完全缓解双坡谷问题,随着模型灵活性的增加,性能呈单调改善,并且泛化精度和对数似然比随机梯度下降和单坡谷边缘化有显著改善。
我们不应该破坏迄今取得的进展。贝叶斯推断对于深度神经网络尤其引人注目。贝叶斯深度学习正在获得知名度,因为我们正在取得进展,并取得了良好且可扩展的实际成果。如果我们因为某些挑战或方法不完善而回避近似贝叶斯方法,那么我们是否应当问:“替代方案是什么?” 我认为,很有可能,替代方案只是预测分布的另外一种更为贫乏的表示。
注: 此处是对 Carles Gelada 等人博文的回应,带有批评的意味。
对于现代神经网络,计算公式( 1 )中的积分肯定存在很多挑战,因为涉及复杂的后验形态和高维的参数空间(如 3000 万),上述许多论文都致力于解决这些挑战。其中,我们的研究团队一直致力于:
- 在随机梯度下降的过程中收集几何信息,以形成适应大规模数据的近似贝叶斯推断方法 [9], [18];
- 充分利用损失函数中的峡谷 [5] ;
- 通过创建低维子空间来捕获网络的大部分可变性 [9] ;
- Pradier et al.[23] 还考虑了基于非线性变换的不同降维方法。
- 我们一直在开发周期性随机 MCMC 方法 [32](该方法采纳了深度集成的许多优点),同时尝试在吸收谷内的边缘化。
A PDF version is available here.
参考文献
- [1] James Berger et al. The case for objective Bayesian analysis. _Bayesian analysis_, 1(3): 385–402, 2006.
- [2] James O Berger and Luis R Pericchi. The intrinsic Bayes factor for model selection and prediction. _Journal of the American Statistical Association_, 91(433):109–122, 1996.
- [3] Merlise Clyde and Edward I George. Model uncertainty. _Statistical science_, pages 81–94, 2004.
- [4] Yarin Gal and Zoubin Ghahramani. Dropout as a bayesian approximation: Representing model uncertainty in deep learning. In _international conference on machine learning_, pages 1050–1059, 2016.
- [5] Timur Garipov, Pavel Izmailov, Dmitrii Podoprikhin, Dmitry P Vetrov, and Andrew Gordon Wilson. Loss surfaces, mode connectivity, and fast ensembling of DNNs. In _Neural Information Processing Systems_, 2018.
- [6] Andrew Gelman, John B Carlin, Hal S Stern, David B Dunson, Aki Vehtari, and Donald B Rubin. _Bayesian data analysis_. Chapman and Hall/CRC, 2013.
- [7] Chuan Guo, Geoff Pleiss, Yu Sun, and Kilian Q Weinberger. On calibration of modern neural networks. In _Proceedings of the 34th International Conference on Machine Learning-Volume 70_, pages 1321–1330. JMLR. org, 2017.
- [8] Danijar Hafner, Dustin Tran, Alex Irpan, Timothy Lillicrap, and James Davidson. Reliable uncertainty estimates in deep neural networks using noise contrastive priors. _arXiv preprint arXiv:1807.09289_, 2018.
- [9] Pavel Izmailov, Wesley J Maddox, Polina Kirichenko, Timur Garipov, Dmitry Vetrov, and Andrew Gordon Wilson. Subspace inference for Bayesian deep learning. In _Uncertainty in Artificial Intelligence_, 2019.
- [10] Alex Kendall and Yarin Gal. What uncertainties do we need in Bayesian deep learning for computer vision? In _Advances in neural information processing systems_, pages 5574–5584, 2017.
- [11] Mohammad Emtiyaz Khan, Didrik Nielsen, Voot Tangkaratt, Wu Lin, Yarin Gal, and Akash Srivastava. Fast and scalable bayesian deep learning by weight-perturbation in adam. _arXiv preprint arXiv:1806.04854_, 2018.
- [12] Balaji Lakshminarayanan, Alexander Pritzel, and Charles Blundell. Simple and scalable predictive uncertainty estimation using deep ensembles. In _Advances in Neural Information Processing Systems_, pages 6402–6413, 2017.
- [13] Christos Louizos, Xiahan Shi, Klamer Schutte, and Max Welling. The functional neural process. In _Advances in Neural Information Processing Systems_, 2019.
- [14] D. J. MacKay. Bayesian interpolation. _Neural Computation_, 4(3):415–447, 1992.
- [15] David JC MacKay. Bayesian methods for adaptive models. _PhD thesis, California Institute of Technology_, 1992.
- [16] David JC MacKay. Probable networks and plausible predictions?a review of practical bayesian methods for supervised neural networks. _Network: computation in neural systems_, 6(3):469–505, 1995.
- [17] David JC MacKay. Information theory, inference and learning algorithms. Cambridge university press, 2003.
- [18] Wesley Maddox, Timur Garipov, Pavel Izmailov, Dmitry Vetrov, and Andrew Gordon Wilson. A simple baseline for bayesian uncertainty in deep learning. In _Advances in Neural Information Processing Systems_, 2019.
- [19] Thomas P Minka. Bayesian model averaging is not model combination. _Available electronically at_ [http://www.stat.cmu.edu/minka/papers/bma.html](http://www.stat.cmu.edu/minka/papers/bma.html), 2000.
- [20] R.M. Neal. Bayesian Learning for Neural Networks. Springer Verlag, 1996. ISBN 0387947248.
- [21] Anthony O’Hagan. Fractional Bayes factors for model comparison. _Journal of the Royal Statistical Society: Series B (Methodological)_, 57(1):99–118, 1995.
- [22] Yaniv Ovadia, Emily Fertig, Jie Ren, Zachary Nado, D Sculley, Sebastian Nowozin, Joshua V Dillon, Balaji Lakshminarayanan, and Jasper Snoek. Can you trust your model’s uncertainty? evaluating predictive uncertainty under dataset shift. _arXiv preprint arXiv:1906.02530_, 2019.
- [23] Melanie F Pradier, Weiwei Pan, Jiayu Yao, Soumya Ghosh, and Finale Doshi-Velez. Latent projection bnns: Avoiding weight-space pathologies by learning latent representations of neural network weights. _arXiv preprint arXiv:1811.07006_, 2018.
- [24] Hippolyt Ritter, Aleksandar Botev, and David Barber. A scalable Laplace approximation for neural networks. In _International Conference on Learning Representations (ICLR)_, 2018.
- [25] Yunus Saatci and Andrew G Wilson. Bayesian GAN. In _Advances in neural information processing systems_, pages 3622–3631, 2017.
- [26] Matthias Seeger. Bayesian modelling in machine learning: A tutorial review. _Technical report_, 2006.
- [27] Shengyang Sun, Guodong Zhang, Jiaxin Shi, and Roger Grosse. Functional variational bayesian neural networks. _arXiv preprint arXiv:1903.05779_, 2019.
- [28] Christopher KI Williams and Carl Edward Rasmussen. Gaussian processes for machine learning. the MIT Press, 2(3):4, 2006.
- [29] Andrew Gordon Wilson. Covariance kernels for fast automatic pattern discovery and extrapolation with Gaussian processes. _PhD thesis, University of Cambridge_, 2014.
- [30] Andrew Gordon Wilson, Zhiting Hu, Ruslan Salakhutdinov, and Eric P Xing. Deep kernel learning. In _Artificial Intelligence and Statistics_, pages 370–378, 2016.
- [31] Wanqian Yang, Lars Lorch, Moritz A Graule, Srivatsan Srinivasan, Anirudh Suresh, Jiayu Yao, Melanie F Pradier, and Finale Doshi-Velez. Output-constrained bayesian neural networks. _arXiv preprint arXiv:1905.06287_, 2019.
- [32] Ruqi Zhang, Chunyuan Li, Jianyi Zhang, Changyou Chen, and Andrew Gordon Wilson. Cyclical stochastic gradient MCMC for Bayesian deep learning. In _International Conference on Learning Representations_, 2020.
- [33] Konrad Zołna, Krzysztof J Geras, and Kyunghyun Cho. Classifier-agnostic saliency map extraction. In _Proceedings of the AAAI Conference on Artificial Intelligence_, volume 33, pages 10087–10088, 2019.