基于HMM的音频检索
- 格式:doc
- 大小:213.50 KB
- 文档页数:9
基于HMM的音频检索
隐马尔可夫模型(HMM)
3.1.1概述
隐马尔可夫模型简记为HMM(HiddenMarkovModel的缩写)。将此模型用来描述语音信号是80年代语音信号数字处理的一项重大进展,近十几年来,用此模型解决语音识别问题已取得了很大的进展。
在信号模型化问题上,线性预测模型和极零模型解决了非时变的平稳信号或短时平稳信号的模型化问题;隐马尔可夫模型则解决了时变的非平稳的信号或过程的模型化问题。由于语言的信息结构是多层次的,除了语音特性之外,还有音长、音调、能量等超音段信息,以及语法、句法等高层次语言结构的信息。HMM的特长就在于此:即它既可以描述瞬态的(随机过程)、又可以描述动态的(随机过程的转移)特性。所以能利用这些超音段和语言结构的信息。
下面我们给出一个“壶与彩球”的例子。
设有N个壶,每个壶中放了M种颜色许多彩球。(彩球数目不相等,表示从各壶取某色球的概率不相同)。先从N个壶中选定一个壶(初始状态),从中取出一个球,记下颜色,再放回去。然后,根据与当前壶相联系的转移概率分布及取出的彩球的结果,选择新壶再做试验.„,.这就是一个简单的HMM.。
3.1.2建模
设有一个称为“马尔可夫模型机”的离散时域有限态自动机,在每一个离散时刻,它只能处于有限多种状态中的某一种状态。假设允许出现的状态有L种,记之为:
。
若自动机在时刻。所处的状态用x。表示,那么x。只能等于s1-sl中的某一个,这可以表述为:
如果此机开始运行的时间起点定为n=1,那么在以后侮一时刻。它所处的状态以概率方式取决于初始状态概率矢量a和状态转移概率矩阵A。a是一个L维行矢量,即:
, 它的每一个分量表示等于的概率,这可以用下式表述
(3.1.1)
矩阵A是一个(L×L)维方阵,它的每一个元素用A。表示,它是己知相邻两个时刻中前一时刻的状态为si,的条件下后一时刻状态为sj的概率。这是一个条件概率,可表示如下:
(3.1.2)
显而易见,
可以看到,对于任何时刻n(n≥1),自动机的状态xn取si-sj中哪一种的概率只取决于前一时刻(n-1)所处的状态,而与更前的任何时刻所取的状态无关。这样由此产生的状态序列x1,x2,x3...是一条一阶马尔可夫链。如果自动机每个运行过程只完成(N-1)次状态转移,那么产生的是一条有限长度马尔可夫链x1,x2,..,xn,这可以用一个行矢量表示为X=(x1,x2,..,xn)。系统可能产生Ln种互异的有限马尔可夫链二。对于任何一个特定X,其出现概率pr [X/a,A]可以用下式计算(为简洁,始终用Pr [X]表示pr [X/a,A])
(3.1.3)
此系统在任何时刻n所处的状态xn。隐藏在系统内部,不为外界所见,外界只能得到系统在该状态下提供的实RQ空间中的一个随机列矢量
(3.1.4)
上述概率密度函数与。取何值无关,只取决于状态s,,因而可以直接用表示。L个概率密度函数构成一个L维行矢量如果矢量Y的维数为1,即Q=1,这时yn退化为一个实随机变量。由于此系统的状态不为外界所见,故称之为隐马尔可夫模型(HMM)系统。 假设一个HMM系统从n=1时刻开始运行,在n=1-N诸时刻所给出的N个随机矢量yn构成一个广义N维行矢量
称为一个输出序列矢量。对于HMM系统,它的每一次运行产生的马尔可夫链X外界是看不见的,可观测的只是Y。
一个HMM系统的特性由它的三个特征参数矢量或矩阵a,A,B完全确定。如果给定了此三者,那么该HMM系统产生任意一个Y的概率可以记为Py[a,A,B],并且能够用下式来计算(假设y。具有连续分布)
(3.1.5)
式中表示对所有可能出现的X取和。
用HMM来完成音频的各项研究课题时,需要解决下列三方面的问题。
(1) 若有一个HMM系统,需要根据该系统所给的若干输出Y来确定它的三项特征参数。设有M个输出,记为
。
下面将按照极大似然准则用此集合求出a,A,B。
(2) 若已知一个HMM系统的汽项特征参数,针对系统产生的任何Y计算Pr[a,A,B]。
(3) 若已知三项特征参数时,得到该系统产生的某个Y,需要估计该系统产生此Y时最可能经历的状态序列X。
3.1.3Y为一维矢量且具有连续正态概率密度函数时HMM系统三项问题的解
此时Yn退化为一个标量,它的概率密度函数为
(3.1.6)
其中是在状态为sl时系统输出的随机数yn的均值和方差。HMM的参数矢量B可用行矢量M=[m1..,mn]和来描述。
3.1.3.1a,A,M,E的极大似然估计值
(1)假设a,A为己知时,M和E的极大似然估计值 (3.1.7)
其中的是为了醒目地将和作为待定变量标示出来。
假设和是极大似然估计值,这可表示为
(3.1.8)
那么可以用迭代算法来求和。
首先引入两个新的变矢量和并且定义下列函数(3.1.9)
作为推导算法的第一步,我们给出一个定理。
定理3.1
若
则
当且仅当时,等号成立。这样迭代问题就归结为下列问题的解
(3.1.10)
为了求这个最大解,对式(3.1.9)作适当改写
(3.1.11)
定义:
(3_1.12)
(3.1.13)
那么式(3.1.11)可以表T成下列形式 (3.1.14)
将式(3.1.6)用于式(3.1.13)得到
(3.1.15)
当或时,以及或时,,这样只需令对以及的偏导数等于0,如果能求出唯一的解,必然是使达到极大值的解。
因为,解得:
(3.1.16)
(3.1.17)
下面讨论的计算。将式(3.1.3)代入式(3.1.12),得到
(3.1.18)
再定义下面一系列函数 (3.1.19)
(3.1.20)
容易证得
(3.1.21)
(2)对同时进行极大似然值估计
为了便于书写,仍用B表示M和。并记:
(3.1.22)
现在的任务是同时求出待定的特征参数a,A,B使P,[a,A,B]达到最大值。 类似(1)的方法,定义一个辅助函数,问题就转化为求辅助函数最大值的迭代计
算问题。类似地,可以解得:
(3.1.23)
第19贞硕士论文鹅于隐马尔可夫模型的音频检索
(3.1.24)
的解在前面已经给出。
这个算法被称为Baum-welch算法
3.1.3.2已知系统特征参数a,A,B时,对于任何Y计算Py[a,A,B]
根据式(3.1.5),(3.1.12)和(3.1.21),可以知道
(3.1.25)
其中n取[1-N]中的任意整数。
特殊地,令n=N,由于,式(3.1.25)可化为
(3.1.26)
其中an(1)可用式(3.1.19)递推计算而得到。
3.1.3.3已知a,A,B,对于HMM系统产生的某个Y估计该系统产生此Y时最可能经历的状态序列X。
对于某个Y,估计产生它的最可能状态序列X,实质上是计算并比较概率P[X/a,A,B;Y],最可能的X即使此概率达到最大者,它等于下面两个概率的比值P[X,Y/a,A,B]/P[Y/a,A,B]
由于其中的分母对所有的x都是相同的,因此只需要计算和比较其中的分子即可。
下面我们介绍Viterbi算法。
上述待求概率可以写成一F列显式
现在求一个状态序列x1,...,xN,使这一概率达到最大值。为此我们采用下面的递推算法。设在1,..,n。诸时刻中限定其中第。时刻的状态为X}=S,,而其他时刻的状态可以任意优选,那么可以找到一条由1至n的状态路径,使得出现此路径且系统输出为y1,...,yN,,的概率达到最大值。此概率最大值记为,并且用下式表示
(3.1.27)
如果知道了8?(i)便很容易用下式求出
(3.1.28)
此外,假设
(3.1.29)
表示取xn+1为sj的一条最优状态路径x1,...,xN中xN所取状态的标号。根据这些关系即可导出下列求出整条最佳状态路径x1,...,xN的算法。
(1)令
(2)对于n=1,...,N-1,由求,并且求出
(3)对于j=1-L求出的最大值,相应的j值即是整条最佳状态路径最后一个状态xN所取状态sl,的下标,记为1N,。这可以表示为
(4)由。二N出发进行下列逆推运算,求出最佳状态路径在,=(N一1),(N一2),..,l时
亥」所取状态的下标。
到此为止,我们己经解决了Y为一维矢量且具有连续正态分布时HMM系统的三项关键问题。Y为多维矢量且具有连续正态概率分布函数时,或者Y为多维矢量且其概率密度函数为若干正态分布函数线性相加时,HMM系统三项问题的解与3.1.3小节的讨论是类似的。