首页 > 其他分享 >GMM-HMM在语音中的训练及和预测的简要流程

GMM-HMM在语音中的训练及和预测的简要流程

时间:2023-05-29 10:58:57浏览次数:48  
标签:状态 简要 GMM 模型 HMM 序列 音素

GMM-HMM:包含3个状态,每个状态由一个GMM混合高斯分布(u,D,pi),每个混合高斯分布包含pi个高斯函数

 单个因素的训练过程

trainging训练阶段:

1. 每个triphone三音子对应一个GMM-HMM。训练时先对齐 找到每个triphone(GMM-HMM)的音频特征MFCC序列X,

2. 还要分别确定MFCC序列X里哪些序列属于当前GMM-HMM状态s1、s2、s3。

3. 确认好每个状态s(GMM)对应的特征序列后,即可由EM算法进行训练更新HMM-GMM的参数。

predict预测阶段

1. 计算输入MFCC序列X属于每个GMM-HMM的概率,最大的概率即是预测得到的triphone三因子。

2. 计算X输入每一个GMM-HMM的概率时,同样先进行对齐alignment(确认X中哪些序列属于状态s1、s2、s3),穷举所有的对齐方式,然后概率相加。

下图是一个示例计算GMM-HMM产生X的概率,列了2个对齐,a、b、c是HMM的三个状态。

                  来源:李宏毅2020语音识别课程

 

一个完整音频句子 GMM-HMM算法声学模型的大概思路!~~~

声学模型的目的是将经MFCC提取的所有帧的特征向量转化为有序的音素输出。概述如下:

我们都知道HMM模型里面有隐含状态概念。我们需要弄明白音素HMM模型的隐含状态与一个音素之间的关系,通常一个音素含有3到5个状态,如果一个 包含代表一个音素的HMM模型 有5个状态(1,2,3,4,5),在对应一个音素的状态序列可以有1122333455(共10帧),序列的状态数(10帧)可以大于实际定义的HMM状态数(5),更具体的可以举例如下,

假如音素ah,每一帧用一个状态表示,但是连续多帧可以同属于一个状态,如下图所示,1-6帧同属于一个状态S1029,7-10帧同属于状态S124,11-16帧同属于状态S561:

 

GMM的作用:GMM主要是为了得到HMM求解过程的发射概率。

HMM的作用:就是根据各个概率得到最优的音素,单词以及句子序列!~~~

音素HMM模型

 

单词HMM模型:英文SIX(s ih k s)由4个音素组成,每个音素又由3状态的HMM构成(连接时头和尾状态要去掉),那么整个SIX的HMM就下图所示(Sb代表第一个音素‘s’的开始阶段的状态): 

句子的HMM模型也就是将所有的音素HMM状态进行串联起来

贴个图,大家可以看一下

 上面所说的是单音素(monophone)HMM模型,为了考虑上下文相关,通常采用三音素(triphone)模型,三音素HMM模型中HMM的个数比单音素更多;原本在英文识别中大概有50多个音素,单音素状态下,只需要建立50多个HMM模型,如果使用三音素模型将会出现几千个HMM模型!~~~如SIX在三音素模型中将s-hi, s-hi-k,hi-k-s,k-s, s ....,这样将所有的音素都按照关联构建三音素模型将造成HMM模型个数指数增长!为了压缩建模单元数量,状态绑定的技术被大量使用,它使得发音类似的状态用一个模型表表示,从而减少了参数量。状态绑定的技术可以使用专家手工编撰的规则,也可以使用数据驱动的方式。具体绑定形式如下图所示:

 

标签:状态,简要,GMM,模型,HMM,序列,音素
From: https://www.cnblogs.com/wieneralan/p/17439772.html

相关文章

  • Linux部署ArcGIS Server 10.7.1简要手册
    一、经过测试可以正常安装并运行ArcGISServer10.7.1的发行版:CentOS7.9,Ubuntu/UbuntuServer22.04.2LTS,RedhatEnterpriseLinux9.1二、ArcGISServer使用的端口:6443,6080,6006,1098,6099,确保这些端口没有被其他程序占用,否则安装完毕之后,管理页面无法打开,详情见官方链接查看......
  • WEB漏洞—简要SQL注入
    前言:在本系列课程学习中,SQL注入漏洞将是重点部分,其中SQL注入又非常复杂,区分各种数据库类型,提交方法,数据类型等注入,需要按部就班的学习,才能学会相关SQL注入的核心。同样此类漏洞是WEB安全中严重的安全漏洞,学习如何利用,挖掘,修复也是很重要的。 SQL注入安全测试中危害:危害数据和......
  • 简要介绍django框架
    Django是一个高级的PythonWeb框架,它鼓励快速开发和干净、实用的设计。Django遵循MVC(模型-视图-控制器)设计模式,使得开发者能够更轻松地组织代码和实现功能。以下是Django框架的一些主要组件:模型(Model):模型是数据的抽象表示,用于定义数据结构。在Django中,模型通常与数据库表相对......
  • Windows的disk报错代码153和SCSI代码简要分析
    SCSI报错代码示例Windows服务器上频繁出现event上来源为disk,ID为153的事件,并且影响到了数据库业务的正常运行。点击该事件的详细信息,可以看到对应的SCSI读写请求及其状态。上文scsi的译义如下:offset29SCSISatus为00,译义为SCSISTAT_GOOD,对应SCSI端口和驱动。offset30S......
  • GYM102392 简要题解
    自己下午闲着没事单挑了一下,两小时左右一度rk1,但后继无力了。。。。A.MaxorMin肯定沿着出现过的数操作;然后发现如果a[i]=k,a[j]>k,a[k]<k就会增加一次操作所以维护一下差分序列即可。B.LevelUp两维DP,这个疑似edu出过。要注意的是:需要关于x排个序,不然会漏一些转移。D.......
  • json Web Token技术简要分析
    JsonWebToken是一个开发标准,用于作为json对象在各方之间安全等传输信息,该信息可以被验证和信任,因为是数字签名的。应用场景Authorization(授权):一旦用户登录,后续每个请求都会包含jwt,允许该用户访问令牌允许的路由,服务和资源。单点登录是现在广泛使用jwt的一个场景,因为其开销小,并......
  • HMM隐马尔科夫时间序列预测/Markov马尔科夫时间序列预测(Matlab)
    HMM隐马尔科夫时间序列预测/Markov马尔科夫时间序列预测(Matlab)1.所有程序经过验证,保证可以运行2.程序包括源码(主程序一个,子函数两个)和数据集;3.程序适用于单变量时间序列预测。注意:HMMP为主程序、data为数据集,其余m文件为函数文件,运行主文件HMMP即可。ID:9699682045374740......
  • AtCoder Regular Contest 159简要题解
    AtCoderRegularContest159传送门A-CopyandPasteGraph图的邻接矩阵为\[\left(\begin{matrix}A&A&\cdots&A\\A&A&\cdots&A\\\cdots&\cdots&\cdots&\cdots\\A&A&\cdots&A\e......
  • ABC G Ex 简要题解
    ABC212GPowerPair推柿子题\(\sum\limits_{x}^{P-1}\sum\limits_{y}^{P-1}\existsn\in\mathbb{N}\x^n\equivy(\bmodP)\)\(1+\sum\limits_{x=1}^{P-1}\sum\limits_{y=1}^{P-1}\existsn\in\mathbb{N}\x^n\equivy(\bmodP)\)考虑模\(P\)......
  • HMM模型原理
    隐马尔可夫模型(HiddenMarkovModel,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。隐马尔可夫模型(HMM)可以用五个元素来描述,包括2个状态集合和3个概率矩阵:1.隐含状态S、2.可观测状态O、3.初始状态概率矩阵π、......