摘要

BLSTM解码时,解码器需要等待整个音频到达后才开始解码,因为时间反方向的前向传播需要末尾的历史信息。BLSTM这一延时问题使其不适用与实时语音识别。context-sensitive-chunk BLSTM(CSC-LSTM)和latency-controlled BLSTM(LC-BLSTM,延时控制-双向LSTM)都将整句切分为数个chunks。通过在每个chunk中添加左右上下文帧,并以chunk为单位进行前向计算,BLSTM的延迟可以控制为一个chunk左右的时长,并且与传统BLSTM相比,可以保持原有准确率基本不变。文本提出了两种LC-BLSTM。通过使用不同类型的神经网络拓扑以初始化BLSTM的cell状态;通过上下文帧和快速在线识别以降低计算开销。320h Swbd实验显示本文的解码速度能加速24%至61%而无识别率的损失。

 
 

在LSTM声学模型(包括其变形,比如highway LSTM网络)中,双向LSTM的识别率远远优于单向LSTM。然而双向LSTM模型的延迟极高,不适用于在线语音识别。为了克服这一限制,文献[1]、文献[2]、文献[10]和文献[11]研究了基于Chunk的训练与解码。

 
 

Chunk BPTT

文献[5]提出了Chunk BPTT。

加速BPTT训练

  • 将特征序列切分为固定长度的chunks
  • 将多个chunks组合为更大的batches

对Chunk大小的调优

使用一块NVIDIA GTX680 GPU对IAM手写数据集的训练时间如下:

能取得FER与训练时间之间的平衡。

 
 

epochwise BPTT

GPU的内存大小限制了一个mini-batch中的序列数(对于很长的序列来说),这会导致加速效果较差。

 
 

CSC BPTT

文献[6]提出CSC(Context-Sensitive-Chunk) BPTT训练方法以及基于CSCs的解码方法,并应用于手写识别中。

 
 

epochwise BPTT可表示为0-Full+0,由于此处的chunk即完整的帧序列

 
 

BPTT在BLSTM-HMM中的应用,以及提出了基于CSCs的解码方法

文献[7]将CSC-BPTT应用于语音识别中。

 
 

受到语音语句中协同发音的影响,每个音素的语音帧基本上只受之前和之后几帧影响。那么,就没有必要用BLSTM对整句话进行建模。因此,只需对一个较小的chunk建模即可。

 
 

帧或850毫秒。

 
 

基于CSC的解码

对于使用CSC-BPTT训练的BLSTM,待识别的语句也要使用与训练时相同的配置切分为多个CSCs。

若需要考虑到计算复杂度,那么解码时CSCs之间可以没有重叠;否则,CSCs之间可以有若干帧的重叠,以取得更高的识别率。比如:

 
 

LC-BLSTM

 
 

CSC-BLSTM未利用历史chunk的记忆状态信息,这带来了额外的计算。文献[8]提出了延时控制-BLSTM(LC-BLSTM)。在时间反向计算中,LC-BLSTM只使用修剪过的下文信息用作cell状态的初始化。

 
 

 
 

LC-BLSTM的改进

由于LC-BLSTM的时间反向计算中需要额外对右下文进行计算,这大大增加了计算量。为此,文献[9]提出了LC-BLSTM-FA、LC-BLSTM-FABDI与LC-BLSTM-FABSR

 
 

LC-BLSTM Without Forward approximation

 
 

LC-BLSTM-FA(With Forward approximation)

LC-BLSTM-FA去除了上述无用的计算

 
 

 
 

本节介绍两种效率改进的LC-BLSTM,用于快速实时在线语音识别

LC-BLSTM-FABDI(Forward Approximation and Backward DNN Initialization)

每个BLSTM层的前向计算步可以分解为:

时间正向:

时间反向:

 
 

 
 

 
 

LC-BLSTM-FABSR(Forward Approximation and Backward Simple RNN)

第二种结构被称为"forward approximation and back-

SRNN的训练需要处理长程依赖,因此容易发生梯度爆炸。为此在LC-BLSTM-FABSR的训练中,需要使用更为严格的梯度修剪以促进收敛。

实验表明,LC-BLSTM-FA的WER优于LC-BLSTM-FABDI、LC-BLSTM-FABSR,但LC-BLSTM-FABDI和LC-BLSTM-FABSR的解码速度比前者快。

参考文献

  1. A. Zeyer, R. Schluter, and H. Ney, "Towards online-recognition with deep bidirectional LSTM acoustic models," Proceedings of Interspeech, vol. 08-12-Sept, pp. 3424–3428, 2016.
  2. P. Doetsch, M. Kozielski, and H. Ney, "Fast and Robust Training of Recurrent Neural Networks for Offline Handwriting Recognition," Proceedings of International Conference on Frontiers in Handwriting Recognition, ICFHR, vol. 2014-Decem, pp. 279–284, 2014.
  3. K. Chen, Z.-J. Yan, and Q. Huo, "Training Deep Bidirectional LSTM Acoustic Model for LVCSR by a Context-Sensitive-Chunk BPTT Approach," in Proceedings of the Interspeech, 2015.
  4. A.-r. Mohamed, F. Seide, D. Yu, J. Droppo, A. Stoicke, G. Zweig, and G. Penn, "Deep bi-directional recurrent networks over spectral windows," in Automatic Speech Recognition and Understanding (ASRU), 2015 IEEE Workshop on. IEEE, 2015, pp. 78–83.
  5. P. Doetsch, M. Kozielski, and H. Ney, "Fast and Robust Training of Recurrent Neural Networks for Offline Handwriting Recognition," Proceedings of International Conference on Frontiers in Handwriting Recognition, ICFHR, vol. 2014-Decem, pp. 279–284, 2014.
  6. K. Chen, Z.-J. Yan, and Q. Huo, "A context-sensitive-chunk BPTT approach to training deep LSTM/BLSTM recurrent neural networks for offline handwriting recognition," Proc. ICDAR-2015.
  7. K. Chen, Z.-J. Yan, and Q. Huo, "Training Deep Bidirectional LSTM Acoustic Model for LVCSR by a Context-Sensitive-Chunk BPTT Approach," in Proceedings of the Interspeech, 2015.
  8. Yu Zhang, Guoguo Chen, Dong Yu, and Kaisheng Yao, "High- way long short-term memory RNNs for distant speech recog- nition," in IEEE International Conference of Acoustics,Speech and Signal Processing (ICASSP), 2016, pp. 5755–5759.
  9. IMPROVING LATENCY-CONTROLLED BLSTM ACOUSTIC MODELS FOR ONLINE SPEECH RECOGNITION. Shaofei Xue, Zhijie Yan, Alibaba Inc, China

BLSTM的训练算法、解码算法以及模型的改进的更多相关文章

  1. 条件随机场CRF(三) 模型学习与维特比算法解码

    条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估标记序列概率 条件随机场CRF(三) 模型学习与维特比算法解码 在CRF系列的前两篇,我们总结了CRF的模型基 ...

  2. 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态序列

    隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数 隐马尔科夫模型HMM(四)维特比算法解码隐藏状态 ...

  3. 程序员训练机器学习 SVM算法分享

    http://www.csdn.net/article/2012-12-28/2813275-Support-Vector-Machine 摘要:支持向量机(SVM)已经成为一种非常受欢迎的算法.本文 ...

  4. h.264并行解码算法3D-Wave实现(基于多核共享内存系统)

    3D-Wave算法是2D-Wave的扩展.3D-Wave相对于只在帧内并行的2D-Wave来说,多了帧间并行,不用等待前一帧完成解码后才开始下一帧的解码,而是只要宏块的帧间参考部分以及帧内依赖宏块解码 ...

  5. h.264并行解码算法2D-Wave实现(基于多核共享内存系统)

    cache-coherent shared-memory system 我们最平常使用的很多x86.arm芯片都属于多核共享内存系统,这种系统表现为多个核心能直接对同一内存进行读写访问.尽管内存的存取 ...

  6. h.264并行解码算法2D-Wave实现(基于多核非共享内存系统)

    在<Scalable Parallel Programming Applied to H.264/AVC Decoding>书中,作者基于双芯片18核的Cell BE系统实现了2D-Wav ...

  7. Base64编码和解码算法

    Base64么新鲜的算法了.只是假设你没从事过页面开发(或者说动态页面开发.尤其是邮箱服务),你都不怎么了解过,仅仅是听起来非常熟悉. 对于黑客来说,Base64与MD5算法有着相同的位置.由于电子邮 ...

  8. 记录:EM 算法估计混合高斯模型参数

    当概率模型依赖于无法观测的隐性变量时,使用普通的极大似然估计法无法估计出概率模型中参数.此时需要利用优化的极大似然估计:EM算法. 在这里我只是想要使用这个EM算法估计混合高斯模型中的参数.由于直观原 ...

  9. Linux同步互斥(Peterson算法,生产者消费者模型)

    同步 两个或两个以上随时间变化的量在变化过程中保持一定的相对关系. 互斥 对一组并发进程,一次只有一个进程能够访问一个给定的资源或执行一个给定的功能. 互斥技术可以用于解决诸如资源争用之类的冲突,还可 ...

随机推荐

  1. 初窥css---包含一些概念和一些文字样式

    初窥css CSS相关概念 全称是层叠式样式表.规定了html在网页上的显示样式.我们都知道css主要是负责装饰页面的,但是其实在HTML4之前,网页的样式与架构全部都是写在一起的,也是在HTML4之 ...

  2. python接口自动化-post请求4

    云盘登录实操案例: 代码参考: # coding:utf-8 import requests ''' https的请求相对于http安全级别高,需要验证SSL证书 import urllib3 使用这 ...

  3. vue打包发布在spingboot项目中 vue-router路由的处理

    (原) 以下例子springboot后端地址为:localhost:7080/pingandai vue前端地址为:locahost:8080/pingandai/ 1.如果路由模式设置的是histo ...

  4. 第二章 Python基本图形绘制

    2.1 深入理解Python语言 Python语言是通用语言 Python语言是脚本语言 Python语言是开源语言 Python语言是跨平台语言 Python语言是多模型语言 Python的特点与优 ...

  5. 纯手工搭建VS 2017(社区 免费版)离线安装包

    不知不觉中,史上功能最强大的Visual Studio 2017版本发于美国时间2017年3月8日正式在发布了,但是由于版本更新速度加快和与第三方工具包集成的原因,微软研发团队没有为这个版本提供离线下 ...

  6. Spring项目定时任务

    最近某协会网站有个需求:显示当天访问量,很明显需要做俩步:一个是访问请求量的显示,一个需要每天00点恢复访问次数为0 所以需要做个定时任务:每天00点更新: 注解用法Spring配置: 1.在spri ...

  7. windows 监控

    监控time_wait状态tcp/ip连接 > netstat -an | findstr "TIME_WAIT" 如果监控此值发现量比较大,且有类似socketExcept ...

  8. Ajax设置自定义请求头的两种方法

    用自定义请求头token为例 方法一 $.ajax({ type: "post", url:"http://127.0.0.1:4564/bsky-app/templat ...

  9. SpringCloud-Ribbon服务调用(三)

    SpringCloud-Ribbon服务调用(三) https://www.cnblogs.com/qdhxhz/p/9568481.html 一.商品中心服务端 创建商品中心服务端:服务提供方(被调 ...

  10. React react-fastclick-alt 移动端点击

    1. Install npm install --save-dev react-fastclick-alt 2. 用法 将元素或者component放在  <FastClick>...&l ...