梯度消失和梯度爆炸问题及其解决方法详解

本文详细介绍了梯度消失和梯度爆炸的问题,包括它们的概念、原理和解决方法。提出了解决方案,如更换激活函数(如ReLU系列)、权重初始化、引入BN层、梯度剪切、权重正则以及使用ResNet的残差结构。建议避免使用Sigmoid函数,推荐使用ReLU及其变体,并讨论了不同初始化方法和BN层的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

梯度消失和梯度爆炸问题

概念

  • 梯度消失是因为随着网络深度的加深,网络反向传播的小于1的导数经过逐层累积而导致其越靠近输入层,其值越小,因此靠近输入层的权值更新就会非常缓慢甚至停滞不前,那么网络深度的加深就失去了其意义,网络只等价于后面基层浅层网络的学习。
  • 梯度爆炸一般出现深层网络和权值初始化值太大的情况下。随着网络的深度的加深,大于1的导数经过逐层累积,变得非常大,梯度值太大,会导致权值瞬间跳跃,指向不应该指向的位置,导致训练收敛缓慢,甚至陷入局部最小值。

原理详解

以梯度消失中的Sigmoid激活函数为例,下面四个图分别是Sigmod原函数公式及曲线和其导数公式及曲线。
 啊

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

观察Sigmoid函数曲线,可以知道其输出分布在【0,1】区间,而且在输入值较大和较小的情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值