HMM拓扑与转移模型
<Topology>
<TopologyEntry>
<ForPhones> 1 2 3 4 5 6 7 8 </ForPhones>
<State> 0 <PdfClass> 0
<Transition> 0 0.5
<Transition> 1 0.5
</State>
<State> 1 <PdfClass> 1
<Transition> 1 0.5
<Transition> 2 0.5
</State>
<State> 2 <PdfClass> 2
<Transition> 2 0.5
<Transition> 3 0.5
</State>
<State> 3
</State>
</TopologyEntry>
</Topology>
到8(因此在这个例子中只有8个音素,它们都共享相同的拓扑结构)。有三种发射状态(即具相关pdf以及'发射态'特征向量的状态);每个状态都有一个自环以及一个到下一个状态的转移。第四种状态是不发射状态,状态3(没有<PdfClass>条目),没有任何转移(它隐式地连接到序列中的下一个音素)。这是这些拓扑条目的标准功能; Kaldi将第一个状态(状态0)视为开始状态,而最后一个状态应始终为不发送状态,并且没有任何状态转换,最终状态具有最终概率状态。您可以将转换概率视为最后一个状态,等同于HMM中的"最终概率"。所有在这个例子中发布的状态都可以有不同的pdf(因为PdfClass的数字都是不同的)。我们可以通过使<PdfClass>数字相同来强制绑定。 HmmTopology对象中给出的概率是用于初始化训练的概率;训练的概率特定于上下文相关的HMM并存储在TransitionModel对象中。 TransitionModel将HmmTopology对象存储为类成员,但请注意,在初始化TransitionModel对象后,通常不会使用HmmTopology对象中的转换概率。但是,有一个例外,对于非最终状态的非发送状态(即那些有过渡状态但没有<PdfClass>条目的状态),Kaldi不会训练转移概率,而是使用HmmTopology对象中给出的概率。不支持非发射状态的可训练转移概率的决定简化了我们的训练机制,并且由于非转移状态下的非发射状态是不正常的,我们认为这不是很大的损失。
转移模型(TransitionModel类)
TransitionModel对象存储转换概率和有关HMM拓扑的信息(包含HmmTopology对象)。图构建代码依赖于TransitionModel对象,以获取拓扑和转换概率(它还需要ContextDependencyInterface对象来获取与特定语音上下文相关联的pdf-id)。
Kaldi是如何对转移概率(TransitionModel类)建模的
关于转移模型相关代码的设定如下:
上下文相关HMM状态的转换概率取决于以下五项(可以视为五元组):
- 音素(所在的HMM)
- )
- 正向pdf-id(即与状态相关的正向转换pdf的标识符)
- 自循环pdf-id(即与状态相关的自循环pdf的标识符)
- HmmTopology对象中的转换索引。
最后一项可被视为HmmTopology对象中的终止HMM状态的编码。转换概率取决于这些因素的原因是,在不增加编译解码图的大小的情况下,这是对转换建模的最细粒度的方式;训练转移概率也非常方便。实际上,对于传统的设置,对转换进行精确建模可能没有任何区别,并且在单音素级别共享转换的HTK方法可能就足够了。
为何使用转移ID
TransitionModel对象在初始化时设置了许多整数映射,并被代码的其他部分用来执行这些映射。除了上面提到的数量之外,还有一些数字称为转换标识符(transition-id)、转换索引(与转换id不同)以及转换状态(transition state)。我们引入这些标识符和相关映射的原因是我们可以使用完全基于FST的训练方法。基于最"原生"的FST支持在输入标签中表示pdf-id。但是,考虑到使用决策树算法,从pdf-id映射到音素并不总是唯一的,这将使得难以从输入标签序列映射到音素序列,这样由诸多不便,比如,难以仅使用FST中的信息来训练转换概率。出于这个原因,把transition-id的标识符放在FST的输入标签上,这些标识符可以映射到pdf-id,但也可以映射到音素和原始(prototype)HMM中的特定转移(如HmmTopology对象中给出的)。
HMM拓扑与转移模型的更多相关文章
- NLP —— 图模型(一)隐马尔可夫模型(Hidden Markov model,HMM)
本文简单整理了以下内容: (一)贝叶斯网(Bayesian networks,有向图模型)简单回顾 (二)隐马尔可夫模型(Hidden Markov model,HMM) 写着写着还是写成了很规整的样 ...
- 概率图模型学习笔记:HMM、MEMM、CRF
作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- HMM,MEMM,CRF模型的比较
本文参考自:http://blog.csdn.net/happyzhouxiaopei/article/details/7960876 这三个模型都可以用来做序列标注模型.但是其各自有自身的特点,HM ...
- 机器学习中的隐马尔科夫模型(HMM)详解
机器学习中的隐马尔科夫模型(HMM)详解 在之前介绍贝叶斯网络的博文中,我们已经讨论过概率图模型(PGM)的概念了.Russell等在文献[1]中指出:"在统计学中,图模型这个术语指包含贝叶 ...
- 机器学习理论基础学习13--- 隐马尔科夫模型 (HMM)
隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的.隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为 ...
- 【中文分词】二阶隐马尔可夫模型2-HMM
在前一篇中介绍了用HMM做中文分词,对于未登录词(out-of-vocabulary, OOV)有良好的识别效果,但是缺点也十分明显--对于词典中的(in-vocabulary, IV)词却未能很好地 ...
- 机器学习&数据挖掘笔记_25(PGM练习九:HMM用于分类)
前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类.实验内容请参考coursera课程:Probabilistic Graphical Models 中 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM --别人的,拷来看看
从决策树学习谈到贝叶斯分类算法.EM.HMM 引言 最近在面试中,除了基础 & 算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全 ...
- 从决策树学习谈到贝叶斯分类算法、EM、HMM
从决策树学习谈到贝叶斯分类算法.EM.HMM (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...
随机推荐
- 【CF1119D】Frets On Fire
题目大意:给定一个长度为 n 的序列,给定一个恒定的 w,求解 \[\sum\limits_{i=1}^{n}min\{d[i],w\}\] 题解:学会了对最小值和式的快速处理. 若在下标的角度考虑, ...
- Django(十一)请求生命周期之CBV与FBV
https://www.cnblogs.com/yuanchenqi/articles/8715364.html FBV FBV(function base views) 就是在视图里使用函数处理请求 ...
- BUG描述规范管理
BUG:软件系统中存在的可能导致系统出错.失效.死机等问题的错误或缺陷. 描述一个缺陷,需要以下核心要素 标题:用简洁的话描述该缺陷,主要让开发知道这是一个什么样的缺陷 参数设置:Bug的类型(功能/ ...
- python--数据类型bytes
在Python3以后,字符串和bytes类型彻底分开了.字符串是以字符为单位进行处理的,bytes类型是以字节为单位处理的. bytes数据类型在所有的操作和使用甚至内置方法上和字符串数据类型基本一样 ...
- 中性SNP的突变年龄评估(estimate the average age of a neutral two-allele polymorphism)
假设中性突变的频率分别为P和1-P,则其突变年龄为:-4Ne[p*( logep)+(1-p)* loge (1-p)] The average age of a neutral two-allele ...
- RabbitMQ入门-竞争消费者模式
上一篇讲了个 哈喽World,现在来看看如果存在多个消费者的情况. 生产者: package com.example.demo; import com.rabbitmq.client.Channel; ...
- poj 1523"SPF"(无向图求割点)
传送门 题意: 有一张联通网络,求出所有的割点: 对于割点 u ,求将 u 删去后,此图有多少个联通子网络: 对于含有割点的,按升序输出: 题解: DFS求割点入门题,不会的戳这里
- 动态样式语言—LESS基础知识
CSS是一门非程序式语言,缺少逻辑性,不便于维护 LESS在CSS现有语法的基础上,为CSS加入程序式语言的特性 引入了变量.混入.运算.函数等功能,大大简化CSS的编写,降低了CSS的维护成本 LE ...
- shell基础之bash
一直单单知道部署服务器等命令,shell语言还没有用心学习过,简单的学习下以供不时之需 .sh:bash脚本文件 很多时候需要多个命令来完成一项工作,而这个工作又常常是重复的,这个时候我们自然会想到将 ...
- 使用WinPcap(SharpPcap)实现ARP抓包以实现设备IP修改功能
参考上一篇: 使用WinPcap(SharpPcap)实现ARP抓包以实现设备IP搜索功能 搜索出设备后,需要修改设备IP网关掩码等信息 继续采用ARP包 getBas类似之前的,根据用户电脑的网卡物 ...