贝叶斯深度学习综合介绍
弥补基础知识与现代研究之间的差距。
Joris Baan.
15分钟阅读
1.序言
贝叶斯(深)学习始终吸引和恐吓着我。也许是因为它倾向于概率理论,这可能是令人生畏的。我注意到即使我知道基本的概率理论,我也很难理解并将其连接到现代贝叶斯深度学习研究。这个博客的目的是弥补那个差距并提供全面的介绍。
我将从Andrew Wilson和Pavel Izmailov(NYU)的贝叶斯深度学习和泛化概括为令人难以置信的Neurips 2020纸,而不是从基础开始,而不是令人难以置信的深度学习和泛化普通的普通学习和普通化的概率视角。本文用作有形的起点,我们自然地遇到了野生的贝叶斯概念。我希望这使得贝叶斯观点更加具体并与其相关性一致。
我将从论文摘要开始并介绍设置舞台。正如我们遇到贝叶斯概念,我将缩小全面概述,既可以从概率和ML /函数近似透视中提供充足的直觉。最后,在整个帖子中,我将回到并与论文连接。
我希望你不仅会感受到至少有轻微的贝叶斯,而且还要了解论文的众多贡献,概括;)
2.神经网络泛化(摘要和介绍)
如果你的贝叶斯知识有点遗忘,摘要似乎很神秘。前两句话对我们对贝叶斯深度学习的一般性理解特别重要。中间部分呈现三种技术贡献。最后两次突出的句子在新的洞察中为神秘神经网络现象提供了一个初步。我会覆盖一切,但首先是第一件事:本文的介绍。
> Abstract of Bayesian Deep Learning and a Probabilistic Perspective of Generalization by Andrew Wilson and Pavel Izmailov (NYU)
介绍中的一个重要问题是神经网络泛化的方式和原因。作者争辩说
“从概率的角度来看,泛化在很大程度上取决于模型的两个属性,偏见的支持和推导。”
支持是模型可以支持的数据集类的范围。换一种说法;模型可以表示的特征范围,其中函数试图表示数据生成过程。归纳偏见定义了模型类在拟合特定数据集类(例如图像,文本,数值)时的良好度。作者们称之为,非常好,“支持分布”。换句话说,分布在所有可能数据集(支持)范围内的模型类性能。
让我们来看看作者提供的例子。线性函数具有截断的支持,因为它甚至不能代表二次函数。MLP是高度灵活的,但是对于许多图像数据集来说,甚至将其跨越数据集分发其支持。卷积神经网络在用于图像识别的支持和归纳偏见之间具有良好的平衡。图2a很好地说明了这一点。
> Support and its distribution (inductive bias) for several model types. Wilsen et al. (2020) Figure 2a
垂直轴代表我天真地解释为“模型在拟合特定数据集时的良好”。它实际上是贝叶斯证据或边际可能性;我们的第一个贝叶斯概念!我们将在下一节中探讨。让我们首先完成我们的思路。
一个良好的模型不仅需要大量的支持能够代表真正的解决方案,而且还需要正确的归纳偏见实际到达该解决方案。贝叶斯后部,将其视为我们的模型,应该由于良好的归纳偏见而应拟合到正确的解决方案。然而,先前的假设空间应该足够宽,使得真正的模型在特征上可以(广泛的支持)。下面的插图向三个示例模型演示了这一点。从左到右,我们在紫色的绿色,线性函数中看到CNN,以及粉红色的MLP。
> Relation between the prior, posterior and true model for model types with varying support and inductive bias. CNN (b), MLP ( c ) and linear model (d). Wilsen et al. (2020) Figure 2
此时在引言中,类似于摘要的第一句,作者强调了这一点
“贝叶斯方法的关键区别特性是边缘化而不是优化,在那里我们代表由其后验概率加权的参数的所有设置给出的解决方案,而不是在单个参数设置上赌所有内容。”
挖掘边缘化与优化的时间成熟,并扩大对贝叶斯方法的一般理解。我们将触及后,先验和预测分布,边缘可能性和贝叶斯证据,贝叶斯模型平均,贝叶斯推论等。
3. 回到基础:贝叶斯的方法
我们可以找到关于边缘化的声明,在任何地方都在贝叶斯统计数据的核心。即使在主教的ML圣经-模式识别和机器学习中。与贝叶斯视角相反的是常见的观点。这就是你在大多数机器学习文学中遇到的。掌握也更容易。让我们从那里开始。
3.1 频率
机器学习的常见方法是优化损耗特征以获得模型参数的最佳设置。示例丢失特征是跨熵,用于分类任务,例如对象检测或机器翻译。最常用的优化技术是(随机)梯度下降。在SGD中,模型参数在损耗空间中最陡流向上迭代地更新。该方向由相对于参数的损耗的梯度确定。所需的结果是,对于相同或相似的输入,该新参数设置导致输出较近表示目标值。在神经网络的情况下,通常使用称为后向传播的计算技巧计算梯度。
> Navigating a loss space in the direction of steepest descent using Gradient Descent. Amini et al. (2017) Figure 2.
从概率的角度来看,频率是试图最大化可能性p(d | w,m})。简单的说:选择我们的参数w,使得它们最大化观察到的数据集D的概率,以我们选择M模型M(主教,第1.2.3章)。M通常是为了简单而遗漏。从概率的角度来看,(统计)模型只是数据D(主教,第3.4章)的概率分布。例如;语言模型输出在词汇表上的分布,表明每个单词是下一个单词的可能性。事实证明,这种最大似然估计(MLE)获得的频率估计或“训练”,可以从更大的贝叶斯语境中查看预测模型。事实上,MLE可以被认为是最大的后验估计的特殊情况(MAP,我很快就会讨论)。
3.2贝叶斯主义者
贝叶斯方法的一个关键性质是要实际量化不确定性。这对于要求我们信任模型预测的现实世界应用至关重要。因此,代替参数点估计,贝叶斯方法定义了参数的完全概率分布。我们称之为后部分布。后验代表了我们关于每个参数的值(设置)的信仰/假设/不确定性。我们使用贝叶斯定理来计算后部。本定理位于贝叶斯ML的核心 - 因此名称 - 并且可以使用简单的概率规则来源。
我们从参数中指定先前的分发P(w),以捕获我们的信仰,在观察任何数据之前,我们的模型参数应该是什么样的。
然后,使用我们的数据集,我们可以使用可能性p(d | w)更新(乘以)我们的先前信念。这一可能性是我们在频繁的方法中看到的相同数量。它告诉我们观察到的数据通过特定参数设置W如何解释。换一种说法;我们的模型如何拟合或生成该数据集。可能性是我们参数w的函数。
然而,为了获得有效的后验概率分布,必须为每个参数设置评估可能性和先前的产品,并归一化。这意味着在所有参数设置上边缘化(总结或集成)。标准化常数被称为贝叶斯(模型)证据或边际似然P(d)。
这些名称非常直观,因为P(d)提供了我们的模型有多好的证据(即数据的可能性)。使用“整个模型”,我的意思是考虑到所有可能的参数设置。换句话说:边缘化对它们。我们有时会明确地包括模型选择分钟作为p(d | m)的证据。这使我们能够将不同的型号与不同的参数空间进行比较。事实上,在比较CNN,MLP和线性模型之间的支持和电感偏压时,这一比较正是在纸张中发生的事情!
3.3贝叶斯推论和边缘化
我们现在已经到了此事的核心。贝叶斯推论是发现(推断)上W的后部分布的学习过程。这与尝试通过差异化的优化找到最佳W对比,频繁消费者的学习过程。
正如我们现在所知,计算完整的后后部,我们必须在整个参数空间上边缘化。在实践中,这通常是不可能的(棘手的),因为我们可以具有无限的这样的环境。这就是为什么贝叶斯方法根本性地关于边缘化而不是优化。
后验中的难以切割的积分导致不同的方法,用于学习参数值。贝叶斯主义者通常使用诸如马尔可夫链蒙特卡罗(MCMC)等的采样方法而不是梯度下降,而是使用诸如Markov Chain Monte Carlo(MCMC)或变分推理;尝试使用更简单的贸易的分布式模仿后部的技术。类似的技术通常用于生成模型,例如VAES。近似复杂分布的相对较新的方法是归一化流量。
4.如何在实践中使用后部?
现在我们了解贝叶斯后部分布,我们如何在实践中实际使用它?如果我们想预测,说,下一个单词,让我们给人一个看不见的句子x?
4.1最大后验(MAP)估计
嗯,我们可以简单地将后续分布用于我们的Model M的参数,并选择具有分配给它的最高概率的参数设置W ^(分布模式)。该方法称为最大后的后验或地图估计。但是……经历所有这一切努力,通过我们的参数计算适当的概率分布,这将是一个很浪费,只能为另一点估计估计,对吧?(除了几乎所有后部的质量时围绕参数空间中的一个点居中。因为地图提供了一个点估计,所以它不被认为是一个完整的贝叶斯治疗。
> Maximum A Posteriori (MAP) estimation; not a full Bayesian treatment. Hero et al. (2008)
4.2完全预测分配
完整的贝叶斯方法是指定预测分布(y | d,x)。
这定义了Class Label Y给定的新输入x和数据集D的概率。计算预测分布,我们需要再次通过参数设置边缘化!我们使用参数设置W将每个设置W的后概率乘以标签W给出输入X的概率。这称为贝叶斯模型平均或BMA,我们在所有可能的型号上进行加权平均值(在这种情况下参数设置)。预测分布是贝叶斯ML中边缘化的第二个重要位置,第一个是后部计算本身。直观的方式来可视化预测分布的是具有简单回归任务,如下图所示。对于一个具体的例子,请检查这些幻灯片(幻灯片9-21)。
> Predictive distribution on a simple regression task. High certainty around observed data points; high uncertainty elsewhere. Yarin Gal (2015)
4.3近似预测分配
正如我们现在所知,预测分配中的积分通常是棘手的,并且在最难度的计算上昂贵。使用后验的第三种方法是采样几个参数设置并组合所得模型(例如,近似BMA)。这实际上被称为蒙特卡罗近似值的预测分配!
最后一个方法模糊地让人想起了一个谦逊的频率更熟悉的东西:深刻的合奏。通过组合架构相同的神经网络来形成深度集合,而是用不同的参数初始化训练。这种美妙地与我们在纸上留下的地方有关!还记得摘要吗?
“我们展示深深的合奏提供了近似贝叶斯边缘化的有效机制,并提出了一种相关的方法,进一步提高了吸引力盆地内的边缘化预测分布”。
第二次阅读摘要,贡献应该更有意义。此外,我们终于转向贝叶斯深度学习领域!
5.贝叶斯深度学习
贝叶斯神经网络(BNN)简单地应用于神经网络架构。要精确,为每个重量和偏置指定了先前的分发。然而,由于它们的巨大参数空间,推断后的后续比平时更困难。
那么为什么需要贝叶斯深度学习?
经典答案是获得不确定或校准的真实表达。如果类预测的概率(置信度)以其错误分类率对准,则认为分类器被视为校准。如前所述,这对现实世界应用至关重要。
“在他们的预测通常过于自信的情况下,神经网络经常被错误刺激。”
然而,我们的运行纸张,威尔逊和伊兹蒙罗夫的作者认为,贝叶斯模型平均也提高了准确性。根据第3.1节,贝叶斯观点实际上是神经网络的引人注目!由于它们的参数空间大,神经网络可以代表许多不同的解决方案,例如,它们不受数据指定。这意味着贝叶斯模型平均值非常有用,因为它结合了各种功能形式或“观点”,进入一个。
“神经网络可以代表许多与我们的观察结果一致的模型。通过仅在经典程序中选择一个,当模型不同意测试点时,我们会失去不确定性。“
5.1最近(近似)贝叶斯深度学习的方法
许多人最近一直在努力结合传统神经网络的优势(例如,使用SGD和后向传播的计算高效训练)具有贝叶斯方法的优点(例如校准)。
蒙特卡罗Dropout
一个流行的,概念上简单的方法是Monte Carlo dropout。回想一下,传统上将Dropout用作正则化;它通过在训练期间随机关闭权重提供了神经网络的随机性或变化,它可以将丢失丢失作为近似贝叶斯推断和在测试期间应用,这导致多个不同的参数设置。听起来有点类似于从后部进行采样参数,以近似预测分布,MH?
> Original dropout mechanism. Srivastava et al. (2014)
随机重量平均 - 高斯
随机重量平均(SWA)遵循的另一种工作,与集合的优雅近似,智能地将同一网络的权重在不同的训练阶段(检查出这个或这个博客,如果您想了解更多。SWA-Gaussian通过使用SGD提供的简单信息近似于后验分布的形状(局部几何形状)构建。调用SGD“移动”通过在损耗空间中寻找(本地)最佳的参数空间。近似于局部几何后验,它们适合SGD迭代的第一和第二时刻的高斯分布。瞬间描述了功能或分布的形状,其中零时刻是总和,第一时刻是平均值,第二时刻是平均值方差。然后可以用于BMA的这些拟合的高斯分布。
频繁的不确定性代表的替代品
我显然未能提及至少99%的领域(例如,KFAC LAPLACE和改进校准的温度缩放),并根据我们的运行纸张相关,采摘上面的示例。我将完成最近频繁的最后一个例子(或者是它……)替代不确定性近似的一个例子。这是一种流行的方法,表明人们可以训练深度合奏并使用它来形成预测分布,从而产生良好的校准模型。他们使用了一些钟声和吹口哨,即我不会进入,例如对抗性训练来平滑预测分布。看看这里的论文。
6.回到论文
到目前为止,我们还是准备圈回论文并返回其贡献!他们应该更容易掌握:)
6.1深度合奏是BMA
与最近的文学(我所包括的人)相反,威尔逊和Izmailov认为,深深的合奏不是常见的替代方案,以获得贝叶斯的优势。事实上,它们是后部分布的非常好的近似。因为深度集合由地图或MLE刷新形成,所以它们可以形成不同的吸引力盆地。吸引力的盆地是“盆地”或损失景观中的山谷,导致某些(本地)最佳解决方案。但是,可能是,通常是多个最佳解决方案,或损失景观中的山谷。通过集合的不同部位发现多个吸引力的使用,导致比贝叶斯的方法更具功能的多样性,这些方法专注于近似于在吸引力的单一盆地内的后部。
6.2与贝叶斯神经网络相结合深度合奏(第4节)
这种使用多个吸引力盆地的想法对于下一个贡献以及近似预测分布的改进方法。通过将深度融合的多个盆地与赃物在赃物中的贝叶斯治疗中的多种盆地结合起来,提出了世界上最好的解决方案:多个吸引力随机重量的盆地平均高斯或多幅度:
“MultisWAG结合了多个独立训练的SWAG近似,以创建高斯近似到后部的混合,每个高斯以不同的盆地为中心。我们注意到,MultiSwag不需要在标准深度集合上进行任何额外的培训时间。“
如果您对Nitty Gritty细节感兴趣,请仔细查看本文;)
6.3神经网络前瞻(第5节)
我们如何在数百万参数之前指定一个有意义的参数,听到你问?事实证明这是一个非常有效的问题。事实上,贝叶斯方法有时是因为它而受到批评。
然而,在论文上的第5节中,威尔逊和Izmailov提供了证据表明先前指定模糊的证据,例如简单的高斯实际上可能不是这样的坏主意。
“在参数上的模糊高斯前锋,与神经网络架构相结合,诱导具有有用归纳偏差的功能的分布。”……
……“通过函数的分布控制了模型的泛化属性;在孤立上之前的参数没有任何意义。“
与神经网络的功能形式的模糊相结合导致功能空间的有意义分布。先前本身无关紧要,但它对产生的预测分配的影响确实如此。
6.4重新思考泛化和双重血统(第6和第7节)
我们现在已经到了我在摘要中突出的奇怪神经网络现象。根据第6节,神经网络可以适应随机标签的令人惊讶的事实实际上并不令人惊讶。如果您从支持和归纳偏见的角度来看它。广泛的支持,P(d | m)> 0的数据集的范围对于泛化是重要的。事实上,只要我们拥有正确的归纳偏差,适应随机标签的能力是完全良好的,以便将模型转向良好的解决方案。威尔逊和Izmailov也表明,这种现象也不是神秘的网络,而且高斯过程表现出相同的能力。
双血统
第二种现象是双重血统。Double Descent是最近发现的现象,其中型号更大,更多的数据意外地降低了性能。
> Figure taken from this OpenAI blogpost explaining Deep Double Descent
威尔逊和Izmailov发现,SGD培训的型号遭受双重血统,但会减少它。更重要的是,多人造纸以及深度整合完全减轻了双重血统现象!这符合他们先前讨论过的索赔
“深入的合奏能够比传统的单盆贝叶斯边缘化程序更好地逼近贝叶斯预测分布。”
并突出边缘化在多种后面的边缘化的重要性。
最后的话
你做到了!谢谢你一直阅读。这篇文章变得非常漫长,但我希望你能学到很多关于贝叶斯DL的事情。我肯定了。
请注意,我没有威尔逊,Izmailov或纽约州的群体。这篇文章反映了我对他们的工作的解释,除了直接从论文中采取的报价块。
请随时询问任何问题或指出毫无疑问的错误。我也很想知道你是否喜欢这篇文章。您可以在我的网站上找到我的联系方式,请在Twitter上留言或连接LinkedIn。在Jorisbaan.nl/Posts查看我的个人博客以获得适当的数学渲染!
(本文由闻数起舞翻译自Dimitris Poulopoulos的文章《A Comprehensive Introduction to Bayesian Deep Learning》,转载请注明出处,原文链接:
https://towardsdatascience.com/a-comprehensive-introduction-to-bayesian-deep-learning-1221d9a051de)