大数跨境

计算梯度:网络的前向与反向传播

计算梯度:网络的前向与反向传播 知识代码AI
2026-09-01
5

计算梯度:网络的前向与反向传播


一、前馈网络(Feedforward Neural Network)

1. 什么是前馈网络

前馈网络是最简单的神经网络,其典型特征是一个单向的多层结构,数据从输入层进入,经过隐藏层,最后通过输出层输出,只能前行,无法后退。[pdf_12]

2. 网络结构组成

层级
说明
输入层
第 0 层,用于接收输入数据。例如输入层有 5 个神经元,表示可接收 5 维向量
隐藏层
模型内部核心,对外不可见。实际网络中有非常多的隐藏层,是模型学习知识的关键部分
输出层
最后一层,模型内部计算完成后通过该层输出到外部

神经元之间的连线表示节点之间的权重(weight),通过权重可知道每个节点的重要程度。[pdf_12]

3. 前馈网络的核心思想

数据从输入层到隐藏层的第一层,再传播到第二层、第三层……一直到最后通过输出层输出。数据的传播是单向的,无法后退,只能前行。[pdf_12]


二、导数(Derivative)

1. 导数的定义

导数也叫导函数值,表示函数在某一点的变化率。

当函数值增量 Δy 与变量 x 的增量 Δx 的比值,在 Δx 趋近于 0 时,如果极限 a 存在,就称 a 为函数 F(x) 在 x 处的导数:

高中数学中的斜率就是一种特殊情况下的导数。[pdf_12]


三、偏导数(Partial Derivative)

1. 什么是偏导数

当一个函数有多个变量时(如  ),需要偏导数。偏导数是保持一个变量变化,而所有其他变量恒定不变的求导过程。[pdf_12]

2. 偏导数公式

示例:对于函数 

  •  —— 函数 z 在 x 上的导数
  •  —— 函数 z 在 y 上的导数[pdf_12]

四、梯度(Gradient)

1. 梯度的定义

函数所有偏导数构成的向量就叫做梯度。一般用   来表示:

2. 核心结论(务必牢记)

梯度向量的方向即为函数值增长最快的方向。

这是贯穿整个深度学习全过程的核心结论。模型要学习知识,就要用最快最好的方式来完成,这正是借助梯度来实现的。[pdf_12]


五、链式法则(Chain Rule)

1. 为什么需要链式法则

损失函数   中,  表示第 i 层第 j 个节点的权重。梯度向量为:

问题在于:  与   之间隔了很多层,无法直接求导。这时就需要链式法则。

2. 链式法则的定义

两个函数组合起来的复合函数,导数等于里面函数代入外函数值的导数,乘以里面函数之导数

两种形式

3. 计算示例

假设函数  ,分解为:

  • ,导数 
  • ,导数 

则:

相当于各自求导后再相乘。[pdf_12]


六、反向传播(Backpropagation)

1. 核心定义

反向传播算法是目前训练神经网络最常用且最有效的算法。模型就是通过反向传播的方式来不断更新自身的参数,从而实现了"学习"知识的过程。[pdf_12]

2. 三步骤流程

步骤
说明
① 前向传播
数据从输入层经过隐藏层最后输出,与前馈网络基本一致
② 计算误差并传播
计算模型输出结果与真实结果之间的误差,将误差通过某种方式反向传播——从输出层向隐藏层传递,最后到达输入层
③ 迭代
在反向传播过程中,根据误差不断调整模型参数值,并不断迭代前两个步骤,直到达到模型结束训练的条件

3. 两个最重要的环节

  1. 通过某种方式反向传播
  2. 根据误差不断地调整模型的参数值

这两个环节统称为优化方法,一般多采用梯度下降的方法,会用到导数、梯度和链式法则等相关知识。[pdf_12]

4. 关于"深度学习都是基于反向传播的么?"

不完全是。训练权重的方法主要有两种:

方法
优点
缺点
基于数值微分(如梯度下降)
实现简单,便于编写代码,不容易出错
时间复杂度高,计算比较耗时
基于反向传播
效率高,计算速度快
实现复杂,容易出错

实际工程中,会比较数值微分和反向传播的结果(两者结果应非常接近),以确定反向传播逻辑的正确性,这称为梯度确认。[pdf_12]

另外,只有在训练时才会有反向传播。验证集和测试集测试模型不存在训练过程,也就不存在反向传播。此外,一些非梯度下降的二阶优化算法(如拟牛顿法)也存在,但计算代价非常大,使用较少。[pdf_12]


七、模型学习的关键总结

模型通过梯度下降的方式,在梯度方向的反方向上不断减小损失函数值,从而进行学习。

知识串联图

概念
作用
损失函数
衡量模型预测与真实值的差距(第11节)
导数/偏导数
计算函数值的变化率
梯度
所有偏导数构成的向量,方向为函数值增长最快的方向
链式法则
求解复合函数导数的方法
反向传播
利用链式法则计算梯度,将误差从输出层传回各层
梯度下降
沿梯度反方向更新参数,减小损失函数值

八、每课一练

问题:深度学习都是基于反向传播的么?

解答

不是。

  1. 训练权重的方法有两种:基于数值微分(如梯度下降,实现简单但耗时)和基于反向传播(效率高但实现复杂)。
  2. 实际工程中常用梯度确认来验证反向传播逻辑的正确性:比较数值微分和反向传播的结果,两者应非常接近。
  3. 只有在训练时才有反向传播,验证集和测试集不存在训练过程。
  4. 还存在一些非梯度下降的二阶优化算法(如拟牛顿法),但计算代价大,使用较少。[pdf_12]

九、小结

  1. 前馈网络:最简单神经网络,数据单向传播,只能前行。
  2. 导数:函数值的变化率,斜率是特殊情况。
  3. 偏导数:多变量函数中,保持其他变量不变,对一个变量求导。
  4. 梯度:所有偏导数构成的向量,方向为函数值增长最快的方向(核心结论)。
  5. 链式法则:复合函数求导方法——各自求导后再相乘。
  6. 反向传播:目前训练神经网络最常用且最有效的算法,三步骤——前向传播、计算误差反向传播、迭代更新参数。
  7. 核心原则:模型通过梯度下降方式,在梯度反方向上不断减小损失函数值,从而进行学习。


【声明】内容源于网络
0
0
知识代码AI
技术基底 机器视觉全栈 × 光学成像 × 图像处理算法 编程栈 C++/C#工业开发 | Python智能建模 工具链 Halcon/VisionPro工业部署 | PyTorch/TensorFlow模型炼金术 | 模型压缩&嵌入式移植
内容 403
粉丝 0
知识代码AI 技术基底 机器视觉全栈 × 光学成像 × 图像处理算法 编程栈 C++/C#工业开发 | Python智能建模 工具链 Halcon/VisionPro工业部署 | PyTorch/TensorFlow模型炼金术 | 模型压缩&嵌入式移植
总阅读6.6k
粉丝0
内容403