论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning

解读A Critical Review of Recurrent Neural Networks for Sequence Learning

整体内容一览

论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
现有的关于RNN这一类网络的综述很少,并且论文之间的符号不匹配,这篇文献是为了RNN而做的综述。作者从最简单的前馈神经网络讲起,依次介绍了RNN的历史及发展,LSTM的结构以及现代RNN的应用。

前馈神经网络

论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
传统的前馈神经网络,信息只能从输入层流向隐藏层,再流向输出层,虽然能够进行分类和回归,但是这些都是假设数据之间是iid(独立同分布的),因为无法胜任那些数据之间是依赖的序列问题,所以无法解决带有时序性的问题。

RNN的早期历史及发展

RNN并不是第一个捕捉时间依赖的模型,隐马尔可夫模型(HMM)的出现,使得解决的问题应满足两个条件:(1)问题是基于序列的,比如时间序列或状态序列;(2)问题包含两类数据,一类序列数据是可以观测到的,即观测序列;而另一类数据是不能观察到的,即隐藏状态序列,简称状态序列。

下图为RNN的发展历程,Jordan网络和Elman网络为LSTM的出现做了铺垫,因为它们开始将隐藏层作为输入。Jordan网络和Elman网络的区别就在于究竟在那一层进行循环,Jordan选择了在输出层,而Elman选择了在隐藏层。

论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning

现代RNN——LSTM的结构

原始RNN的隐藏层只有表示短期记忆的状态h,对于短期输入非常敏感;LSTM增加了一个单元状态c,用来保存长期记忆。如下图所示:
论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
单元状态c顺着整个链条从头到尾运行,中间只有少许线性的交互,信息顺着它不断向前流动。如下图所示:
论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
下图为LSTM的结构图,其中g为单元的输入**,i为输入门**,f为遗忘门**,o为输出门**,s为单元状态记忆,h为输出。
论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
在数学上的描述:
论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning状态s可以理解为旧状态s_t-1与f_t相乘,丢弃掉确定要丢弃的信息,加上i_t*g_t,作为新的候选值来更新状态,是一个memorizing和forgetting的过程。

LSTM结构详解

论文解读A Critical Review od Recurrent Neural Networks for Sequence Learning
**LSTM的输入:**当前t时刻网络的输入值x_t,上一时刻网络的输出值h_t-1以及上一时刻的单元状态c_t-1;

**输出:**当前t时刻网络的输出值h_t以及当前t时刻的单元状态c_t.

**遗忘门:**由当前的输入x_t和上一时刻的输出h_t-1得到,决定上一时刻的单元状态c_t-1有多少可以保存到当前时刻,控制信息的遗忘程度;

输入门:往单元状态中添加新的信息,决定当前网络的输入x_t有多少可以保存到 c_t ;

输出门:控制单元状态有多少可以输出为h_t.

结论

循环神经网络克服了传统机器学习方法对数据施加的极端限制,连续实例之间的独立性假设被打破。当使用LSTM等网络的时候,我们会发现进步来自于新的架构而不是根本上新的算法,比如说从RNN到LSTM,为了解决RNN的梯度消失问题,在其原来的架构基础上增加了门的结构,形成了LSTM。
而现在解决序列问题已经出现了新的方法,比如说Attention机制和Transformer等。