训练神经网络—Normalization
文章目录
Normalization出现背景
因为深层神经网络在做非线性变换前的激活输入值随着网络深度加深其分布逐渐发生偏移或变动,导致非线性函数的取值区间在上下限(sigmoid)两端靠近,所以会导致向后传播时底层神经网络的梯度消失,导致训练深层神经网络的收敛速度越来越慢。
Batch Normalization
定义
BatchNorm也称BN层,一般放在非线性层之前,BN层通过一定的规范化手段,把每层神经网络任意神经元这个输入值的分布强行拉回到均值为0方差为1的标准正态分布。
公式
x ^ ( k ) = x ( k ) − E ( x ( k ) ) v a r [ x k ] \hat{x}^{\left( \mathrm{k} \right)}=\frac{x^{\left( \mathrm{k} \right)}-E\left( x^{\left( k \right)} \right)}{\sqrt{var\left[ x^k \right]}} x^(k)=var[xk]x