news 2026/7/9 0:19:32

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

作者头像

张小明

前端开发工程师

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/1 11:12:27

小程序毕设项目推荐-基于微信小程序的文化娱乐购票系统基于springboot+微信小程序的话剧票务管理系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/7/1 11:31:24

双目摄像头:让人脸登录更安全可靠

人脸登录因无需密码、操作便捷,已广泛应用于手机解锁、APP登录等场景,但单目摄像头易被照片、视频等虚假手段破解,存在安全隐患。双目摄像头的出现,为解决这一问题提供了有效方案。 双目摄像头模拟人眼“双眼视物”的原理&#xf…

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

精准剖析:算法备案、大模型备案与登记的规范解读指引

对于企业来说,在现在这个互联网高速发展的时代,读懂并跑通算法备案与大模型备案/登记流程,不仅是生存的底线,更是抢占政策红利的入场券。 ​一、​​三者​概念​的区别 很多企业想要进行备案,但不知道自己企业应该选择…

作者头像 李华
网站建设 2026/7/2 14:25:43

Easy Dataset:一键生成高质量微调数据,让你的大模型性能提升18倍

Easy Dataset是一个基于GUI的统一框架,通过"文档解析→混合分块→问答生成→数据导出"的完整流程,从异构文档中提取高质量微调数据。该框架支持多种文档格式,采用混合分块策略和角色驱动的问答生成方法,能自动创建多样化…

作者头像 李华
网站建设 2026/7/4 17:52:10

计算机毕设java的水果销售系统的设计与实现 基于Java技术的水果在线销售平台设计与开发 Java实现的水果销售管理系统构建与实践

计算机毕设java的水果销售系统的设计与实现983s19(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 随着互联网技术的广泛应用以及人们生活水平的不断提高,水果销售行…

作者头像 李华