语音识别算法阅读之EESEN

语音识别算法阅读之EESEN[编程语言教程]

 论文:
  EESEN:END-TO-END SPEECH RECOGNITION USING DEEP RNN MODELS AND WFST-BASED DECODING
现状:
  • 混合DNN仍然GMM为其提供初始化的帧对齐,需要迭代训练强制对齐,以及决策树
  • end2end的asr面临问题:
  1. 如何将发音词典和语言模型更好的融入解码中
  2. 现有算法模型缺乏共享的实验平台进行基准测试

思想:

  网络框架采用多层双向LSTM结构,以CTC作为目标函数,进行end2end的声学模型训练;解码时通过WFST将输出的音素/字符序列、发音和语言模型进行融合,一方面发音、语音模型的融入提升了asr效果;另一方面借助减枝,以及WFST的确定化、最小化等操作,加快的解码速度;该方法取得了与混合DNN可比的WER,3.2倍的解码速度

模型:
  • 输入特征:40维fbank+一阶差分+二阶差分=120维
  • 模型采用4层Bi-LSTM结构,结点数为320
技术分享图片
技术分享图片
   其中,it, ot, ft, ct分别表示输入门、输出门、遗忘门和记忆cell;W.c为对角权重矩阵,这样gate函数向量的m维仅获得来自cell的m维作为输入;σ 为sigmoid激活函数;φ为双正切激活函数tanh
  • 目标函数:最大化标签所对应对齐路径的概率和ln Pr(zjX)
技术分享图片
技术分享图片
技术分享图片
  其中,X = (x1,..., xT );对应的标签序列为z = (z1,...., zU),且U<T; yt表示t时刻的音素或字符的后验概率;αt和βt分别代表前向 概率和后向概率;需要注意的是,为了防止因字符连续出现而合并出错的情况,CTC引入blank字符插入到标签序列z的每一个字符的前后,因此标签序列由之前长度U变成2U+1
  • 解码:WFST,将音素或字符组成的对齐序列、发音、语言模型通过一系列composition、determinization和 minimization操作组成路径搜索图;一方面将发音和语言模型融入解码过程提升识别效果;另一方面加快解码速度
技术分享图片
Grammer(G)
技术分享图片
phone组成的lexicon(L)
技术分享图片
spell组成的lexicon(L)
技术分享图片
对齐序列T,允许blank、连续重复有效字符
技术分享图片

 

     其中, ?, det and min分别表示复合、确定化和最小化操作

细节:
  • 模型参数采用均匀分布[-0.1,0.1]
  • 初始学习率设置为0.00004,当验证集连续两个epoch的损失下降低于0.5%时,学习率衰减0.5;当验证集连续两个epoch的损失下降低于0.1%时,停止训练
  • CTC训练不能处理具有多发音的词,于是对每个多发音的词仅保留其第一发音或频次出现最多,移除其他发音
  • 后验概率归一化
  • 训练句子按长度进行排序,将长度相近的句子组成一个batch,并且按最长的句子进行padding;并且可以减少的padding,稳定训练
  • 支持GPU并行化训练
  • 采用clip gradients,使梯度控制在[-50,50],保持训练的稳定性

实验效果:

  • baseline:HMM/DNN混合结构
  1. 连续的上下文11帧fbank特征作为输入
  2. 6个隐层,隐层结点1024
  3. 3421个senones,即输出维度
  4. 受限波尔滋蔓机进行参数初始化
  5. CE交叉熵训练
  • 音素为建模单元时:
  1. LER为7.87%略差于HMM/DNN的7.14%;作者分析原因在于,数据集的量,在大数据集上,CTC训练的模型能得到超越HMM/DNN混合系统的实际效果
  2. 解码速度相对于HMM/DNN混合系统提升3.2倍,原因在于:1)eesen输出单元结点数算上blank只有几十个,但是HMM/DNN有3421个;2)eesen的解码图TLG相对于HMM/DNN的HCLG要小得多
  3. TLG相对于HMM/DNN的HCLG要小得多,所以占磁盘空间也更小
技术分享图片
  • 字符为建模单元时:LER为9.07%;将训练集中出现的两次以上的集外词OOV加入到词典中,LER降为7.34%
技术分享图片
实战:https://github.com/srvk/eesen
  • 语言:C++
  • 核心模块:
  1. 声学模型
  2. hkust/v1
技术分享图片
  1. librispeech
技术分享图片
  1. swbd/v1
技术分享图片
  1. tedlium
技术分享图片
  1. wsj
技术分享图片
  1. CTC
  2. char
  3. phone
  4. WFST解码
  5. T:字符或音素对齐序列,包括blank
  6. L:lexicon
  7. G:语言模型
  8. 语言模型
  9. 3-gram
  10. 4-gram
  11. RNNLM
  • 效果:
  1. hkust:
技术分享图片
  1. librispeech
技术分享图片
  1. swbd/v1
技术分享图片
  1. tedlium
技术分享图片
  1. wsj
技术分享图片
Reference:
http://www.cs.cmu.edu/~fmetze/interACT/Publications_files/publications/eesenasru.pdf

语音识别算法阅读之EESEN

原文:https://www.cnblogs.com/zy230530/p/13676238.html