ASLP Kaldi
ASLP(Audio, Speech and Language Processing Group,音频、语音和语言处理组)位于西北工业大学,隶属于陕西省语音和图像信息处理重点实验室(SAIIP)。 ASLP小组成立于1995年。ASLP小组的使命是促进音频,语音和语言处理学科内的广泛学科的跨学科研究和教育。目前,ASLP集团的研究范围包括人机语音通信,语音和音频信号处理,视听处理,多媒体内容分析和检索。 在2011年,该组由三位正教授,一位副教授,四位兼职教授和三十多位博士和硕士生组成......
ASLP官网:
ASLP Kaldi Github:
https://github.com/robin1001/kaldi-aslp/blob/master/README.md
ASLP Kaldi是对Kaldi的增强,增强的功能有:
nnet增强
- Batch正则化
- 标准LSTM、BLSTM without projection
- 延迟(Latency)控制BLSTM
- Warp CTC以及Eesen版本的CTC
- Skip training & decode
- 图网络(如多输入、多输出、add与拼接)
- 行卷积
- GRU
- FSMN
语音端点检测(VAD)
在线识别
并行化增强
BSP(Bulk synchronous parallel,整体同步并行计算模型),又名大同步模型或BSP模型,由哈佛大学Viliant和牛津大学Bill McColl提出。
BSP的创始人是英国著名的计算机科学家Valiant,他希望像冯·诺伊曼体系结构那样,架起计算机程序语言和体系结构间的桥梁,故又称作桥模型(Bridge Model)。该模型使用了三个属性描述:模块(Components)、选路器(Router)和同步路障器执行时间L。
ASGD(Averaged Stochastic Gradient Descent)平均随机梯度下降
EASGD(Elastic Averaging Stochastic Gradient Descent,弹性平均梯度下降)
BMUF(Blockwise Model-Update Filtering)
陈凯,ICASSP 2016
小时的Switchboard-I任务和1860小时"Switchboard+Fisher")的大词汇量连续语音识别训练。我们在LSTM任务上实现了几乎线性的加速,而在DNN任务上实现了64个GPU卡,与在单个GPU上运行传统的基于mini-batch的SGD训练相比,识别精度不变。
借助盖房子这一比喻,关键点在于如何有效地整合工人的成果。每一个阶段工人完成工作之后,都需要将工作反馈给工头,依据反馈生成新的工作模型,然后工人依照新的工作模型,对新数据进行处理。然后不断迭代。但在这一过程中会涉及到沟通成本和有效整合的问题。
每一个工人给工头提交工作成果后,工头需要进行整合更新。如果工头缺乏大局观,只进行简单整合(Model Averaging),结果就不好。文中创造性地在整个流程中增加了一个模型更新滤波的步骤。在Model Averaging中,每一轮迭代只利用当前获得的信息更新模型,历史更新信息却被忽略了。因此,研究员们提出将每一轮模型更新的信息收集起来,以史为鉴,结合当前信息进行学习,这样一来能够保证每一轮的更新更为平滑,不会出现巨大的波动。使用这样的滤波方法后,最终生成模型的性能也大大提升。
来自 <https://www.msra.cn/zh-cn/news/features/parallel-training-20160322>
关键词检索
ASLP Kaldi的更多相关文章
- VMware Ubuntu Kaldi
1.VMware10.0 秘钥网上搜就好了 2.ubuntu12.04 (1)安了几次14.04,16.04,12.04,最后窗口和分辨率的bug 还是没有解决 (2)终端显示菱形乱码的解决:直接用英 ...
- 如何用kaldi做孤立词识别-初版
---------------------------------------------------------------------------------------------------- ...
- kaldi chain模型的序列鉴别性训练代码分析
chainbin/nnet3-chain-train.cc int main(int argc, char *argv[]) { ... Nnet nnet; ReadKaldiObject(nnet ...
- kaldi通用底层矩阵运算库——CUDA
cudamatrix/cublas-wrappers.h 该头文件对cuBLAS的接口进行了简单的封装(函数名的简化和部分kaldi函数的封装). 比如 cublasSgemm_v2封装为cublas ...
- kaldi通用底层矩阵运算库——CBLAS
matrix/cblas-wrappers.h 该头文件对CBLAS与CLAPACK的接口进行了简单的封装(将不同数据类型的多个接口封装为一个). 比如 cblas_scopy和cblas_dcopy ...
- Xvector in Kaldi nnet3
Xvector nnet Training of Xvector nnet Xvector nnet in Kaldi Statistics Extraction Layer in Kaldi ...
- Kaldi nnet3的fastlstm与标准LSTM
标准LSTM: 与标准LSTM相比,Kaldi的fastlstm对相同或类似的矩阵运算进行了合并. # Component specific to 'projected ...
- [转] kaldi中FST的可视化-以yesno为例
http://blog.csdn.net/u013677156/article/details/77893661 1.kaldi解码过程 kaldi识别解码一段语音的过程是:首先提取特征,然后过声学模 ...
- [转]kaldi ASR: DNN训练
作者:zqh_zy链接:http://www.jianshu.com/p/c5fb943afaba來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本文通过简单kaldi ...
随机推荐
- 纪中2018暑假培训day5提高b组改题记录
因为今天省选组也做a组,以为今天a组会很难,就做了做b组.t1和t3强行暴力,好在有t2保底.t1和正解就差一点,然而考试时死活想不起来...... 今天改题可以少改一道了!ovo 救救孩子吧!t1T ...
- 每添加一张图片后,GDI对象 + 3 原因: ImageList_AddIcon(hIcon) 后没调用 DestroyIcon(hIcon)
今天无意间在[任务管理器]中发现,每添加1张图片后,应用程序的 GDI对象 + 3,添加图片后,再把所有图片删除, GDI对象数量没减少! 排查原因,发现: GDI对象 + 3 的代码是: int o ...
- 使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)
1.下载安装bcftools. 2.准备样本ID文件,这里命名为samplelistname.txt,一个样本一行,如下所示: sample1 sample2 sample3 3.输入命令: bcft ...
- strutrs contextMap
contextMap(非常重要) 1.动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化.所以是线程安全的.与Struts1的区别是,struts1的动作类是单例的. 2.请求动作 ...
- Unity 摄像机跟随
方式一:将摄像机直接拖到游戏对象的下面: 方式二:脚本实现 using System.Collections; using System.Collections.Generic; using Unit ...
- 3D游戏的角色移动和旋转
* -----英雄的移动控制 * * * * */ using System.Collections; using System.Collections.Generic; using UnityEng ...
- (逆序对 分治法)P1908 逆序对 洛谷
题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定 ...
- Java封装、继承整理
封装 3.1封装概念: 提高代码复用性 隐藏实现细节,对外访问提供公共接口 提高安全型 3.2封装举例 机箱就是隐藏实现细节,提供了公共的访问接口 3.3私有private 一般对成员属性的访问动作: ...
- Java 中的悲观锁和乐观锁的实现
一.定义 1.悲观锁:即很悲观,每次拿数据的时候都觉得数据会被人更改,所以拿数据的时候就把这条记录锁掉,这样别人就没法改这条数据了,一直到你的锁释放. 2.乐观锁:即很乐观,查询数据的时候总觉得不会有 ...
- saltstack returners
大意就是将saltstack 执行的结果,不在终端显示,写到文件或者数据库,功能类似于ansible的callback 参考 https://github.com/saltstack/salt/tre ...