GMM-HMM语音识别原理详解

上传人:灯火****19 文档编号:142981446 上传时间:2020-08-25 格式:PDF 页数:14 大小:667.78KB
返回 下载 相关 举报
GMM-HMM语音识别原理详解_第1页
第1页 / 共14页
GMM-HMM语音识别原理详解_第2页
第2页 / 共14页
GMM-HMM语音识别原理详解_第3页
第3页 / 共14页
GMM-HMM语音识别原理详解_第4页
第4页 / 共14页
GMM-HMM语音识别原理详解_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《GMM-HMM语音识别原理详解》由会员分享,可在线阅读,更多相关《GMM-HMM语音识别原理详解(14页珍藏版)》请在金锄头文库上搜索。

1、 本文简明讲述 GMM-HMM 在语音识别上的原理,建模和测试过程。 1. 什么是 Hidden Markov Model? HMM 要解决的三个问题: 1) Likelihood 2) Decoding 3) Training 2. GMM 是什么?怎样用 GMM 求某一音素( phoneme )的概率? 3. GMM+HMM 大法解决语音识别 3.1 识别 3.2 训练 3.2.1 Training the params of GMM 3.2.2 Training the params of HMM = 1. 什么是 Hidden Markov Model? ANS:一个有隐节点( uno

2、bservable )和可见节点( visible)的马尔科夫过程(见详解)。 隐节点表示状态,可见节点表示我们听到的语音或者看到的时序信号。 最开始时,我们指定这个 HMM 的结构,训练 HMM 模型时:给定 n 个时序信号 y1.yT (训 练样本), 用 MLE(typically implemented in EM) 估计参数: 1. N 个状态的初始概率 2. 状态转移概率 a 3. 输出概率 b - 在语音处理中,一个 word 由若干 phoneme (音素)组成; 每个 HMM 对应于一个 word 或者音素( phoneme ) 一个 word 表示成若干 states ,每

3、个 state表示为一个音素 用 HMM 需要解决 3 个问题: 1) Likelihood: 一个 HMM 生成一串 observation序列 x 的概率 ANS:一个有隐节点( unobservable )和可见节点( visible)的马尔科夫过程(见详解)。 隐节点表示状态,可见节点表示我们听到的语音或者看到的时序信号。 最开始时,我们指定这个 HMM 的结构,训练 HMM 模型时:给定 n 个时序信号 y1.yT (训 练样本), 用 MLE(typically implemented in EM) 估计参数: 1. N 个状态的初始概率 2. 状态转移概率 a 3. 输出概率 b

4、 - 在语音处理中,一个 word 由若干 phoneme (音素)组成; 每个 HMM 对应于一个 word 或者音素( phoneme ) 一个 word 表示成若干 states ,每个 state表示为一个音素 用 HMM 需要解决 3 个问题: 1) Likelihood: 一个 HMM 生成一串 observation序列 x 的概率 然后根据记录的最可能转移状态序列 进行回溯: 然后根据记录的最可能转移状态序列 进行回溯: 然后根据记录的最可能转移状态序列 进行回溯: 其中 只要已知了这些参数,我们就可以在predict (识别)时在给定 input sequence 的情况下,

5、计 算出一串状态转移的概率。如上图要计算的state sequence 1-2-2 概率: fig5. probability of S1-S2-S3 given o1-o2-o3 - GMM+HMM 大法解决语音识别 #e# 3. GMM+ HMM 大法解决语音识别 我们获得 observation是语音 waveform, 以下是一个词识别全过程: 1)将 waveform切成等长 frames,对每个 frame提取特征( e.g. MFCC), 2)对每个 frame的特征跑 GMM ,得到每个 frame (o_i)属于每个状态的概率 b_state (o_i) fig6. comp

6、lete process from speech frames to a state sequence 3)根据每个单词的 HMM 状态转移概率 a计算每个状态 sequence 生成该 frame的概率 ; 哪 个词的 HMM 序列跑出来概率最大,就判断这段语音属于该词 宏观图: fig7. Speech recognition , a big framework 好了,上面说了怎么做识别。那么我们怎样训练这个模型以得到每个GMM 的参数和 HMM 的转移概率什么的呢? Training the params of GMM GMM 参数:高斯分布参数: 从上面 fig4 下面的公式我们已经可

7、以看出来想求参数必须要知道P(j|x),即, x 属于第 j 个高斯的概率。怎么求捏? fig8. bayesian formula of P ( j | x ) 根据上图 P(j | x), 我们需要求 P(x|j)和 P(j)去估计 P(j|x)。 这里由于 P(x|j)和 P(j)都不知道,需要用 EM 算法迭代估计以最大化 P(x) = P(x1) *p(x2)*.。.*P(xn): A. 初始化(可以用 kmeans )得到 P(j) B. 迭代 E(estimate )-step: 根据当前参数 (means , variances , mixing parameters )估计

8、P(j|x) M(maximization)-step: 根据当前 P(j|x) 计算 GMM 参数(根据 fig4 下面的公式:) 其中 Training the params of HMM 前面已经有了 GMM 的 training 过程。在这一步,我们的目标是:从observation序列中估 计 HMM 参数; 假设状态 -observation服从单核高斯概率分布: 则由两部分组成: fig8. bayesian formula of P ( j | x ) 根据上图 P(j | x), 我们需要求 P(x|j)和 P(j)去估计 P(j|x)。 这里由于 P(x|j)和 P(j)都

9、不知道,需要用 EM 算法迭代估计以最大化 P(x) = P(x1) *p(x2)*.。.*P(xn): A. 初始化(可以用 kmeans )得到 P(j) B. 迭代 E(estimate )-step: 根据当前参数 (means , variances , mixing parameters )估计 P(j|x) M(maximization)-step: 根据当前 P(j|x) 计算 GMM 参数(根据 fig4 下面的公式:) 其中 Training the params of HMM 前面已经有了 GMM 的 training 过程。在这一步,我们的目标是:从observatio

10、n序列中估 计 HMM 参数; 假设状态 -observation服从单核高斯概率分布: 则由两部分组成: fig8. bayesian formula of P ( j | x ) 根据上图 P(j | x), 我们需要求 P(x|j)和 P(j)去估计 P(j|x)。 这里由于 P(x|j)和 P(j)都不知道,需要用 EM 算法迭代估计以最大化 P(x) = P(x1) *p(x2)*.。.*P(xn): A. 初始化(可以用 kmeans )得到 P(j) B. 迭代 E(estimate )-step: 根据当前参数 (means , variances , mixing param

11、eters )估计 P(j|x) M(maximization)-step: 根据当前 P(j|x) 计算 GMM 参数(根据 fig4 下面的公式:) 其中 Training the params of HMM 前面已经有了 GMM 的 training 过程。在这一步,我们的目标是:从observation序列中估 计 HMM 参数; 假设状态 -observation服从单核高斯概率分布: 则由两部分组成: 对于中的状态转移概率 aij, 定义 C(Si-Sj)为从状态 Si 转到 Sj 的次数,有 实际计算时,定义每一时刻的转移概率 为时刻 t 从 si-sj 的概率: 那么就有: 把 HMM 的 EM 迭代过程和要求的参数写专业点,就是这样的:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号