批量归一化

       批量规范化(batch normalization) [Ioffe & Szegedy, 2015],这是一种流行且有效的技术,可持续加速深层网络的收敛速度。 再结合残差块,批量规范化使得研究人员能够训练100层以上的网络。

1.批量归一化层

批量归一化_第1张图片

        对于全连接层,比如说每一行是样本,每一列是特征,作用在特征维就是对于每一个特征,计算出标量的均值和方差,然后把特征转为均值为0,方差为1。这里是对全连接的每一个输入和每一个输出都做这样的事情,而不是只作用在数据上。

         对于卷积层,作用在通道维上。将通道层当作是特征维,计算均值和方差。

2.批量归一化层在做什么

批量归一化_第2张图片

 3.总结

批量归一化_第3张图片

       可以发现,用了批量归一化之后,学习率可以调的比较大,比如之前学习率调0.01那么现在可以调到0.1。可以理解为同一个层,均值和方差放在一起,不会出现之前的情况——学习率大的话,上边的梯度大导致梯度爆炸;学习率小的话,下边的梯度小导致训练不动,现在把每一层的输入放在一个差不多的分布下,用一个统一大一点的学习率可以避免出现上述的情况。

你可能感兴趣的:(机器学习,机器学习)