梯度的看法

危害

  • 梯度消失会导致我们的神经网络中前面层的网络权重无法得到更新,也就停止了学习。
  • 梯度爆炸会使得学习不稳定, 参数变化太大导致无法获取最优参数

根本原因

求解损失函数对参数的偏导数时,在反向传播,梯度的连续乘法(x中间值可能特别大或特别小,激活函数导数可能特别大、已经更新过的参数w也可能特别大或特别小(初始参数太大了))中总是遇上很大的绝对值(很小的绝对值),部分参数的梯度因为乘了很多较大(较小)的数而变得非常大(小)

具体表现

loss表现:梯度消失时loss几乎不变。梯度爆炸时loss非常大,甚至为nan

解决办法

1 减少网络层数

2 调节学习率(消失增大,爆炸减少)

3 激活函数调整为relu leakyrelu

4 归一化,bn或ln

5 resnet

6 l1和l2正则化

7 梯度裁剪

loss变nan的原因

1 没有归一化

2 学习率太大

transformer用到的防治梯度消失和梯度爆炸的方法

1 resnet

2 leakyrelu

3 ln(虽然用了leakyrelu,缓解了梯度消失的问题,但是求注意力系数的时候,softmax的输入过大时,偏导数也会很小,导致梯度消失的问题)

4 梯度裁剪

5 self-attention时q k相乘后处以了根号d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值