语音识别(ASR)系列之二:混合模型

简介: 上篇系列之一从总体上讲了ASR的原理、评估方法、模型发展,这一篇开始介绍称霸ASR三十年的混合模型(Hybrid Model),特别是GMM/HMM模型。由于GMM和HMM模型本身已经是很大的一块内容,我假设读者已经了解其基本原理。

上篇系列之一从总体上讲了ASR的原理、评估方法、模型发展,这一篇开始介绍称霸ASR三十年的混合模型(Hybrid Model),特别是GMM/HMM模型。由于GMM和HMM模型本身已经是很大的一块内容,我假设读者已经了解其基本原理。

网络异常,图片无法展示
|



基本概念

在讲具体模型之前,先介绍一些需要了解的基本概念。对语音进行处理,一般会先进行分帧和特征提取,例如MFCC、FBank,然后把这些特征转化为发音最基本单位的序列,一般是音素序列,音素转换为字后就变为了文字序列。音素是比字更小一级的单位,在汉语中简单理解音素就是声母和韵母集合,但由于某些韵母是其他基本韵母的组合,实际上音素只需要这些基本发音单元就够了。如何把语音特征转换为合理的音素或者文字序列,就是模型要干的事。

GMM/HMM模型


我们知道隐马尔科夫模型HMM(Hidden Markov Model)可以用来预测序列,ASR要做的是从语音到文本序列的转换,顺理成章可以用HMM来预测。HMM预测过程中需要状态转移概率矩阵和发射矩阵(观察概率),使用在ASR中时HMM状态可对应音素,发射矩阵可通过混合高斯模型GMM(Gaussian Mixture Model)计算获得。由于整个方法混合使用了GMM和HMM,所以叫混合模型。相对于混合模型,把语音特征通过一个模型直接预测出音素或者文本序列的模型称为端到端模型。

下图是使用GMM/HMM混合模型以一个单词为例的预测整体过程。

语音通过分帧,然后进行特征提取,对每一帧通过GMM计算其属于每个音素的概率,概率最大者被认为是该帧所属的音素(例如图中的y, eh, s),每个音素是HMM中的一个状态,通过Viterbi算法在这些音素/状态中找到一条最合理的序列,上图中为sil y eh s sil,组合起来就是单词yes。


HMM和GMM的关系如下图:

可以看到,GMM负责从帧到音素状态的转换,HMM负责音素状态到最后音素串的转换。


可能的疑问

GMM和HMM的参数是怎么得到的? 模型训练时,通过标签数据训练学习得到,HMM的参数是状态转移矩阵,GMM的参数是高斯分布的均值和方差。

标签数据一帧一帧标得吗? 由于语音帧数太多,很难人工一帧一帧标,一般是先平均标上整体音素,然后通过Embedding Training迭代,迭代过程不断更新转移概率和发射概率,使用Viterbi或者前后向算法对帧和标签进行对齐。

模型优缺点

优点:训练速度快,模型小。

缺点:模型没有利用上下帧的信息。从1990年以来,主体框架没变,各种改进的补丁越打越多,模型变得越来越复杂。

DNN/HMM模型

由于GMM没有利用帧的上下文信息,随着深度神经网络的兴起,能弥补上这一缺点,让DNN代替GMM学习深度非线性特征,于是有了DNN/HMM模型。

本质就是用DNN代替了GMM/HMM中的GMM,以前是用GMM计算,选择概率最大的音素作为一帧的HMM状态。使用DNN后通过神经网络直接计算每帧属于各个音素的概率值,即通过softmax得到一个概率值的向量,选最大值对应的音素作为该帧的HMM状态。实际上GMM得到的是真正的概率,DNN通过softmax得到的是和为1的向量,我们把向量中的每个值当成了概率。

DNN/HMM的各种变形

DNN可以使用各种神经网络模型,如CNN、RNN、LSTM等,发挥各自的优势。比如RNN、LSTM能有效利用历史信息,增加模型上下文记忆能力。


由于混合模型使用了HMM,当前状态只和上一个状态相关,存在局限性。同时,混合模型要求语音帧和对应的音素一一对齐,这对数据标注造成极大的挑战,一是工作量极大,二是两个相邻音素边界容易混淆。所以近年来对端到端模型的研究很活跃,下一篇我们谈谈著名的CTC模型。

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
|
机器学习/深度学习 PyTorch 语音技术
语音识别模型
Whisper 是 OpenAI 推出的语音处理项目,基于深度学习,具备高度智能化和准确性的语音识别、翻译和生成能力。通过丰富的数据集和先进的注意力机制,Whisper 在多种语言环境下表现出色,支持语音识别、翻译、口语识别和语音活动检测等多种任务。用户可以通过 Python 代码或命令行轻松使用 Whisper,完成高质量的语音处理任务。官网:https://openai.com/research/whisper,GitHub:https://github.com/openai/whisper。
|
3月前
|
机器学习/深度学习 算法 语音技术
超越传统模型:探讨门控循环单元(GRU)在语音识别领域的最新进展与挑战
【10月更文挑战第7天】随着人工智能技术的不断进步,语音识别已经从一个相对小众的研究领域发展成为日常生活中的常见技术。无论是智能手机上的语音助手,还是智能家居设备,甚至是自动字幕生成系统,都离不开高质量的语音识别技术的支持。在众多用于语音识别的技术中,基于深度学习的方法尤其是递归神经网络(RNNs)及其变体如长短期记忆网络(LSTMs)和门控循环单元(GRUs)已经成为了研究和应用的热点。
157 2
|
6月前
|
机器学习/深度学习 算法 数据可视化
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
Python基于librosa和人工神经网络实现语音识别分类模型(ANN算法)项目实战
|
8月前
|
机器学习/深度学习 语音技术
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
Hotword模型在语音识别系统中定义为能够识别特定关键词或短语(也称为唤醒词)的模型
386 9
|
8月前
|
机器学习/深度学习 语音技术 Python
使用Python实现语音识别与处理模型
使用Python实现语音识别与处理模型
111 0
|
8月前
|
语音技术
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)【1月更文挑战第11天】【1月更文挑战第52篇】
143 1
|
机器学习/深度学习 人工智能 数据可视化
Spectron: 谷歌的新模型将语音识别与语言模型结合进行端到端的训练
Spectron是谷歌Research和Verily AI开发的新的模型。与传统的语言模型不同,Spectron直接处理频谱图作为输入和输出。该模型消除归纳偏差,增强表征保真度,提高音频生成质量。
105 1
|
达摩院 自然语言处理 测试技术
直接开源!达摩院公布下一代工业级语音识别模型
直接开源!达摩院公布下一代工业级语音识别模型
781 0
|
机器学习/深度学习 自然语言处理 算法
谷歌的野心:通用语音识别大模型已经支持100+语言
谷歌的野心:通用语音识别大模型已经支持100+语言
252 0
|
机器学习/深度学习 API 语音技术
EeSen、FSMN、CLDNN、BERT、Transformer-XL…你都掌握了吗?一文总结语音识别必备经典模型(3)
EeSen、FSMN、CLDNN、BERT、Transformer-XL…你都掌握了吗?一文总结语音识别必备经典模型
183 0