神经网络中的梯度消失与梯度爆炸 - 实践
在深层次的神经网络中很容易出现梯度消失与梯度爆炸的问题。这篇博客就详细介绍一下为什么会产生梯度消失与梯度爆炸的问题,以及如何解决。
首先梯度是什么
类比快递员送包裹:
- 神经网络训练时,需根据预测错误(损失函数)调整每层的参数(比如权重)。
- 梯度就像 “错误快递员”,它从最后一层(输出层)出发,反向传播到每一层,告诉该层 “参数应该调多少”。
- 目标:让梯度顺利送达每一层,指导参数更新,减少预测错误。
梯度消失 / 爆炸的本质:反向传播时 “快递员迷路或暴走”
假设一个 100 层的神经网络,反向传播时梯度要从第 100 层传到第 1 层。
每经过一层,梯度会被该层的权重矩阵和激活函数的导数“放大或缩小”。
1.梯度消失--快递员送到最后没有力气了
常见场景:
- 每层权重矩阵的绝对值普遍小于 1(比如初始化时权重很小),或激活函数导数小于 1(如 Sigmoid 函数导数最大值 0.25)。
- 每经过一层,梯度就乘以一个小于 1 的数(类似 “打折扣”)。
- 100 层后:梯度可能从初始值(如 0.5)变成0.5100,几乎接近 0,无法更新前面层的参数。
类比:
想象你托朋友的朋友的朋友……(100 个朋友)传一句话到老家。
每传一次,话的清晰度打 8 折(比如 “今晚吃饭” 传成 “今晚吃”,再传成 “今晚”……),传到最后可能只剩噪音。
2.梯度爆炸--快递员突然发疯乱送
常见场景:
- 每层权重矩阵的绝对值普遍大于 1(如初始化时权重很大),或激活函数导数大于 1(理论上 ReLU 导数为 1,但实际可能因参数缩放导致放大)。
- 每经过一层,梯度就乘以一个大于 1 的数(类似 “滚雪球”)。
- 100 层后:梯度可能从初始值(如 2)变成2100,数值大到无法控制,参数更新时 “乱跳”。
类比:
你让朋友的朋友……(100 个朋友)帮忙传 “借 100 元”,每传一次金额翻倍,传到最后可能变成 “借 1 亿”,完全失控。
为什么深层网络更容易出问题?
1.链式反应的累积效应
- 反向传播的数学本质是链式求导(每层梯度是多个导数的乘积)。
- 层数越多,乘积项越多:
- 若每个因子都略小于 1,多层后乘积趋近于 0(消失);
- 若每个因子都略大于 1,多层后乘积趋近于无穷大(爆炸)。
2. 激活函数的 “先天缺陷”
- 早期常用 Sigmoid/Tanh:
- 导数范围小(Sigmoid 导数≤0.25,Tanh 导数≤1),容易导致梯度消失。
- 示例:假设每层导数都是 0.25,10 层后梯度变为0.2510≈0.0000059,几乎消失。
- ReLU 缓解消失但无法根治爆炸:
- ReLU 导数在正数区域为 1,梯度不会因激活函数缩小,但权重矩阵仍可能放大梯度。
为什么浅层网络不容易出问题?
- 层数少,链式乘积项少:
比如 5 层网络,即使每层梯度乘 0.5,5 次后是0.55=0.03125,仍有一定幅度,能有效更新参数。 - 梯度 “路程短”:
信号从输出层传到输入层只需经过几层,“衰减” 或 “放大” 的程度有限。
解决方案
- 核心矛盾:深度带来更强的表达能力,但反向传播时梯度难以稳定传递。
- 比喻:
就像水管太长时,水压会衰减(消失)或因水流太急爆管(爆炸),导致末端(浅层)得不到正常供水(有效梯度)。 - ResNet 的解决方案:
借助残差连接增加 “旁路水管”,让梯度可以绕过部分层直接传递,减少链式乘积的层数,从而缓解消失 / 爆炸。
总结
梯度在深层网络中就像传话筒,传的人越多(层数越多),声音越容易变弱(消失)或变吵(爆炸),ResNet 则给它加了个 “扩音器”(残差连接)。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/930362.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!相关文章
[数学 - 正态分布]
您提到的“中间隆起的图”很可能就是正态分布(Normal Distribution)的图形,也叫钟形曲线(Bell Curve)。
在统计学和金融学中,这个图形和回归分析、标准差一样重要,因为它是我们理解风险、波动性和概率的基础。隆…
Withdraw x Failure《一元微积分》讲义习题
习题 \(1.1\):
第 \(1\) 题:
\(1.1.7\):\(\N\) 上的加法是对乘法满足分配律:即对任意 \(m,n,k\in\N\),\((m+n)\cdot k=m\cdot k+n\cdot k\)。
证明:对 \(k\) 做数学归纳。
令 \(A=\{k\in\N|\forall m,n\in \N,(m…
QGIS开发笔记(四):QgsRasterLayer加载Cesium二维地图的瓦片地图数据到QGIS
前言地图引擎加载瓦片地图是基本操作,本篇对qgis添加图片瓦片地图。 Demo 专业名词波段波段(Band) 是指栅格数据中具有特定波长范围的信息层,类似于数字图像中的 “通道”。它是栅格数据(尤其是遥感影像)的核心组…
基于 Chrome 浏览器扩展的Chroma简易图形化界面 - 实践
基于 Chrome 浏览器扩展的Chroma简易图形化界面 - 实践2025-10-07 11:28
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; d…
建筑设计作品展示网站wordpress免费相册
在本篇博客中,作者将会讲解类与对象的最后一篇。 一.再谈构造函数
在类与对象(上篇)中,我们讲到了构造函数,其实构造函数就是给每个成员变量进行赋值!!!
仅仅只是赋值而已…
苍南县网站集约化建设西安网站优化排名案例
原文 http://www.eoeandroid.com/thread-274556-1-1.html 【初识Github】
首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其…
详细介绍:go语言学习 第4章:流程控制
pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …
学号20232328 2025-2026-1 《网络与系统攻防技术》实验一实验报告
1.实验内容
1.1NOP, JNE, JE, JMP, CMP汇编指令的机器码:
1.1.1NOP(No Operation)
功能:NOP指令是一条空操作指令,它不做任何事情。执行NOP指令时,处理器的状态(如寄存器值、内存内容等)不会发生变化,只是简单…
《一元微积分》讲义习题
习题 \(1.1\):
第 \(1\) 题:
\(1.1.7\):\(\N\) 上的加法是对乘法满足分配律:即对任意 \(m,n,k\in\N\),\((m+n)\cdot k=m\cdot k+n\cdot k\)。
证明:对 \(k\) 做数学归纳。
令 \(A=\{k\in\N|\forall m,n\in \N,(m…
【光照】Unity[光照探针]的作用与工作原理
光照探针是Unity中解决动态物体间接光照的核心技术,通过预计算存储空间光照信息,使动态物体获得与静态环境一致的照明效果。UnityURP中的光照探针技术经历了从手动放置到自适应探针体积(APV)的演进,APV能自动根据场…
[数学 - 线性回归]
简单说就是方程曲线
您提到的回归方程(Regression Equation)是统计学中一个极其强大和基础的工具,特别是在金融和量化分析中,它几乎无处不在。
它的本质是为了解决一个核心问题:如何量化不同事物之间的关系?1. 回…
做插画的网站网上购物哪个商城好
[导读]Kaggle 的房价预测竞赛从 2016 年 8 月开始,到 2017 年 2 月结束。这段时间内,超过 2000 多人参与比赛,选手采用高级回归技术,基于我们给出的 79 个特征,对房屋的售价进行了准确的预测。今…
实用指南:点评中是如何实现短信登录的
实用指南:点评中是如何实现短信登录的pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…
[数学 - 方差 标准差 ]
假设和平均距离
比如两个人的射击成绩,我们要挑选一个“更加稳定”的选手:平均值相同时:假设样本数据是 \(x_1, x_2, \dots, x_n\)
\(\bar{x}\) 表示这组数据的平均数。
所以,样本数据到 \(\bar{x}\) 的“平均距离…
黄南州wap网站建设公司代理ip大全
数据库请求接口封装
uniapp中提供了plus.sqlite接口,在这里我们对常用的数据库请求操作进行了二次封装 这里的dbName、dbPath、recordsTable 可以根据你的需求自己命名
module.exports {/** * type {String} 数据库名称*/dbName: salary,/*** 数据库地址* type {…
鄢陵县北京网站建设长沙网站制作工作室
需求:页面跳转到目标页面之后,对应的顶部路由高亮 上面的更多 跳转到 学情分析下面的学生分析 <template><div class"topBar" ref"topBar" v-loading.fullscreen.lock"fullscreenLoading"><div class&quo…
二分法算法技巧-思维提升 - 教程
二分法算法技巧-思维提升 - 教程2025-10-07 11:08
tlnshuju
阅读(0)
评论(0) 收藏
举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…