在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。
作者:知乎—来咯兔子地址:https://zhuanlan.zhihu.com/p/263053978
01
简介贝叶斯神经网络不同于一般的神经网络,其权重参数是随机变量,而非确定的值。如下图所示:
也就是说,和传统的神经网络用交叉熵,mse等损失函数去拟合标签值相反,贝叶斯神经网络拟合后验分布。 这样做的好处,就是降低过拟合。02
BNN模型 BNN 不同于 DNN,可以对预测分布进行学习,不仅可以给出预测值,而且可以 给出预测的不确定性。这对于很多问题来说非常关键,比如:机器学习中著名的 Exploration & Exploitation (EE)的问题,在强化学习问题中,agent 是需要利用现有知识来做决策还是尝试一些未知的东西;实验设计问题中,用贝叶斯优化来调超参数,选择下一个点是根据当前模型的最优值还是利用探索一些不确定性较高的空间。比如: 异常样本检测,对抗样本检测等任务,由于 BNN 具有不确定性量化能力,所以具有非常强的 鲁棒性。 概率建模: 在这里,选择似然分布的共轭分布,这样后验可以分析计算。比如,beta分布的先验和伯努利分布的似然,会得到服从beta分布的后验。 由于共轭分布,需要对先验分布进行约束。因此,我们尝试使用采用和变分推断来近似后验分布。 神经网络: 使用全连接网络来拟合数据,相当于使用多个全连接网络。但是神经网络容易过拟合,泛化性差;并且对预测的结果无法给出置信度。 BNN: 把概率建模和神经网络结合起来,并能够给出预测结果的置信度。 先验用来描述关键参数,并作为神经网络的输入。神经网络的输出用来描述特定的概率分布的似然。通过采样或者变分推断来计算后验分布。同时,和神经网络不同,权重 W 不再是一个确定的值,而是一个概率分布。 BNN建模如下: 假设 NN 的网络参数为 , 是参数的先验分布,给定观测数据 ,这里 是输入数据, 是标签数据。BNN 希望给出以下的分布: 也就是我们预测值为: 由于, 是随机变量,因此,我们的预测值也是个随机变量。 其中: 这里 是后验分布, 是似然函数, 是边缘似然。 从公式(1)中可以看出,用 BNN 对数据进