RNN和LSTM

本文主要基于天池上的AI学习视频:点击打开链接

基本内容有:

RNN和LSTM

 

1 前向神经网络回顾

RNN和LSTMRNN和LSTM

2 循环神经网络

2.1 循环神经网络原理

将隐藏层的值存储起来,放在memory里面。存储值可以用作一个输入。

RNN和LSTM

举个例子:

RNN和LSTM

RNN和LSTM

时刻t=1:

RNN和LSTM

时刻t=2:

RNN和LSTM

时刻t=3:

RNN和LSTM

放到之前的词汇标注问题里:

RNN和LSTM

公式表示:RNN和LSTM

2.2 梯度消失&梯度爆炸

RNN存在梯度消失和梯度爆炸问题!

RNN和LSTM

RNN和LSTM

我们看一下t=3时刻的梯度:

RNN和LSTM

对t=3求偏导的时候需要一直往前传递到t=1。

RNN和LSTM

这样一个连乘RNN和LSTM的存在会产生许多问题。比如**函数为tanh时:

RNN和LSTM

RNN和LSTM

(红线为tanh;绿线为其导数,范围在0到1之间)。

RNN和LSTM

输入序列越长,连乘项越多。

3 长短期记忆网络(LSTM)

可以参考这个文章:点击打开链接


在一定程度上缓解梯度消失or梯度爆炸的问题。

input gate控制输入到memory cell里面的内容;输出门控制从memory cell里面输出的东西;forget gate控制t之前的东西有多少传到t这一时刻。

RNN和LSTM

(这只是一个LSTM的神经元!)

RNN和LSTM

(f^t,i^t和o^t是三个gate)

4 应用:序列到序列模型

RNN和LSTM

应用实例:机器翻译