论文:https://arxiv.org/pdf/1502.03167.pdf
以下博客对batch Normalization的原理,优点和代码解析做了非常清晰的讲解: http://blog.csdn.net/hjimce/article/details/50866313
batch Normalization公式
注意:上式中的γ和β是两个可以学习的参数(μ是求出的均值,σ是求出的标准差,ε是人为设置的防止分母为0),实际上当γ取标准差、β取均值的时候,γ和β对x标准化的操作提供了逆向的重构。加这个逆向操作的原因是,标准化操作可能会影响该层的表征,所以batch normalization应该有能表示identity transform的能力,所以使用了这两个可以学习的参数来重构让BN层有identity表达的能力。
batch Normalization对梯度的影响证明
batch Normalization之所以有用,是对于梯度的影响, 解决了梯度消失,梯度爆炸问题,以至于dropout,L1 L2正则甚至都可以被舍弃.以下来自知乎答主.
加上BN之前的梯度传播:
1.首先,对某层的前向传播过程有:
2.针对该层的反向传播过程为(由于我们关