半连续HMM码本生成算法的研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

人工智能及识别技术文章编号:文献标识码:中图分类号:TN912.34半连续HMM码本生成算法的研究李军,朱小燕,王东(清华大学智能技术与系统国家重点实验室,北京100084)摘要:本文对基于半连续隐马尔科夫模型(SCHMM)语音识别系统的码本生成算法及其原理进行了探讨。阐述了译码器扰动简化随机松弛聚类算法(SR-D),并将其应用到初始码本生成中。实验结果表明这种方法能显著地提高系统性能。初始码本生成后,采用最大似然准则对生成的码本进行了训练,使得码本和SCHMM其它参数达到较好的一致。本文也探讨了码本大小及其对最终性能的影响并给出了相关实验结果。关键词:SCHMM,聚类,码本,随机松弛TheResearchofCodebookGenerationAlgorithminSCHMMLiJun,ZhuXiaoyan,WangDong(StateKeylabofIntelligentTechnologyandSystem,TsinghuaUniversity,Beijing100084)【Abstract】ThispaperdiscussedthealgorithmsofcodebookgenerationinSCHMMbasedspeechrecognitionsystemandtheirfundamentalprinciple.IntroducingthebasicdisciplineofStochasticRelaxation-Division(SR-D)algorithm,weintroducedthegeneralideaintoourinitialcodebookgenerationalgorithm.Theexperimentresultsshowthatournewmethodsignificantlyimprovesthesystemperformance.Withthemodifiedinitialcodebook,themodelisfurthertrainedwiththecriterionofMaximumLikelihood(ML),whichleadsthecodebookandotherparametersmoreconsistentandcompatible。Theeffectofcodebooksizetofinalperformanceisalsodiscussedandrelativeexperimentresultsarepresented.【Keywords】SCHMM,clustering,codebook,StochasticrelaxationSCHMM作为一种有效的语音识别技术,是离散隐马尔科夫模型(DHMM)和连续隐马尔科夫模型(CHMM)的一种折衷方案。它既克服了DHMM识别精度较低的缺点,又降低了CHMM计算的复杂性,因而是一种相当好的语音识别技术。SCHMM之所以能做到这一点,主要是因为SCHMM使用了一组特殊的码本。这组码本由所有模型和所有状态共享。它相当于连接DHMM和CHMM的桥,是决定整个SCHMM系统性能的关键因素之一。码本在SCHMM中的重要性集中反映在码本的初值和数量上。好的初值能够总体上接近各模型的质心,因而在调整码本过程中收敛较快并且容易达到或接近全局最优,相反,如果某个模型附近没有码本,它在调整码本过程中对整个码本调整趋势的影响力降低以至于码本更加远离它,自然地,码本对这个模型的刻画精度就低;如果某个码本附近没有模型,那么所有模型对该码本的权重都较小以至于区别不大,这种情况造成的结果是该码本的方差迅速减小,均值变化不大,它对整个模型的刻画能力大大降低,从而成为垃圾码本。因此,码本初值的好坏对半连续模型相当重要。另外,由于码本是所有模型和状态共享的,多少码本才能较好地刻画整个模型也是值得探讨的问题。SCHMM码本的生成主要分两步,首先是生成初始码本,然后利用生成的初始码本在基于最大似然准则下进行迭代训练,直到满足精度要求为止。训练是必要的,初始码本通常是基于最小平均失真准则产生的,通过训练,能够使得码本在基于最大似然准则条件下和SCHMM其它参数达到较好的一致。初始码本的选择相当重要,因为在训练中用于迭代的价值函数是一个非凸函数,初值的好坏决定了迭代运算是否能收敛到全局最佳点。1初始码本生成的算法1.1聚类的基本原理及方法聚类的目的是把相似的对象分为同一类,从而能够对类内对象用同一种方式表示。从模式识别的角度看,聚类属于非监督学习的范畴,即是在未知类别标签的样本集上,通过对样本间相似性的度量将样本集划分为若干个子集。SCHMM的码本属于高维矢量,因此聚类算法要采用矢量量化的一些原理。在矢量量化器的最佳设计中,重要的问题是如何划分量化区间和确定量化矢量,Lloyd提出的两个条件回答了这两个问题。1、最佳划分,即找出给定码字矢量的最佳区域边界。这可以根据“最近邻原则”求出,。2、最佳码字,即找出与最佳区域边界内所有矢量之间畸变平均值最小的码字,这可以通过求最佳区域边界内所有矢量的质心解决。依据Lloyd准则,Linde等人提出了LBG算法,这是矢量量化中常用的方法之一,整个算法实际上就是上述两个条件的反复迭代过程,既由初始码字寻找最佳码字的迭代过程,它由对初始码字进行迭代优化开始,一直到系统性能满足要求或不再有明显改进为止。LBG算法有一个关键问题需要解决:如何选择好的码本初值。因为LBG算法是一种最陡下降的算法,它的迭代结果和码本初值选择有关,并且有可能使算法收敛到局部极值点。几种码本初值的设置方法,例如随机法、分裂法等虽然对选择好的码本有不同程度的作用。但没有一种方法能保证找到好的码本。下面将要介绍的译码器扰动简化随机松弛聚类算法比较好地解决了这个问题,1.2译码器扰动简化随机松弛聚类算法(SR-D)SR-D算法属于随机松弛算法中的一种快速算法,算法的基本思想是,对随机设置的M个码字MiYi~10,在经过最佳划分求出最佳码字0ˆiY后,采用某种方法对新码字进行扰动以产生扰动后的码字1iY,继续进行最佳划分求新码字,然后进行新的扰动。这个过程反复执行直到达到预定的扰动精度,即熄火温度NT。最后得到的M个码字即为所求码本。随着每一轮的迭代,要求扰动半径逐渐缩小,这样可以使码字趋于稳定。分析一下这个算法可以看出:SR-D和LBG算法存在着明显的不同。LBG算法每迭代一步目标函数总是下降的,目标函数落入哪一个极小值只取决于码本初值的设置,而且一旦落入某个局部最小点就再也拔不出来。因此很难保证给出的结果达到全局最小点。SR-D算法在每一轮迭代中增加了对当前码字的随机扰动,这使得算法具有随机性,相当于在每次迭代运算中目标函数值总体下降的同时又有上升的机会,这样函数就有可能脱离某个局部最小点,增加了到达全局最小点的概率。SR-D算法要设计两个关键参数,首先需要给出一个退火温度nT,其中n代表迭代的节拍,nT是用来形成随机扰动的参数,随着n的增加,nT逐渐降低,因而称为退火温度。通常这个关系可以表示为:nnKTT*0(0K1),其中,0T是预先给定的一个较大的值,它设定了nT的初值,K反映了nT下降的速率,此值不宜取得过小,可取K=0.9。第二需要根据nT的大小设计一组合适的扰动矢量iY,要求这组矢量是互相独立的随机高斯矢量,每个矢量的各个分量也相互统计独立,其均值为0,均方差值等于nT,而且在每次迭代后要根据nT的值重新生成。扰动公式可以表示为:MiYYYninini~1,ˆ1。在SR-D算法中,初始退火温度0T的选择对算法的效率有较大的影响。0T主要是根据经验给出的,对不同的应用可能有不同的选择。0T通常建议给一个较大的值,但0T过大显然会增大迭代的次数,为了有效地初始化参数,我们对初始退火温度进行了定义。0T作为一个初始扰动值,对某一区域而言,第一次扰动的范围在每一维上达到所划分区域的最大半径就足够了,这样,从总体上看,扰动可以达到整个矢量空间的边界,而理想码字必定在这个范围内,也就是说,扰动可以到达这些码字。根据扰动矢量设计规则,对i区域,0T可以表示为:0T=iiYYd112,,iY1表示第一次最佳划分的第i个区域的码字,iY1为i区域内与iY1畸变最大的矢量,yxd,2代表两矢量间欧氏距离的平方。对每一个区域做同样的计算,选择其中的最大者作为0T值,这样能够较好地保证有效的扰动范围,有利于下次区域划分向理想码字靠近。由于以后的新区域都是经过最佳划分的,比前一次划分的区域更加靠近理想码字,需要扰动的范围也会比前一次小,因此按上式所给的初始退火温度是够用的。熄火温度可根据精度要求给出。SR-D算法见图1。所求出的M个码字可作为码本的均值,然后再利用已求出的M个码字对训练集进行M个区域划分,在每个区域计算均方差。从而可求得M个码字的均方差。这样M个码字的初始码本就形成了。2基于最大似然准则的SCHMM码本的训练初始码本生成以后,对SCHMM来说不是最好的,必须在SCHMM统一的框架下进行训练,从而对初始码本进行适当的调整。调整码本的过程也是语音训练的过程。利用训练中产生的参数来调整码本的均值和方差。SCHMM中主要参数是:初始状态概率,状态转移概率,码本权重及码本的均值和均方差。训练的目的就是调整这些参数,使特定模型相对于某些语音帧输出的概率最大,从而完成识别的任务。训练的方法是给以上参数一定的初值,然后进行迭代运算逐渐逼近最佳解。在每次迭代中,所有模型都利用自己的训练语料求出自身新的参数,然后计算码本新的均值和方差。再进行下一轮迭代,直到满足精度要求为止。其中码本的初值采用SR-D算法已获得,其它参数的初值可通过赋予平均数或根据具体情况赋值,因为这些参数的初值对迭代结果影响不大。计算SCHMM参数的一种有效方法是前-后项算法。利用该算法可以高效地计算出前项系数和后项系数,而前后项系数是计算SCHMM参数的关键。下面给出与计算SCHMM的均值和方差相关的公式,在公式中所引用的变量包括:初始状态概率la,状态转移概率jiA,码本权重jB,码本的均值jM,均方差j,前项系数ln,后项系数ln,概率密度函数P(x),模型的状态数L,k样本语音帧数Nk。样本数K,模型数R。码本数J。计算θ值的公式:LikkrnkrnrnjljilrkrrjljkrlkljrNnliyPbAnlyPbn1111,~21θ参数是计算SCHMM参数的中间结果,它的含义是r模型第k个样本第n帧经过l状态第j个码字的概率。计算均值jM的公式KkRrLlkNnkljrkrnKkRrLlkNnkljrnynjM1111,1111,计算均方差j的公式:KkRrLlkNnkljrTjkrnjkrnKkRrLlkNnkljrnMyMynj1111,maxmax1111,因为码本是SCHMM系统所有模型和所有状态共享的,因此对均值和方差的调整要对所有模型和所有状态有所反映。由均值公式可以看出:分子表示的是所F图1SR-D算法流程图NnTTT以1niY为初始码字,进行最佳划分并求出M个新码字1niY。生成扰动niY,计算新码字nininiYYYˆ1输出1niYi=1~M随机设置M个码字MiYi~1,,n=1,赋初值NT,进行最佳划分并计算0T令退火温度nnKTT0n=n+1有的样本帧经过所有模型,所有状态的第j个码字的概率和输出帧的乘积之和,而分母表示的是所有帧经过所有模型,所有状态的第j个码本的概率之和。它们的商显然是第j个码字输出的均值。均方差的公式和均值公式类似。当迭代达到所要求的精度,最终的均值jM和均方差j就是我们所需要的SCHMM的码本。3码本的大小码

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功