LC-BLSTM结构快速解读

参考文献以下:

(1) A Context-Sensitive-Chunk BPTT Approach to Training Deep LSTM/BLSTM Recurrent Neural Networks for Offline Handwriting Recognition网络

(2) Training Deep Bidirectional LSTM Acoustic Model for LVCSR by a Context-Sensitive-Chunk BPTT Approach测试

(3) Improving Latency-Controlled BLSTM Acoustic Models for Online Speech Recogintion3d

       前言       众所周知,BLSTM是双向的LSTM,它能够同时兼容上下文的信息,从而在通常序列任务上的表现很好。可是BLSTM有一个很致命的弱点,那就是由于有逆向LSTM的存在,它须要有后文的后验,使得它没法在实时的序列任务上也有好的表现。基于实时任务的需求,出现了两种BLSTM的变体——CSC-BLSTMLC-BLSTMblog


1. CSC-BLSTM结构解析

       CSC-BLSTM结构全名——Context-Sensitive-Chunk Bidirectional Long Short-Term Memory,是BLSTM的第一种改进版本。请看结构图:ip

       CSC-BLSTM首先把序列按照图示的方法分割成多组chunk,除了首尾位置,其余位置处的都是由Nl+Nc+Nr构成,分割的大小事先给定,通常选作30帧+60帧+30帧的模式。get

       其核心思想在于,Nl用来初始化Nc的前向细胞层状态,Nr用来初始化Nc的后向细胞层状态。NlNr不参与偏差反向传播。以下图:it

       很显然,CSC-BLSTM的这种结构改进能够减少实时任务的延迟,用不着整段话都输入完毕才有结果。可是从总体上看,它是以牺牲计算量为代价的。由于与BLSTM相比,它多出了NlNr上的计算。在此基础之上,为了减小这种计算量,又出现了更加简化了的LC-BLSTM。io

2. LC-BLSTM结构解析

       LC-BLSTM结构全名——Latency-Controlled Bidirectional Long Short-Term Memory,它改进了CSC-BLSTM。请看结构图:基础

       能够发现,相比于CSC-BLSTM,LC-BLSTM取消了Nl,只保留了Nc+Nr。可是如此在计算上必然有差别。cli

       原来,LC-BLSTM的计算也并不复杂,同CSC-BLSTM同样,Nr用来初始化Nc的后向细胞层状态。可是,Nc的前向细胞层状态直接由它的前一个Nc的输出状态获得。这样,相比于CSC-BLSTM,LC-BLSTM避免了Nl的计算量。

       But!!!很不幸,经过实验发现,为了保证准确率,LC-BLSTM必需要保证Nr划分的足够大,好比在原论文中,Nc=22的状况下,Nr须要有21,这几乎使得Nr须要有Nc一样的大小。在Nc=Nr=30的状况下,LC-BLSTM的计算量是传统BLSTM的两倍。

3. 改进的LC-BLSTM

       经过上述分析,LC-BLSTM的表现依然很差。阿里的研究人员改进了这个结构。他们总结LC-BLSTM的结构,多出来的计算量就在于Nr,可是Nr的做用无非两点:

  1. 用于初始化当前Nc的后向细胞状态;
  2. 用作下一层网络的输入(由于正常都会使用多层BLSTM)

       因而做者分别采用了两种简化的网络结构代替Nr的BLSTM结构。分别是LC-BLSTM-FABDILC-BLSTM-FABSR

3.1 LC-BLSTM-FABDI

       首先对于时间轴上正向移动的LSTM,去掉了Nr部分的计算。而对于时间轴上反向移动的LSTM,Nr部分的计算主要是为Nc提供cell的初始状态,做者简化了这部分的计算,使用正向全链接来代替LSTM,将f()的输出取平均后做为Nc的初始状态。

3.2 LC-BLSTM-FABSR

       首先对于时间轴上正向移动的LSTM,一样去掉了Nr部分的计算。另外做者发现对于BLSTM模型,时间轴上反向传播的LSTM不如时间轴上正向传播的LSTM重要,所以使用简单RNN模型来代替时间轴上反向传播的LSTM。

       但RNN会有梯度爆炸的问题,因此对其进行strict gradient-clipping。同时为了利用将来的信息,加入了target delay

做者在320小时的Switchboard数据集上进行测试,在不影响wer的状况下,这个两种方法的解码速度分别相对提高40%和27%。

相关文章
相关标签/搜索