news 2026/4/23 11:14:23

10.3 反向传播算法:计算图、链式法则与自动微分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10.3 反向传播算法:计算图、链式法则与自动微分

10.3 反向传播算法:计算图、链式法则与自动微分

反向传播算法是训练多层神经网络的核心,它通过高效地计算损失函数相对于网络所有参数的梯度,为基于梯度的优化方法提供了可能。反向传播并非一种新的学习算法,而是梯度计算在神经网络特定结构下的高效实现方案。其核心思想源于微积分中的链式法则,并通过计算图这一抽象得到直观的表示和系统化的实现。本节将详细阐述反向传播的原理,从计算图表示、链式法则的递归应用,到其与现代自动微分技术的紧密联系。

10.3.1 计算图:结构与抽象

计算图是一种用于描述数学运算的有向无环图。在深度学习的语境下,它将复杂的神经网络前向传播过程分解为一系列基本的原子操作(如加法、乘法、指数运算、矩阵乘、激活函数等),从而清晰地揭示出变量之间的依赖关系。

10.3.1.1 图的构成

一个计算图GGG包含两种类型的节点:

  • 变量节点:表示计算过程中的数据,包括输入数据、模型参数(权重、偏置)以及计算得到的中间变量。
  • 运算符节点:表示施加在变量上的基本运算。每个运算符节点接收一个或多个输入变量,并产生一个输出变量。

图中的边表示数据的流向,从输入指向运算符,再从运算符指向其输出的变量。例如,一个简单的线性层运算z=wTx+bz = \mathbf{w}^T \mathbf{x} + bz=wTx+b可以分解为向量内积和标量加法两个运算符节点。

10.3.1.2 前向传播与反向传播的图视角

神经网络的前向传播过程,对应于从输入节点开始,按照图的拓扑顺序,依次计算每个运算符节点的输出,直至得到最终的输出(如预测值)和损失值LLL。这完成了计算图的“向前”遍历。

反向传播的目标是计算损失LLL对图中所有参数节点(如w\mathbf{w}w,bbb)的梯度∂L∂w,∂L∂b\frac{\partial L}{\partial \mathbf{w}}, \frac{\partial L}{\partial b}wL,bL。从计算图的角度看,这等价于从损失节点LLL开始,按照与边相反的方向(即逆向拓扑顺序),依次计算LLL对图中每个节点的梯度。计算图的结构化表示使得梯度计算可以分解为一系列局部梯度传播的步骤。

10.3.2 链式法则与反向传播的递归计算

反向传播算法的数学本质是多变量微积分的链式法则。对于一个由多个函数嵌套组成的复合函数,链式法则说明了如何计算其导数。在计算图中,每个运算符节点代表一个局部函数。

10.3.2.1 链式法则的形式化

设最终损失LLL是变量yyy的函数,而yyy又是变量xxx的函数:y=f(x)y = f(x)y=f(x),L=g(y)L = g(y)L=g(y)。根据链式法则,LLLxxx的导数为:
∂L∂x=∂L∂y⋅∂y∂x \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \cdot \frac{\partial y}{\partial x}xL=yLxy

在计算图中,节点yyyxxx的后继。当我们进行反向传播时,假设已经计算得到了损失LLLyyy的梯度∂L∂y\frac{\partial L}{\partial y}yL(称为yyy的“上游梯度”),那么要计算LLLxxx的梯度,只需将上游梯度乘以yyy关于

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

AI如何帮你秒懂戴维南定理?智能解析+实例演示

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个戴维南定理AI教学助手,要求:1. 输入任意线性电路图后自动识别电路结构 2. 使用Kimi-K2模型分步骤解析戴维南等效过程 3. 生成等效电路图动画演示 4…

作者头像 李华
网站建设 2026/4/10 3:39:09

零基础学Nuxt.js:AI帮你快速上手第一个项目

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个适合Nuxt.js新手的入门教程项目,包含:1. 图文并茂的环境配置指南 2. 交互式学习页面展示Nuxt核心概念(页面路由、组件等) 3. 实时代码编辑器允许修…

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

零基础入门:Playwright安装图解教程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向新手的Playwright安装指导项目,要求:1.分步骤详细说明安装过程 2.包含每个步骤的预期输出截图 3.提供安装成功和失败的判断方法 4.常见错误解决…

作者头像 李华
网站建设 2026/4/23 9:25:48

Python+Vue的高校创新创业课程体系的设计与实现 Pycharm django flask

这里写目录标题项目介绍项目展示详细视频演示感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人技术栈文章下方名片联系我即可~解决的思路…

作者头像 李华
网站建设 2026/4/23 10:47:01

5分钟搞定Word公式编号的极简方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 设计一个极简Word快速编号工具:用户选中公式后点击插件按钮,自动在公式右侧添加[1][2]...的连续编号。支持批量选择多个公式一键编号。提供3种预设样式可选…

作者头像 李华
网站建设 2026/4/12 21:48:43

Linly-Talker在银行智能网点的应用设想与验证

Linly-Talker在银行智能网点的应用设想与验证智能服务的临界点:当数字人走进银行大厅 你有没有过这样的经历?走进银行网点,排了半小时队,终于轮到自己时却发现只是想问一句“信用卡怎么申请”——一个本可以用30秒语音回答的问题&…

作者头像 李华