梯度爆炸和消失
两种情况下梯度消失经常出现,一是在深层网络中,二是采用了不合适的激活函数,比如sigmoid。梯度爆炸一般出现在深层网络和权值初始化值太大的情况下,下面分别从这两个角度分析梯度消失和爆炸的原因。
数学说明
这边我做了做了一个两个隐层梯度的推导,看的出来层数逐渐变多,影响最大的便是权值w和激活函数,他们中的任意一个大于1或者小于1,连乘都会造成梯度的消失和爆炸。
梯度消失的一个例子
接近output层的参数基本已经收敛,收敛后基本训练就结束了,但是前面接近input的参数还是随机的。
一般的深层神经网络都具有这样的缺陷,这边提一下rnn的梯度的问题,rnn即便是浅层,也是会出现梯度的问题,尤其是当它time_step越长的时候,建模的序列越长它就越是容易遗忘,这就是梯度出问题