dropout神经网络_每日推送:贝叶斯卷积神经网络

距离开学还有一段时间,经过两个月的论文阅读,自己也是攒了一堆论文了。于是定个计划,每天写点东西,包括介绍,分析论文内容及其公开代码。希望能尽力保住每篇文章的质量。

笔者最近阅读了神经网络建模不确定性的相关论文,顺藤摸瓜地发现了剑桥的Yarin Gal,一个数千引用的巨佬。对变分推断都没吃透的我来说,他的工作中的非常复杂,这里面从较早的文献开始看:Bayesian Convolutional Neural Networks with Bernoulli Approximate Variational Inference,这篇文章应该是较早的将贝尔斯融入到卷积神经网络的尝试。

贝尔斯神经网络可以说是将不确定性融入DNN的有效尝试,这种方法将神经网络的每个神经元上的参数视为一种分布,并使用变分推断方法获得分布的最优估计。但是,这种方法的计算代价太大,并且实际上的效果和Dropout差不多。

对比考虑每个参数的分布,使用简单有效的mc抽样方法表征输出的不确定性无疑大大减小了计算代价。在这里面,作者将之前发展的Dropout抽样方法应用于卷积神经网络,即通过随机dropout来获取不同的随机样本。

对于目标分布

变分推断的核心是使用分布q来逼近p。通过最大化目标函数
,可实现从q到p的逼近。更细致的变分推断介绍将日后更新。

Dropout下的损失函数为:

本文使用了伯努利分布表征神经网络参数W分布,其中M是待优化参数,在这里面M是唯一的,每次随机采样使用dropout,避免了神经网络参数过多,模型复杂:

注意到,伯努利分布实际上是0-1的两点分布,所以z就代表这神经元参数是否被dropout,从分布q通过Dropout实现MC抽样,损失函数为:

对于卷积神经网络的dropout,相当于在卷积的矩阵运算算子上加了伯努利噪声。实际上直接对卷积进行dropout并不是像全连接的dropout一样具有正则化的理论依据,但是在这里让dropout成为了一种采样方法。

b07a973dc6bad3885c85faaea70e9157.png
图1

将上述方法应用到Lenet网络结构中的对比结果如图1。

01556c404f7043162cdbfca26dc1bd0f.png
图2

小样本情况下的测试误差对比如图2,MCdropout表现更好。

对于这种采样方法,需要研究模型样本数量的收敛性。本文认为20个模型样本就提高一个标准差(one standard deviation)。

总之,这种贝叶斯方法实际上实现了在CNN上使用dropout来防止小样本过拟合的问题。

参考文献:

Gal Y , Ghahramani Z . Bayesian Convolutional Neural Networks with Bernoulli Approximate Variational Inference[J]. Computer ence, 2015.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值