news 2026/4/23 11:09:02

面试官:深层网络梯度消失的根本原因是什么?除了 ResNet,还有哪些架构能有效缓解?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
面试官:深层网络梯度消失的根本原因是什么?除了 ResNet,还有哪些架构能有效缓解?

📚推荐阅读

面试官:Transformer如何优化到线性级?

面试官:模型的量化了解吗?解释一下非对称量化与对称量化

面试官:模型剪枝了解吗?解释一下结构化剪枝与非结构化剪枝

面试官:为什么 Adam 在部分任务上会比 SGD 收敛更快,但泛化性更差?如何改进?

面试官:BatchNorm、LayerNorm、GroupNorm、InstanceNorm 有什么本质区别?

面试官:深层网络梯度消失的根本原因是什么?除了 ResNet,还有哪些架构能有效缓解?

这题是典中典。很多人听到“梯度消失”就背一句——“因为深度太深”,但要真能把原因讲透机制解释清改进方案说全,那就不只是“知道问题”,而是理解问题的结构本质了。

今天这篇,我们就彻底搞清楚:

  • 梯度为什么会消失(根本原因)?
  • ResNet 是怎么解决的?
  • 还有哪些架构能有效缓解?

有相关源码示例、流程图、模型配置与知识库构建技巧,我也将持续更新在Github:LLMHub,欢迎关注收藏!

一、什么是梯度消失?

“梯度消失”(Vanishing Gradient)指的是在反向传播过程中,梯度在层与层之间不断相乘,到达前面层时已经接近 0,导致这些层几乎学不到东西

这个问题的根本,在于链式法则的累乘效应

对于一个深度网络:y = f L ( f L − 1 ( . . . f 1 ( x ) . . . ) ) y = f_L(f_{L-1}( ... f_1(x) ... ))y=fL(fL1(...f1(x)...))

反向传播时梯度为:∂ L ∂ x = ∂ L ∂ y ∏ i = 1 L ∂ f i ∂ f i − 1 \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} \prod_{i=1}^{L} \frac{\partial f_i}{\partial f_{i-1}}xL=yLi=1Lfi1fi

当每个∂ f i ∂ f i − 1 \frac{\partial f_i}{\partial f_{i-1}}fi1fi的范数 < 1 时,随着层数增加,梯度会呈指数级衰减。

假设每层的权重矩阵为W i W_iWi,激活函数为 σ:∂ L ∂ x = ∂ L ∂ y ( W L σ ′ ( z L ) ) ( W L − 1 σ ′ ( z L − 1 ) ) . . . ( W 1 σ ′ ( z 1 ) ) \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} (W_L σ'(z_L)) (W_{L-1} σ'(z_{L-1})) ... (W_1 σ'(z_1))xL=yL(WLσ(zL))(WL1σ(zL1))...(W1σ(z1))

如果激活函数的导数平均小于 1(如 sigmoid, tanh),或者权重初始化不当(如方差太小),那么梯度会被不断缩小,最终趋近于 0。这就是梯度消失的本质:链式相乘中的指数衰减

二、激活函数与初始化的双重作用

激活函数问题

像 sigmoid 或 tanh,这类函数的导数在饱和区间非常小:

函数导数区间问题
Sigmoid(0, 0.25)饱和后梯度极小
Tanh(0, 1)仍会衰减
ReLU0 或 1解决了一部分问题

ReLU 的出现让梯度能在正区间传播不衰减,这就是为什么 ReLU 成为深度学习的标配。

权重初始化问题

如果初始化方差太小,梯度被压缩;如果太大,梯度爆炸。

He Initialization(ReLU)和 Xavier Initialization(tanh)就是为了解决“梯度稳定传播”的问题,让方差在层间保持恒定。

三、ResNet 是怎么缓解的?

ResNet 的关键思想:恒等映射(Identity Mapping) + 残差连接(Skip Connection)

残差块:y=F(x)+x

反向传播时:∂ L ∂ x = ∂ L ∂ y ( 1 + ∂ F ∂ x ) \frac{\partial L}{\partial x} = \frac{\partial L}{\partial y} (1 + \frac{\partial F}{\partial x})xL=yL(1+xF)

即使∂ F ∂ x \frac{\partial F}{\partial x}xF很小,梯度仍可通过恒等路径“直接传回前层”。这让梯度流不再完全依赖非线性层的累乘。

四、缓解梯度消失的其他架构?

ResNet 是经典,但并不是唯一的解。我们来看几类常见的缓解梯度消失的其他架构

1. DenseNet — “全连接式残差”

DenseNet 在每一层都把前面所有层的特征拼接起来:x l = [ x 0 , x 1 , . . . , x l − 1 ] x_l = [x_0, x_1, ..., x_{l-1}]xl=[x0,x1,...,xl1]

这样每一层都能直接访问前面层的输出,梯度可以多路径回流,并且可以实现信息复用,缓解梯度消失。

2. Highway Network — “门控残差”

Highway Network 在 ResNet 的基础上加了门控机制:y = T(x) * F(x) + (1 - T(x)) * x

其中 T(x) 是一个可学习的门函数,控制信息通过多少。

这种结构让网络能动态控制梯度通道的流量,在 RNN、语音建模中也常用。

3. LSTM / GRU — 时间维度的残差思想

在序列模型中,梯度消失更严重(因为时间展开更深)。


LSTM 通过“门控 + 线性通道”让梯度能长期传播:c t = f t ∗ c t − 1 + i t ∗ c ~ t c_t = f_t * c_{t-1} + i_t * \tilde{c}_tct=ftct1+itc~t

这其实就是在时间维度上做了“残差连接”,让梯度在时间上传递更稳定。

4. Transformer — LayerNorm + 残差 + 注意力机制

Transformer 的每一层都有:

x’ = x + MultiHeadAttention(x)

y = x’ + FeedForward(x’)

同时配合 LayerNorm 稳定分布,使得残差通道保持梯度流,LayerNorm 保证数值不发散,整体训练稳定,能堆叠上百层。

总结一下,梯度消失的根本原因是链式相乘中的指数衰减,ResNet 只是第一个成功的缓解梯度消失设计,后来 DenseNet、LSTM、Transformer 都在不同维度上继续拓宽了这条路。

关于深度学习和大模型相关的知识和前沿技术更新,请关注公众号coting

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

DooTask终极安全防护:非对称加密技术如何彻底保障团队数据隐私

在数字化协作时代&#xff0c;数据安全已成为企业生存的命脉。想象一下&#xff0c;当你的团队通过DooTask项目管理平台讨论关键业务决策、共享敏感文件时&#xff0c;是否担心信息泄露风险&#xff1f;DooTask通过先进的非对称加密技术&#xff0c;为你的团队协作筑起坚不可摧…

作者头像 李华
网站建设 2026/4/15 0:08:58

Moovie.js 视频播放器:5分钟快速上手终极指南

Moovie.js 视频播放器&#xff1a;5分钟快速上手终极指南 【免费下载链接】moovie.js Movie focused HTML5 Player 项目地址: https://gitcode.com/gh_mirrors/mo/moovie.js Moovie.js 是一款专为电影爱好者设计的 HTML5 视频播放器&#xff0c;具备强大的字幕支持和高度…

作者头像 李华
网站建设 2026/4/12 12:11:33

FreeControl:PC端完美控制Android设备的终极指南

FreeControl&#xff1a;PC端完美控制Android设备的终极指南 【免费下载链接】FreeControl 在PC上控制Android设备。 项目地址: https://gitcode.com/gh_mirrors/fr/FreeControl FreeControl 是一款优秀的开源项目&#xff0c;让您能够在PC上轻松控制Android设备。作为基…

作者头像 李华
网站建设 2026/4/20 1:50:46

极速解锁多核性能:oneTBB并行编程实战完全手册

极速解锁多核性能&#xff1a;oneTBB并行编程实战完全手册 【免费下载链接】oneTBB oneAPI Threading Building Blocks (oneTBB) 项目地址: https://gitcode.com/gh_mirrors/on/oneTBB oneAPI Threading Building Blocks&#xff08;oneTBB&#xff09;是一款革命性的C并…

作者头像 李华
网站建设 2026/4/17 23:55:28

Day 44 预训练模型与迁移学习

在深度学习领域&#xff0c;从零开始训练一个高性能模型通常需要海量数据&#xff08;如 ImageNet 的 120 万张图片&#xff09;和昂贵的计算资源。对于大多数实际应用场景&#xff0c;我们更倾向于使用迁移学习 (Transfer Learning)。本篇笔记将结合 Day 44 的代码&#xff0c…

作者头像 李华
网站建设 2026/4/21 19:48:36

Langchain-Chatchat关系图谱构建:揭示知识点之间的关联网络

Langchain-Chatchat关系图谱构建&#xff1a;揭示知识点之间的关联网络 在企业知识管理日益复杂的今天&#xff0c;一个常见却棘手的问题是&#xff1a;员工明明拥有数百份制度文档、操作手册和项目记录&#xff0c;但在面对“跨部门报销流程”或“绩效考核与晋升机制的联动规…

作者头像 李华