深度学习之GRU神经网络
之前面的博客中,我们已经描述了基本的RNN模型。但是基本的RNN模型有一些缺点难以克服。其中梯度消失问题(Vanishing Gradients)最难以解决。为了解决这个问题,GRU(Gated Recurrent Unit)神经网络应运而生。本篇博客将描述GRU神经网络的工作原理。GRU主要思想来自下面两篇论文:
Cho et al., 2014. On the Properties of Neural Machine Translation: Encoder-Decoder Approaches Chung et al., 2014. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling
一、梯度消失(Vanishing Gradients)
梯度消失(Vanishing Gradients)是深度学习中一个很重要的问题。即在一个比较深层次的网络中,梯度的计算会随着层数的增加接近于0,导致网络参数无法更新。与之相对应的还有个问题是梯度爆炸(Exploding Gradients),即梯度相乘结果太大,最终计算得到了NaN值(变量过大导致溢出)。与梯度消失相比,梯度爆炸相对容易解决。一般的做法是,当梯度的结果大于某个值的时候对所有的梯度重新调整(rescaling gradients),然后继续运行。但是梯度消失这个问题就相对难一点。而标准的递归神经网络就很难解决梯度消失的问题。而GRU就是为了解决RNN的梯度消失问题。

