田昊扬
摘 要:简要介绍二阶隐马尔科夫模型在语音处理中的基本原理,对隐马尔科夫模型中生成序列观察、前向——后向算法中的线性计算原理进行归纳,将二维空间向量和矩阵计算的方法引入语音处理的二阶隐马尔科夫过程。
关键词:隐马尔科夫模型 语音处理 算法 线性优化 矩阵
中图分类号:O211.62 文献标识码:A 文章编号:1007-3973(2013)007-097-03
1 隐马尔科夫模型
隐马尔科夫模型是一种在语音识别中被广泛应用的统计模型。过去隐马尔科夫模型在语音处理中的应用主要局限在一阶隐马尔科夫过程。一阶隐马尔科夫模型的两个基本假设在语音处理的研究中并不合理。
其中关于状态转移的假设认为:在t+1时刻的状态转移只与该时刻的状态有关,而与之前的时刻没有关系,这显然是不合理的。比如在计算语言学中,福田算法是基于上下文无关文法的高效的自然语言分析方法,这种算法考虑了句法结构、图结构线、子树共享和局部歧意紧缩的技术,证实了相邻词汇之间紧密的相关性。而输出值的马尔科夫假设认为:在t时刻输出观察值的概率,只取决于ti≤t的时刻,这显然也是不合理的,因为它忽略了在数值输出中的前后相继的必然联系,比如生物信息学中处于生物序列中的核苷酸与其前后链中的分子具有极其密切的关系。以上两点均说明了一阶隐马尔科夫模型的不合理性。
2 二阶隐马尔科夫模型
二阶隐马尔科夫模型基于这样的假设:时刻的t的状态与时刻t?的状态均有关系,即存在:aijk=P(xt+1=Sk|xt=sj,xt-1=si,xt-2=…)=p(xt+1=sk|xt=sj,xt-1=si),其中:aijk=1;aijk≥0;i≥1;N≥j,N表示模型中的状态个数;观察当前特征矢量的状态,依赖于系统在t?时刻所处的状态,即存在:
bij()=P(yt=vt|xt=sj,xt-1=si),1≤i;j≤N;1≤≤M
二阶隐马尔科夫模型的参数集合可以记为: =( ,A,B),其中假设: ={ i};A={aijk};B={bij()}表示二阶隐马尔科夫模型的初始状态分布、转移状态分布、观测值的概率分布,二阶马尔科夫模型是我们在计算语言学中实现线性计算和优化的基础。
3 隐马尔科夫模型中生成序列观察
隐马尔科夫模型中生成序列的观察原理是指,把马尔科夫模型看做一个观察值的生成装置,按照一定的步骤,隐马尔科夫模型可以生成如下的观察序列:O=(o1o2o3…oT)(oi为i时刻的观察值)
按照这样一个生成装置的假设,初始状态概率分布函数 ,选择一个初始状态q1=i,令t=1,根据状态i观察符号概率分布bi(k)选择观察值ot=vk,按照状态转移概率分布aij,选择t+1时刻的状态qt+1=j。如果t 由于概率转移矩阵A决定不了初始分布的概率,为了解决这一问题我们引入了上文提到的初始状态的概率分布 , i=P(q1= i),1≤i≤N实现对于马尔科夫链生成序列的线性化,是我们进行二阶隐马尔科夫模型线性计算的前提。 4 前向算法和后向算法 对于给定的某一状态转换序列O=(q1q2q3…qT),生成观察序列O=(o1o2o3…oT)的概率计算可以采用前向算法和后向算法。 在向前算法中,我们定义前向变量: 1(i,j)=P(y1,y2…yt,Xt-1=si,xt=sj| ),这是在给定模型 条件下,产生时刻t以前部分观测序列y1,y2,…yt-1,yt,且在t-1时刻的状态为si,在t时刻的状态为sj的概率。前向变量 1(i,j)按照初始化——迭代法的步骤进行计算(1≤j≤N): 迭代法计算前向变量可得: 事实上,前向算法中有很多可以被线性优化的步骤,按照我们所讲的隐马尔科尔夫生成序列的线性化,前向算法可以这样进行优化: 假设我们定义前向变量:at(i)=P(o1,o2,…ot,qt= i/ ),1≤t≤T初始化后a1(i)= ibi(O1),1≤t≤T用递推法可得: t+1(j)=[ t(i)aij]bj(Ot+1),1≤t≤T-1,1≤j≤N,最终可得:P(O/ )= T(i). 这中算法大大简化了计算过程,相对于要考虑Oq的联合概率和所有可能的转换序列而言,这种算法给隐马尔科夫过程的处理带来的效率是惊人的。① 有了前向算法作为基础,后向算法便很容易推导出,我们不再赘述。 5 二阶隐马尔科夫模型的线性预测及应用 早期的隐马尔科夫模型在语音处理的研究中中多被用于处理不同声源在不同时刻的说话影响。马尔科夫模型在采用了最大似然估计的方法后,由于似然估计的值不是固定的,并没有在语音识别中达到理想的效果。之后出现的离散隐马尔科夫模型与完全连续隐马尔科夫模型将马尔科夫链中的生成观察值的概率不再写成矩阵的形式,而是观察值的概率密度函数,但也没有真正实现隐马尔科夫模型在语音处理中的效率最大化,直至后来线性预测隐马尔科夫模型的出现。 线性预测的隐马尔科夫模型是具有线性预测型观察值概率密度函数bj(X)的一种连续隐马尔科夫模型。线性预测模型是以LPC分析理论为基础的,在信息与控制的估计和系统识别的研究中有广泛应用。② 当把S作为一个随机过程(矢量)的一个实现,在已知自相关矩阵ci的情况下,有下面的高斯概率密度函数:
那么 T=(a0,a1,…,ap),a0=1即为LPC系数,RS(i)为ST的自相关函数,则:
2就是LPC分析时的预测残差将语音帧ST化为语音XT=ST/ ,根据条件概率的计算方法,有:
也就是说,线性预测隐马尔科夫模型的概率密度函数为:
其中K为语音帧长,aij为描述f(X)的参数,也是一组LPC系数。经过推倒,在实际中L个训练序列O(i),=1,2,…,i,…,L,的重估公式为:
为了使隐马尔科夫模型在有限帧的语音中的处理中实现计算机化,常常需要运用线性预测的隐马尔科夫模型,但在实际的编程中,我们需要增加一个比例系数的公式:
为了防止计算的下溢,通常把实现公式写作:
其中为隐马尔科夫链中生成观测值的概率。系数的算法多达几十种,其中以自相关法、协方差法和格型法最为常用。上面的线性计算方法,是对线性预测的隐马尔科夫模型的改进,利用概率密度函数可以有效地将离散隐马尔科夫模型与完全连续的隐马尔科夫模型的计算方法归为同一类。
6 二阶隐马尔科夫模型在噪声中实现语音加强的线性原理
在语音处理的研究中,噪声对于语音效果的影响和语音压缩编码的质量有很重要的影响,因此噪声环境下语音加强的研究意义十分重大。隐马尔科夫模型在噪声环境下语音处理的研究中起到了重要作用,其中加强型高斯白噪声的语音加强方法是比较常见的方法之一。
假设Yt为噪声语音帧,St为无噪声语音帧,ni为高斯白噪声帧,且有:
Yt=St+nt,t=1,…,T
作为线性预测隐马尔科夫模型的输出序列观察值St,如果利用线性预测隐马尔科夫模型表示高斯有色噪声的先验知识,把高斯有色噪声序列作为线性预测隐马尔科夫模型的输出值序列,从而使得有色噪声的相关性包涵在预测性的隐马尔科夫模型中。
白化算法和语音增强算法是另外两种常见的噪声环境下的语音处理的计算方法,我们在这里不再单独介绍。下面主要介绍高斯白噪音下语音处理的线性优化。
已知在计算机中产生(0,1)分布的随机序列,记作r1,r2,…,在概率论中,将(0,1)分布转换为服从N(0, )的高斯白噪声序列:
uk= ncos(2 rk+1)
uk-1= ksin(2 rk+1)
所以:
也就是说我们已经将矩阵和概率密度函数之间的转换计算引入了二阶隐马尔科夫过程,通过噪声环境下语音的线性优化可以实现对噪声中语音帧的加强。
有了矩阵作为辅助的计算工具,我们便很容易在线性预测的隐马尔科夫模型中去描述语音帧X归一化时LPC的系数。假设X为归一化语音帧,RX(i)为X的自相关函数,Rn(i)为aj的自相关函数,aj为描述bj(X)的LPC系数这时,我们定义Cj为X没有归一化时bj(X)的参数,而当X归一化时,我们用LPC系数aj来描述bj(X)的参数。在线性预测隐马尔科夫模型中可以由aj计算出Cj:
,其中:,则:
因为C*j为2p-1阶矩阵,我们可以通过求它的各个元素的代数余子式,进而求得它的逆矩阵,当然也可以先求出它的正交矩阵,再求逆矩阵。在正交矩阵的求解过程中,特征向量的计算方法可以深刻地体现马尔科夫链生成观察值的矢量特征。比如我们在第4节中所讲的转换序列O=(q1q2q3…qT)可以记作=(q1q2q3…qT),又比如在参数估计法中,将参数集合 =( ,A,B)写作=( ,A,B),这样一来,我们计算出的概率密度分布将会直观地被呈现在二维空间中。除了上面讲到的在噪声环境中语音处理和语音帧的加强之外,二阶隐马尔科夫模型中的线性优化在语音压缩、孤立词和连续词的识别、语音识别的多处理器中都有非常明显的效果。
注释:
① o和q的联合概率为:,若要考虑所有可能的转换序列,那么,那么这个式子需要计算量为2TNT数量级,这种算法的工作量是难以想象的.
② LPC理论是指一个语音抽样能够用过去若干个语音抽样的线性组合来逼近,通过实际语音抽样和线性预测值之间差的平方和达到最小,能够唯一决定一组预测器的系数,这就是LPC系数。这种方法不仅巧妙地应用了线性计算中求解有限个离散变量在二维空间的分布曲线,还巧妙地借鉴了微积分原理中使用最小二乘法来决定最优选择的问题.
参考文献:
[1] 杨家沅.语音识别与合成[M].成都:四川科学技术出版社,1994.
[2] 黄载禄,冯昭志.二阶隐马尔柯夫模型的统一数学模型[J].华中理工大学学报,1993(21).
[3] 王还.汉语词汇统计与分析[M].北京:外语教学与研究出版社,1985.
[4] (美)莱.DC.线性代数及其应用[M].刘深泉,等.译.北京:机械工业出版社,2005.
[5] Masaru Tomita.An Efficient Augmented-Context-Free Parsing Algorithm,Computer Science Department and Center for Machine Translation,Carnegie-Mellon University,2000.