参考
什么情况下,神经网络梯度爆炸?
RNN。初始化权值太大,网络层数太多。
什么情况下,神经网络梯度消失?
使用sigmod和tanh激活函数,网络层数太深。
解决方法
- 激活函数,使用relu等
- 权重正则化,梯度剪切
- 批归一化Batch Normalization。将每一层的输出从饱和区拉倒了非饱和区(导数),很好的解决了梯度消失问题。详见透彻分析批归一化Batch Normalization强大作用。
- LSTM。参考LSTM如何来避免梯度弥散和梯度爆炸?
- resNet
本文详解机器学习中神经网络梯度消失和爆炸的原因及解决方法。梯度爆炸可能因RNN、初始化权值太大、网络层数太多导致;梯度消失或因使用sigmod和tanh激活函数、网络层数太深。解决方法有使用relu激活函数、权重正则化、批归一化、LSTM、resNet等。
RNN。初始化权值太大,网络层数太多。
使用sigmod和tanh激活函数,网络层数太深。
615
186
387
2万+