码迷,mamicode.com
首页 > 其他好文 > 详细

简明GMM-HMM语音识别模型

时间:2014-06-05 12:27:52      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:c   style   blog   a   http   tar   

本文简明讲述GMM-HMM在语音识别上的原理,建模和测试过程。这篇blog只回答三个问题:

1. 什么是Hidden Markov Model

2. GMM是神马?怎样用GMM求某一音素(phoneme)的概率?

3. GMM+HMM大法解决语音识别



首先声明我是做视觉的不是做语音的,迫于**需要24小时速成语音。上网查GMM-HMM资料中文几乎为零,英文也大多是paper。苦苦追寻终于貌似搞懂了GMM-HMM,本文结合最简明的概括还有自己一些理解应运而生,如有错误望批评指正。


====================================================================



1. 什么是Hidden Markov Model

bubuko.com,布布扣

ANS:一个有隐节点(unobservable)和可见节点(visible)的马尔科夫过程(见详解)。

隐节点表示状态,可见节点表示我们听到的语音或者看到的时序信号。

最开始时,我们指定这个HMM的结构,训练HMM模型时:给定n个时序信号y1...yT(训练样本), 用MLE(typically implemented in EM) 估计参数:

1. N个状态的初始概率

2. 状态转移概率a

3. 输出概率b

--------------

  • 在语音处理中,一个word由若干phoneme(音素)组成;
  • 每个HMM对应于一个word或者音素(phoneme)
  • 一个word表示成若干states,每个state表示为一个音素







---------------------------------------------------------------------


2. GMM是神马?怎样用GMM求某一音素(phoneme)的概率?

2.1 简单理解混合高斯模型就是几个高斯的叠加。。。e.g. k=3

bubuko.com,布布扣

2.2 GMM for state sequence 

每个state有一个GMM,包含k个高斯模型参数。如”hi“(k=3):

PS:sil表示silence(静音)

bubuko.com,布布扣

其中,每个GMM有一些参数,就是我们要train的输出概率参数

bubuko.com,布布扣

只要已知了这些参数,我们就可以在predict(识别)时在给定input sequence的情况下,计算出一串状态转移的概率。如上图要计算的state sequence 1->2->2概率:

bubuko.com,布布扣





3. GMM+HMM大法解决语音识别

我们获得observation是语音waveform, 以下是一个词识别全过程:

1. 将waveform切成等长frames,对每个frame提取特征(e.g. MFCC), 

2.对每个frame的特征跑GMM,得到每个frame(o_i)属于每个状态的概率b_state(o_i)


bubuko.com,布布扣


3. 根据每个单词的HMM状态转移概率a计算属于该词的概率(如上图最后一行);那个词的HMM跑出来概率最大,就判断这段语音属于该词


宏观图:

bubuko.com,布布扣

(from Encyclopedia of Information Systems, 2002)








本文太过简略,只为科普。欢迎关注Rachel____Zhang






简明GMM-HMM语音识别模型,布布扣,bubuko.com

简明GMM-HMM语音识别模型

标签:c   style   blog   a   http   tar   

原文地址:http://blog.csdn.net/abcjennifer/article/details/27346787

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!