简述 batch normalization 方法及计算过程
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简述 batch normalization 方法及计算过程
Batch Normalization 是一种用于加快训练过程的正则化方法,通过规范化神经网络中每一层的输入,使其具有零均值和单位方差的特征,以避免梯度消失和梯度爆炸等问题,并且加快训练速度。
计算过程如下:
1. 对于一个 mini-batch 中的每一个输入样本,计算其均值和方差:$\mu_B = \frac{1}{m} \sum_{i=1}^{m} x_i, \sigma_B^2 = \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_B)^2$,其中 $x_i$ 是输入样本的特征向量,$m$ 是 mini-batch 的大小。
2. 对于 mini-batch 中的每一个输入样本,将其标准化为 $x_i' = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$,其中
$\epsilon$ 是一个很小的常数,用于避免除以零的情况。
3. 对标准化后的样本进行线性变换和偏移:$y_i = \gamma x_i' + \beta$,其中 $\gamma$ 和 $\beta$ 是可学习的参数。
4. 将上一步得到的结果作为下一层的输入,并继续训练。
Batch Normalization 使激活函数的输入保持在较小的范围内,加速网络的训练过程,提高了模型的泛化性能。
此外,Batch Normalization 还具有一定的正则化效果,可以减少一些过拟合问题。