序列建模和语音识别中常使用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]。