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

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

昨天推导了一下交叉熵的反向传播梯度,今天再来推导一下层归一化(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

相关文章
操作系统实验五 基于内核栈切换的进程切换(哈工大李治军)(三)
操作系统实验五 基于内核栈切换的进程切换(哈工大李治军)(三)
331 0
操作系统实验五 基于内核栈切换的进程切换(哈工大李治军)(三)
|
2月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.0性能优化实战:4种常见代码错误严重拖慢模型
我们将深入探讨图中断(graph breaks)和多图问题对性能的负面影响,并分析PyTorch模型开发中应当避免的常见错误模式。
183 9
|
3月前
|
数据采集 安全 数据安全/隐私保护
微信加人要安全验证怎么回事
微信好友添加安全验证机制的技术解析 作为拥有12亿月活的国民级应用
|
索引
树莓派 Raspberry Pi (bullseye)更换阿里云源方法
树莓派 Raspberry Pi (bullseye)更换阿里云源方法
12703 2
|
Java Linux 计算机视觉
全网首发:Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH) 解决办法
全网首发:Could NOT find JNI (missing: JAVA_AWT_INCLUDE_PATH) 解决办法
543 0
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
揭示Transformer周期建模缺陷!北大提出新型神经网络FAN,填补周期性特征建模能力缺陷
北京大学研究团队发现,Transformer等主流神经网络在周期特征建模方面存在缺陷,如记忆数据模式而非理解内在规律,导致泛化能力受限。为此,团队提出基于傅里叶分析的Fourier Analysis Network(FAN),通过显式建模周期性特征,提升模型的理解和预测能力,减少参数和计算量,并在多个实验中验证其优越性。论文链接:https://arxiv.org/pdf/2410.02675.pdf
210 3
|
存储 算法 Java
基数排序详解(Radix sort)
基数排序详解(Radix sort)
250 0
|
10月前
|
自然语言处理 搜索推荐 小程序
博物馆导览系统:提升观众参观效率与满意度
在这个快节奏时代,博物馆面临挑战与机遇。传统导览方式难以满足个性化、互动性和沉浸式学习需求。本文深入解析博物馆智能导览系统,包括精准定位导航、展品解说和AR技术应用,提升观众参观效率与满意度。
436 5
树莓派换源教程 树莓派4B换源教程
树莓派换源教程 树莓派4B换源教程
688 2
|
存储 分布式计算 监控
什么是 Hadoop 集群?
【8月更文挑战第12天】
615 4