RNN和LSTM

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

基本内容有:

RNN和LSTM_第1张图片

 

1 前向神经网络回顾

RNN和LSTM_第2张图片RNN和LSTM_第3张图片

2 循环神经网络

2.1 循环神经网络原理

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

RNN和LSTM_第4张图片

举个例子:

时刻t=1:

RNN和LSTM_第5张图片

时刻t=2:

RNN和LSTM_第6张图片

时刻t=3:

RNN和LSTM_第7张图片

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

RNN和LSTM_第8张图片

公式表示:

2.2 梯度消失&梯度爆炸

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

RNN和LSTM_第9张图片

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

RNN和LSTM_第10张图片

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

RNN和LSTM_第11张图片

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

RNN和LSTM_第12张图片

RNN和LSTM_第13张图片

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

RNN和LSTM_第14张图片

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

3 长短期记忆网络(LSTM)

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


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

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

RNN和LSTM_第15张图片

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

RNN和LSTM_第16张图片

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

4 应用:序列到序列模型

RNN和LSTM_第17张图片

应用实例:机器翻译

你可能感兴趣的:(深度学习)