ASLP(Audio, Speech and Language Processing Group,音频、语音和语言处理组)位于西北工业大学,隶属于陕西省语音和图像信息处理重点实验室(SAIIP)。 ASLP小组成立于1995年。ASLP小组的使命是促进音频,语音和语言处理学科内的广泛学科的跨学科研究和教育。目前,ASLP集团的研究范围包括人机语音通信,语音和音频信号处理,视听处理,多媒体内容分析和检索。 在2011年,该组由三位正教授,一位副教授,四位兼职教授和三十多位博士和硕士生组成......

ASLP官网:

http://www.npu-aslp.org

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)

https://www.microsoft.com/en-us/research/publication/scalable-training-deep-learning-machines-incremental-block-training-intra-block-parallel-optimization-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的更多相关文章

  1. VMware Ubuntu Kaldi

    1.VMware10.0 秘钥网上搜就好了 2.ubuntu12.04 (1)安了几次14.04,16.04,12.04,最后窗口和分辨率的bug 还是没有解决 (2)终端显示菱形乱码的解决:直接用英 ...

  2. 如何用kaldi做孤立词识别-初版

    ---------------------------------------------------------------------------------------------------- ...

  3. kaldi chain模型的序列鉴别性训练代码分析

    chainbin/nnet3-chain-train.cc int main(int argc, char *argv[]) { ... Nnet nnet; ReadKaldiObject(nnet ...

  4. kaldi通用底层矩阵运算库——CUDA

    cudamatrix/cublas-wrappers.h 该头文件对cuBLAS的接口进行了简单的封装(函数名的简化和部分kaldi函数的封装). 比如 cublasSgemm_v2封装为cublas ...

  5. kaldi通用底层矩阵运算库——CBLAS

    matrix/cblas-wrappers.h 该头文件对CBLAS与CLAPACK的接口进行了简单的封装(将不同数据类型的多个接口封装为一个). 比如 cblas_scopy和cblas_dcopy ...

  6. Xvector in Kaldi nnet3

    Xvector nnet Training of Xvector nnet Xvector nnet in Kaldi     Statistics Extraction Layer in Kaldi ...

  7. Kaldi nnet3的fastlstm与标准LSTM

    标准LSTM:             与标准LSTM相比,Kaldi的fastlstm对相同或类似的矩阵运算进行了合并.     # Component specific to 'projected ...

  8. [转] kaldi中FST的可视化-以yesno为例

    http://blog.csdn.net/u013677156/article/details/77893661 1.kaldi解码过程 kaldi识别解码一段语音的过程是:首先提取特征,然后过声学模 ...

  9. [转]kaldi ASR: DNN训练

    作者:zqh_zy链接:http://www.jianshu.com/p/c5fb943afaba來源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本文通过简单kaldi ...

随机推荐

  1. 纪中2018暑假培训day5提高b组改题记录

    因为今天省选组也做a组,以为今天a组会很难,就做了做b组.t1和t3强行暴力,好在有t2保底.t1和正解就差一点,然而考试时死活想不起来...... 今天改题可以少改一道了!ovo 救救孩子吧!t1T ...

  2. 每添加一张图片后,GDI对象 + 3 原因: ImageList_AddIcon(hIcon) 后没调用 DestroyIcon(hIcon)

    今天无意间在[任务管理器]中发现,每添加1张图片后,应用程序的 GDI对象 + 3,添加图片后,再把所有图片删除, GDI对象数量没减少! 排查原因,发现: GDI对象 + 3 的代码是: int o ...

  3. 使用bcftools提取指定样本的vcf文件(extract specified samples in vcf format)

    1.下载安装bcftools. 2.准备样本ID文件,这里命名为samplelistname.txt,一个样本一行,如下所示: sample1 sample2 sample3 3.输入命令: bcft ...

  4. strutrs contextMap

    contextMap(非常重要) 1.动作类的生命周期 明确:动作类是多例的,每次动作访问,动作类都会实例化.所以是线程安全的.与Struts1的区别是,struts1的动作类是单例的. 2.请求动作 ...

  5. Unity 摄像机跟随

    方式一:将摄像机直接拖到游戏对象的下面: 方式二:脚本实现 using System.Collections; using System.Collections.Generic; using Unit ...

  6. 3D游戏的角色移动和旋转

    * -----英雄的移动控制 * * * * */ using System.Collections; using System.Collections.Generic; using UnityEng ...

  7. (逆序对 分治法)P1908 逆序对 洛谷

    题目描述 猫猫TOM和小老鼠JERRY最近又较量上了,但是毕竟都是成年人,他们已经不喜欢再玩那种你追我赶的游戏,现在他们喜欢玩统计.最近,TOM老猫查阅到一个人类称之为“逆序对”的东西,这东西是这样定 ...

  8. Java封装、继承整理

    封装 3.1封装概念: 提高代码复用性 隐藏实现细节,对外访问提供公共接口 提高安全型 3.2封装举例 机箱就是隐藏实现细节,提供了公共的访问接口 3.3私有private 一般对成员属性的访问动作: ...

  9. Java 中的悲观锁和乐观锁的实现

    一.定义 1.悲观锁:即很悲观,每次拿数据的时候都觉得数据会被人更改,所以拿数据的时候就把这条记录锁掉,这样别人就没法改这条数据了,一直到你的锁释放. 2.乐观锁:即很乐观,查询数据的时候总觉得不会有 ...

  10. saltstack returners

    大意就是将saltstack 执行的结果,不在终端显示,写到文件或者数据库,功能类似于ansible的callback 参考 https://github.com/saltstack/salt/tre ...