BayesCNNs

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BayesCNNs相关的知识,希望对你有一定的参考价值。

参考技术A     本文重点介绍贝叶斯卷积神经网络,这是由Backprop在贝叶斯基础上构建的卷积神经网络的变体。本文演示了这种新颖的可靠的变分推理方法如何可以用作各种网络体系机构的基础构造。在监督学习中设置多个数据集(MNIST、CIFAR-10、CIFAR-100、STL-10)上,我们提出的变分推理方法在相同的体系结构中具有与频繁推理相同的性能,同时自然地结合了不确定性和正则化的度量。目前,已经实现了前馈和递归神经网络中成功实现。但在卷积神经网络中却没有成功实现。这项工作象征着贝叶斯神经网络的扩展,该网络已涵盖上述所有三种类型的网络体系结构。

    卷积神经网络擅长图像分类领域的任务,但是从概率论的角度来看,使用以权重为基础进行任何分类的点估计是不合理的。但是CNN需要大量的数据集进行训练,并且非常容易在较小的数据集上过度拟合。

    在本文中,我们研究了如何通过贝叶斯方法应用于其训练来增加CNN的不确定性和正则化。这种方法允许网络通过其参数来表达不确定性(图1)。同时,通过使用先验的概率分布来整合参数,我们可以在训练过程中对许多模型进行平均,从而为网络提供正则化效果,从而避免过度拟合。

    我们通过Backup在贝叶斯上建立贝叶斯CNN,并用变分分布 估计难以处理的真实后验概率分布 ,该分布包括高斯分布 R 和  R的性质,表示为 。变异推理的后验形式表示不确定性估计的质量,从而表示模型的整体性能。换句话说,CNN越小,其CNN分类的不确定性就越小。本文的主要贡献如下:

    1.介绍了如何将Backprop的贝叶斯算法有效的应用于CNN;

    2.根据经验表明,我们针对CNN提出的通用且可靠地变分推理方法可以应用于各种CNN体系结构,而对其性能没有任何限制;

    3.研究了如何通过将贝叶斯方法应用于CNN的训练来增加CNN的不确定性和正则化。

这项工作代表了贝叶斯神经网络的发展,该网络在包括前馈,递归和卷积神经网络。本文结构如下:首先介绍了该领域的相关工作;其次,解释了基于贝叶斯的Backprop方法;第三,详细解释了我们提出的BayesCNN体系结构。最后,我们通过对各种体系结构和数据集上的拟议模型进行实验评估,并总结。

    过去已经研究了将贝叶斯方法应用于神经网络,并针对顽固的真实后验概率采用了各种近似方法。 Buntine和Weigend(1991)为神经网络提出了各种最大后验(MAP)方案,包括以模式为中心的近似后验。 Buntine和Weigend(1991)还建议在使用二阶导数之前,以鼓励所得网络的平滑性。在Hinton和Van Camp(1993)的后续工作中,提出了变分方法来压缩神经网络的权重作为正则化器。 Hochreiter和Schmidhuber(1995)建议考虑信息理论的观点,并为单层网络使用最小描述长度(MDL)损失,该损失会通过基于输出权重扰动的近似惩罚来惩罚非鲁棒权重。Denker Lecun(1991)和MacKay(1995)使用拉普拉斯逼近法研究了神经网络的后验。作为对拉普拉斯逼近法的局限性的回应,尼尔(2012)研究了混合蒙特卡罗算法在训练神经网络中的用途,尽管迄今为止很难将其应用于现代应用中构建的大型网络。最近,Graves(2011)为神经网络和Blundell等人推导了一种变分推理方案。 (2015年)对此进行了扩展,增加了方差的更新,该方差是无偏的且易于计算。 Graves(2016)在混合后验的情况下推导了类似的算法,一些作者声称辍学(Srivastava等人2014)和高斯辍学(Wang and Manning 2013)可以看作是近似变分推理方案(Gal和Ghahramani) 2015,Kingma,Salimans和Welling 2015)。特别是Gal Ghahramani(2015年,由于他们还提出了贝叶斯CNN,因此在本文的结论中进行了进一步的研究。

    Bayes by Backprop是一种变分推理方法,用于学习神经网络的权重 d的后验分布,从中可以在反向传播中对权重w进行采样。由于真实后验通常是难解的,因此定义了一个近似分布 ,旨在于真实后验 尽可能相似,我们见最优参数 opt定义为:

    这种推导形成了一个优化问题,其结果成本函数被广泛称为变分自由能,该函数建立在两个术语上:前者, ,取决于先验p(w)的定义,因此称为复杂度成本;而后者, 取决于p(D|w),称为似然成本。由于这是一个常数,因此可以在优化中省略残差 logp(D)。由于KL散度也难以精确计算,因此我们采用随机变分方法。我们从变分分布 进行采样,因为从变数后验 提取样本比从真实后验 提取样本的可能性大的多,后者对于数值方法很方便。因此,我们得出了易于处理的成本函数:

我们从 采样 。贝叶斯由Backprop训练的神经网络提供的不确定性已成功用于在监督和强化学习环境中训练前馈神经网络(Blundell等人2015,Lipton等人2016,Houthooft等人2016),用于训练递归神经元网络,但未应用于卷积神经网络。

在本节中,我们详细说明了构建CNN的算法,该算法在每个过滤器中权重分布上具有概率分布,如图1所示,并应用贝叶斯推断来计算后验,如上一节所述。 对于大多数CNN架构而言,CNN并不是仅仅通过在卷积层中的权重上放置概率分布来实现的。 它还要求将权重上的概率分布放置在完全连接的层中(参见图2)。

为了减少随机梯度的方差,我们应用了局部重新参数化技巧。继Kingma、Salimans和Welling和Neklyudov等人之后。我们不对权重w进行采样,而是由于层激活b的计算加速而对层激活b进行采样。后验变化

允许在卷积层中实现局部重聚化技巧:

其中, ~ ,Ai是接收场,表示卷积运算和逐分量相乘。

图1具有示例性像素值,过滤器的输入图像,以及带有权重的点估计(左)和概率分布(右)的相应输出。

为CNN分配权重分布而不是点估计的关键在于应用两个卷积运算,而带点估计的滤波器则应用一个卷积运算。由于我们部署了前面描述的局部重新参数化技巧,并从输出中进行采样,因此我们有资格分别计算确定分布的两个变量,即均值和方差。我们在两个卷积运算中进行了解此操作:首先了解权重概率分布的均值,其次了解方差。

图2中,卷积层的滤波器中的权重和完全连接层中的权重具有概率分布的形式。

中, 是唯一可学习的参数(Molchanov,Ashukha和Vetrov 2017)。换种说法,当我们在第一个卷积运算中学习MAP时,我们在第二个卷积运算中观察了权重值与该MAP的偏离量。该过程等效地在完全连接的层中完成。为了加速计算,我们确保方差永远不会为0,并且为了提高准确性,我们学习 并使用Softplus激活函数,其原因将在下一部分中进行阐述。

对于所有进行的实验,我们在LeNet-5、3Conv3FC和AlexNet中实现了贝叶斯CNN的描述。确切的体系结构规范可以在附录中找到。我们分别使用MNIST手写数字数据集,CIFAR-10和CIFAR-100数据集以及STL-10训练网络,因为这些数据集广泛用作CNN的基准。在所有体系结构中,最初选择的激活函数都是ReLU函数,但是由于我们要应用两个卷积或完全连接的运算方法,因此必须引入另一个称为Softplus的函数。其中,一种是确定均值,另一种是确定方差。精确地,我们应用Softplus函数是因为我们旨在确保方差永远不会为0,因为这等同于仅计算MAP,这可以解释为等效于最大似然估计,而该值进一步等于Softplus激活函数是ReLU的平滑近似,具有微妙的影响,但实际上并没有,也需分析。

默认情况下: 。图3显示了分别在所有四个数据集上训练的3Conv3FC架构(具有统一的先验分布和对参数的点估计)的验证准确性。图4显示了3Conv3FC,LeNet-5和AlexNet架构(具有统一的先验分布和点估计、超参数 )仅适用于CIFAR-10数据集。

我们在多个数据集上进行上述架构的网络,这些数据集是MNIST、CIFAR-10和CIFAR-100、STL-10等。MNIST数据集是由60000个训练图像和10000个验证像素图组成,大小为28*28。每个图像都用其相应的数字标记[0,9]。

验证集中正确预测的准确性在图3中以粉红色显示。CIFAR-10上的分类:CIFAR-10数据集由10个类别的60000个32*32彩色图像组成,每个类6000张图片,5000个训练和1000个验证。结果在图3中以红色显示。在CIFAR-100上分类:该数据集类似于CIFAR-10,不同之处在于它有100个类别,每个类别包含600张图像,每个包含500张训练图像和100张验证图像,图像的分辨率为32*32像素,结果在图3中以蓝色显示。STL-10上的分类,STL-10 是一个图像识别的数据集,受到CIFAR-10数据集的启发,除了每累500个训练图像外,还包含100000个无标签图像用于无监督学习。图像是彩色的,尺寸为96*96像素。值得注意的是,此处仅标记了训练集。结果在图3中以绿色给出。

表1比较了上一节中提到的所有4个数据集的贝叶斯架构和点估计架构的验证准确性(百分比)。图3和图4中值得注意的两个非常有趣的方面是:首先,BayesCNN取得了更好的结果,或者当使用较大的数据集(CIFAR-100)时,此趋势相反。其次,与初始评估精度相当高的权重为店估计的架构相比,在初始时期,BayesCNN的初始认证非常低。前一个发现必须从以下现象得出:贝叶斯方法通常在小型数据集上表现良好,这是因为在合理定义先验概率分布时存在领域知识或信念。

验证准确性超过100个,在参数 上具有均匀先验分布的实践。以点估计 为参数的虚线。显示的实验选择的体系结构是3Conv3FC。

在3Conv3FC,LeNet和AlexNet架构上的验证准确性超过100个。在参数 上具有均匀先验分布的实践。以点估计 为参数的虚线。为显示的实验选择的数据集为CIFAR-10.

后一个发现解决了以下问题:BayesCNN用均匀分布初始化,而点估计模型使用Xavier初始化进行初始化。后一种方法相当直观,并且可以确保初始化的权重既不会太小也不会太大。换句话讲,Xavier初始化的动机是以神经元激活功能不再饱和或死区开始的方式初始化网络的权重。如果均匀分布,则情况并非如此,因此,BayesCNN的初始验证准确性可能会相对较低。但是,如果将所有零权重的惯常主义体系进行初始化,我们希望网络精度与BayesCNN的验证精度曲线共享相同的曲线。

我们通过利用Backprop的Bayes作为可靠的,可变的CNN推论方法,提出了CNN,BayesCNN的贝叶斯解释,该方法迄今为止尚未研究。Gal和Ghahramani进行了探索性工作,他们利用辍学函数的各种输出来定义分布,并得出结论,我们可以说是贝叶斯CNN。但是,我们强烈反对这种方法,并声称存在严重缺陷,因此不能将其解释为贝叶斯神经网络。具体来说,不会在CNN的参数上放置任何先前的分布。但是,这些只是贝叶斯定理包含贝叶斯定理的一个简单原因,因此象征了贝叶斯解释的很大一部分。因此,先验分布的放置体现了整个思想流派的基础。相比之下,我们对网络的参数采取了完全贝叶斯的观点,即将先验分布放在其上,并根据贝叶斯定理用变分推断对其进行更新,正好是Backprop的Bayes。此外,我们证明了该网络达到了最新的结果,这是由具有相同网络架构的网络以点估计权重而不是分布的网络架构实现的。

作为进一步增强优化稳定性的一种附加方法,后锐化(Fortunato,Blundell和Vinyals 2017)可在以后的工作中应用于贝叶斯CNN。

以上是关于BayesCNNs的主要内容,如果未能解决你的问题,请参考以下文章