一、FSMN

其中是可学习参数。[1]使用Feedforward Sequential Memory Networks(FSMN)这种结构来近似RNN,类似于FIR对IIR的近似,具有速度上的优势,用在语言模型建模上。

二、sFSMN和vFSMN

[2]对FSMN进行了扩展,不仅跟历史有关,还跟未来有关,根据不同的计算方式分成了两类FSMN:

  1. sFSMN scalar FSMN,可学习参数是标量
  1. vFSMN vectorized FSMN,可学习参数是向量

三、cFSMN

[3]compact FSMN使用矩阵分解的思想对FSMN进行压缩

四、DFSMN

[4]借鉴residual思想在cFSMN的基础上加深层数,增加memory block之间的连接,同时增加了选择步长和

五、DFSMN-SAN

  1. DFSMN和SAN交叉[5]
  2. SAN引入memory vector

六、FSMN模型实践改进

下面是在本地2000小时的中文数据集上面做的一些FSMN网络结构的实验:

  • 训练使用的工具是kaldi,语音识别的训练loss采用的是LFMMI
  • 网络结构都采用15层DFSMN网络,每层h和p的维度分别是1536和256
  • 使用了两个测试集,分别包含4998和4271条语音。

1.DFSMN1(baseline)

model model size context 测试集一 测试集二
DFSMN1 71.2M (39,39) 10.75 13.94

2.DFSMN2=DFSMN1+修改连接方式

model model size context 测试集一 测试集二
DFSMN1 71.2M (39,39) 10.75 13.94
DFSMN2 71.2M (39,39) 10.24 13.43

3.DFSMN3=DFSMN2+SAN

model model size context 测试集一 测试集二
DFSMN1 71.2M (39,39) 10.75 13.94
DFSMN2 71.2M (39,39) 10.24 13.43
DFSMN3 73.5M (47,41) 10.57 13.50

4.DFSMN4=DFSMN2+SpecAugment+2CNN

model model size context 测试集一 测试集二
DFSMN1 71.2M (39,39) 10.75 13.94
DFSMN2 71.2M (39,39) 10.24 13.43
DFSMN3 73.5M (47,41) 10.57 13.50
DFSMN4 91.0M (40,40) 9.74 12.67

5.DFSMN5=DFSMN4+将向量点乘替换为卷积

model model size context 测试集一 测试集二
DFSMN1 71.2M (39,39) 10.75 13.94
DFSMN2 71.2M (39,39) 10.24 13.43
DFSMN3 73.5M (47,41) 10.57 13.50
DFSMN4 91.0M (40,40) 9.74 12.67
DFSMN5 91.5M (40,40) 9.34 12.64

七、结论

从原理上来讲,DFSMN这种网络结构只是说法比较新颖,非常类似TDNN-F,但是相比TDNN-F个人感觉并没有优势,估计这也是kaldi并没有合入DFSMN的原因。

从实践上来讲,在大数据集上面的经验是DFSMN < TDNN-F < TDNN+LSTM,在DFSMN基础上我也做了一些改进的尝试,并没有取得超过线上baseline的效果。

参考文献

  1. Feedforward Sequential Memory Neural Networks without Recurrent Feedback
  2. Feedforward Sequential Memory Networks: A New Structure to Learn Long-term Dependency
  3. Compact Feedforward Sequential Memory Networks for Large Vocabulary Continuous Speech Recognition
  4. DEEP-FSMN FOR LARGE VOCABULARY CONTINUOUS SPEECH RECOGNITION
  5. DFSMN-SAN WITH PERSISTENT MEMORY MODEL FOR AUTOMATIC SPEECH RECOGNITION

下面是留言小程序的入口,点击留言体验??

kaldi语音识别实战pdf_FSMN网络结构在语音识别声学模型的实践相关推荐

  1. 送书 | 经典框架Kaldi配套的语音识别实战

    周末到了,给大家送上一本重磅书籍,语音识别领域重要框架Kaldi配置的书籍,书为<Kaldi语音识别实践>. 本书内容 这是一本以Kaldi框架为工具,讲解语音识别中核心技术的书籍,书籍各 ...

  2. kaldi教程_赠书 | 全球稀缺的Kaldi学习资料,《Kaldi语音识别实战》给补上了

    刚刚过去的十年是语音技术发展的黄金十年.Kaldi的出现,被业内公认为极大地降低了语音识别技术学习与使用的门槛,成为广受欢迎的工具. Kaldi 项目发布不久,就吸引了国内外的大量用户,形成了一个活跃 ...

  3. 《kaldi语音识别实战》阅读笔记:三音素模型训练—train_deltas.sh解析

    一.使用说明 1.1 描述 训练三音素模型.与单音素模型训练相比,因为建模单元变为三音素,因此多了决策树状态绑定. steps/deltas.sh Usage: steps/train_deltas. ...

  4. AISHELL-1 语音识别实战

    AI工匠学堂https://xjw.h5.xeknow.com/s/3eZIFr AISHELL-1 开发者学习语音技术离不开数据,AISHELL-1数据集自2017年由希尔贝壳发布至今始终被高频应用 ...

  5. 《WeNet语音识别实战》答疑回顾(一)

    问 1:现在语音识别落地比较难的点? 答:目前来说,语音识别落地的难点有中英混.方言.预训练模型等.首先,中英混是一个语音识别落地的难点,现在有很多研究在做:其次,方言也是一个难点,这里面主要是数据的 ...

  6. 语音识别实战(python代码)(一)

    语音识别实战 (python :pyttsx.SAPI.SpeechLib实例代码)(一) 本文目录: 一.语音识别的基本原理 (1).语音识别的起源与发展 (2).语音识别的基本原理 (3).语音识 ...

  7. 《TensorFlow语音识别实战》简介

    #好书推荐##好书奇遇季#<TensorFlow语音识别实战>,京东当当天猫都有发售.配套源码.PPT课件.数据集.开发环境与答疑服务. 自动语音识别(Automatic Speech R ...

  8. Keras深度学习实战(41)——语音识别

    Keras深度学习实战(41)--语音识别 0.前言 1. 模型与数据集分析 1.1 数据集分析 1.2 模型分析 2. 语音识别模型 2.1 数据加载与预处理 2.2 模型构建与训练 小结 系列链接 ...

  9. (深入篇)漫游语音识别技术—带你走进语音识别技术的世界

    前有古人,后有小王,大家好,我是你们爱思考的小王学长,今天咱们继续漫游语音识别技术哈,今天内容稍微专业一些,大家可以结合上一篇漫游语音识别技术一起学习. 上篇我们简单了解了语音识别技术的概念.前世今生 ...

最新文章

  1. [导入]正确计算天干地支生肖的函数(.net)---更正版
  2. 在移动安全领域,人工智能未来该扮演怎样的角色?
  3. Unity导出APk出错解决方法二
  4. python编程基础题库_大学moocPython编程基础题库及答案
  5. AXI_05 AXI_FULL_IP的设计与验证
  6. CF1479D Odd Mineral Resource
  7. [Linux学习笔记] Linux历史发展与应用
  8. 联想340c笔记本cpu能升级吗_高性价比十大笔记本电脑(由高到低价格),有一台五五开也有.........
  9. 使用Python实战反欺诈模型
  10. AXI总线(top)
  11. 盘点软件开发中那些有趣的边际效应
  12. 关于reduce的理解
  13. 什么是互联网运营?运营小白应该了解的理论基础
  14. Mac字体怎么安装?如何在macOS电脑导入字体文件?
  15. 如何判断一个单链表是否有环?
  16. 使用 Google Apps 账号申请 GAE 的问题
  17. 序列划分c语言,看懂了这些,你对缠论中的线段划分就基本掌握了!
  18. SassPassIass
  19. jquery限制只能输入英文逗号和数字
  20. 2. 认识O(logN)的排序

热门文章

  1. 阿里巴巴测试相关内容
  2. 如何使用CloudFormation自动在AWS EC2上安装Anaconda
  3. 如何在Swift中使用CoreData设置有用的自动完成UITextField
  4. play 应用商店_如何在Play商店中发布应用程序
  5. vue js 对象下的原型_如何使用Vue.js和Pusher创建实时原型反馈应用程序
  6. 从面试官问“为什么选择mysql数据库”说开去
  7. Python解决滑块验证码
  8. 每个开发人员都需要学Python?看看大佬是怎么说的!
  9. 网络通信tcp与udp的区别
  10. kafka 数据可靠性深度解读