近日,阿里算法专家坤承携《使用改进版本的LATENCY-CONTROLLED BLSTM 算法模型提升在线语音识别效率》(IMPROVING LATENCY-CONTROLLED BLSTM ACOUSTIC MODELS FOR ONLINE SPEECH RECOGNITION)参与ICASSP2017大会。
论文作者坤承与参会者交流
论文研究的出发点在于,为了能够取得更好的语音识别准确率,在声学模型建模中使用了Latency-controlled BLSTM 模型。
详见95188:BLSTM-DNN hybrid语音识别声学模型的第一个工业应用
?spm=5176.100240.searchblog.7.zWq29M
与标准的BLSTM使用整句语音进行训练和解码不同,Latency Control BLSTM使用类似truncated BPTT的更新方式,并在cell中间状态处理和数据使用上有着自己的特点,如下图所示:
训练时每次使用一小段数据进行更新,数据由中心chunk和右向附加chunk构成,其中右向附加chunk只用于cell中间状态的计算,误差只在中心chunk上进行传播。时间轴上正向移动的网络,前一个数据段在中心chunk结束时的cell中间状态被用于下一个数据段的初始状态,时间轴上反向移动的网络,每一个数据段开始时都将cell中间状态置为0。该方法可以很大程度上加快网络的收敛速度,并有助于得到更好的性能。解码阶段的数据处理与训练时基本相同,不同之处在于中心chunk和右向附加chunk的维度可以根据需求进行调节,并不必须与训练采用相同配置。LC-BLSTM的优点在于能够在可接受的解码延迟下保持BLSTM声学模型的识别准确率,从而使得BLSTM可以被用于在线语音识别服务。
LC-BLSTM的上述优点是以增加计算量为代价的,为了取得更好的识别准确率,在解码时通常需要比较长的右向附加chunk,这会增加额外的计算资源消耗,提高计算成本。如下图所示,右向附加chunk也是使用BLSTM进行计算,在Nc=30,Nr=30的情况下,计算量将是传统BLSTM的两倍。
本论文的主要贡献在于提出了两种改进的LC-BLSTM模型,在基本保持识别准确率的同时,能够降低解码时的计算量。这样可以降低计算成本,一台服务器可以支持的并发数将会是原来的1.5到2倍。
我们提出的第一种改进方法如下图所示,主要的改进在于右向chunk的计算。
首先对于时间轴上正向移动的LSTM,我们去掉了右向chunk部分的计算。而对于时间轴上反向移动的LSTM,右向chunk部分的计算主要是为中心chunk提供cell的初始状态,我们简化了这部分的计算,使用正向全连接来代替LSTM,将f()的输出取平均后作为中心chunk的初始状态。以上改进大大降低了模型的计算量,switchboard数据集上的实验结果如下表所示,在基本保持识别准确率的同时,可以使解码速度提升40%以上。
我们提出的第二种改进方法如下图所示,首先对于时间轴上正向移动的LSTM,我们同样去掉了右向chunk部分的计算。
另外我们发现对于BLSTM模型,时间轴上反向传播的LSTM不如时间轴上正向传播的LSTM重要,因此我们使用简单RNN模型来代替时间轴上反向传播的LSTM,简单RNN的模型计算量比LSTM小得多,因此如此改进以后模型的计算速度也会大大加快,switchboard上的实验结果表明,在轻微损失识别率的情况下,可以使解码速度提升60%以上。