<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拓扑与转移模型的更多相关文章

  1. NLP —— 图模型(一)隐马尔可夫模型(Hidden Markov model,HMM)

    本文简单整理了以下内容: (一)贝叶斯网(Bayesian networks,有向图模型)简单回顾 (二)隐马尔可夫模型(Hidden Markov model,HMM) 写着写着还是写成了很规整的样 ...

  2. 概率图模型学习笔记:HMM、MEMM、CRF

    作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  3. HMM,MEMM,CRF模型的比较

    本文参考自:http://blog.csdn.net/happyzhouxiaopei/article/details/7960876 这三个模型都可以用来做序列标注模型.但是其各自有自身的特点,HM ...

  4. 机器学习中的隐马尔科夫模型(HMM)详解

    机器学习中的隐马尔科夫模型(HMM)详解 在之前介绍贝叶斯网络的博文中,我们已经讨论过概率图模型(PGM)的概念了.Russell等在文献[1]中指出:"在统计学中,图模型这个术语指包含贝叶 ...

  5. 机器学习理论基础学习13--- 隐马尔科夫模型 (HMM)

    隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的,而是美国数学家鲍姆提出的,隐含马尔可夫模型的训练方法(鲍姆-韦尔奇算法)也是以他名字命名的.隐含马尔可夫模型一直被认为是解决大多数自然语言处理问题最为 ...

  6. 【中文分词】二阶隐马尔可夫模型2-HMM

    在前一篇中介绍了用HMM做中文分词,对于未登录词(out-of-vocabulary, OOV)有良好的识别效果,但是缺点也十分明显--对于词典中的(in-vocabulary, IV)词却未能很好地 ...

  7. 机器学习&数据挖掘笔记_25(PGM练习九:HMM用于分类)

    前言: 本次实验是用EM来学习HMM中的参数,并用学好了的HMM对一些kinect数据进行动作分类.实验内容请参考coursera课程:Probabilistic Graphical Models 中 ...

  8. 从决策树学习谈到贝叶斯分类算法、EM、HMM --别人的,拷来看看

    从决策树学习谈到贝叶斯分类算法.EM.HMM     引言 最近在面试中,除了基础 &  算法 & 项目之外,经常被问到或被要求介绍和描述下自己所知道的几种分类或聚类算法(当然,这完全 ...

  9. 从决策树学习谈到贝叶斯分类算法、EM、HMM

    从决策树学习谈到贝叶斯分类算法.EM.HMM                (Machine Learning & Recommend Search交流新群:172114338) 引言 log ...

随机推荐

  1. vue2.0项目实战(2)使用 vue-cli 搭建项目

    Vue-cli是官方推荐的快速构建单页应用的脚手架.官方给的建议,如果你是初次尝试Vue,哪就老老实实用普通的书写引入js文件,这里牵扯太多的东西,例如webpack .npm .nodejs 等等, ...

  2. 面试集——redis

    背景:该贴主要用来记面试过程中redis相关的问题,方便后期回顾. 为什么说Redis是单线程的以及Redis为什么这么快! https://blog.csdn.net/xlgen157387/art ...

  3. 高DPI下界面错乱的解决方法和原理

    来源: http://bbs.csdn.net/topics/370177760 我在win32 + c写的界面中解决办法,就是把字体的字号给固定了,这样做的结果就是,不管dpi是否有改变,界面中控件 ...

  4. 在android模拟器上http 链接的图片地址可能不会显示

    AndroidStudio将targetSDK升为28后,http请求会无反应.Google表示,为保证用户数据和设备的安全,针对下一代 Android 系统(Android P) 的应用程序,将要求 ...

  5. 异步ztree 加复选框 及相应后台处理

    异步加载 tree,点一下节点,就发一下请求到后台,然后显示出得到的当前层级节点 <!DOCTYPE html> <html> <head> <meta ch ...

  6. 原生JS实现jquery的ready

    function ready(fn){ if(document.addEventListener){ //标准浏览器 document.addEventListener('DOMContentLoad ...

  7. Python 的内置函数

    函数 功能 示例 示例结果 abs(x) 返回x的绝对值 abs(-2) 2 chr(x) 返回整数x所代表的字符 chr(65) A divmod(x,y) 返回x除以y的商和余数的元组 divmo ...

  8. (Set){A} + {B} hdu1412

    {A} + {B} 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1412   Problem Description 给你两个集合,要求{A} + {B} ...

  9. bzoj3237 cdq分治+可撤销并查集

    https://www.lydsy.com/JudgeOnline/problem.php?id=3237 年轻的花花一直觉得cdq分治只能用来降维,不料竟然可以用来分治询问 N<=100000 ...

  10. bzoj1106 树状数组

    https://www.lydsy.com/JudgeOnline/problem.php?id=1106 一个叫做立方体大作战的游戏风靡整个Byteotia.这个游戏的规则是相当复杂的,所以我们只介 ...