昨天推导了一下交叉熵的反向传播梯度,今天再来推导一下层归一化(LayerNorm),这是一种常见的归一化方法。
“交叉熵”反向传播推导
前向传播
反向传播
推导过程
均值和标准差的梯度
均值的梯度为:
\begin{aligned}
\frac{\partial \mu}{\partial x_i} &= \frac{\partial}{\partial x_i} \left(\frac{1}{m} \cdot \sum_j{x_j}\right) \\\
&= \frac{1}{m}
\end{aligned}
标准差的计算公式可以写成\sigma = \left[\mu(x^2) - \mu^2(x)\right]^{\frac{1}{2}} ,所以梯度为:
\begin{aligned}
\frac{\partial \sigma}{\partial x_i} &= \frac{\partial}{\partial x_i} \left[\mu(x^2) - \mu^2(x)\right]^{\frac{1}{2}} \\\
&= \frac{1}{2} \cdot \left[\mu(x^2) - \mu^2(x)\right]^{-\frac{1}{2}} \cdot \left(\frac{2}{m} \cdot x_i - \frac{2}{m} \cdot \mu \right) \\\
&= \frac{1}{m} \cdot \sigma^{-1} \cdot (x_i - \mu)
\end{aligned}