kaldi语音识别实战pdf_FSMN网络结构在语音识别声学模型的实践
一、FSMN
其中是可学习参数。[1]使用Feedforward Sequential Memory Networks(FSMN)这种结构来近似RNN,类似于FIR对IIR的近似,具有速度上的优势,用在语言模型建模上。
二、sFSMN和vFSMN
[2]对FSMN进行了扩展,不仅跟历史有关,还跟未来有关,根据不同的计算方式分成了两类FSMN:
- sFSMN scalar FSMN,可学习参数是标量
- vFSMN vectorized FSMN,可学习参数是向量
三、cFSMN
[3]compact FSMN使用矩阵分解的思想对FSMN进行压缩
四、DFSMN
[4]借鉴residual思想在cFSMN的基础上加深层数,增加memory block之间的连接,同时增加了选择步长和
五、DFSMN-SAN
- DFSMN和SAN交叉[5]
- 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的效果。
参考文献
- Feedforward Sequential Memory Neural Networks without Recurrent Feedback
- Feedforward Sequential Memory Networks: A New Structure to Learn Long-term Dependency
- Compact Feedforward Sequential Memory Networks for Large Vocabulary Continuous Speech Recognition
- DEEP-FSMN FOR LARGE VOCABULARY CONTINUOUS SPEECH RECOGNITION
- DFSMN-SAN WITH PERSISTENT MEMORY MODEL FOR AUTOMATIC SPEECH RECOGNITION
下面是留言小程序的入口,点击留言体验??
kaldi语音识别实战pdf_FSMN网络结构在语音识别声学模型的实践相关推荐
- 送书 | 经典框架Kaldi配套的语音识别实战
周末到了,给大家送上一本重磅书籍,语音识别领域重要框架Kaldi配置的书籍,书为<Kaldi语音识别实践>. 本书内容 这是一本以Kaldi框架为工具,讲解语音识别中核心技术的书籍,书籍各 ...
- kaldi教程_赠书 | 全球稀缺的Kaldi学习资料,《Kaldi语音识别实战》给补上了
刚刚过去的十年是语音技术发展的黄金十年.Kaldi的出现,被业内公认为极大地降低了语音识别技术学习与使用的门槛,成为广受欢迎的工具. Kaldi 项目发布不久,就吸引了国内外的大量用户,形成了一个活跃 ...
- 《kaldi语音识别实战》阅读笔记:三音素模型训练—train_deltas.sh解析
一.使用说明 1.1 描述 训练三音素模型.与单音素模型训练相比,因为建模单元变为三音素,因此多了决策树状态绑定. steps/deltas.sh Usage: steps/train_deltas. ...
- AISHELL-1 语音识别实战
AI工匠学堂https://xjw.h5.xeknow.com/s/3eZIFr AISHELL-1 开发者学习语音技术离不开数据,AISHELL-1数据集自2017年由希尔贝壳发布至今始终被高频应用 ...
- 《WeNet语音识别实战》答疑回顾(一)
问 1:现在语音识别落地比较难的点? 答:目前来说,语音识别落地的难点有中英混.方言.预训练模型等.首先,中英混是一个语音识别落地的难点,现在有很多研究在做:其次,方言也是一个难点,这里面主要是数据的 ...
- 语音识别实战(python代码)(一)
语音识别实战 (python :pyttsx.SAPI.SpeechLib实例代码)(一) 本文目录: 一.语音识别的基本原理 (1).语音识别的起源与发展 (2).语音识别的基本原理 (3).语音识 ...
- 《TensorFlow语音识别实战》简介
#好书推荐##好书奇遇季#<TensorFlow语音识别实战>,京东当当天猫都有发售.配套源码.PPT课件.数据集.开发环境与答疑服务. 自动语音识别(Automatic Speech R ...
- Keras深度学习实战(41)——语音识别
Keras深度学习实战(41)--语音识别 0.前言 1. 模型与数据集分析 1.1 数据集分析 1.2 模型分析 2. 语音识别模型 2.1 数据加载与预处理 2.2 模型构建与训练 小结 系列链接 ...
- (深入篇)漫游语音识别技术—带你走进语音识别技术的世界
前有古人,后有小王,大家好,我是你们爱思考的小王学长,今天咱们继续漫游语音识别技术哈,今天内容稍微专业一些,大家可以结合上一篇漫游语音识别技术一起学习. 上篇我们简单了解了语音识别技术的概念.前世今生 ...
最新文章
- [导入]正确计算天干地支生肖的函数(.net)---更正版
- 在移动安全领域,人工智能未来该扮演怎样的角色?
- Unity导出APk出错解决方法二
- python编程基础题库_大学moocPython编程基础题库及答案
- AXI_05 AXI_FULL_IP的设计与验证
- CF1479D Odd Mineral Resource
- [Linux学习笔记] Linux历史发展与应用
- 联想340c笔记本cpu能升级吗_高性价比十大笔记本电脑(由高到低价格),有一台五五开也有.........
- 使用Python实战反欺诈模型
- AXI总线(top)
- 盘点软件开发中那些有趣的边际效应
- 关于reduce的理解
- 什么是互联网运营?运营小白应该了解的理论基础
- Mac字体怎么安装?如何在macOS电脑导入字体文件?
- 如何判断一个单链表是否有环?
- 使用 Google Apps 账号申请 GAE 的问题
- 序列划分c语言,看懂了这些,你对缠论中的线段划分就基本掌握了!
- SassPassIass
- jquery限制只能输入英文逗号和数字
- 2. 认识O(logN)的排序
热门文章
- 阿里巴巴测试相关内容
- 如何使用CloudFormation自动在AWS EC2上安装Anaconda
- 如何在Swift中使用CoreData设置有用的自动完成UITextField
- play 应用商店_如何在Play商店中发布应用程序
- vue js 对象下的原型_如何使用Vue.js和Pusher创建实时原型反馈应用程序
- 从面试官问“为什么选择mysql数据库”说开去
- Python解决滑块验证码
- 每个开发人员都需要学Python?看看大佬是怎么说的!
- 网络通信tcp与udp的区别
- kafka 数据可靠性深度解读