layernorm定点计算公式
时间: 2024-08-14 21:04:46 浏览: 95
层归一化(Layer Normalization,简称LN)是一种用于深度学习神经网络的标准化技术,它对每个输入特征向量进行规范化,通常在每一层的输出上应用。在定点计算中,其公式如下:
对于给定的一维输入张量 \( x \)(形状为 \( (N, D) \),其中 \( N \) 是批量大小,\( D \) 是特征维度),层归一化的步骤如下:
1. **减均值**(Mean subtraction): 计算每个特征维度 \( d \) 的平均值 \( E[x_d] \):
\[ \mu_d = \frac{1}{N} \sum_{n=1}^{N} x_{nd} \]
2. **方差标准化**(Variance scaling): 计算每个特征维度的标准偏差 \( \sigma_d \):
\[ \sigma^2_d = \frac{1}{N} \sum_{n=1}^{N} (x_{nd} - \mu_d)^2 \]
然后取平方根得到标准偏差 \( \sigma_d \):
3. **标准化**: 对输入 \( x \) 中每个元素除以标准偏差并加偏置 \( b \) 和乘以缩放因子 \( \gamma \)(通常是学到的权重):
\[ y_{nd} = \frac{x_{nd} - \mu_d}{\sqrt{\sigma^2_d + \epsilon}} \cdot \gamma_d + \beta_d \]
其中 \( \epsilon \) 是一个小的常数,防止分母为0。
4. **结果堆叠**: 将标准化后的张量 \( y \) 作为新的特征维度返回到原始形状 \( (N, D) \)。
阅读全文