深度学习中的批归一化Batch Normalization

传统的神经网络,只是在将样本x输入层之前对x进行标准化处理(减均值,除标准差),以降低样本间的差异性。BN是在此基础上,不仅仅只对输入层的输入数据x进行标准化,还对每个隐藏层的输入进行标准化。BN由Google于2015年提出,这是一个深度神经网络训练的技巧,它不仅可以加快了模型的收敛速度,而且更重要的是在一定程度缓解了深层网络中梯度弥散(特征分布较散)的问题,从而使得训练深层网络模型更加容易和稳定。所以目前BN已经成为几乎所有卷积神经网络的标配技巧了。

我们可以在网络中任意一层进行归一化处理,因为我们现在所用的优化方法大多都是min-batch SGD,所以我们的归一化操作就成为Batch Normalization。

BN的原理:

BN可以作为神经网络的一层,放在激活函数(如Relu)之前。BN的算法流程如下图:

在这里插入图片描述

如何将Batch Norm拟合进神经网络?
在这里插入图片描述
需要补充的是,β [1] 和 Monmentum、Adam、RMSprop里的β是不一样的。对于此处β 的参数更新,可以采用梯度下降的办法,当然也可以用Adam、RMSprop或Momentum。

在mini-bath上运用BN:
在这里插入图片描述

为何Batch Norm能奏效?

ladder network:https://arxiv.org/pdf/1507.02672v2.pdf ()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值