RNN和LSTM
本文主要基于天池上的AI学习视频:点击打开链接
基本内容有:
1 前向神经网络回顾
2 循环神经网络
2.1 循环神经网络原理
将隐藏层的值存储起来,放在memory里面。存储值可以用作一个输入。
举个例子:
时刻t=1:
时刻t=2:
时刻t=3:
放到之前的词汇标注问题里:
公式表示:
2.2 梯度消失&梯度爆炸
RNN存在梯度消失和梯度爆炸问题!
我们看一下t=3时刻的梯度:
对t=3求偏导的时候需要一直往前传递到t=1。
这样一个连乘的存在会产生许多问题。比如**函数为tanh时:
(红线为tanh;绿线为其导数,范围在0到1之间)。
输入序列越长,连乘项越多。
3 长短期记忆网络(LSTM)
可以参考这个文章:点击打开链接
在一定程度上缓解梯度消失or梯度爆炸的问题。
input gate控制输入到memory cell里面的内容;输出门控制从memory cell里面输出的东西;forget gate控制t之前的东西有多少传到t这一时刻。
(这只是一个LSTM的神经元!)
(f^t,i^t和o^t是三个gate)
4 应用:序列到序列模型
应用实例:机器翻译