3.3 序列与模型
我们可以将前文讨论的马尔可夫链看作一段能够生成可观察输出的序列。因为它的输出和每一个状态都一一对应,所以又被称为可观察马尔可夫序列。其中,每一个给定的状态都唯一对应一种观察值或事件,没有任何随机性。正是由于马尔可夫链缺乏这种随机性,所以用它来描述很多真实世界的信息显得过于局限。
作为马尔可夫链的一种扩展,隐马尔可夫序列在各个状态中都引入了一种随机性。隐马尔可夫序列在马尔可夫链的基础上,用一个观察的概率分布与每一个状态对应,而不是用一个确定的观察值或事件。这样的马尔可夫序列引入了双重随机性,使得马尔可夫链不再能被直接观察。隐藏在隐马尔可夫序列下的马尔可夫链只能通过一个单独的观察概率分布函数简捷表露出来。
要注意的是,如果各个状态的观察概率分布都没有任何重叠,那么这样的序列便不是一个隐马尔可夫序列。这是因为,尽管在状态中有了随机性,但对一个特定状态而言,由于概率分布没有重叠,某个固定范围内的观察值总能找到唯一的状态与之对应。在这种情况下,隐马尔可夫序列退化成了马尔可夫序列。在文献[7, 45]中有更多详尽的阐述,讨论马尔可夫链和其概率函数或隐马尔可夫序列的关系。
当隐马尔可夫序列被用来描述现实信息时,比如拟合这种信息的统计特征,我们称之为隐马尔可夫模型。HMM非常成功地被应用于语音处理领域,其中包括语音识别、语音合成与语音增强[44, 45, 60, 72, 91~103]。在这些应用中,HMM是一种强大的模型,它能够描述语音信号中不平稳但有规律可学习的空间变量。HMM之所以成为关键的语音声学模型,是由于它具有顺序排列的马尔可夫状态,这使得HMM能够分段地处理短时平稳的语音特征,并以此来逼近全局非平稳的语音特征序列。我们将在3.6节中讨论一些非常有效率的算法,来优化局部短时平稳结构的边界。
3.3.1 隐马尔可夫模型的性质
现在,我们将从隐马尔可夫模型(HMM)的基本组成和参数等方面,给出HMM的性质。
1. 齐次马尔可夫链的转移概率矩阵A=[aij], i, j=1, 2, ..., N,其中共有N个状态
aij=P(qt=j|qt−1=i), i, j=1, 2, …, N (3.6)
2. 马尔可夫链的初始概率:π=[πi], i=1, 2, …, N,其中,πi=P(q1=i)。
3. 观察概率分布为P(ot|s(i)), i=1, 2, ..., N。若ot是离散的,那么每个状态对应的概率分布都用来描述{v1, v2, …, vK}的观察概率:
bi(k)=P(ot=vk|qt=i), i=1, 2, …, N (3.7)
若观察概率分布是连续的,那么概率密度函数(Probability Density Function,PDF)中的参数Λi即可代表HMM中状态i的特性。在语音处理问题中,我们用HMM下的PDF来描述连续观察向量的概率分布,其中多元混合高斯分布是最成功、应用最广泛的PDF:
在混合高斯HMM中,参数集Λi包括混合成分的权重ci, m,高斯分布的均值向量,高斯分布协方差矩阵。
当混合成分数降至M=1时,该状态下的输出概率分布便退化成高斯分布
且对应的HMM通常叫作单高斯(连续密度)HMM。
有了模型参数后,高斯HMM可以被看作一个观察值序列ot, t=1, 2, ..., T的生成器。这样,在t时刻,数据根据公式
ot=µi+rt(Σi) (3.10)
生成,其中时刻t的状态i取决于马尔可夫链的演变,受aij影响,且
是均值为0,依赖序号i的IID(独立同分布)的高斯剩余序列。因为剩余序列rt(Σi)是独立同分布的,并且µi在给定i时是常量(即不随时间变化而变化),所以它们二者的和(也就是观察值ot)也是独立同分布的。因而,上面讨论的HMM会生成一个局部或者分段平稳的序列。由于我们所关注的时间局部性来源于HMM中的状态,我们有时会用“平稳状态HMM”这一名称来明确描述这种性质。
有一个对平稳状态的HMM的简单扩展,可以使其观察序列不再是状态限制下的IID。我们可以修改公式(3.10)中的常量µi,使其随时间而变化:
ot=gt(Λi)+rt(Σi) (3.12)
其中,在马尔可夫链的状态i下,确定性的时间变化轨迹函数gt(Λi)中的参数Λi是独立的,这便是(高斯)趋势HMM(trended HMM)[57, 59, 98, 103-110]。这是一种特殊的非平稳状态的HMM,其中一阶统计量(均值)是随时间变化的,这样便不再符合平稳性的基本条件。
3.3.2 隐马尔可夫模型的仿真
当按照公式(3.10)用隐马尔可夫模型对信息源建模时,我们可以用它来生成数据样本,这就是给定HMM模型参数下的仿真问题。我们用{A, π, B}表示离散HMM的模型参数,用{A, π, Λ}表示连续HMM的参数。仿真的结果就是按照HMM的统计规律生成观察序列,。算法3.1描述了这个仿真过程。
3.3.3 隐马尔可夫模型似然度的计算
似然度(Likelihood)的计算在语音处理应用中是一项基本任务,用隐马尔可夫序列估计语音特征向量的HMM也不例外。
设是GMM-HMM中的一个有限长度状态序列,是观察序列和状态序列的联合概率。令表示在状态序列的条件下生成观察序列的概率。
在GMM-HMM中,条件概率应表示如下:
状态序列的概率为转移概率的乘积,即
在本章中,为了记号上的简便,我们考虑初始状态分布的概率为1,即πq1=1。
注意到联合概率,可以通过公式(3.13)和公式(3.14)之乘积得到:
原则上,可以通过累加所有可能的状态序列下的联合概率公式(3.15),来计算总体的观察序列似然度,即
然而,这个运算在长度为T的观察序列下是指数级的运算复杂度,因而直接计算是不可行的。在下一节,我们将描述前向算法[111],该算法计算的HMM中的复杂度与T是线性的。
3.3.4 计算似然度的高效算法
为了描述这个算法,我们先定义马尔可夫链每个状态i下的前向概率
前向概率和后向概率可以递归地按如下方法计算:
这两个递归公式的证明将在后面给出。根据公式(3.17)的定义,α递归式的初值为
且为了可以根据公式(3.18)正确地计算βT−1,β递归式的初值设为
βT(i)=1, i=1, 2, ..., N (3.22)
为了计算公式(3.16)中的,我们利用公式(3.17)和公式(3.18),对于每个状态i与t=1, 2, ..., T,先计算
注意到是因为观察值在给定HMM状态下是独立同分布的。这样,可以按照公式
来计算。将t=T代入公式(3.24),并结合公式(3.22),可以得出
因此,严格地说,β的递归计算对前向计算HMM得分并不是必需的,因而这个算法常叫作前向算法。然而,β的计算是估计模型参数的必要步骤,这将在下一节介绍。
3.3.5 前向与后向递归式的证明
这里给出了公式(3.19)与公式(3.20)递归式的证明。用到了概率论、贝叶斯公式、马尔可夫性质及HMM的条件独立的性质。
对前向概率递归,有
对后向概率递归,则有