news 2026/5/5 20:18:32

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/5/5 13:57:07

34、深入探索文件与目录操作及异步 I/O 技术

深入探索文件与目录操作及异步 I/O 技术 在软件开发中,文件和目录操作是非常重要的部分,同时,异步 I/O 技术能有效提升程序的性能和用户体验。下面将详细介绍文件截断、目录操作以及异步 I/O 等相关内容。 1. 文件截断操作 文件截断是将文件的大小调整为指定字节长度。以…

作者头像 李华
网站建设 2026/5/3 6:16:34

探索 PFC - LLC 谐振开关电源设计方案宝藏资料

PFC-LLC谐振开关电源设计方案整套学习资料 程序仿真硬件软件说明报告原理图计算书等等 注:该方案性价比很高,一套资料下来可以自己做个实物验证,要想看细节可以咨询我,我给你看资料的详细展示视频 01.电路原理图:使用A…

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

Windows系统wfdprov.dll文件损坏 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/30 23:14:27

Triton推理服务器部署微调后的模型及测试

使用Triton推理服务器部署微调后的模型,并通过基准测试(如MMLU、GPQA)验证模型效果。 把这个过程拆解为模型转换、Triton部署、基准测试三个核心步骤,给出可落地的操作指南和代码,确保你能一步步完成部署和验证。 一、…

作者头像 李华
网站建设 2026/4/30 23:14:26

探索:在微软工作是一种怎样的体验(六)

面试所需的长期准备基础知识这个不用多说,作为一名优秀的程序员必须要很好地掌握编程语言、数据结构、算法、数据库、操作系统、网络等基本功。刷题近些年来,刷力扣越来越流行。有很多童鞋会问,刷多少比较合适呢?当然是多多益善咯…

作者头像 李华