当前位置: 首页 > news >正文

神经网络之BP算法

一、

正向传播

正向传播(Forward Propagation)是神经网络中数据从输入层流向输出层的过程。输入数据通过各层的权重和激活函数逐层计算,最终得到预测输出。

数学表示
对于第 ( l ) 层的神经元,其输出( a^{(l)} )计算如下:
[ z^{(l)} = W^{(l)} a^{(l-1)} + b^{(l)} ]
[ a^{(l)} = \sigma(z^{(l)}) ]其中:

  • ( W^{(l)} )为第 ( l ) 层的权重矩阵;
  • ( b^{(l)} )为偏置项;
  • ( \sigma )为激活函数(如 ReLU、Sigmoid);
  • ( a^{(l-1)} )为前一层输出(输入层 ( a^{(0)} = x ))。

特点

  • 逐层计算,无反馈;
  • 最终输出用于计算损失(如均方误差、交叉熵)。

反向传播

反向传播(Backward Propagation)通过链式法则计算损失函数对各层参数的梯度,用于优化权重和偏置。

数学表示

  1. 输出层梯度
    计算损失 ( \mathcal{L} ) 对输出层输入的梯度 ( \delta^{(L)} )
    [ \delta^{(L)} = \nabla_a \mathcal{L} \odot \sigma'(z^{(L)}) ]
    其中 ( \odot )为逐元素乘法。

  2. 隐藏层梯度
    第 ( l ) 层的梯度( \delta^{(l)} )由后一层梯度反向传递:
    [ \delta^{(l)} = (W^{(l+1)})^T \delta^{(l+1)} \odot \sigma'(z^{(l)}) ]

  3. 参数更新
    权重和偏置的梯度由梯度下降法更新:
    [ \frac{\partial \mathcal{L}}{\partial W^{(l)}} = \delta^{(l)} (a^{(l-1)})^T ]
    [ \frac{\partial \mathcal{L}}{\partial b^{(l)}} = \delta^{(l)} ]

特点

  • 依赖链式法则逐层回溯;
  • 梯度下降优化器(如 SGD、Adam)利用梯度更新参数。

关键区别

特性正向传播反向传播
方向输入层→输出层输出层→输入层
目的计算预测输出计算参数梯度
依赖关系无反馈依赖正向传播的中间结果
计算复杂度矩阵乘法矩阵乘法与梯度链式求导

二、梯度消失

梯度消失的概念

        梯度消失是指在深度神经网络中,反向传播过程中梯度逐渐减小,导致较早层的权重更新非常缓慢或几乎不更新。这种现象使得深层网络难以训练,因为底层参数无法得到有效调整。

梯度消失的原因

        深度神经网络通过链式法则计算梯度。在反向传播时,梯度是各层梯度连乘的结果。如果激活函数的导数权重本身较小(如使用Sigmoid或Tanh),连乘会导致梯度指数级衰减。

例如,Sigmoid函数的导数最大值为0.25,多层连乘后梯度会迅速趋近于0。

梯度消失的影响

        网络底层参数更新停滞,模型无法学习到低层特征。例如在CNN中,浅层可能无法捕捉边缘等基础特征;在RNN中,远距离依赖关系难以建模。

http://www.dtcms.com/a/269928.html

相关文章:

  • 基于Java+Maven+Testng+RestAssured+Allure+Jenkins搭建一个接口自动化框架
  • iOS 性能测试工具全流程:主流工具实战对比与适用场景
  • 5-Kafka-replication(副本机制)概念
  • 自动化一次通过率
  • 《Java 反射全攻略1》
  • LLM探索的时代
  • Java常用加密算法详解与实战代码 - 附可直接运行的测试示例
  • 【Flutter】面试记录
  • 从历史航拍图像中去除阴影
  • maven 发布到中央仓库之 Ignore Licence-04
  • RabbitMQ第一章(MQ基础与RocketMQ使用手册)
  • 【踩坑实录】RabbitMQ 高并发异常“爆仓”事故还原与配置优化实战指南
  • Next.js 实战笔记 2.0:深入 App Router 高阶特性与布局解构
  • SQLShift 重磅更新:支持 SQL Server 存储过程转换至 GaussDB!
  • 从深度学习的角度看自动驾驶
  • 半连接海外云策略:混合架构下的全球业务协同方案
  • 香港站群服务器价格怎么样?
  • 保姆级tomcat的页面部署(静态)
  • 【世纪龙科技】汽车零部件检验虚拟实训室-数字赋能职业教育
  • PHP诞生30周年
  • 文件传输安全保障:探索Hash校验的不同方法
  • 使用阿里云/腾讯云安装完成mysql使用不了
  • JavaScript中的Request详解:掌握Fetch API与XMLHttpRequest
  • 单稳态触发器Multisim电路仿真——硬件工程师笔记
  • imx6ull-裸机学习实验11——高精度延时实验
  • 铝板矫平机:精密平整的关键设备
  • AI 在生活中的应用:深度解析与技术洞察
  • [2025CVPR]SGC-Net:开放词汇人机交互检测的分层粒度比较网络解析
  • Java教程:【程序调试技巧】入门
  • Leetcode 3604. Minimum Time to Reach Destination in Directed Graph