Bootstrap

梯度消失/梯度爆炸

梯度消失/梯度爆炸(Vanishing / Exploding gradients)

梯度消失或梯度爆炸:训练神经网络的时候,导数或坡度有时会变得非常大,或者非常小,甚至于以指数方式变小,这加大了训练的难度。

在这里插入图片描述

g ( z ) = z , b [ l ] = 0 g(z)=z,b^{[l]}=0 g(z)=z,b[l]=0

y ^ = W [ l ] W [ l − 1 ] W [ l − 2 ] ⋯ W [ 3 ] W [ 2 ] W [ 1 ] x \hat{y}=W^{[l]}W^{[l-1]}W^{[l-2]}\cdots W^{[3]}W^{[2]}W^{[1]}x y^=W[l]W[l1]W[l2]W[3]W[2]W[1]x

z [ 1 ] = W [ 1 ] x z^{[1]}=W^{[1]}x z[1]=W[1]x

a [ 1 ] = g ( z [ 1 ] ) = z [ 1 ] a^{[1]}=g(z^{[1]})=z^{[1]} a[1]=g(z[1])=z[1]

a [ 2 ] = g ( z [ 2 ] ) = g ( w [ 2 ] a [ 1 ] ) a^{[2]}=g(z^{[2]})=g(w^{[2]}a^{[1]}) a[2]=g(z[2])=g(w[2]a[1])

⋯ \cdots

若: W [ l ] = [ 1.5 0 0 1.5 ] , y ^ = W [ L ] [ 1.5 0 0 1.5 ] L − 1 x W^{[l]}=\left[ \begin{matrix}1.5&0\\0&1.5\end{matrix} \right],\hat{y}=W^{[L]}\left[ \begin{matrix}1.5&0\\0&1.5\end{matrix} \right]^{L-1}x W[l]=[1.5001.5],y^=W[L][1.5001.5]L1x

注:假设 W [ L ] W^{[L]} W[L] W [ l ] W^{[l]} W[l] 相等

这会导致 y ^ \hat{y} y^ 呈指数级增长,比率: 1. 5 L 1.5^L 1.5L

相反,若 W [ l ] = [ 0.5 0 0 0.5 ] , y ^ = W [ L ] [ 0.5 0 0 0.5 ] L − 1 x W^{[l]}=\left[ \begin{matrix}0.5&0\\0&0.5\end{matrix} \right],\hat{y}=W^{[L]}\left[ \begin{matrix}0.5&0\\0&0.5\end{matrix} \right]^{L-1}x W[l]=[0.5000.5],y^=W[L][0.5000.5]L1x

  • 这会导致激活函数的值将以指数级下降,它是与网络层数数量 L L L 相关的函数,在深度网络中,激活函数以指数级递减。

W [ l ] W^{[l]} W[l] 略大于 1,激活函数将爆炸式增长

W [ l ] W^{[l]} W[l] 略小于 1,激活函数将以指数级递减

同理:与层数 L L L 相关的导数或梯度函数

;