架构-LSTM理解总结(1)

来源:互联网 发布:怎么才能在淘宝上卖东西 编辑:程序博客网 时间:2024/05/24 05:40

序列建模和语音识别中常使用RNN,LSTM和GRU,本文就对其进行一个整理和总结。

RNN:    

双向RNN解决了上下文依赖问题,一层隐藏层的Bi-RNN结构如下所示[1]:


其中前向网络ht依赖ht-1,后项网络ht依赖ht+1,输出yt依赖前向ht,也依赖后项ht,其数学表达如下所示:



具有3个隐藏层的Bi-RNN结构如下图所示:


其数学表达如下所示:其中第i层t时刻的前向隐藏层h依赖t时刻i-1层t时刻的隐藏层,和i层t-1时刻的隐藏层。后向同理。


但是其由于其long-rang context特性导致其解码等待时间较长,如下图所示:

最后一个为Bi-RNN的解码时长,远远大于TDNN的解码时间[2]。


LSTM(Long Short Term Memory):

LSTM解决了RNN训练中梯度消失和梯度爆炸的问题。其结构如下所示[1]:



其数学表达如下所示:

input gate:


forget gate:


cell activation vector:



output gate:


hidden layer:


展开描述为:




同样的Bi-LSTM组成也可以组成对应的网络结构,下图为5层的Bi-LSTM网络[3]


GRU (Gated Recurrent Units):

GRU由论文[4]提出 取消了LSTM中的cell,结构上更加简单,在性能上,训练时间更短,epoch更小的情况下可以收敛。

百度的Deep speech2[5]使用的就是GRU,如下图所示:



LSTM 和GRU对比结构如下[6]:


其数学表达如下所示:

update gate:


Reset gate:


Candidate activation:


Hidden state  h:


展开描述为下图所示:



参考论文:

1.SPEECH RECOGNITION WITH DEEP RECURRENT NEURAL NETWORKS 

2.Bidirectional recurrent neural networks

3.Fast and Accurate Recurrent Neural Network Acoustic Models for Speech Recognition

4.On the properties of neural machinetranslation: Encoder-decoder approaches 

5.Deep Speech 2- End-to-End Speech Recognition in English and Mandarin

6.Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling