吴恩达深度学习-序列模型 1.8 带有神经网络的梯度消失

在RNN的使用当中,其中最大的问题之一是梯度消失(gradient vanishing),首先我们通过一个例子来了解一下梯度消失在RNN模型当中会造成什么影响。

当我们在对一个很长的句子进行处理的时候,往往前面的主语(cat、cats),跟后面的谓语单复数形态要一致(was、were)。这就考验到了RNN模型的长期依赖问题(long-term-dependencies)。

吴恩达深度学习-序列模型 1.8 带有神经网络的梯度消失_第1张图片

但是在我们之前学习的简单RNN模型当中,很难解决这个长期依赖问题,基本上所有的模型在遇到深度比较大的神经网络的时候,前后的联系就会变少或者消失。

总的来说,这种简单的模型只有局部影响力,只有在它附近的一些输入和输出会影响到他的变化值。

除了梯度消失问题,还有另外一个问题叫做梯度爆炸(gradient explosion)。这个问题很容易被发现,因为这个问题出现之后会导致某些参数变得非常非常大,大到影响模型的运行,会使数值溢出。

为了解决梯度爆炸问题,我们需要用到梯度修剪,简单来说就是,当梯度超过某个阈值的时候,就把超过的部分修剪掉。

梯度消失和梯度爆炸解释

你可能感兴趣的:(吴恩达深度学习-序列模型 1.8 带有神经网络的梯度消失)