CNN学习笔记:批标准化

CNN学习笔记:批标准化

Batch Normalization

  Batch Normalization, 批标准化, 是将分散的数据统一的一种作法, 也是优化神经网络的一种方法。html

  在神经网络的训练过程当中,随着网络深度的增长,后面每一层的输入值(即x=WU+B,U是输入)逐渐发生偏移和变更,之因此训练收敛慢,通常是总体分布往非线性函数的取值区间的上下限两端靠近,因此这将致使反向传播时低层网络的梯度消失,这是训练深层神经网络收敛愈来愈慢的本质缘由,而BN就是经过必定的规范手动,把每层神经网络任意神经元这个输入值来回倒均值为0方差为1的标准正态分布网络

  

  总而言之,BN是一种方法,对于每一个隐层神经元,把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,以此避免梯度消失问题。当梯度保持较大的状态,会提升参数调整效率,加快收敛。函数

相关连接

 

训练阶段的BatchNorm

  假设对于一个深层神经网络来讲,其有两层结构htm

  

  要对每一个隐层神经元的激活值作BN,能够想象成每一个隐层又加上了一层BN操做层,它位于X=WU+B激活值得到以后,非线性函数变换以前,以下:blog

  

  对于Mini-Batch SGD来讲,一次训练过程里面包含m个训练实例,其具体BN操做就是对于隐层内每一个神经元的激活值来讲,进行以下变换:ip

  

相关文章
相关标签/搜索