分类
ASRT 智能语音技术

AI柠檬语音识别学习路径和入门资料推荐

(在苹果系统下,如果文章中的图片不能正常显示,请升级Safari浏览器到最新版本,或者使用Chrome、Firefox浏览器打开。)

对于刚开始接触语音领域的新人来说,如何学习入门是一个棘手的问题。AI柠檬博主经常在群里遇到询问如何入门语音识别或者有什么语音识别学习资料推荐的问题,那么今天博主就在这里做一些如何入门的介绍和相关资料的推荐吧。(纯干货)

学习路径介绍

首先我们说说学习路径。做语音识别主要需要学习这三大类:数学、程序设计、算法,如果涉及到应用落地,还需要根据实际情况学习其他知识(比如网站前后端开发、移动应用开发等),但如果是做理论科研或者技术研发,就主要是这三个方面的知识。

数学不用多说,“高等数学(微积分)”、“线性代数(矩阵)”、“概率论与数理统计”这三门大学基础课程一定要学好。这方面我就不需要做资料推荐了,市面上相关的资料非常多,大家可以自行选择。另外,“数学模型”“工程优化”等进阶类的数学课程也是有很大作用的,学了之后再学相关算法,能够对这些知识产生更好的理解。

程序设计就更不用多说了,做算法必学Python,教程也很多,这里不赘述。至于C++语言,如果是一点都不懂的话,还是有必要学一下的,毕竟不论是之后看别人写的代码,还是自己写代码,或者从事算法应用落地等工作,都是多多少少会用到的。C++不一定要学“精通”,何况没几个人敢说自己“精通C++”,如果能熟练使用更好,不熟练的话用Python写也不是什么问题。不过编程语言只是工具,会一门编程语言没什么大不了的,最重要的是要学会语音相关的算法,并拥有算法思维。

接下来就要重点说算法了。语音识别技术从技术分类上说,还可以划分出好几个小类,比如:语音特征算法、声学模型、语言模型、解码器、语音激活检测、声纹识别、语音情感识别等。

语音特征算法需要学习的主要是MFCC、FBank、LogFBank等特征提取算法,以及较新的语谱图(Spectrogram)算法。AI柠檬博客中曾发过这些算法的讲解文章,如果感兴趣可以看一看:

https://blog.ailemon.net/2021/03/08/speech-acoustic-feature-extraction-the-principle-and-implement-of-the-spectrogram-algorithm-for-asrt/

声学模型的主要任务是识别语音信号内容,转为标记符,可以是中间结果符号(非端到端),也可以是英文字母或者汉字(端到端)。其主要需要学习的是传统的声学模型基于深度学习的声学模型两大类,传统的声学模型技术算法主要有:混合高斯模型、隐马尔可夫模型、EM算法、维特比算法、GMM-HMM模型等。基于深度学习的声学模型主要有:DNN-HMM模型、TDNN模型、CNN模型、RNN模型、基于CTC的模型、基于注意力的模型等。学习基于深度学习的算法模型之前,最好先学一下深度学习相关的知识哦,不然直接上手会比较费劲,甚至很多常识性问题都可能会不太懂。

AI柠檬博主在这里小小自荐一下自己从2016年开始做的ASRT开源语音识别项目(GitHub):https://github.com/nl8590687/ASRT_SpeechRecognition ,以及相关的原理介绍文章:

除此以外,还有一些比较好的开源语音识别项目,博主个人也是比较欣赏的,大家可以去GitHub上搜一下:mozilla复现百度的DeepSpeech项目Kaldi项目(牛X的语音识别框架)等。

语言模型也分为传统的统计N元语言模型基于深度学习的模型两种。语言模型一般用于文本纠错,或者根据声学模型产生的中间结果生成对应的正确文本。基于深度学习的模型主要是看论文来学习(NLP方面),基本没有论文以外的资料可看,传统的统计N元语言模型的原理在AI柠檬博客上曾写过相关的讲解文章:

接着是语音识别解码器,现在基本上主要就是有限加权状态转换机(Weighted Finite State Transducers, WFST了。网上一搜基本上全是WFST,其他的其实还有HCLG以及lattice,这三种目前主要是通过刚才说的Kaldi框架来用。解码器的学习难度较大,门槛略高,就博主自己对此也很头大的,共勉!

语音激活检测(VAD)这里主要任务目标是识别一个语音帧片段是不是人说话的声音,或者说是不是空白噪声,可用于判断人们是否说话开始和结束,以及进行语音信号切分等。传统的VAD算法主要通过短时过零率(ZCC)短时能量(STE)等指标通过高斯模型来进行判别,不过还有很多其他的特征指标和判别算法,也可以使用神经网络实现,详细内容博主在另一篇博客文章中都做过介绍:

最后就是声纹识别和语音情感识别任务了,与纯粹的语音识别成文本相比,这些任务的技术难度不大,声纹识别完全可以用一些计算机视觉的方法去做。至于语音情感识别,这个AI柠檬博主不太了解,就不多说了。

除此以外,智能语音技术领域还有语音合成、唤醒词等任务,感兴趣的同学们也可以去了解一下~

学习资料推荐

上面说了这些相关技术的学习路径,这里推荐一些比较好的学习资料(AI柠檬博主自己就在看的~)。

1.《解析深度学习——语音识别实践》 【美】俞栋 邓力 著,中国工信出版集团 电子工业出版社

2.《语音识别——原理与应用》 洪青阳 李琳 著 中国工信出版集团 电子工业出版社

3.《Kaldi语音识别实战》 陈果果 都家宇 那兴宇 张俊博 著 中国工信出版集团 电子工业出版社

4. Kaldi官方网站文档:http://kaldi-asr.org/doc/

5. 最后最重要的当然是看论文啦!尤其是做科研的话,主要靠看论文来了解和掌握这一个领域内的研究现状和发展历史。而且也不要怕自己英文不好,绝大多数人英文水平其实也就一般,看多了就基本可以看懂,科研或者做项目也不会有什么太大的影响。

6. 其实还有一点,善用搜索引擎,搜索引擎中收录的网页是快速入门的最好学习资料。如果你说搜不到,试着学习一下搜索技巧呢!还搜不到?换一个你认为靠谱的搜索引擎呢!(手动斜眼笑)

参考资料Refference

  1. AI柠檬博主,面向中文用户的机器学习相关的学习资料大集合,GitHub, https://github.com/nl8590687/Machine-Learning-Tutorial-Chinese
  2. AI柠檬博主,机器学习入门教程分享,AI柠檬博客,https://blog.ailemon.net/2017/05/02/share-some-tutorials-to-machine-learning/
版权声明
本博客的文章除特别说明外均为原创,本人版权所有。欢迎转载,转载请注明作者及来源链接,谢谢。
本文地址: https://blog.ailemon.net/2021/03/15/asr-study-path-and-course-recommendation/
All articles are under Attribution-NonCommercial-ShareAlike 4.0

关注“AI柠檬博客”微信公众号,及时获取你最需要的干货。


发表评论

邮箱地址不会被公开。 必填项已用*标注

3 × 2 =

如果您是第一次在本站发布评论,内容将在博主审核后显示,请耐心等待