GoogleNet V2

Batch Normalization

虽然这是在将BN,而且后面有个V2。但是是goole团队的

研究背景

数据分布发生变化,导致模型训练困难,对深度卷积神经网络影响极大

针对这个问题:

相关研究

白化:去除输入数据的冗余信息使得数据之间的特征相关性降低,所有特征具有相同的方差

将数据变成0均值,1标准差的形式,实现白化

但是这样操作就会出现一个问题:训练缓慢、效果不佳

因此针对这个问题,提出了BN方法

注:白化对输入数据做预处理,BN是对模型中网络层的输出做预处理

Batch Normalization

在这里插入图片描述
采用这种方法,存在一定的问题:使神经元输出值在sigmoid线性区,削弱了网络的表达能力,容易使模型出现退化。
针对问题,才用如下方法解决
在这里插入图片描述
其中γβ是可以学习的参数

正是采用这种方法能够有效的增加线性变换,提升网络表达能力。同时也提供了恒等映射的可能

但是这么去做,又出现一个问题:minibatc的统计信息充当总体是不准确的

解决方法:采用指数滑动平均,即离当前值越远,那么最后的权重影响越小

优点

  • 可以采用较大学习率

针对类似sigmoid的饱和激活函数,加上BN层之后,可以采用较大的学习率

  • 充当正则项,顶替dropout

加入BN层以后,将当前样本与以前样本通过统计信息联系起来,相当于某种约束。经实验表明:可以减轻dropout的使用

注意事项

  • BN层前一层不需要加偏置(bias),该偏置可被BN层中的shift(Beta)抵消

  • 卷积神经网络时,是针对特征图为单位进行BN层,即是2DBN操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值