当前位置:首页 > 数码产品 > 正文

YJango的Batch Normalization介绍

做法

设,每个batch输入是 

YJango的Batch Normalization介绍  第1张

 (其中每个 

YJango的Batch Normalization介绍  第2张

 都是一个样本, 

YJango的Batch Normalization介绍  第3张

 是batch size) 假如在第一层后加入Batch normalization layer后, 

YJango的Batch Normalization介绍  第4张

 的计算就倍替换为下图所示的那样。

YJango的Batch Normalization介绍  第5张

  • 矩阵 

    YJango的Batch Normalization介绍  第6张

     先经过 

    YJango的Batch Normalization介绍  第7张

     的线性变换后得到 

    YJango的Batch Normalization介绍  第8张

    :因为减去batch的平均值 

    YJango的Batch Normalization介绍  第9张

     后, 

    YJango的Batch Normalization介绍  第10张

     的作用会被抵消掉,所以没必要加入 

    YJango的Batch Normalization介绍  第11张

     (红色删除线)。将 

    YJango的Batch Normalization介绍  第12张

     再减去batch的平均值 

    YJango的Batch Normalization介绍  第13张

     ,并除以batch的标准差 

    YJango的Batch Normalization介绍  第14张

     得到 

    YJango的Batch Normalization介绍  第15张

    YJango的Batch Normalization介绍  第16张

     是为了避免除数为0的情况所使用的微小正数。

    YJango的Batch Normalization介绍  第17张

    YJango的Batch Normalization介绍  第18张

    :但 

    YJango的Batch Normalization介绍  第19张

     基本会被限制在正态分布下,使得网络的表达能力下降。为解决该问题,引入两个新的parameters: 

    YJango的Batch Normalization介绍  第20张

     和 

    YJango的Batch Normalization介绍  第21张

    YJango的Batch Normalization介绍  第22张

     和 

    YJango的Batch Normalization介绍  第23张

     是在训练时网络自己学习得到的。
  • 将 

    YJango的Batch Normalization介绍  第24张

     乘以 

    YJango的Batch Normalization介绍  第25张

     调整数值大小,再加上 

    YJango的Batch Normalization介绍  第26张

     增加偏移后得到 

    YJango的Batch Normalization介绍  第27张

  • 为加入非线性能力, 

    YJango的Batch Normalization介绍  第28张

     也会跟随着ReLU等激活函数
  • 最终得到的 

    YJango的Batch Normalization介绍  第29张

     会被送到下一层作为输入。

需要注意的是,上述的计算方法用于在训练。因为测试时常会只预测一个新样本,也就是说batch size为1。若还用相同的方法计算 

YJango的Batch Normalization介绍  第30张

 ,

YJango的Batch Normalization介绍  第31张

 就会是这个新样本自身, 

YJango的Batch Normalization介绍  第32张

 就会成为0。

所以在测试时,所使用的 

YJango的Batch Normalization介绍  第33张

 和 

YJango的Batch Normalization介绍  第34张

 是整个训练集的均值 

YJango的Batch Normalization介绍  第35张

 和方差 

YJango的Batch Normalization介绍  第36张

 。

而整个训练集的均值

YJango的Batch Normalization介绍  第37张

和方差 

YJango的Batch Normalization介绍  第38张

 的值通常也是在训练的同时用移动平均法来计算。