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

机器学习与模式识别 第十四章 神经网络中的反向传播 考点压缩

第十四章:Backpropagation — 知识点笔记

综合来源:Lecture 14 PDF(38页)、课堂笔记(CSDN)


占位图

14.1 梯度计算:三种方法对比 ⭐

(1) 数值微分(Numerical Differentiation)

∂E∂wi≈E(w+ϵIi)−E(w−ϵIi)2ϵ\frac{\partial E}{\partial w_i} \approx \frac{E(w + \epsilon I_i) - E(w - \epsilon I_i)}{2\epsilon}wiE2ϵE(w+ϵIi)E(wϵIi)

优点缺点
适用于任何函数近似(非精确)
易于实现极贵:需2D2D2D次误差计算→O(ND2)\mathcal{O}(ND^2)O(ND2)总代价

(2) 符号微分(Symbolic Differentiation)

  • 用求导规则推导解析梯度表达式
  • 优点:精确 | 缺点:表达式膨胀(Expression Swell)→大量冗余重复子表达式

(3) 自动微分(Autodiff)⭐

特点说明
自动追踪前向计算图→自动生成导数程序
精确机器精度(非近似)
高效重用冗余计算

两种模式

模式方向适用
Forward Mode输入→输出f:R→RMf: \mathbb{R} \to \mathbb{R}^Mf:RRM(少输入多输出)
Backward Mode输出→输入f:RD→Rf: \mathbb{R}^D \to \mathbb{R}f:RDR(多输入少输出)→DL专用

14.2 前向追踪:计算图 ⭐

将计算分解为基本操作的序列:

v1 = x1 v4 = exp(v3) v2 = x2 v5 = sin(v2) v3 = v1 * v2 v6 = v4 + v3 v7 = v6 - v5 (= f)

每个变量viv_ivi是计算图的一个节点,操作是有向边


14.3 反向传播:伴随变量 ⭐⭐⭐

核心递归公式

定义伴随变量(Adjoint):ai=∂f∂via_i = \frac{\partial f}{\partial v_i}ai=vif

ai=∑j∈Ch[i]∂vj∂vi⋅aja_i = \sum_{j \in \mathbf{Ch}[i]} \frac{\partial v_j}{\partial v_i} \cdot a_jai=jCh[i]vivjaj

  • Ch[i]\mathbf{Ch}[i]Ch[i]viv_ivi子节点集合(被viv_ivi影响的后继变量)
  • 从输出向输入递归

算法步骤

  1. 前向:计算所有viv_ivi的值并缓存
  2. 初始化afinal=1a_{final} = 1afinal=1∂f∂f=1\frac{\partial f}{\partial f}=1ff=1
  3. 反向遍历:按拓扑逆序计算每个aia_iai
  4. 梯度:输入变量对应的aia_iai即所求梯度

关键观察

  • 单输出→只需维护一个伴随变量
  • 多路径→梯度累加(sum over children)
  • 需缓存/重算中间变量值

14.4 神经网络中的反向传播

单隐藏层网络梯度

y=σ(W(2)σ(W(1)x))y = \sigma(W^{(2)}\sigma(W^{(1)}x))y=σ(W(2)σ(W(1)x))

W(1)W^{(1)}W(1)的偏导:
∂E∂Wij(1)=∂E∂y⋅∂y∂z⋅∂z∂Wij(1)\frac{\partial E}{\partial W^{(1)}_{ij}} = \frac{\partial E}{\partial y} \cdot \frac{\partial y}{\partial z} \cdot \frac{\partial z}{\partial W^{(1)}_{ij}}Wij(1)E=yEzyWij(1)z

  • 外层导数→内层导数→链式法则嵌套
  • Autodiff自动处理所有嵌套

为什么反向模式高效

  • 深度网络:f:RD→Rf: \mathbb{R}^D \to \mathbb{R}f:RDR(百万参数→单一损失)
  • 反向模式一次遍历→O(D)\mathcal{O}(D)O(D)计算所有梯度
  • 前向模式需O(D)\mathcal{O}(D)O(D)次遍历→不适合DL

14.5 PyTorch中的Autograd

loss.backward()# 自动反向传播→计算所有参数的.grad
  • 追踪requires_grad=True的tensor
  • 构建动态计算图
  • backward()触发反向遍历→填充.grad属性

笔记中的图片索引

序号图片内容描述来源位置
图1三种微分方法对比Lecture 14 第10-18页
图2前向计算图追踪Lecture 14 第20页
图3反向伴随变量传播全过程Lecture 14 第24-34页

笔记整理时间:2026年6月29日

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

相关文章:

  • TVA对具身智能领域“莫拉维克悖论“的挑战(8)
  • PIC18F4680与DC-DC降压转换器的数字电源管理方案
  • C++ 快速排序(Quick Sort)深度精讲:分治思想、Lomuto 分区法及三数取中优化,面试手撕必会
  • STM32L433RC与DC-DC降压转换器设计实战
  • TVA与具身智能的结构性关联(10)
  • 数据产业服务分类(32)——数据产业——数字技术服务与数据产业服务
  • Kafka 消息重试设计:别让失败消息原地打转
  • Modbus工控安全渗透测试:Smod框架实战与防御指南
  • 【camera 005】 Camera Surface 数据流获取流程深度解析
  • 4-20mA电流环技术与XTR116工业应用指南
  • 企业知识库同步延迟:文档更新后,答案不能还停在昨天
  • 数学基础速查——大模型工程师的“最小够用集“
  • 数据产业服务分类(33)——数据产业——政府管理部门
  • Si4732与PIC18F97J94数字广播接收方案设计与优化
  • 5分钟掌握Axure RP中文界面:完整汉化包安装与配置指南
  • 从零开始学AI:小白程序员必备收藏指南,快速掌握大模型实战技能
  • 新手误区:只会调包不懂底层,永远成不了高级AI工程师
  • 终极便携式Windows C/C++开发工具链:w64devkit完全指南
  • ProperTree终极指南:跨平台plist编辑器让配置文件编辑变得简单
  • 找了个开源的 AI 写小说 Agent,自己部署跑了一遍
  • python___let`s try it 3---计算水仙花数
  • ALVR无线串流技术深度解析:实现PC VR游戏无线化自由体验
  • 大模型入门指南:小白程序员必收藏,轻松掌握AI核心技术!
  • 【LE Audio】CSIP精讲[4]:Set Coordinator全流程管控与实现精要
  • Windows风扇控制终极指南:用FanControl打造静音高效的散热系统
  • 2026最新AI Agent从零落地实战指南!小白程序员专属企业级开发教程
  • C++语言基础4:例程讲解(结合在QT的应用)
  • 3步解锁网易云音乐:ncmdump工具让NCM格式不再困扰你
  • Kimi LeetCode 3463. 判断操作后字符串中的数字是否相等 II C++实现
  • 基于Si4731与PIC18F25K50的FM收音系统设计与实现