news 2026/7/15 2:56:02

误差反向传播法(链式法则)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
误差反向传播法(链式法则)

链式法则

前面介绍的计算图的正向传播将计算结果正向(从左到右)传递,其计
算过程是我们日常接触的计算过程,所以感觉上可能比较自然。而反向传播将局部导数向正方向的反方向(从右到左)传递,一开始可能会让人感到困惑。
传递这个局部导数的原理,是基于链式法则(chain rule)的。本节将介绍链
式法则,并阐明它是如何对应计算图上的反向传播的。

计算图的反向传播

话不多说,让我们先来看一个使用计算图的反向传播的例子。假设存在
y = f(x) 的计算,这个计算的反向传播如图5-6 所示。

如图所示,反向传播的计算顺序是,将信号E乘以节点的局部导数
(∂y∂x)\left( \frac{\partial y}{\partial x} \right)(xy),然后将结果传递给下一个节点。这里所说的局部导数是指正向传播
y=f(x)y = f(x)y=f(x)的导数,也就是y 关于x的导数( )。比如,假设y=f(x)=x2y = f(x) = x^2y=f(x)=x2
则局部导数为∂y∂x=2x\frac{\partial y}{\partial x} = 2xxy=2x。把这个局部导数乘以上游传过来的值(本例中为E),
然后传递给前面的节点。

这就是反向传播的计算顺序。通过这样的计算,可以高效地求出导数的
值,这是反向传播的要点。那么这是如何实现的呢?我们可以从链式法则的
原理进行解释。下面我们就来介绍链式法则。

什么是链式法则

介绍链式法则时,我们需要先从复合函数说起。复合函数是由多个函数
构成的函数。比如,z=(x+y)2z = (x + y)^2z=(x+y)2是由式(5.1)所示的两个式子构成的。
z=t2 z = t^2z=t2
t=x+y t = x + yt=x+y

链式法则是关于复合函数的导数的性质,定义如下。

如果某个函数由复合函数表示,则该复合函数的导数可以用构成复
合函数的各个函数的导数的乘积表示。

这就是链式法则的原理,乍一看可能比较难理解,但实际上它是一个
非常简单的性质。以式(5.1)为例,∂z∂x\frac{\partial z}{\partial x}xz(z 关于x 的导数)可以用∂z∂t\frac{\partial z}{\partial t}tz(z 关于t
的导数)和∂t∂x\frac{\partial t}{\partial x}xt(t 关于x的导数)的乘积表示。用数学式表示的话,可以写成
式(5.2)。
∂z∂x=∂z∂t⋅∂t∂x \frac{\partial z}{\partial x} = \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x}xz=tzxt

式(5.2)中的∂t∂ tt正好可以像下面这样“互相抵消”,所以记起来很简单。

∂z∂x=∂z∂t⋅∂t∂x \frac{\partial z}{\partial x} = \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x}xz=tzxt

现在我们使用链式法则,试着求式(5.2)的导数∂z∂x\frac{\partial z}{\partial x}xz。为此,我们要先求
式(5.1)中的局部导数(偏导数)。
∂z∂t=2t \frac{\partial z}{\partial t} = 2ttz=2t
∂t∂x=1 \frac{\partial t}{\partial x} = 1xt=1

如式(5.3)所示,∂z∂x\frac{\partial z}{\partial x}xz等于2t,∂t∂x\frac{\partial t}{\partial x}xt等于1。这是基于导数公式的解析解。
然后,最后要计算的∂z∂x\frac{\partial z}{\partial x}xz可由式(5.3)求得的导数的乘积计算出来。

链式法则和计算图

现在我们尝试将式(5.4)的链式法则的计算用计算图表示出来。如果用
“**2”节点表示平方运算的话,则计算图如图5-7 所示。

如图所示,计算图的反向传播从右到左传播信号。反向传播的计算顺序
是,先将节点的输入信号乘以节点的局部导数(偏导数),然后再传递给下一
个节点。比如,反向传播时,“**2”节点的输入是∂z∂x\frac{\partial z}{\partial x}xz,将其乘以局部导数∂z∂t\frac{\partial z}{\partial t}tz(因
为正向传播时输入是t、输出是z,所以这个节点的局部导数是∂z∂t\frac{\partial z}{\partial t}tz),然后传
递给下一个节点。另外,图5-7 中反向传播最开始的信号∂z∂z\frac{\partial z}{\partial z}zz在前面的数学
式中没有出现,这是因为∂z∂z=1\frac{\partial z}{\partial z}=1zz=1,所以在刚才的式子中被省略了。

图5-7 中需要注意的是最左边的反向传播的结果。根据链式法则,
$
\frac{\partial z}{\partial z} \cdot \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x} = \frac{\partial z}{\partial t} \cdot \frac{\partial t}{\partial x} = \frac{\partial z}{\partial x}
$
成立,对应“z 关于x的导数”。也就是说,反向传播
是基于链式法则的。

把式(5.3)的结果代入到图5-7 中,结果如图5-8 所示,∂z∂t\frac{\partial z}{\partial t}tz的结果为
2(x+y)2(x + y)2(x+y)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 21:48:26

G2S框架:解耦知识提升大模型在时序知识图谱中的泛化能力

本文提出G2S学习框架,通过解耦时序知识图谱中的通用模式与场景信息,提升大语言模型在TKG预测任务中的泛化能力。框架包含通用学习阶段(匿名化策略学习跨场景通用模式)和特定学习阶段(注入场景信息适配具体任务&#xf…

作者头像 李华
网站建设 2026/7/8 11:26:39

盘点便宜好用的古籍识别OCR:6款古籍识别网站

做古籍研究这么多年,我跑过 17 个省份的古籍数字化项目,试过的古籍识别工具没有十几种也有七八种,论性价比和实用性,云聪古籍绝对是佼佼者。大家都清楚,简体字常用的也就六千多个,可古代繁体光异体字就有十…

作者头像 李华
网站建设 2026/7/14 13:05:41

STM32高速公路隧道照明节能控制系统设计-光敏-E18-高亮灯-WIFI(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

21-460、STM32高速公路隧道照明节能控制系统设计-光敏-E18-高亮灯-WIFI(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码产品功能描述: 本设计由STM32F103C8T6单片机核心板电路光敏电阻电路红外避障传感器电路高亮灯…

作者头像 李华
网站建设 2026/7/13 8:49:08

系统学习minidump格式:用户态内存状态还原

从崩溃现场到内存真相:深入理解 minidump 如何还原用户态运行状态你有没有遇到过这样的场景?一个程序在用户电脑上突然崩溃,日志里只留下一行模糊的“Application has stopped working”,而开发环境却完全无法复现。这时候&#x…

作者头像 李华
网站建设 2026/7/13 1:49:42

撕开美国中产滤镜:那条“隐形斩杀线”,为何一碰即碎?

撕开美国中产滤镜:那条“隐形斩杀线”,为何一碰即碎?一、解码 “隐形斩杀线”:从游戏术语到中产生存魔咒1.1 什么是美国中产的 “隐形斩杀线”“隐形斩杀线” 一词本源于游戏,在游戏里,当 BOSS 的血量降低到…

作者头像 李华