深度学习面试题08:梯度消失与梯度爆炸

目录

  梯度消失

  梯度爆炸

  参考资料


 

以下图的全连接神经网络为例,来演示梯度爆炸和梯度消失:

梯度消失

在模型参数w都是(-1,1)之间的数的前提下,如果激活函数选择的是sigmod(x),那么他的导函数σ’(x)的值域为(0,0.25],即如下三项的范围都是(0,0.25]

 

那么w1的导数会有很多(0,0.25]范围的数累乘,就会造成w1的导数很小,这就是梯度消失。梯度消失的后果就是,w1的更新就会很慢,使得神经网络的学习变得很慢。

解决方法:使用relu(x)这样的激活函数,因为他的导函数的值可以稳定在1,累乘后不会让梯度消失。

 返回目录

 

梯度爆炸

如果模型参数不是(-1,1)之间的数,比如是50,对w1求导时,就会出现很多大的数的累乘,更新参数会出现问题,无法完成网络学习

解决方法:合理的初始化模型参数

 

 返回目录

 

参考资料

对于梯度消失和梯度爆炸的理解

https://www.cnblogs.com/pinking/p/9418280.html

《图解深度学习与神经网络:从张量到TensorFlow实现》_张平

 返回目录

 

posted @ 2019-07-08 20:37  黎明程序员  阅读(1913)  评论(0编辑  收藏  举报