【10】梯度消失和爆炸;梯度检验

梯度消失或爆炸:

 如果一个神经网络的深度很大,即层数很多。那么即使是很小的w(大于1),那么y帽也会特别大(指数级增长),如果w很接近1但是小于1,y帽也会特别小(指数级减小),并且与层数相关的导数和梯度函数也是呈指数增长或指数下降。如果L的激活函数或梯度函数以指数级递增或递减,那么他们会变得极大或极小,从而导致训练难度上升,梯度下降算法的步长会非常非常小,训练的时间也会非常长

梯度消失或爆炸的解决方法:

将权值矩阵设置为高斯随机变量(方差为1)与神经元数量倒数的乘积。

 梯度检验(检验自己求的导数对不对)的方法:

 根据之前的知识,我们会求得一个dw矩阵,该矩阵与w的维度相同,dw矩阵的每个值就是J对w矩阵对应w的偏导。我们想知道这个偏导值对不对,这就是梯度检验。方法就是上面这个式子。再利用一次循环,把所有的“计算得到的导数”再组成一个和dw维度相同的矩阵。如果这个矩阵与dw相差不大,说明我们求的导数没问题。check方法就是上边这个分式。如果这个分式的结果小于10-7,那么就是成功的。

梯度检验需要注意的问题:

原文地址:https://www.cnblogs.com/lau1997/p/12361257.html