梯度消失/梯度爆炸(Vanishing / Exploding gradients)
训练神经网络,尤其是深度神经所面临的一个问题就是梯度消失或梯度爆炸,也就是你训练神经网络的时候,导数或坡度有时会变得非常大,或者非常小,甚至于以指数方式变小,这加大了训练的难度。
这节课,你将会了解梯度消失或梯度爆炸的真正含义,以及如何更明智地选择随机初始化权重,从而避免这个问题。
假设你正在训练这样一个极深的神经网络,为了节约幻灯片上的空间,我画的神经网络每层只有两个隐藏单元,但它可能含有更多,但这个神经网络会有参数W([1]),W([2]),W([3])等等,直到W([l]),为了简单起见,假设我们使用激活函数g(z)=z,也就是线性激活函数,我们忽略b,假设b^([l])=0,如果那样的话,输出:
如果你想考验我的数学水平,W^([1]) x=z([1]),因为b=0,所以我想z([1])=W^([1]) x,a([1])=g(z([1])),因为我们使用了一个线性激活函数,它等于z([1]),所以第一项W([1]) x=a([1]),通过推理,你会得出W([2]) W^([1]) x=