写在前面
都知道语音识别有GMM-HMM模型,也分别了解了什么是:
GMM(混合高斯模型) https://blog.youkuaiyun.com/qq_37385726/article/details/89198387
MMC(马尔可夫链) https://blog.youkuaiyun.com/qq_37385726/article/details/89219056
HMM(隐马尔可夫模型) https://blog.youkuaiyun.com/qq_37385726/article/details/89219695
但是却发现不清楚GMM与HMM与语音识别有什么关系,更不知道GMM-HMM模型究竟是什么
好像没有看到有系统讲解很清楚的博客
于是我根据这些零散的学习,整理出了一套比较方便适于理解的系列博客。
由于文章的主要内容均为借鉴,故标为转载。
原始整理为:qq_37385726
转载请注明出处
系列博客
目录
概述
马尔科夫模型
隐马尔科夫模型
举个例子
HMM的组成部分
HMM的三个基本问题
计算likelihood: 前向算法
解码问题:Viterbi算法
HMM的训练:前向后向算法
HMM的训练问题的应用——HMM状态转移矩阵的确定
HMM的解码问题的应用——语音特征序列到状态转移序列
概述
概率图模型是在概率模型的基础上,使用了基于图的方法来表示概率分布,是一种通用化的不确定性知识和处理方法。下图给出常见的图模型:
有关图模型的知识读者可以查看机器学习与模式识别(PRML)一书的第八章。
马尔科夫模型
隐马尔科夫模型
举个例子
HMM的组成部分
HMM的三个基本问题
计算likelihood: 前向算法
解码问题:Viterbi算法
HMM的训练:前向后向算法
期望最大化(Exoectation maximization, EM)算法可以用于含有隐变量的统计模型的参数最大似然估计.
它的核心思想是:
- 初始时随机地给模型的参数赋值,该赋值遵循模型对参数的限制.而后我们将得到模型的参数μ0.
- 根据μ0求得模型中隐变量的期望值.
- 由该期望值又可以重新得到模型参数的新估计值,由此得到模型的新参数μ1.
- 循环进行该过程,知道参数收敛于最大似然估计值.
这里我们介绍EM算法的一种具体实现方法,称之为Baum-Welch算法或前向后向算法.
HMM的训练问题的应用——HMM状态转移矩阵的确定
确定状态转移矩阵,是执行解码问题的基础。
而状态转移矩阵的确定即等价于HMM的训练问题(即状态转移矩阵u=max(P(u|O))),从语音特征序列中利用EM算法学习得到状态转移矩阵。
HMM的解码问题的应用——语音特征序列到状态转移序列
【该部分参考博文https://blog.youkuaiyun.com/stdcoutzyx/article/details/8522078】
说了这么多,HMM到底有什么应用呢?
HMM一开始是在信息论中应用的,后来才被应用到自然语言处理还有其他图像识别等各个方面。下面举两个例子说明他的应用,一个是输入法的整句解码,一个是语音识别。有图为证:
- 输入法把拼音看做是观察状态,需要得到的汉字为隐藏状态,这样,输入法的整句解码就变成了维特比解码,其转移概率即是二元语言模型,其输出概率即是多音字对应不同拼音的概率。
- 将上图中的拼音换成语音,就成了语音识别问题,转移概率仍然是二元语言模型,其输出概率则是语音模型,即语音和汉字的对应模型。