The vanishing gradient

原文链接:neural networks and deep learning.chapter 5

Vanishing gradient

直觉告诉我们更深层次的神经网络拥有更强的学习能力,之前提过图像识别中,不同的隐藏层学习到的特征可能都是不同的,如轮廓、颜色等等。然而实际情况却并没有这么简单,之前识别手写数字使用的是单隐藏层的网络,为探究更深层的神经网络能力是否真的强于浅层网络,作者分别将hidden layer增加到2、3、4层(每层30个neuron),除了两个hidden layer的网络的evaluation accuracy有微小的提升外,其他两个网络的evaluation accuracy都有不同程度的下降。
上述情况并非偶然,显然的原因便是weights和bias没有得到充分的更新,联系两者的更新公式,问题很有可能处在偏导上,即
$$
\frac{\partial{C}}{\partial{b^l_j}}=\delta^l_j
$$

$$
\frac{\partial{C}}{\partial{w^l_{jk}}}=a^{l-1}_k\delta^l_j
$$

同时上式也是衡量学习速度的重要指标,之前δ我们定义为error,现在为更好的监测网络的学习状态,结合公式,把δlj定义为“梯度”,用来表示第l层第j个neuron的学习速度——显然无论是bias还是weight的更新速度都是与δlj正相关的,把一层neuron的“梯度”写成向量形式,即为δl,据此我们就可以用该向量的模||δl||表示第l个hidden layer的学习速度(这里不考虑input层和output层)。
通过500个epoch的训练,作者绘制了”||δl||-epoch”的图像,发现无论是2个hidden layer还是3个、4个,越靠前的hidden layer的||δl||,即学习速度就越低,在4 hidden layer的网络中,第一个hidden layer学习得比第四个hidden layer慢将近100倍!这种“梯度”随着反向传播递减的现象被称为vanishing gradient problem,即梯度消失问题。
然而可能有人有疑惑,梯度消失真的可以算作问题吗——或许前面hidden layer的weight和bias真的达到最优值了呢?这显然有误,前面的hidden layer的“梯度”从刚开始训练就较小,一直持续到训练结束,其参数得到的更新就相对较少,导致在前几层——尤其是第一个hidden layer处input信息就损失了许多,这样后层的参数训练地再好也无济于事。

The cause of gradient vanishing

signal neuron in each layer

考虑三个hidden layer,每层只有一个neuron的网络:

net

根据chain-rule很容易算出第一个hidden layer的“梯度”:

grad

可以看到除了首项和末项,式中都是wlσ’(zl)的结构,由于weight初始化为均值为0,标准差为1的Gaussian变量,所以有|wl|<1,而σ’(z)<σ’(0)=1/4,所以有|wlσ’(zl)|<1/4。所以显然,第一个hidden layer的“梯度”至多是第二层的1/4,是第三层的1/16,所以梯度消失的问题得到了初步解释。
但是稍加思索就会发现上面的证明其实是由问题的,因为只能在第一次反向传播时确保|wl|<1,update后的weight并不能保证仍然小于1——没错,当|wl|更新到足够大时(并且σ’不很),前隐藏层的“梯度”就会远大于后hidden layer,此时这种现象称为exploding gradient problem.可见采用梯度下降法导致的连乘将会使前层的梯度极不稳定,因此上面的两种问题统称为unstable gradient problem.
想解决上述问题,期望|wlσ’(zl)|≥1(不要过大),这并不是易事,w较大时,σ’(wa+b)就会减小,所以对于a的值有严格的限制,作者此时提出了3个problem:

①证明上述情况发生时weight满足|w|≥4。

②上述情况中a波动范围限制如下宽度
$$
\frac{2}{|w|}\ln (\frac{|w|(1+\sqrt{1-4/|w|})}{2}-1)
$$
③上式在|w|≈6.9是取得最大值,为约为0.45。

从其中的三个结论——尤其是问题三可以看出,a满足的条件还是较为苛刻的。

More complex network

当每层的neuron不止一个时,某一层的梯度为

grad2

其中Σ’(zl)是对角矩阵,其对角元为第l层所有σ’(z),wl就是权重矩阵,▽aC是C对output层每个a的偏导组成的向量,该式与之前单neuron的情况大同小异。

Others

深层次的神经网络除了梯度不稳定外还有其他问题,可能是activation function的选取、更新方法的问题,也可能与全连接网络这种结构有关。

0%