【PaperNote】Batch Normalization

背景

解决ICS问题。
ICS:在深层网络训练的过程中,由于网络中参数变化而引起内部结点数据分布发生变化的这一过程被称作Internal Covariate Shift。
(1)上层网络需要不停调整来适应输入数据分布的变化,导致网络学习速度的降低;
(2)网络的训练过程容易陷入梯度饱和区,bp时易梯度消失,减缓网络收敛速度。
梯度饱和解决=>
1. 非饱和性激活函数,like Relu;
2. 让激活函数的输入分布保持在一个独立稳定状态,即Normalization。

实现

神经网络层中的BN嵌入

如上图,BN会加在神经网络层中的线性层和激活函数层中间,与mini-batch对应,每次取一个batch的数据计算当前均值和方差,对该batch数据进行归一化,达到稳定参数分布的效果。
通过,为了挽回归一化本身对数据造成的损失,又引入γ和β超参,对归一化后的z'做一次线性放缩,作为一次完整的BN流程。

  • mini-batch归一化
  • 线性放缩公式
  • BN计算流程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作为读paper系列的第一篇,算是给新年立个flag吧。以前看东西不习惯整理,到现在遇到瓶颈了,很多东西你看懂了但...
    灰色糕羊阅读 5,903评论 1 2
  • BN:总的来说,BN通过将每一层网络的输入进行normalization,保证输入分布的均值与方差固定在一定范围内...
    ZeroZone零域阅读 10,216评论 1 4
  • 在DNN里,我们定义的每一层的线性变化,其中代表层数,非线性变换为第层的激活函数。随着梯度下降的进行,每一层的参数...
    拼搏向上001阅读 4,007评论 0 0
  • 渐变的面目拼图要我怎么拼? 我是疲乏了还是投降了? 不是不允许自己坠落, 我没有滴水不进的保护膜。 就是害怕变得面...
    闷热当乘凉阅读 9,804评论 0 13
  • 夜莺2517阅读 127,828评论 1 9

友情链接更多精彩内容