【面试必备】之《Batch Normalization》

面临的问题
内部协方差漂移(Internal Covariate Shift):隐藏层神经元的输入分布随着网络参数的迭代更新不断发生变化,违背了机器学习中数据IID的假设,使得上层神经元需要不断适应新的输入分布,增加了深层神经网络的训练难度。

解决的思路
精简版图像白化(Whiten):对隐藏层每一个神经元的输入都进行标准化(标准正态分布),标准化之后再添加平移(reshift)和伸缩(rescale)因子,尊重底层神经元的学习结果,同时增加网络的非线性表达能力。

主流的Normalization方法
(1)BN
BN属于纵向规范化,其规范化针对单个神经元进行。但规范化的参数是一个mini-batch的一阶统计量和二阶统计量,这就要求每一个mini-batch的统计量是整体统计量的近似估计,或者说每一个mini-batch彼此之间,以及和整体数据,都应该是同分布的。分布相差较小的mini-batch可以看作是为规范化操作引入了噪声,可以增强模型的鲁棒性;但如果每一个mini-batch跟整体分布差别很大,就会增加训练的难度。
因此BN比较适用的场景:(1)mini-batch比较大(2)数据分布比较接近(3)在进行训练之前赢做好充分的shuffle,否则效果会很差。
(2)LN
LN属于横向规范化,它考虑的是一层的所有维度,计算该层的均值和方差。LN针对单个样本进行,不依赖于其他数据,因此可以避免BN中mini-batch分布差别的影响。但对于LN而言,它是将一整层的神经元训练得到同一个变换,所有的输入都在同一个区间范围内,这样会降低模型的表达能力。
(3)WN
(4)CN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值