news 2026/4/18 11:46:39

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

作者头像

张小明

前端开发工程师

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/4/18 8:00:33

【课程设计/毕业设计】基于微信小程序的话剧票务管理系统基于springboot+微信小程序的话剧票务管理系统【附源码、数据库、万字文档】

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

作者头像 李华
网站建设 2026/4/18 8:28:08

【读书笔记】《日常生活中的自我呈现》

《日常生活中的自我呈现》书籍解读整理 这是一本由加拿大社会学家欧文戈夫曼(Erving Goffman)撰写的经典著作,将戏剧表演框架引入社会学分析,提出“拟剧论”(dramaturgical analysis)。戈夫曼认为&#xff…

作者头像 李华
网站建设 2026/4/18 5:43:07

避坑指南:Open Interpreter本地AI编程常见问题全解

避坑指南:Open Interpreter本地AI编程常见问题全解 1. 引言:为什么选择本地化AI编程? 随着大模型技术的普及,开发者对数据隐私、执行效率和系统可控性的要求日益提升。将AI代码生成能力部署在本地,已成为越来越多技术…

作者头像 李华
网站建设 2026/4/18 8:42:17

免费查文献的网站推荐:实用资源汇总与使用指南

做科研的第一道坎,往往不是做实验,也不是写论文,而是——找文献。 很多新手科研小白会陷入一个怪圈:在知网、Google Scholar 上不断换关键词,结果要么信息过载,要么完全抓不到重点。今天分享几个长期使用的…

作者头像 李华
网站建设 2026/4/17 2:51:21

Meta-Llama-3-8B-Instruct一键部署:open-webui可视化界面教程

Meta-Llama-3-8B-Instruct一键部署:open-webui可视化界面教程 1. 引言 随着大语言模型在对话理解、指令遵循和多任务处理能力上的持续进化,本地化部署高性能开源模型已成为开发者和研究者的刚需。Meta于2024年4月发布的Meta-Llama-3-8B-Instruct&#…

作者头像 李华
网站建设 2026/4/13 8:31:09

手机也能跑AI?用DeepSeek-R1-Distill-Qwen-1.5B打造边缘计算助手

手机也能跑AI?用DeepSeek-R1-Distill-Qwen-1.5B打造边缘计算助手 1. 引言:当大模型走向终端设备 近年来,AI大模型的发展速度令人瞩目。从千亿参数的GPT系列到如今轻量级但性能强劲的小模型,边缘AI推理正成为技术演进的重要方向。…

作者头像 李华