机器学习之梯度消失和梯度爆炸

第一部分:梯度消失问题描述

我们以多层单神经元为例,同时,为了简化问题描述,我们省略偏置b:

假设我们现在想要更新参数w1:

那么通过链式法则求导就是:

假设我们使用的是sigmoid函数:

那么sigmoid的求导函数图像为:

倒数的范围为0~1/4,而不是0~1之间,如果是0~1之间,那么上面的这四个求导下来,变化幅度不大而且真实,但是现在是每个求导都是被缩减到原先1/4的水平,到最前面w1的时候就变成了1/256,这个时候缩小的太快了,导致直接近似变成0了,也就是所谓的“梯度消失”,这个梯度的意思指的是多个连续相乘。

第二部分:梯度爆炸问题描述

还是以第一部分为例:

如果我们刚开始初始化的w比较大,那么三个连乘之后的数将会变得非常大,也就是所谓的“梯度爆炸

第三部分:总结梯度消失和梯度爆炸

无论是梯度消失还是梯度爆炸,都是“梯度信号的一种严重失真!”

它们产生的原因都是因为:“神经网络的串联式结构”、“反向传播算法”、“不合适的激活函数”以及“权重初始值设置不太好”等。

梯度消失:导致网络退化(因为前面那几层的参数几乎为零,也就是前面几层神经元都失去了作用,相当于摆设)

梯度爆炸:导致网络不稳定(传到前面的神经元就会变得太大,需要来回调整,非常不稳定)

第四部分:解决方法

(1)使用relu函数或它的变体等激活函数

(2)使用梯度剪切

(3)权重正则化

(4)残差网络(跳跃式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还不秃顶的计科生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值