在贝叶斯概率中,我们认为在一组可能的模型上具有先验分布,并在每次找到新信息时更新此分布。
但是对于具有梯度下降的神经网络,我们在任何时间点都有一个单一的模型,并且“无限地”用每条新信息改变这个模型。
我们如何从贝叶斯的角度解释这种方法?即,我们能否将具有梯度下降的神经网络视为贝叶斯更新的近似值?有没有关于这个写的很好的直观文章?
编辑:我的问题不是“带有 SGD 和贝叶斯方法的 NN 有什么区别?” 我的问题是:“我们如何从贝叶斯的角度(例如作为近似值)用 SGD 解释 NN?
在贝叶斯概率中,我们认为在一组可能的模型上具有先验分布,并在每次找到新信息时更新此分布。
但是对于具有梯度下降的神经网络,我们在任何时间点都有一个单一的模型,并且“无限地”用每条新信息改变这个模型。
我们如何从贝叶斯的角度解释这种方法?即,我们能否将具有梯度下降的神经网络视为贝叶斯更新的近似值?有没有关于这个写的很好的直观文章?
编辑:我的问题不是“带有 SGD 和贝叶斯方法的 NN 有什么区别?” 我的问题是:“我们如何从贝叶斯的角度(例如作为近似值)用 SGD 解释 NN?
我想您会对Stephan Mandt、Matthew D. Hoffman、David M. Blei 的“作为近似贝叶斯推理的随机梯度下降”感兴趣。
具有恒定学习率(恒定 SGD)的随机梯度下降模拟具有平稳分布的马尔可夫链。有了这个观点,我们得出了几个新的结果。(1) 我们表明,常数 SGD 可以用作近似贝叶斯后验推理算法。具体来说,我们展示了如何调整常量 SGD 的调整参数,以使平稳分布与后验分布最佳匹配,从而最小化这两个分布之间的 Kullback-Leibler 散度。(2) 我们证明了恒定的 SGD 会产生一种新的变分 EM 算法,该算法可以优化复杂概率模型中的超参数。(3) 我们还提出了带有动量采样的 SGD,并展示了如何相应地调整阻尼系数。(4) 我们分析MCMC算法。对于朗之万动力学和随机梯度费舍尔评分,我们量化了由于有限学习率引起的近似误差。最后(5),我们使用随机过程的观点来简要证明为什么 Polyak 平均是最优的。基于这个想法,我们提出了一种可扩展的近似 MCMC 算法,即平均随机梯度采样器。
一些额外的相关文献:
Radford M. Neal 在 1990 年代 NN 研究的“第一波”中活跃于贝叶斯推理和神经网络。他发表了几篇文章和《神经网络的贝叶斯学习》一书。
Sergios Theodoridis 的机器学习:贝叶斯和优化视角是一本真正的巨著(约 1000 页),其中包括关于神经网络和深度学习的一章。
这篇论文最近从我的办公桌上划过:Vikram Mullachery、Aniruddh Khera、Amir Husain 的“贝叶斯神经网络”
本文描述并讨论了贝叶斯神经网络 (BNN)。本文展示了它们在分类和回归问题中的一些不同应用。BNN 由概率模型和神经网络组成。这种设计的目的是结合神经网络和随机建模的优势。神经网络表现出连续函数逼近器的能力。随机模型允许直接指定具有已知参数之间相互作用的模型以生成数据。在预测阶段,随机模型生成完整的后验分布,并对预测产生概率保证。因此,BNN 是神经网络和随机模型的独特组合,其中随机模型构成了这种集成的核心。然后,BNN 可以对其预测产生概率保证,并生成它从观察中学到的参数分布。这意味着,在参数空间中,可以推断神经网络学习参数的性质和形状。这两个特点使它们对理论家和实践者都极具吸引力。最近在这个领域有很多活动,随着大量概率编程库的出现,例如:PyMC3、Edward、Stan 等。此外,这个领域正在迅速成为解决众多问题的标准机器学习方法 s 学习参数。这两个特点使它们对理论家和实践者都极具吸引力。最近在这个领域有很多活动,随着大量概率编程库的出现,例如:PyMC3、Edward、Stan 等。此外,这个领域正在迅速成为解决众多问题的标准机器学习方法 s 学习参数。这两个特点使它们对理论家和实践者都极具吸引力。最近在这个领域有很多活动,随着大量概率编程库的出现,例如:PyMC3、Edward、Stan 等。此外,这个领域正在迅速成为解决众多问题的标准机器学习方法
概率问题的贝叶斯方法通常使用图形模型,例如:
其中一组观察值具有以另一组为条件的分布。
这是最你需要什么神经网络(调查)。例如,上面的模型可以描述一个单层网络,其中是隐藏层的激活,观察结果,以及一个潜在的类。我们只是在“隐藏”一些非线性变换,等等
值得记住的是,神经网络梯度下降。梯度下降只是拟合模型的一种特别有效的方法。利用相同工具的贝叶斯推理技术是变分贝叶斯。尽管有一些采样方法(HMC、SGLD 等)也可以利用梯度信息。
所以不同之处在于,在贝叶斯方法中,除了模型参数的点估计之外,您还可以获得一些关于模型参数分布的信息。这可能会有所帮助,例如在对参数的扰动会导致对观察结果进行重新分类的问题中,这会影响您的决策。
问题是如何进行最大池化、退出等操作。其中许多操作具有特定分布或变换形式的贝叶斯类似物。
对此类问题的简单、几乎通用的答案是,不同之处在于贝叶斯以概率术语定义模型,因此参数被视为随机变量,并且它们假设这些参数的先验。
在经典设置中,您的模型有一些参数,并且您正在使用某种优化来找到最适合您的数据的参数。在神经网络中,这几乎完全是通过从一些随机初始化的参数开始,然后使用梯度下降的一些变体来更新参数来完成的,从而使损失最小化。
在贝叶斯设置中,我们想要估计参数的分布,而不是参数的点估计,因为我们认为它们是随机变量。这是通过从为参数假设的一些先验分布开始的,当遇到数据时使用贝叶斯定理对其进行更新。这通常通过某种优化或马尔可夫链蒙特卡罗采样(模拟后验分布的抽取)来完成。
所以梯度下降是一种优化算法,而贝叶斯方法是关于以不同方式定义模型(另请参见最大似然和梯度下降的比较)。使用梯度下降来最小化某种损失函数与贝叶斯方法没有太大关系,因为它不考虑任何先验。