news 2026/8/7 11:56:51

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/8/7 7:30:07

【大模型】-LangChain--stream流式同步异步

文章目录1.同步stream流2.异步astream流3.异步astream流json输出4.异步事件astream_events流5.异步多线程1.同步stream流 import os from langchain_community.chat_models import ChatTongyios.environ["DASHSCOPE_API_KEY"] "sk-秘钥" llm ChatTongyi…

作者头像 李华
网站建设 2026/8/7 9:33:23

兜兜英语每日短语:逃单篇

1. 🍽️💨 dine and dash(吃霸王餐 / 吃完就跑) 英文:Nine diners in Chongqing dined and dashed, leaving one person behind. 中文:重庆 9 名食客吃霸王餐后逃单,只留下一人 “背锅”&#x…

作者头像 李华
网站建设 2026/8/7 0:07:02

计算机毕业设计springboot汽车智慧检修系统 基于SpringBoot的智能汽车故障预测与维修管理平台 融合IoT的SpringBoot车辆健康监测与维修决策系统

计算机毕业设计springboot汽车智慧检修系统a93520rj (配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 当汽车从“机械”进化为“数据孤岛”,每一次打火、每一脚刹车都…

作者头像 李华
网站建设 2026/8/6 21:31:27

python3

import osdef traverse_files(path):# 遍历当前路径下的所有文件和文件夹for item in os.listdir(path):# 拼接完整路径item_path os.path.join(path, item)if os.path.isfile(item_path):# 是文件则输出路径print("文件:", item_path)elif os.path.isdir(item_path…

作者头像 李华
网站建设 2026/8/7 23:40:08

【3D图像技术分析与实现】Apple Vision Pro三维成像技术栈深度解析

作为空间计算的标杆产品,Apple Vision Pro的三维成像能力是其实现虚实融合体验的核心基石。它并未依赖单一技术路径,而是通过“多传感器硬件阵列专用芯片算力全栈软件框架”的协同架构,构建了兼具精度、实时性与沉浸感的三维感知系统。本文将…

作者头像 李华
网站建设 2026/8/6 13:13:17

经典算法题详解之统计重复个数(三)

算法我们设计一个哈希表 recall:哈希表 recall 以 s2 字符串的下标 index 为索引,存储匹配至第 s1cnt 个 s1 的末尾,当前匹配到第 s2cnt 个 s2 中的第 index 个字符时, 已经匹配过的 s1 的个数 s1cnt 和 s2 的个数 s2cnt 。我们在…

作者头像 李华