毕业论文基于连续隐马尔科夫模型的语音识别.doc

上传人:文库蛋蛋多 文档编号:4014001 上传时间:2023-04-01 格式:DOC 页数:89 大小:556.50KB
返回 下载 相关 举报
毕业论文基于连续隐马尔科夫模型的语音识别.doc_第1页
第1页 / 共89页
毕业论文基于连续隐马尔科夫模型的语音识别.doc_第2页
第2页 / 共89页
毕业论文基于连续隐马尔科夫模型的语音识别.doc_第3页
第3页 / 共89页
毕业论文基于连续隐马尔科夫模型的语音识别.doc_第4页
第4页 / 共89页
毕业论文基于连续隐马尔科夫模型的语音识别.doc_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《毕业论文基于连续隐马尔科夫模型的语音识别.doc》由会员分享,可在线阅读,更多相关《毕业论文基于连续隐马尔科夫模型的语音识别.doc(89页珍藏版)》请在三一办公上搜索。

1、 SHANGHAI UNIVERSITY毕业设计(论文)UNDERGRADUATE PROJECT (THESIS)论文题 目基于连续隐马尔科夫模型的语音识别学 院 专 业 学 号 学生姓名 指导教师 起讫日期 目 录摘要 -2ABSTRACT -2绪论 -3第一章 语音知识基础-6第一节 语音识别的基本内容-6第二节 语音识别的实现难点-9第二章 HMM的理论基础-10第一节 HMM的定义-10第二节 隐马尔科夫模型的数学描述-10第三节 HMM的类型-12第四节 HMM的三个基本问题和解决的方 -15第三章HMM算法实现的问题 -21第一节HMM状态类型及参数B的 选择-21第二节HMM训

2、练时需要解决的问题 -23第四章 语音识别系统的设计 -32 第一节 语音识别系统的开发环境-32 第二节 基于HMM的语音识别系统的设计-32 第三节 实验结果-49第五章 结束语 -67致谢 -68参考文献 -69 摘要语音识别系统中最重要的部分就是声学模型的建立,隐马尔可夫模型作为语音信号的一种统计模型,由于它能够很好地描述语音信号的非平稳性和时变性,因此在语音识别领域有着广泛的应用。隐马尔可夫过程是一个双重随机过程:一重随机过程用于描述非平稳信号中短时平稳段的统计特征;另一重随机过程描述了每个短时平稳段如何转变到下一个短时平稳段,即短时统计特征的动态特性。为了能够对HMM有一个全面的认

3、识并能够将其应用于解决实际问题当中,本文介绍了HMM的基本理论以及其如何将其应用于语音识别中,在解决HMM的三个基本问题以后,还谈论了在具体应用时需要考虑的其他问题,如初始模型参数的选取、数据下溢、HMM之间距离的度量等等,并给出了相应的解决方法。这个语音识别系统是用HMM模型来实现的,用HMM来做语音识别的识别率是很高的,其中用到了HMM的三个算法。 关键词:语音识别,HMMABSTRACTThe most important part of a recognition system is the acoustic model construction. As a statistic mod

4、el for signal, HMM can describe the pronunciation signal non-stability and the variability well.For the sake of understand HMM systematically and apply it to solve real-world problem, this paper introduces the basic theory of HMM and how to use it in the speech recognition. After three basic problem

5、 solved,some other important issues in the application, for instance, selecting parameters of the initial model, data over-fitting and the distance degree between HMM, are discussed, then methods for settling those issues are put forward. In addition, it also explains design of the topology and its

6、parameters optimization ways.This recognition system use HMM models come true. It is easier recognizable to use HMM recognize.In this system I use the three arithmetic of HMM. Keyword: Speech recognition,HMM 绪论计算机技术的飞速发展,使人与机器用自然语言进行对话的梦想逐渐接近现实。人类的语言在人类的的智能组成中充当着极其重要的角色,人与人之间的交流和沟通70%意商是通过语言的方式有效的完成

7、。作为人与人之间交流最方便、自然、快捷的手段,人们自然希望它成为人与计算机交流的媒介。语音识别就是研究计算机听懂人类语言的一门科学。也是人机交互最重要的一步。进入九十年代之后,出现了诸多实用化的研究方向。语音识别技术发展到今天,特别是中小词汇量非特定人语音识别系统识别精度已大于98%,对特定人语音识别系统的识别精度就更高。这些技术已经能满足通常应用的要求。由于大规模集成电路技术的发展,这下复杂的语音识别系统也已经完全可以制成芯片,大量生产。在西方经济发达国家,大量的语音识别产品已经进入市场和服务领域。一些电话机、手机已经包含了语音识别拨号的功能,是有语音记事本、语音智能玩具等产品也包括了语音识

8、别与语音合成的功能。人们可以通过电话网络用语音识别口语对话系统查询有关的机票、旅游、银行信息,并且取得很好的结果。调查统计表明多达85%意商的人对语音识别信息查询服务系统的性能表示满意。可以预测在近五十年内,语音识别系统的应用将更加广泛。各种各样的语音识别系统产品将出现在市场上。人们也将调整自己的说话方式以适应各种各样的识别系统。在短期内还不可能造出具有和人相比拟的语音识别系统,我们只能朝着改进语音识别系统的方向逐渐地前进。我国语音识别研究工作起步于五十年代,但近年来发展很快。研究水平也从实验室走向实用。从1987年开始执行国家863计划后,国家863智能计算机专家组为语音识别技术研究专门立项

9、,在汉语语音识别技术上还有自己的特点与优势,并达到国际先进水平。第一章 语音识别基础第一节 语音识别的基本内容语音识别是一种集声学、语音学、计算机、信息处理、人工智能等于一身的综合技术,可广泛的应用在信息处理、通信与电子系统、自动控制等领域。语音识别主要包括语音单元的选取,特征提取技术,模式匹配准则及模型训练技术三方面内容。语音识别的原理框图如图1-1所示: 图1-1 语音识别的原理框图一、识别单元的选取选择识别单元是语音识别研究的第一步。语音识别单元有单词、音节和音素三种,具体选哪种,由具体的研究任务决定。单词单元广泛应用于中小词汇语音识别系统,但不是和大词汇系统,原因在于模型库规模太庞大,

10、训练模型任务繁重,模型匹配算法复杂,难以满足实时性要求。音节单元多见于汉语语音识别,主要因为汉语是单音节结构的语言,而英语是多音节,数量相对较少,并且汉语虽然有大约1300个音节,但若不考虑声调,约有408个无调音节,数量相对较少。因此,对于大、中词汇量汉语语音识别系统来说,以音节为识别单元基本是可行的;音素单元以前多见于英语语音识别系统的研究中,但目前大、中词汇量汉语语音识别系统也在越来越多地采用。原因在于汉语音节仅由声母和韵母构成,且声韵母的声学特性相差很大。实际应用中常把声母的不通而构成细化声母。由于协同发音的影响,音素单元的不稳定,所以如何获得稳定的音素单元,还有待研究。 二、特征参数

11、提取技术语音信号中含有丰富的信息,但如何从中提取出对语音识别有用的信息是由特征提取完成的。特征参数提取的目的是对语音信号进行分析处理,提取对语音识别有用的信息,同时对语音信号进行压缩。在实际应用中,语音信号的压缩率介于10-100之间。语音信号包含了大量各种不同的信息,提取哪些信息,用哪种方式提取,需要综合考虑个方面的因素,如成本、性能、响应时间、计算量等。非特定人语音识别系统一般侧重提取反应语义的特征参数,尽量去除说话人的个人信息;而特定人语音识别系统则希望在提取反映语义的特征参数的同时,尽量也包含说话人的个人信息。线性预测分析技术是目前应用广泛的特征参数提取技术,许多成功的应用系统都采用基

12、于LP技术提取的倒谱参数。但线性预测模型是纯数学模型没有考虑人类听觉系统对语音的处理特点;Mel参数和基于感知线性预测分析提取的感知线性预测倒谱,在一定程度上模拟了人耳对语音的处理特点,应用了人耳听觉感知方面的一些研究成果。实验证明采用这种技术语音识别系统的性能有一定提高。三、模式匹配和模型训练技术模型训练是按照一定的准则,从大量已知模式中获取表征该模式本质特征的模型参数,而模式匹配则是根据一定准则,使未知模式与模型库中的某一个模型获得最佳匹配。语音识别所应用的模式匹配和模型训练技术主要有动态时间归正技术(DTW)、隐马尔科夫模型(HMM)和人工神经元网络(ANN)。DTW是较早的一种模式匹配

13、和模型训练技术,它应用动态归划方法成功解决了语音信号特征参数序列比较时时长不等的难题,在孤立词语音识别中获得了良好性能。但因其不适合连续语音大词汇量语音识别系统,目前已被HMM模型和ANN代替。HMM模型是语音信号时变特征的有参表示法。它由相互关联的两个随即过程共同描述的统计特征,其中一个是隐蔽的具有有限状态的Markov链,另一个是与Markov链的每一个状态相互关联的观察矢量的随即过程。隐含Markov链的特征要依靠可观测到的信号特征表示。这样,语音等时变信号某一段的特征就由对应的观察符号的随即过程描述,而信号随时间的变化由隐蔽Markov链的转移概率描述。模型参数包括HMM拓朴结构、状态

14、转移概率及描述观察符号统计特性的一组随机函数。按照随机函数的特点,HMM模型可分为离散隐马尔科夫模型和连续隐马尔科夫模型以及半连续隐马尔科夫模型。一般来说,在训练数据足够是,CHMM优于DHMM和SCHMM。HMM,模型的训练和识别都已经研究出有效的算法,并不断完善,以增强HMM模型的鲁棒性。人工神经元网络在语音识别中的应用是现在研究的又一热点。ANN本质上是一个自适应非线性动力学系统,模拟人类神经元活动的原理,具有自学、联想、对比、推理和概括能力。这些能力是HMM模型不具备的,但ANN又不具有HMM模型的动态时间归正性能。因此,现在已有人研究如何把二者的优点有机结合起来,从而提高整个模型的鲁

15、棒性。ANN和DTW的结合以及ANN和HMM的结合是当前语音识别研究的一个方向。第二节 语音识别的实现难点语音信号的声学特征随与之前后的语音不同而有很大变化,且连续语音流中各种语音单位之间不存在明显的界线。语音特征随发音人的不同、发音人生理和心理状态的变化而有很大的差异。环境噪声电和传输设备的差异也将直接影响语音特征的提取。一个语句所表达的意思与上下文内容、说话时的环境条件及文化背景等因素有关,而语句的语法结构又是多变的,并且语境信息几乎是计算机语音识别无法利用的,所有这些都给语意的理解带来了和大的困难。第二章 HMM的理论基础第一节 HMM的定义 一、信号模型 隐马尔科夫过程是一个双重随机过

16、程:一重用于描述非平稳信号的短时平稳的统计特征(信号的瞬态特征,可直接观测到);另一个重随机过程描述了每个短时平稳如何转变到下一个短时平稳段,即短时统计特征的动态特性(隐含在观察序列中)。基于这两重随机过程,HMM即可有效解决怎样辨识具有不同参数的短时平稳信号段,怎样跟踪它们之间的转化问题。人的语言过程也是这样一个双重随机过程。因为语音信号本身是一个可观察的序列,而它又是由大脑里的(不可观察的)、根据言语需要和语法识别(状态选择)、所发出的音素(词、句)的参数流,同时,大量实验表明,HMM的确可以非成精确地描述语音信号的产生过程。第二节 隐马尔科夫模型的数学描述一、马尔科夫链定义随机序列Xt,

17、在任何时刻t,可以处在状态1,2,n,且在t+k时刻的状态qt+k的概率,只与它在t时刻的状态qt有关,而与t时刻以前它所处在的状态无关。P(Xt+kqt+k|Xtqt,Xtqt)P(Xt+kqt+k|Xtqt)K步转移概率:Pij(t,t+k)P(qt+kj|qtj)当Pij(t,t+k)与t无关时,称马尔科夫链为齐次马尔科夫链。可写为:Pij(t,t+k)Pij(k)当k1时,Pij(1)为一步转移概率,记为aij(1=I,j=N)。所有转移概率矩阵aij构成一个转移概率矩阵。二、HMM的基本思想HMM是一个双重随机过程,一个是马尔科夫链(基本随机过程,描述状态的转移),另一个随机过程描述

18、状态和观察值之间的统计对应关系(站在观察者的角度,只能看到观察值,不能看到状态,而是通过一个随机过程去感知状态的存在及其特性)。三、HMM的定义HMM参数的定义如下:(1)N,隐马尔科夫模型的状态数。虽然在HMM中状态数是隐含的,但在实际应用中它是有切确的物理含义的。N个状态为1n,记t时刻马尔科夫链所处的状态为qt。(2)M:每个状态对应的可能的观察值数目,记M个观察值为V1Vm,记t时刻观察值为Ot,观察值序列Oo1,oT,其中T为观察值序列长度。(3)状态转移概率分布Aaij,其中aijP(qt+1j|qti)(4)观察值概率分布Bbj(k),其中bj(K)P(OtVk|qtj),1j=

19、N;1=k=M(5)初始状态转移概率i,其中P(q1i)1=i=N基于这些特征参数,HMM产生观察序列Oo1,oT的过程可以作如下描述。 (1)根据初始状态概率分布,选择一个初始qi i 。 (2)置观察时间t1。 (3)根据当前状态下观察值的概率分布B,选择otvk。 (4)根据状态转移概率分布A,从当前状态qti转移倒下一个状态qt+1j 。 (5)置tt+1,如果tT(观察值时间序列为t1,2,,T),则回到第(3)步否则结束。综上所述,一个HMM完全可以由2个模型参数N,M和3个概率分布参数A,B,来确定。为了方便起见,通常将隐马尔科夫模型定义为(A,B,)。HMM可以分为两个部分:马

20、尔科夫链,由、A描述,产生的输出为状态序列;一个随机过程,由B描述,产生的输出为观察值序列。依据观察值的概率分布特点(离散还是连续),HMM可分类为离散隐马尔科夫模型和连续隐马尔科夫模型。第三节 HMM的类型 一、由左至右模型 有跨越由左至右模型:状态转移只能从左至右,而不能反过来,这中模型很适合对语音信号建模,因为语音信号的性质随时间变化,随时间增加状态索引也增加保持不变。图2-1(a)所示模型的状态转移矩阵具有下面的形式。 容易看出当ji+。如在2-1(a)中,2,表示不允许一次跳跃经过两个以上的状态。图2-1(b)是一种更常用,更简单的马尔科夫链,与图2-1(a)相比,它不存在跨越状态,

21、因而成为无跨越由左至右模型。 图2-1典型马尔科夫链示意图二、全连结或个态遍历HMM这种模型中从每个状态都可以一步到达其他状态。如图2-2所示:图2-2 全连结HMM在这种模型中每个系数aij都是正值。对应的转移矩阵如下:虽然可将HMM划分为全连结和由左至右模型,但还存在很多种可能的变化和组合。如图2-3所示的右左至右交叉耦合连接的HMM,严格的说,这种模型属于由左至右模型,因为它满足所有aij约束;但它具有由左至右模型所不具有的灵活性。图2-3 左至右交叉耦合连接的HMM由重估公式可以看出,如果HMM的任何参数造初始使设置为0,那么在整个重新估计过程中它仍然保持为零,所以这些加在由左至右或约

22、束跳转模型上的于无数并不影响模型的重估过程。此外,从构成上HMM的变体还包括空转移和状态绑定HMM。前面介绍的HMM中观察响亮都是与模型状态相关,但也可考虑使观察向量与模型的弧相关联。这种类型的HMM在IBM的连续语音识别中被广泛使用。空转移是指这种模型中从一个状态转移到另一个状态不产生输出的转移,通常用表示输出的空值。如图2-4所示的具有空转移的由左至右HMM: 图2-4 具有空转移的由左至右HMM参数绑定HMM构成上的另一种变化。基本思想是在不同状态的HMM参数之间建立一个等价关系。这样不仅能够减少模型中独立参数的数量,还能简化参数估计。参数绑定应用于已知两个或更多状态的观察密度函数相同的

23、情况,在刻画语音是这种情况经常发生。此外,在训练数据不足时,使用这种技术非常有效。从观察概率密度方面可以分为离散HMM、半连续HMM和连续概率密度HMM。虽然通用形式的连续概率密度HMM适用于很多问题,但还存在其它非常适合处理语音的其他种类HMM。如自回归HMM。在这类模型中,观察向量是通过一个自回归过程中提取的。第四节 HMM的三个基本问题和解决的方法一、HMM的三个基本问题欲使建立的隐马尔科夫模型能解决实际问题,则必须首先解决以下问题。(1)已知观察序列O和模型(A,B,),如何计算由此模型产生此观察序列的概率P(O|)。(2)已知观察序列O和模型,如何确定一个合理的状态序列,使之能最佳的

24、产生O,即如何选择最佳的状态序列qq1,qT?(3)如何根据观察序列不断修正模型参数(A,B,),使P(O|)最大?问题(1)实质上是一个模型评估问题,因为P(O|)反映了观察序列与模型吻合的程度。在语音识别中,我们可以通过计算、比较P(O|),从多个模型参数中选择出与观察序列匹配得最好的那个模型。为了解决这个,已经研究出“前向后向”算法。问题(2)关键在于选用怎样的最佳准则来决定状态的转移。一种可能的最佳准则是:选择状态q*t,使它们在各t时刻都是最可能的状态,即这里存在一个问题:有时会出现不允许的转移,即aij0,那么,对这些i和j所得到的状态序列就是不可能的状态,而没有考虑整体结构、相邻

25、时间的状态和观察序列的长度等问题。针对这个缺点要求人们研究一种在最佳状态序列基础上的整体约束的最佳准则,并用此准则找出一条最好的状态序列。目前,解决这个问题的最好方案是Viterbi算法。问题(3)实质上就是如何训练模型,估计、优化模型参数的问题。这个问题在这三个问题中是最难的,因为没有解析法可用来求解最大似然模型,所以只能用迭代法(BaumWelch算法)或使用最佳梯度法。二、“前向后向”算法问题1的解决方案 从定义出发计算概率P(O|),可得下式: 显然,按上式计算P(O|)是不现实的,因为它的计算量相当大。为了 有效地解决这个问题,引入了向前概率和向后概率来简化计算。它们的定义及有关的递

26、推公式如下。前向概率定义为at(i)P(o1ot,qti|)即是在给定模型的前提下,前t个时刻的观察序列为o1ot,且在t时刻处在状态i的概率。计算公式如下:后向概率定义为t(i)P(ot+1oT,qti|),即是在给定模型下,从t+1时刻开始到观察结束这一段的观察序列为ot+1oT,且在t时刻处在状态i的概率。计算公式如下:根据前向及后向的概率定义可推倒出: 或 三、Viterbi算法问题2的解决方案 前面已经提到,如何确定一个最佳状态序列的关键在于选用怎样的最佳准则。考虑到状态序列的整体特性,Vitebi算法采用如下的最佳准则。即在t时刻选择状态i,使模型沿状态序列q1,qt运动产生观察序

27、列o1ot的概率最大。根据定义,可以得到t(i)的递推计算公式。其中t+1(j)的物理含义是若t+1的最佳状态为j,则t时刻的最佳状态为t(j)。 基于此最佳准则,我们可以通过下面的递推得到最佳状态序列q*q*1q*T和PO,q*| (在模型下,按照最佳状态序列路径产生观察序列O的概率:四、Baum-Welch算法问题3的解决方案在介绍Baum-Welch算法之前,首先引入两个相关的概率定义t(i,j)和t(i)。t(i,j)表示在已知观察序列O和模型的情况下,t时刻处于状态i,t+1时刻处于状态j的概率,t(i,j)P(qti,qt+1j|O,)。通常t(i,j)采用归一化形式,即式中t(i

28、),t(j)为前面提到的前向和后向概率。t(i)为给定观察序列和模型的条件下,t时刻处于状态i的概率。根据定义有: 结合t(i,j)和t(i)的定义,可知:为观察序列中,从状态i出发的状态转移次数的 期望。为观察序列中,从状态i到j的状态转移次数的期望。 Baum-Welch算法的基本思想是:按照某种参数重估公式从现有的模型估计出新的模型,使得P(O|)=P(O|)。用替换,重复上述过程直到模型参数处于收敛状态,使得P(O|现有模型)=P(O|新估计出来的模型)。因为 观察上式乐意看出辅助函数的各个单项都具有以下形式:变量yNf=1满足。通过数学推导可知,在满足约束条件的情况下变量yNf=1,

29、时,各单项取值最大。对辅助函数的各个单项Q(|)求最大值,即可推导出Q(|)最大化的模型的参数重估公式。根据前面对和 的分析,可以看出重估公式也具有明显的物理含义。(1)为在t1时刻状态i的概率;(2)(3) 第三章 HMM算法实现的问题解决HMM的三个基本问题以后,在实际应用HMM解决问题时还有很多问题需要解决,如初始模型的选取、数据下溢、HMM之间距离的度量等等。第一节HMM状态类型及B参数的选择一、HMM状态类型的选择 当HMM与实际信号相结合时,首先需要解决的问题是状态类型的选择。在描述实际语音信号是一般都要对HMM中的状态数及转台转移规律作一定的限制,而状态转移结构达多为“无跨越由左

30、至右类型”和“有跨越由左至右类型”。这两种结构除了都要满足外,状态“1”与状态“4”分别为源状态和吸状态,这意味着语音必须从状态“1”开始到状态“4”结束,这正好与人的发音过程对应。二、HMM中B参数类型的选择 为了采用连续观测密度,必须对模型的概率密度函数(pdf)的形式作某些限制,以保证能够对pdf的参数进行一致的估计。当然,不同形式的pdf是由不同的参数来描述的,而估计这种参数的重估公式也是不一样的。这里采用一种广泛应用的pdf高斯bj(j)为例。B参数是HMM中非常重要的一个参数,它描述在某种状态时观察值序列的概率分布。在前面的讨论中它都是离散的。然后,为了更好地描述语音信号的时变性,

31、在实际的关键检索系统中通常采用连续的概率分布,即用bj(o)表示在o与o+do之间观察矢量的概率。这里bj(o)称为参数的概率密度。目前采用最多的bj(o)形式为高斯M元混合密度,可以用它无限逼近任意一个有限连续概率密度函数,其定义为:式中:o为观察矢量;cjk为状态j中第k个混元的混合加权系数,N是正态密度,jk和Ujk是状态j中第k个混合分量的均值矢量和协方差矩阵。注意,cjk必须满足下式。因为只有这样概率密度函数才能满足归一条件,即满足在这种定义下,HMM中重估B参数的公式转化为对cjk、jk、Ujk的重估计算。如下式所示: 式中,t(j,k)是t时刻的观察矢量ot由状态j中的第k个混合

32、分量产生的概率,即、第二节 HMM 训练时需要解决的问题 一、初始模型的选取 根据Baum-Welch算法由训练数据得到HMM参数时,一个重要问题就是初始模型的选取。不同的初始模型将产生不同的训练结果,因为算法是使P(O|)局部极大时得到的模型参数,因此,选取好的初始模型,是最后求出的局部极大与全局最大接近是很有意义的。但是,至今这个问题仍没有完美的答案。实际处理是都采用一些经验方法。一般认为,和A参数初值选取影响不大,可以随机选取或均匀取值,只要满足概率要求即可。但B的初值对训练出的HMM影响较大,一般倾向采取较为复杂的初值选取方法。比较典型的HMM参数估计算法是“K均值分割”算法。“K均值

33、分割”算法训练框图如图3-1所示: 图3-1“K均值分割”训练框图假定我们已有一组训练观察和所有模型的初始估计。这些初始估计是随机给出或建立在相应数据的已有模型基础之上的。模型初始化后,根据当前模型将训练观察序列集分割成状态。这种分割是借助Viterbi算法找到最优状态序列实现的。对模型中每个状态来说,每个训练序列分割的结果就是出现在当前模型中任何一个状态Si的观察集的最大似然估计。在使用离散符号密度时,每个状态中的任意一个观察向量是使用具有M码字的码书编码的,bj(k)参数估计的更新公式如下:bj(k)状态j中码书索引为k的观察向量数量/状态j中所有观察向量数量。 在使用连续观察密度的情况下

34、,分段K均值过程用于每个状态Sj中的过程向量聚类为M簇,每簇表示bj(Ot)密度的M个混合的一个。根据生成的聚类,得到的一组模型参数的更新公式如下:根据这种状态分割,ij系数的更新估计可通过从状态i到j的转移计数除以从状态i出发的所有转移(包括转移到自身)计数实现。根据这些更新后的模型参数得到了新模型。然后开始使用真正的重估过程重新估计所有模型参数。将产生的模型与先前的模型进行比较,如果模型距离打分超过设定的域值,那么用新模型取代先前的模型;如果模型距离打分小于或低于设定的域值,那么判定模型收敛并将保存作为最终得到的模型参数。当然,HMM有很多类型。因此,针对不同形式的HMM,可采取不同有效的

35、初值选取方法。二、比例因子的问题 在前向后向算法和Baum-Welch算法中,都有t(i)和t(i)的递归计算,因为所有量都小于1,因此,t(i)和t(i)都迅速趋向于零,为了解决这种下溢的问题,必须采取增加比例因子的方法,对有关算法加以修正,处理过程如下:(1)对的处理 也就是说t(j)的比例因子实际上是所有状态的t(i)之和的倒数。(2)对的处理 由于每个比例因子实际上使的模恢复到1,而和模相近,所以,让和采用相同的比例因子是保持计算总是在合适的界限内进行的有效方法,在对和做上述处理之后,再来看看重估公式,不过之前,需亚对重估公式改写。显然,上述比例因子也可用于和B参数的重估计算。如果在某

36、个时间t不需要比例因子,可令比例因子为1,不影响重估公式。 增加比例因子所引起的HMM的唯一实际变化是P(O|)的计算,不能简单地把进行求和,因为这些值已经引入了比例因子,不过可以利用如下性质。这样可以计算P的对数,但不能计算P,因为不管怎样它都会越界。最后,当采用Viterbi算法求最佳状态序列时,如果按如下方法,就不需要比例因子。最后得到的值是logP*而不是P*,但是计算量却少得多且不会产生越界。三、使用多个观察值序列训练实际中,训练一个HMM,经常要用到不止一个观察值序列,那么,对于K个观察值序列训练HMM时,要对Baum-Welch算法的重估公式加以修正。设K个观察值序列为O(k)(

37、k1,2,K),其中O(k)o(k)1,o(k)Tk是第K个观察序列,假定各个观察值序列独立,Pk是第k个观察序列出现的概率,此时,由于重估公式是以不同事件的频率为基础的,因此,对k个训练序列,重估公式修正为:四、克服训练数据不足的方法根据HMM的定义,一个(A,B,)含有很多个待估计的参数,因此,为了得到最满意的模型,必须要有很多的训练数据。这个问题的一种解决方法是增加训练数据,这往往是难以办到的。另一方面可能的解决方法是选择规模更小的模型,但是采用一个给定模型总是有其具体理由的,因此规模大小也不能改变。第三种可能的解决办法是合并两个模型的参数,即对两个针对同一事件的表示不同程度的细节和隐健

38、性的模型进行合并。比如说,通常一些出现次数很少的观察值矢量没有包含在整个训练数据中,这样训练出来的HMM参数中就会有不少为零的概率值。而事实上,在实际语音识别测试时,这些观察值矢量又可能出现,因而需要对训练好的模型进行平滑处理,而一般为了避免过分平滑。总是要合并平滑前后的模型参数,以获得较好的结果模型。合并两个HMM的问题可以表述为1(1)2。式中(A,B,)为结果模型,1(A1,B1,1)和2(A2,B2,2)为两个待合并的模型,0=1为合并时的系数。因此,问题的关键就是合并权值的估计。一种可能的方法是人工选取权值,Schiwartz等人就是根据训练量的多少和每个模型中概率分布的合适程度来人

39、工选择权值的,并在语音识别中取得了成功。但这中方法的局限也是很明显的:过分依赖于人的经验判断,而且工作量也很大。另一种估计的方法就是著名的消去内插法。这种方法最早是由Jelinek提出,随后被广泛使用在基于HMM的语音识别系统中,它的基本思想为:设b1jk和b2jk为1和2模型中状态j对应的观察值概率,bjk为中状态j对应的观察值概率,那么,由上式有: bjkb1jk(1-)b2jk此式可以理解为模型中状态j被3个状态j*、j1和j2所取代。如图3-2所示,其中状态j*无输出观察值概率,状态j1和j2的输出观察值概率分别为b1jk和b2jk,但状态j*由状态j1和j2转移的概率分别为和1-,但

40、不占用时间。那么,估计权值的问题就转化为一个典型的HMM问题,因此,由HMM训练算法就可直接估计出权值。 图3-2 消去内插法的示意图但消去插值的核心是使权值的估计对未来的数据仍然有价值。因此,要求用以估计1和2。由于这种对总的训练数据的划分有很多种方式。由此得到很多的值,再用一个循环递归处理,可以求出多由的权值。由上述讨论可知,消去插值法计算量很大,这是其不足之处。虽然进来有人给出了其快速算法,但在实际应用中完整地实现消去插值法来估计权值仍然相当困难。事实上,实际应用消去插值法时,也是将它修正简化,一方面减少计算量;另一方面,对每个状态都估计出一个权值。另外,从Baum-Welch算法的重估

41、公式可以看出推导出一种HMM相对可靠性度量方法。这样,就可以得到待合并的两个或多个模型各自的相对可靠程度,由此确定合并时的权值。这种估计权值的方法可以简述如下。根据重估公式,考虑K个观察值序列训练模型(A,B,),于是有分析上式可知,当用K个训练序列获取HMM参数时,在每次迭代时,可以分别用每个训练序列获取相应的HMM参数,再加以合并,而且,合并的权值仅仅取决于状态数目。由此,可以认为,正是状态数目描述了HMM的相对可靠程度。因此,当需要合并L个HMM时,对任一状态j,合并的权值可由Rjk求出。由于这种估计权值的方法由Baum-Welch算法中重估公式导出,因而在最大似然意义上是最佳的,而其,

42、对每一个状态都选取一个合并的权值,而不是对整个待合并的HMM选取权值,除了保存模型参数之外,还应保存相应的状态数目,因此,需占用较多的存储空间。第四章 语音识别系统的设计第一节 语音识别系统的开发环境一、开发软件 实现这个语音识别系统所用的软件是MATLAB7.0。二、MATLAB简介 MATLAB是MathWorks公司开发的科学计算机,其名称取自MATrix LABoratory。MATLAB的创始人是JACK LITTLE,最初他是为了编制FOPTRAN矩阵函数库的程序接口而进行开发的,随着代码的不断完善,他于1984年推出了MATLAB的第一个版本。此后,MATLAB又推出了许多版本,随之,MATLAB的功能也越来越强大,工具箱也不断增加,系统越来越庞大。第二节 基于HMM的语音识别系统的设计一、高斯混合的输出概率的计算对于单个的高斯概率密度函数pdf,假设其协方差矩阵为对角阵,函数pdf.m计算给定

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号