layer normalization公式
时间: 2023-06-02 21:02:03 浏览: 156
归一化(Normalization)
一般来说,Layer Normalization 的公式如下:
$$
\text{LayerNorm}(x) = \gamma \frac{x - \mu}{\sigma} + \beta
$$
其中,$\gamma$ 和 $\beta$ 是学习的参数,对于每个输入 $x$,它们都会有一个对应的值。$\mu$ 和 $\sigma$ 分别表示 $x$ 的均值和标准差,它们是针对一个 batch 中所有样本的。
针对一维输入 $x$,我们可以计算出 $\mu$ 和 $\sigma$:
$$
\mu = \frac{1}{N} \sum_{i=1}^N x_i
$$
$$
\sigma = \sqrt{\frac{1}{N} \sum_{i=1}^N (x_i - \mu)^2}
$$
其中,$N$ 表示 batch size,$x_i$ 表示第 $i$ 个样本在这个维度上的值。
对于更高维的输入,我们可以沿着某个维度计算出 $\mu$ 和 $\sigma$,然后对整个输入做归一化。具体可以参考 PyTorch 的实现:https://pytorch.org/docs/stable/generated/torch.nn.LayerNorm.html
阅读全文