Kaldi 语音工具箱的简介算法
Kaldi 语音工具箱[61]是由微软研究院Povey 等人研究的应用于语音识别方面的开源工具箱。该工具箱是用 C++编写而成的,并且具备灵活性、扩展性。 网络
该工具箱的函数库是 HTK 工具箱函数库的加强版,为了使用的方便,将 HTK 零碎的的指令与功能函数模块进行统一的整合,最大的优势就是引入了深度神经网络模块。框架
Kaldi 工具箱的语音识别系统框架如图函数
图 中,Kaldi 系统的外部库依赖于 Open FST 和数值代数库。这两个函数库可经过 Decodable
进行连接。工具
利用 C++编写指令行直接调用工具箱中的库函数,而后利用多个的 perl 语言脚本搭建成了语音识别系统。各个特定的指令行能完成相应的任务,并且只要设定少许的参数。除此以外,全部的工具模块均可以从管道接口处自由的读写,从而使得各个工具模块之间的调用更加方便。接口
基于 Kaldi 具体实现 DNN 训练过程变量
尽管深度神经网络比浅层网络有较强的建模能力,可是训练深度网络是很是困难的。由于很难判断给定的输入数据矢量后,隐含变量服从的后验几率分布。简单的 BP算法因为出现局部最小值而不能处理。最近提出使用 RBM 进行预训练和使用对比散度算法进行区分性的微调。
DBN 能够看做复杂的非线性特征提取器。每一层的隐藏单元表明特性。特征提取器可以得到与在原始的输入数据更高阶相关性的数据。利用 Kaldi工具箱具体实现 DNN 训练过程如图所示。
扩展