当前位置: 首页 > news >正文

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

链式法则

前面介绍的计算图的正向传播将计算结果正向(从左到右)传递,其计
算过程是我们日常接触的计算过程,所以感觉上可能比较自然。而反向传播将局部导数向正方向的反方向(从右到左)传递,一开始可能会让人感到困惑。
传递这个局部导数的原理,是基于链式法则(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)

http://www.jsqmd.com/news/268381/

相关文章:

  • 2026企业认证体系迎大洗牌:Net-NTLMv1彩虹表数据库 敲响NTLMv1丧钟
  • 李飞飞的World Labs联手光轮智能,具身智能进入评测驱动时代!
  • 反向传播为何如此高效?解锁其核心引擎:链式法则
  • 【tensorRT从零起步高性能部署】22-TensorRT基础-模型推理动态shape
  • 内网凭据挖掘技术深度揭秘:从终端渗透到网络服务的企业防线突破全链路解析
  • 这家西方开源大模型公司,开源出了DeepSeek-V3背后的架构!头部模型表现都差不多了,Mistral CEO自曝如何赚钱
  • 2026开年炸雷!Apache Kafka三重高危漏洞肆虐:RCE+DoS+SSRF齐发,波及2.0.0-3.9.0全版本,企业升级刻不容缓
  • 方程豹豹8开启智驾撞牛未停车 车主质疑:智驾有什么用呢?
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 29 章 内部温度传感器实验
  • 手搓HTML解析器:500行代码实现完整的DOM树构建
  • 三招速查本机端口占用
  • 护照阅读器:爱达魔都号邮轮的高效登船助力
  • 【读书笔记】《日常生活中的自我呈现》
  • 小程序毕设项目推荐-基于微信小程序的文化娱乐购票系统基于springboot+微信小程序的话剧票务管理系统【附源码+文档,调试定制服务】
  • 马斯克狂砸16亿「买」他五年!揭秘特斯拉2号人物,那个睡工厂的狠人
  • 双目摄像头:让人脸登录更安全可靠
  • 【读书笔记】《傅雷家书》
  • R8240数字电子计
  • 纽约时报:OpenAI或将在18个月内现金流枯竭
  • 手机也能跑AI?用DeepSeek-R1-Distill-Qwen-1.5B打造边缘计算助手
  • 盘点便宜好用的古籍识别OCR:6款古籍识别网站
  • 英文文献检索技巧与高效策略:提升学术文献检索效率的实用指南
  • 一个星期又赚了4387元
  • AI 智能体工具与模型上下文协议 (MCP) 深度解析
  • Unsloth镜像免配置优势解析:10分钟完成Qwen微调部署
  • 2026年山东土工格栅厂家实力榜:塑料土工格栅、玻纤土工格栅、钢塑土工格栅、高分子复合材料与生态护坡解决方案五家企业凭技术与工程应用脱颖而出 - 海棠依旧大
  • 从文本到语音的极致加速|Supertonic ONNX Runtime性能实测
  • CV-UNet问题排查:常见错误及解决方案大全
  • 避坑指南:Open Interpreter本地AI编程常见问题全解
  • 微信小程序毕设项目:基于springboot+微信小程序的话剧票务管理系统(源码+文档,讲解、调试运行,定制等)