原文标题 :Why You Should Use Bayesian Neural Network
为什么你应该使用贝叶斯神经网络
贝叶斯神经网络解释了模型的不确定性,并提供了权重和输出的分布。
Goal
本文旨在帮助那些没有贝叶斯神经网络经验的人,并用于以下目的:
- 说明标准神经网络和贝叶斯神经网络之间的主要区别
- 解释不同类型的不确定性
- 讨论贝叶斯神经网络的优点和局限性
什么是贝叶斯神经网络?
贝叶斯神经网络 (BNN) 将神经网络与贝叶斯推理相结合。简单地说,在 BNN 中,我们将权重和输出视为变量,我们正在寻找最适合数据的边缘分布。 BNN 的最终目标是在输出和权重方面量化模型引入的不确定性,从而解释预测的可信度。
标准神经网络和贝叶斯神经网络之间的区别
对我来说,我认为贝叶斯神经网络是标准神经网络的扩展。下面我就这两个神经网络之间的差异总结了三个关键点。
- 目标——SNN 专注于优化,而 BNN 专注于边缘化。优化会找到一个最佳点来表示权重,而边缘化会将每个权重视为一个变量并找到它的分布。
- ESTIMATE——SNN 的参数估计将是最大似然估计 (MLE),而对于 BNN,估计将是最大后验 (MAP) 或预测分布。
- 方法——基本上,SNN 会使用微分来找到最优值,例如梯度下降。在 BNN 中,由于复杂的积分难以确定,因此科学家或研究人员总是依赖马尔可夫链蒙特卡洛斯 (MCMC)、变分推理和归一化流这些技术。
偶然的不确定性和认知的不确定性
所以现在你可以区分 SNN 和 BNN 并知道它们之间的区别了。如前所述,BNN 用于衡量模型的不确定性。事实上,有两种类型的不确定性。
Aleatory Uncertainty
偶然不确定性也称为统计不确定性。在统计学中,它代表每次我们运行相同实验(训练模型)时不同的未知数。在深度学习中,它指的是模型输出的不确定性。如下图所示,假设黑线是预测,橙色区域是偶然的不确定性。您可以将其视为预测的置信度。换句话说,它告诉你你的预测结果有多自信。如果间隔很小,则实际值将有更大的机会获得更接近您的预测值的值。相反,如果区间较大,实际值可能与您的预测值有较大出入。
Epistemic Uncertainty
认知不确定性也称为系统不确定性。在深度学习中,认知不确定性是指模型权重的不确定性。如下图所示,每次我们训练模型时,权重可能会略有不同。这种变化实际上是认识上的不确定性。
贝叶斯神经网络的优势
通过使用贝叶斯神经网络,您可以从
1. 训练一个健壮的模型
BNN 不会只考虑一组权重,而是会找到权重的分布。通过迎合概率分布,它可以通过解决正则化属性来避免过度拟合问题。
2. 得到一个预测区间
BNN 模型提供了预测的全貌,允许您在处理未知目标时自动计算与预测相关的不确定性。
贝叶斯神经网络的局限性
尽管 BNN 在解决不确定性问题方面很有用,但仍有一些限制需要注意。
1. 要求数学和统计知识
理解 BNN 背后的所有理论和公式并非易事。您需要具有强大的统计分布背景,以便应用适当的先验和后验函数。
2. 更长的训练时期以收敛
由于模型架构要复杂得多(您可以想象 SNN 只训练一个点,而 BNN 正在训练分布参数),它需要更长的时间来训练收敛。
Conclusion
从这篇文章中,我希望你们对 BNN 有一个基本的了解,并对它的工作原理和为什么有用的第一感觉。在下一篇文章中,我想解释一下 BNN 的细节和概念。请继续关注并希望您喜欢阅读这篇文章。 =)
现在,您可以在此处查看下一篇文章。[0]
文章出处登录后可见!