5.kaldi学习方法的问题

字数 874阅读 1127

kaldi的学习方法网址:

https://www.zhihu.com/question/65516424

集合了众知乎大神的学习方法,那种积累性的学习方法就算了,要用最有效的学习方法。

行走的人

健身,骑行,发呆,看书,深度学习

8 人赞同了该回答

看到题主跟我当初情况相似,忍不住回答一波。

我当初是直接跑完timit的例子然后模仿这个例子做了一个中文语音识别后觉得想对入了一点门。建议你先把timit的例子跑通,然后重点关注data里面的文件,其中有text,wav.scp,spk2utt等,text是label标注,wav是指明音频路径,spk2utt是说话人与音频名的对应。这些文件不难,但是因为kaldi要求你这么做所以需要自己去准备。其次是dict里面的文件,timit是音素识别里面没有将字转化为拼音之类的,一般的egs里会有字典,topo模型结构,静音非静音文件等,这些都可以看官网介绍,把这里面的文件是什么弄清楚就OK了,因为dict是要生成语言模型的,kaldi里面多用的是简单的3-gram,具体情况可以看着文件来理解,因为现在电脑不在身边我也记不大清楚。以上在kaldi里都叫做数据准备,当然还有生成mfcc特征,这个应该比较简单。

数据准备好后的训练过程就是使用kaldi简单的接口了,此时我觉得先不要去看代码了,反过头来去看HMM-GMM模型,搞清楚HMM是干嘛的GMM又是干嘛的,使用EM算法训练的过程,最好把公式都推导出来,这个时候你再返回去看kaldi的脚本是什么意思就会容易一点。语言模型是什么也要看看,解码的话我觉得都可以成一本书了,WFST那本书讲得很细,我也没怎么关注。

其实我现在看kaldi,多数时候把它作为一个强制对齐的工具,然后迁移到别的平台用神经网络做,再返回来用kaldi的接口解码!以我当初的疑惑,可能主要还是对整个语音识别的训练和解码过程比较疑惑,搞清楚这些的话kaldi作为工具就会相对简单一点,只需理解清楚我上面说的数据准备就可以跑一个小项目了。

晚上思路不是很清晰,说得有点乱,大概就是跑个小 demo看看数据准备的文件,理解语音识别的整个过程,搞清楚HMM和GMM,如何使用EM算法迭代,解码是怎样的过程,然后返回来看kaldi脚本。说真的kaldi里面真的很多东西,我自己也只是能够当作工具使用而已,很多接口也是搞不清楚的,希望能够帮到题主,网上有关于kaldi的中文文档,是电子科大的学长组织翻译的,你可以去搜一下,帮助很大。

推荐阅读更多精彩内容