Layer Normalization(层归一化)是一种用于深度学习神经网络的归一化方法,它通过对神经元的输入进行归一化,使每一层的输入保持稳定,从而减缓梯度消失或梯度爆炸问题。与批量归一化(Batch Normalization)不同,LayerNorm 不依赖于 mini-batch,而是对每一个样本的每一层神经元进行归一化,这使其在序列建模、深层网络和小批量训练中表现出色。
1. Layer Normalization(层归一化)
(1) Layer Normalization 的定义
Layer Normalization 的目标是在神经网络的每一层中,对该层所有神经元的激活值进行归一化。具体来说,LayerNorm 将每一层的激活值转换为均值为 0、标准差为 1 的分布,然后对结果进行缩放和偏移。
给定神经网络中某一层的输入向量 z = ( z 1 , z 2 , … , z H ) \mathbf{z} = (z_1, z_2, \dots, z_H) z=(z1,z2,…,zH),其中 H H H 是该层的神经元个数,LayerNorm 的计算公式如下:
z ^ i = z i − μ σ \hat{z}_i = \frac{z_i - \mu}{\sigma} z^i=σzi−μ
其中:
- μ \mu μ 是该层所有神经元激活值的均值: μ = 1 H ∑ i = 1 H z i \mu = \frac{1}{H} \sum_{i=1}^{H} z_i μ=H1∑i=1Hzi
- σ \sigma σ 是该层所有神经元激活值的标准差: σ = 1 H ∑ i = 1 H ( z i − μ ) 2 + ϵ \sigma = \sqrt{\frac{1}{H} \sum_{i=1}^{H} (z_i - \mu)^2 + \epsilon} σ=H1∑i=1H(zi−μ)2+ϵ

最低0.47元/天 解锁文章
442

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



