zoukankan      html  css  js  c++  java
  • 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>

       

       

    在这个特定的HmmTopology对象中有一个TopologyEntry,它涵盖了音素18(因此在这个例子中只有8个音素,它们都共享相同的拓扑结构)。有三种发射状态(即具相关pdf以及'发射态'特征向量的状态);每个状态都有一个自环以及一个到下一个状态的转移。第四种状态是不发射状态,状态3(没有<PdfClass>条目),没有任何转移(它隐式地连接到序列中的下一个音素)。这是这些拓扑条目的标准功能; Kaldi将第一个状态(状态0)视为开始状态,而最后一个状态应始终为不发送状态,并且没有任何状态转换,最终状态具有最终概率状态。您可以将转换概率视为最后一个状态,等同于HMM中的"最终概率"。所有在这个例子中发布的状态都可以有不同的pdf(因为PdfClass的数字都是不同的)。我们可以通过使<PdfClass>数字相同来强制绑定。 HmmTopology对象中给出的概率是用于初始化训练的概率;训练的概率特定于上下文相关的HMM并存储在TransitionModel对象中。 TransitionModelHmmTopology对象存储为类成员,但请注意,在初始化TransitionModel对象后,通常不会使用HmmTopology对象中的转换概率。但是,有一个例外,对于非最终状态的非发送状态(即那些有过渡状态但没有<PdfClass>条目的状态),Kaldi不会训练转移概率,而是使用HmmTopology对象中给出的概率。不支持非发射状态的可训练转移概率的决定简化了我们的训练机制,并且由于非转移状态下的非发射状态是不正常的,我们认为这不是很大的损失。

       

    转移模型(TransitionModel类)

    TransitionModel对象存储转换概率和有关HMM拓扑的信息(包含HmmTopology对象)。图构建代码依赖于TransitionModel对象,以获取拓扑和转换概率(它还需要ContextDependencyInterface对象来获取与特定语音上下文相关联的pdf-id)。

    Kaldi是如何对转移概率(TransitionModel类)建模的

       

    关于转移模型相关代码的设定如下:

    上下文相关HMM状态的转换概率取决于以下五项(可以视为五元组):

    • 音素(所在的HMM
    • HMM状态(由HmmTopology对象表示,通常为0,12
    • 正向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,但也可以映射到音素和原始(prototypeHMM中的特定转移(如HmmTopology对象中给出的)。

       

       

  • 相关阅读:
    第二周c语言PTA作业留
    2018第零次作业
    总结报告
    第14/15周作业
    第七周作业
    第六周作业
    第四次作业
    第三次作业
    大学第二次作业
    大学的第一次作业
  • 原文地址:https://www.cnblogs.com/JarvanWang/p/9152615.html
Copyright © 2011-2022 走看看