手推公式之“层归一化”梯度

简介: 手推公式之“层归一化”梯度

昨天推导了一下交叉熵的反向传播梯度,今天再来推导一下层归一化(LayerNorm),这是一种常见的归一化方法。

“交叉熵”反向传播推导

前向传播

假设待归一化的维向量为,均值和标准差分别是和,LayerNorm的参数是和,那么层归一化后的输出为:

1685433242933.png

这里的极小量是为了防止标准差为0导致溢出。为了简单起见,我们不加上这一项,原公式也就变成了:

1685433251684.png

反向传播

假设损失函数对输出的梯度是,那么这里需要求三个梯度:、和。

令,那么原公式就变成了:

1685433230349.png

两个参数的梯度非常简单:

1685433217604.png

对输入的梯度等于:

1685433207434.png

推导过程

对输入的梯度可以写成:

1685433196242.png

这里只需要计算最后一项就行了:

1685433181920.png

其中只有当的时候才会等于1,否则都等于0。这里只需要求出均值和标准差对的梯度就行了。直接给出结论,证明比较简单,放在了文末:

1685433168796.png

代入可以得到:

1685433157503.png

最后带入梯度中可以得到:

1685433146251.png

均值和标准差的梯度

1685433132141.png

相关文章
|
5月前
拉普拉斯金字塔
【6月更文挑战第4天】拉普拉斯金字塔。
27 1
|
6月前
|
机器学习/深度学习 缓存 自然语言处理
PyTorch使用Tricks:梯度裁剪-防止梯度爆炸或梯度消失 !!
PyTorch使用Tricks:梯度裁剪-防止梯度爆炸或梯度消失 !!
549 0
|
6月前
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
242 1
|
6月前
|
传感器 移动开发 测试技术
通过卷积公式学习声速重建的成像模型
【1月更文挑战第1篇】通过卷积公式学习声速重建的成像模型
79 2
|
自然语言处理 算法
手推公式之“层归一化”梯度
昨天推导了一下交叉熵的反向传播梯度,今天再来推导一下层归一化(LayerNorm),这是一种常见的归一化方法
360 0
手推公式之“层归一化”梯度
|
vr&ar
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
123 0
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
|
运维 算法
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
192 0
|
编解码 计算机视觉 C++
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(三)
图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。
1376 0
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(三)
|
编解码 计算机视觉 C++
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(一)
图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。
193 0
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(一)
|
编解码 C++ 计算机视觉
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(二)
图像中各个像素与其相邻像素之间的有很强的相关性,包含的信息也十分丰富,目标的尺寸有大有小,对比度有强有弱,此时就需要一个“显微镜”或者“望远镜”-----多尺度图像技术。它可以在不同分辨率下观察目标的特征进而进行处理。
247 0
【C++】高斯金字塔和拉普拉斯金字塔原理和实现(二)