batch normalization公式
时间: 2023-07-22 17:11:36 浏览: 147
Batch Normalization
Batch Normalization(批归一化)是一种常用于深度神经网络中的正则化方法,可以加速网络的训练过程,提高模型的性能和泛化能力。Batch Normalization 的公式如下:
对于 mini-batch 中的每个输入 $x^{(k)}$,Batch Normalization 的计算公式为:
$$\hat{x}^{(k)} = \frac{x^{(k)} - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}}$$
其中,$\mu_B$ 和 $\sigma_B^2$ 分别表示 mini-batch 中所有样本的均值和方差,$\epsilon$ 是避免除以 0 的小常数。这里的 $\hat{x}^{(k)}$ 表示对输入进行归一化后的结果。
接着,将 $\hat{x}^{(k)}$ 作为 Batch Normalization 的输出,并通过线性变换和非线性激活函数进行处理,计算公式如下:
$$y^{(k)} = \gamma \hat{x}^{(k)} + \beta$$
其中,$\gamma$ 和 $\beta$ 分别是可学习的缩放因子和偏移量,它们的维度与 $\hat{x}^{(k)}$ 相同。
Batch Normalization 将 mini-batch 中的所有样本都进行归一化处理,可以使得网络在每次迭代时都能够看到不同的输入分布,从而减少网络对输入分布的依赖性,加速训练过程并提高模型的性能和泛化能力。
阅读全文