1、梯度消失、爆炸的原因
由于反向传播机制,若损失函数梯度小于1,就会发生梯度消失;反之则会发生梯度爆炸;
两种情况下梯度消失经常出现,一是在深层网络中,二是采用了不合适的损失函数,比如sigmoid。梯度爆炸一般出现在深层网络和权值初始化值太大的情况下。
2、梯度消失、爆炸的解决方案
(1)预训练+微调
(2)梯度剪切、正则
(3)relu、leaky-relu、elu等激活函数
(4)batchNorm:把每层神经网络任意神经元的输入值的分布强行拉回到接近均值为0方差为1的标准正太分布,这样使得激活输入值落在非线性函数对输入比较敏感的区域
(5)残差结构:
(6)LSTM:通过内部的门可以记住前几次训练的残留记忆
3、RNN容易发生梯度消失,因为激活函数为tanh,导数小于1,且在平时运用时,RNN比较深,使得梯度消失或梯度爆炸的问题会比较明显。
4、神经网络的反向传播
对于BPNN模型&#