前言
批量归一化(Batch Normalization),由Google于2015年提出,是近年来深度学习(DL)领域最重要的进步之一。该方法依靠两次连续的线性变换,希望转化后的数值满足一定的特性(分布),不仅可以加快了模型的收敛速度,也一定程度缓解了特征分布较散的问题,使深度神经网络(DNN)训练更快、更稳定。
1.目的

随着网络的深度增加,每层特征值分布会逐渐的向激活函数的输出区间的上下两端(激活函数饱和区间)靠近,长此以往则会导致梯度消失,从而无法继续训练model。BN就是通过方法将该层特征值分布重新拉回标准正态分布,特征值将落在激活函数对于输入较为敏感的区间,输入的小变化可导致损失函数较大的变化,使得梯度变大,避免梯度消失,同时也可加快收敛。
2.原理

- 输入:批处理(mini-batch)输入 x : B = { x 1 , ⋯ , m } x:B=\{x_{1},\cdots,m\} x:B={ x1,⋯,m}
- 输出:规范化后的网络响应 { y i = B N γ , β ( x i ) } \{y_{i} = BN_{\gamma,\beta}(x_{i})\} { yi

批量归一化(BatchNormalization)是深度学习中用于加速模型训练和提升性能的关键技术。它通过计算批处理数据的均值和方差,将特征值规范化到标准正态分布,从而缓解梯度消失问题,提高梯度更新效率。 BN不仅减少了层间依赖,还通过调整分布使优化环境更平滑,允许使用更高学习率。尽管BN在训练过程中引入了一些噪声,但它通常能带来更快、更稳定的训练效果和更好的模型性能。

379

被折叠的 条评论
为什么被折叠?



