极市导读
本文介绍了层归一化的推导过程。 >>加入极市CV技术交流群,走在计算机视觉的最前沿
昨天推导了一下交叉熵的反向传播梯度,今天再来推导一下层归一化(LayerNorm),这是一种常见的归一化方法。
前向传播
假设待归一化的 维向量为 ,均值和标准差分别是 和 ,LayerNorm的参数是 和 ,那么层归一化后的输出为:
这里的极小量 是为了防止标准差为0导致溢出。为了简单起见,我们不加上这一项,原公式也就变成了:
反向传播
假设损失函数 对输出 的梯度是 ,那么这里需要求三个梯度: 、 和 。
令 ,那么原公式就变成了:
两个参数的梯度非常简单:
对输入 的梯度等于:
推导过程
对输入 的梯度可以写成:
这里只需要计算最后一项就行了:
其中 只有当 的时候才会等于1,否则都等于0。这里只需要求出均值和标准差对 的梯度就行了。直接给出结论,证明比较简单,放在了文末:
代入可以得到:
最后带入梯度 中可以得到:
均值和标准差的梯度
均值的梯度为:
标准差的计算公式可以写成 ,所以梯度为:

公众号后台回复“极市直播”获取100+期极市技术直播回放+PPT
极市干货

点击阅读原文进入CV社区
收获更多技术干货

