news 2026/4/3 4:32:59

AI:深度学习的前向传播和反向传播

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI:深度学习的前向传播和反向传播

深度学习的前向传播和反向传播是神经网络训练的核心机制,前者负责生成预测结果,后者负责根据误差优化模型参数,二者共同构成一个完整的训练迭代循环。

一、前向传播(Forward Propagation)

前向传播是神经网络从输入到输出的推理过程,通过逐层计算得到预测结果:

  1. 输入层接收数据
    将原始数据(如图像、文本)转换为数值向量作为输入,例如图像被转换为像素值组成的张量。

  2. 隐藏层计算与转换

    • 线性加权组合:每一层神经元接收上一层输出作为输入,通过权重矩阵与输入向量的矩阵乘法,加上偏置向量,完成线性变换:
      z=W⋅x+b\mathbf{z} = \mathbf{W} \cdot \mathbf{x} + \mathbf{b}z=Wx+b
      其中z\mathbf{z}z称为预激活值,是激活函数的输入。
    • 非线性激活:通过激活函数(如ReLU、Sigmoid)对线性结果进行非线性转换,赋予网络学习复杂模式的能力:
      a=f(z)\mathbf{a} = f(\mathbf{z})a=f(z)
      激活函数通过引入非线性,将数据从原始低维空间映射到高维空间,使原本线性不可分的数据变得可分。
  3. 输出层生成预测
    输出层接收隐藏层的输出,经过最终的线性变换和激活函数(如Softmax用于分类任务),生成预测结果y^\hat{\mathbf{y}}y^

  4. 损失计算
    将预测结果与真实标签比较,计算损失函数值(如均方误差MSE或交叉熵损失),用于衡量模型预测的准确性。

二、反向传播(Backward Propagation)

反向传播是神经网络从输出到输入的参数优化过程,通过计算梯度更新模型参数:

  1. 计算损失函数梯度
    首先计算损失函数对输出层的梯度∂L∂o\frac{\partial \mathcal{L}}{\partial \mathbf{o}}oL,这是反向传播的起点。

  2. 梯度反向传递

    • 从输出层开始,利用链式法则逐层计算损失函数对隐藏层参数的梯度:
      ∂L∂W(2)=∂L∂o⋅h⊤\frac{\partial \mathcal{L}}{\partial \mathbf{W}^{(2)}} = \frac{\partial \mathcal{L}}{\partial \mathbf{o}} \cdot \mathbf{h}^\topW(2)L=oLh
      ∂L∂W(1)=∂L∂h⋅x⊤\frac{\partial \mathcal{L}}{\partial \mathbf{W}^{(1)}} = \frac{\partial \mathcal{L}}{\partial \mathbf{h}} \cdot \mathbf{x}^\topW(1)L=hLx
      其中h\mathbf{h}h是隐藏层输出,x\mathbf{x}x是输入。
    • 梯度传递过程中,每个节点的误差梯度由上一层传来的梯度与当前层的激活函数导数相乘得到。
  3. 参数更新
    根据计算出的梯度,使用优化算法(如梯度下降)更新网络参数:
    W=W−η⋅∂L∂W\mathbf{W} = \mathbf{W} - \eta \cdot \frac{\partial \mathcal{L}}{\partial \mathbf{W}}W=WηWL
    其中η\etaη是学习率,控制参数更新的步长。

  4. 正则化项处理
    如果包含正则化项(如L2正则化),还需计算正则化项对参数的梯度并加入更新过程。

三、前向传播与反向传播的关系

特性前向传播反向传播
方向输入层 → 输出层输出层 → 输入层
计算内容预测值 (y^\hat{\mathbf{y}}y^)梯度 (∂L∂W\frac{\partial \mathcal{L}}{\partial \mathbf{W}}WL)
核心操作矩阵乘法 + 激活函数链式法则 + 梯度累加
计算复杂度O(参数量)O(参数量)(近似)
框架支持自动执行自动微分(autograd)

这两个过程构成一个完整的训练迭代:前向传播生成预测并计算损失,反向传播计算梯度并更新参数。通过多次迭代这一过程,神经网络能够不断调整参数,使损失函数逐渐减小,最终达到模型的优化目标。

在实际应用中,现代深度学习框架(如PyTorch、TensorFlow)会自动构建计算图(Computational Graph)来追踪计算过程,实现高效的自动微分,大大简化了反向传播的实现。理解这两个过程的原理,有助于更好地设计网络架构、调试模型问题以及优化训练效率。

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

蓝牙连接例程/蓝牙收发信号引出

文章目录一、简介二、蓝牙连接收发例程1、蓝牙控制指令2、定义3、类似例程4、其他例程三、指令说明dissdiss conn_idxdiss scandiss show_devdiss up_conn其他指令四、IO映射输出蓝牙收发状态1、映射引脚选择2、寄存器配置3、现象展示一、简介 这篇文章主要说明内容&#xff1a…

作者头像 李华
网站建设 2026/3/30 23:57:41

AI神经网络中的导数

导数在神经网络中描述的是损失函数随参数变化的敏感程度,它通过切线斜率的形式量化了"参数调整一点,损失会变化多少"的关系,是反向传播算法优化模型的核心数学工具。 一、导数的本质与几何意义 1. 基本定义导数描述了函数在某一点的…

作者头像 李华
网站建设 2026/3/31 3:28:40

37、GNOME开发资源与未来展望

GNOME开发资源与未来展望 开发资源 GNOME开发者网站为 http://developer.gnome.org/,在这里可以找到新闻、文档、当前项目等内容。以下是一些可能特别感兴趣的项目: - GNOME文档项目 (http://developer.gnome.org/projects/gdp/):提供各类GNOME文档,包括当前软件包文档…

作者头像 李华
网站建设 2026/3/17 22:25:36

6、RSEI 生态环境质量智能评估系统 (GEE App)

🌿 RSEI 生态环境质量智能评估系统 (GEE App) 平台: Google Earth Engine (GEE) 核心算法: 主成分分析 (PCA) / 遥感生态指数 (RSEI) 📖 项目简介 本项目是一个基于 Google Earth Engine 的自动化遥感生态指数 (RSEI) 计算工具。它集成了 绿度、湿度、热…

作者头像 李华
网站建设 2026/3/29 8:37:48

Diffusion Policy详解

论文:Diffusion Policy Visuomotor Policy Learning via Action Diffusion github: https://github.com/real-stanford/diffusion_policy Diffusion,它是一种生成方法,如今图像生成领域的成就基本都是基于Diffusion方法。其次Policy&#xf…

作者头像 李华
网站建设 2026/3/13 13:48:35

力扣 完全平方数

一、题目回顾给定一个正整数 n,要求找到最少数量的完全平方数(如 1, 4, 9, 16, …),使它们的和等于 n。示例n 12 → 4 4 4 → 3n 13 → 4 9 → 2本质问题一句话总结:把 n 拆成若干个完全平方数之和,要…

作者头像 李华