梯度消失和梯度爆炸
梯度消失的具体表现是,接近于输出层的权值更新相对正常,但是接近于输入层的权值基本不更新,或更新的非常慢。这样,深度网络的学习就等价于只有后几层的浅层网络的学习了。
梯度爆炸的具体的表现是,越远离输出层的隐藏层,其权值越大,由于会大幅度的更新网络参数,进而导致网络不稳定,最终无法收敛,或者权重值溢出,即输出值为NaN,而无法再更新权重。
产生的原因
梯度消失和梯度爆炸是由于神经网络的反向传播的连乘效应导致的,而且随着网络层的增多,出现的可能性会越大。
以上图中的4层网络层为例,假设每一层网络激活后的输出为 f i ( x ) f_{i}(x) fi(x),其中x表示第i层的输入,也就是第i-1层的输出,那么, f ( i + 1 ) = f ( f i ∗ w i + 1 + b i + 1 ) f(i+1) = f(f_i*w_{i+1} + b_{i+1}) f(i+1)=f(fi∗wi+1+b