1、密级:内部连续语音识别中半连续HMM的研究及实现Research and Implement ofSCHMM in CSR(申请清华大学工学硕士学位论文)独 创 性 声 明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得清华大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签 名:日 期: 关于论文使用授权的说明本人完全了解清华大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复
2、印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。签 名: 导师签名: 日 期: 摘 要SCHMM作为一种有效的语音识别技术,它充分地吸收了离散HMM和连续HMM的优点,具有识别精度高搜索速度快等特点。特别是它的码本绑定策略,由于从全局的角度来共享和调整码本,所生成的码本性能更好,能够有效地反映语音空间的特征,因此只要少量的码本就能使系统达到较好的性能,大大减轻了码本计算的复杂性,提高了系统识别的速度。研究内容包括如下几个方面:1. 在初始码本生成中引入了随机松弛算法,SCHMM的初始码本生成是一个矢量量化的问题,量化的困难是量化结果通常会
3、陷入局部最优,采用随机松弛算法能够比较好地克服这个缺点。2. 在连续语音训练中,通过减去句子单元信息,克服了Baum-Welch算法训练不同类型句子时发生数据奇异的缺陷。3. 改进了SCHMM的搜索算法,通过对码本进行剪枝,Beam剪枝等措施,在保证一定识别率的前提下,大大减少了搜索在时间和空间上的消耗,加快了搜索的速度。4. 实现了一个基于SCHMM的连续语音训练和识别系统。关键词:语音识别,半连续HMM,码本,随机松弛,搜索IVAbstractAs an efficient technology of speech recognition, Semi Continuous HMM (SCH
4、MM) integrates the advantages of discrete HMM and continuous HMM, and provides a high recognition accuracy and satisfactory speed. In particular, since the sharing and modification of codebooks in global scope, the code-binding strategy makes it possible to generate much better codebooks that could
5、describe the feature of acoustic space more accurately. In such a case, small codebooks can provide satisfactory performance so that the computational complexity is reduced and the recognition speed is increased.The key research contains the follows1. The algorithm of stochastic relaxation is introd
6、uced into codebook initialization. Codebook initialization of SCHMM is a problem of vector quantification, whose trouble is that the quantification result often reaches the local minimal point. The introduction of stochastic relaxation overcomes this problem in our experiments.2. In continuous speec
7、h training, the disadvantage that Baum-Welch algorithm could be thrown into data oddity because of different sentences gives various weights to the estimation is resolved by subtracting sentence information.3. Through codebook selection, beam pruning, the search algorithm of SCHMM is modified so tha
8、t the cost of search is reduced in terms of both time and space, in case of no accuracy lost evidently. 4. A continuous speech recognition system based on SCHMM in real world is implemented.目录目 录第一章 概述11.1 语音识别11.1.1 语音识别的应用价值21.1.2 语音识别的理论意义41.2 国内外发展状况41.3 本文主要工作71.4 本文内容安排8第二章 语音识别的基本模型92.1 语音识别的
9、基本结构及方法92.2 HMM的基本结构102.3 HMM的三个基本问题122.4 HMM的分类162.4.1 DHMM(离散HMM)172.4.2 CHMM(连续HMM)172.4.3 SCHMM(半连续HMM)18第三章 SCHMM的训练方法193.1 SCHMM初始码本生成193.1.1 聚类的基本原理及方法193.1.2 译码器扰动简化随机松弛聚类算法(SR-D)213.1.3 小结233.2 SCHMM的训练233.2.1 基于Baum-Welch的前后项训练方法243.2.2 溢出的分析及解决273.2.3 句子单元信息31第四章 SCHMM的连续语音搜索方法334.1 连续语音的
10、Viterbi解码算法344.2 N-Best搜索算法354.3 静音处理方法364.3.1 基于时域的端点检测方法374.3.2 基于HMM的音节间检测方法384.4.提高搜索速度的几种方法384.4.1 码本剪枝策略384.4.2 Beam剪枝策略404.4.3 降低精度策略42第五章 系统与实验445.1 数据库的建立445.2 系统的实现455.2.1 训练程序465.2.2 识别程序495.3 实验和分析525.3.1 码本数对识别结果的影响535.3.2 状态数对识别结果的影响535.3.3 帧长对识别结果的影响545.3.4 系统的性能和评价54第六章 总结57参考文献60个人简
11、历64致谢65第一章 概述第一章 概述1.1 语音识别现代语音识别是用电子计算机从人的语音信号中提取信息,确定其语言含义的过程。它是一门交叉学科,多个领域的研究工作者参与其中,因此又可被归于多个大学科。在计算机大学科中,它是智能计算机的智能接口科学;在信息处理大学科中,它是信息识别的一个重要分支;在通信及电子系统、电路、信号及系统等大学科中,它属于信息或通信系统的信息处理学科;在自动化学科中,它是模式识别的一个重要研究对象。同时语言学家和生理学家也对这种用机器识别人类语言的技术不断作出自己的贡献。于是,语音识别成为一门与人工智能、数字信号处理理论、模式识别理论、统计信息理论、最优化理论、计算机
12、科学以及声学、语言学、语义学、脑科学、生理学等众多学科紧密相连的综合学科。目前,语音识别系统有多种工作方式,人们常常从不同的角度对识别系统进行分类:1. 按说话方式及语言规则:l 孤立词(Isolated Word)识别:被识别的基本单位的语音之间有明显的停顿间隔。这种系统的识别正确率最高,但输入语音速度较慢,而且使用者常常感到语音输入方式不自然;l 连接词(Connected Word)识别:被识别的基本单位的语音可连续输入而不必停顿,同时对输入的基本单位的顺序没有限制。如:象电话号码这样的数字串就可用连接词识别法。它的缺点是应用范围不广,而且识别正确率较低。l 连续语音(Continuou
13、s Speech)识别:被识别的基本单位的语音可连续输入而不必停顿,同时对输入的基本单位的顺序有语法语义上的限制。连续语音的输入方式比较接近自然,输入语音速度较快,但识别正确率远远低于对孤立词和连接词的识别。l 自然口语(Natural Speaking)识别:可以看作一种更高级的连续语音输入方式。说话者完全用自己习惯的自然方式输入语音。语音完全口语化语音可以随意地连续、停顿和快慢变化,可以有无关的内容(如:咂嘴的声音、“嗯”等),可以有重复、错误和修改(如:“他住在四一三,噢,四一四房间”),语法上没有书面语那样较严格的限制。自然口语识别是语音识别的最高阶段,也是现在的一个研究热点。尽管这四
14、种语音输入方式有或多或少的区别,但实际系统常常包含了许多相同或相似的模块和算法。如:语音信号预处理部分有时可以通用于这四种系统,这四种系统可以使用相同的声学模型,连续语音系统和自然口语系统也可以共享一些语言后处理的算法,等等。2. 按词汇量大小:l 小词汇量(small vocabulary)识别:可识别词数少于500个;l 中词汇量(medium vocabulary)识别:可识别词数大于500但小于2000个;l 大词汇量(large vocabulary)识别:可识别词数大于2000个。随着词汇量的增加,在特征空间中相邻词的距离减小了,而词与词交叉重叠的机会增大,所以识别也越困难。3.
15、按被识别人范围:l 特定人(speaker dependent)识别:语音识别系统专门为特定人定制,当对这个人进行语音识别时,系统可达到一定令人满意的识别正确率;l 非特定人(speaker independent) 识别:系统可以对所有人的语音产生较好的识别结果。实际上,许多非特定人的识别系统都具有自适应功能,可以用一个使用者的输入对系统参数继续进行训练,以对这个人达到更好的识别效果,这样非特定人似乎就变成了特定人识别系统。所以非特定人系统和特定人系统往往没有一个绝对的界限。1.1.1 语音识别的应用价值语音识别有极其巨大的应用价值,这主要表现在以下几方面:1. 一种非常自然的文字输入方法人
16、类希望将自己的语言记录下来,传统上可以通过书写等物理手段进行具体的保留。现在,更准确、可靠和容易加工的手段是输入计算机以抽象数据编码的形式进行记录。最常用的方式是用键盘输入,这要求使用者必须经过专门的训练,而对普通用户又不太现实。尤其对于使用汉语的中国人的来说,困难就更大,因为汉字是象形文字,不象英语等拼音文字那样每个字母都有键盘按键直接对应。虽然现在汉语已有五笔字型等高效输入编码方式,但对于一般人来说很难熟练掌握。另一方面,口语是人类生存的一个重要手段,虽然它不是与生俱来的,但一个健康人在他的早年即已习得,可以认为口语是绝大部分人最自然的交流方式。有时,书写也可以作为人们的交流方式,不幸的是
17、书写速度还是比普通的说话速度慢,所以口语应该成为最自然、快速的文字输入方式。2. 语音控制在很多场合下,人们希望有手动控制以外的控制方式。有时是为了安全,比如在驾驶车辆时,司机为了使用移动电话,分散精力用手拨号就是很危险的;有时是为了方便,比如现在的掌上电脑体积很小,用普通电脑的按键方式使用很困难;还有时是特殊环境的要求,比如我们在黑暗的场所操纵诸多开关、按钮时,会发现并不容易。而语音在这些方面却不受限制,我们可以用语音识别进行拨号,进行掌上机的输入,进行开关的控制。语音控制可以解放我们的双手,帮助我们克服各种操作的困难,还可以使我们的生活、工作更方便和舒适。比如:在联网的智能家电中装上语音识
18、别模块,我们就可以从办公室打电话了解家里的情况,并控制家电的工作。另外,对残疾人来说,语音控制可能会使他们能像健康人一样地自理生活。总之,语音控制的应用前景非常广阔。3. 对话系统(订票系统,天气查询等)将语音识别、自然语言理解、对话控制、语言生成、语音合成、数据库等技术综合起来可以构成对话系统。对话系统现在已开始用于订票系统,普通用户可以通过电话进行语音订票或预定旅馆房间;另外还出现了带有对话系统的天气查询系统1,用户同样可以通过普通电话进行语音查询。对话系统可以在任何时候被大负荷的访问,不象人一样会疲劳,总能给用户亲切、快捷的服务。预计语音识别在这一方面的应用还要进一步扩大。4. 口语翻译
19、系统随着人们的交流日益频繁,对口语翻译的需求越来越大。为此很多机构在研究自动口语翻译系统。口语翻译的第一步就是要听清用户在说什么,这部分的工作离不开语音识别系统。5. 计算机辅助教学在常规的课堂教学中,老师和学生之间经常要进行交流,以提高教学的质量,解决学生的疑问。在计算机辅助教学领域,人们也希望人机之间有相似的交流和反馈。目前,语音识别已开始进入这一领域,比如:有一些英语学习软件就通过语音识别来判断学生发音的准确性。由于交流的重要性,可以断言,未来大部分计算机辅助教学系统都离不开语音识别。6. 身份确认现在进行自动身份确认的方式很多,比如:键盘输入密码、指纹、掌纹、人脸、虹膜、视网膜图像等等
20、,而语音常常是一个非常好的方式。人们可以口述密码、回答特殊的问题,还可以与目前的说话人确认技术(Speaker Verification)结合,形成一种自然、方便和可靠的确认系统。它可以广泛地用于楼宇安全系统,以及电子商务等领域。以上只是目前可以预见到的一些应用,尽管这样,已经让我们对未来充满了憧憬。语音识别将与其它各种技术熔合在一起,渗透到社会的各个角落,相信有一天,人们会发现自己的生存已离不开语音识别。1.1.2 语音识别的理论意义语音识别也有很强的理论价值。人类语音信息与其它的自然界或人工信息有相当程度的相似性。因此其它领域的研究也可以得益于语音识别。首先,语音识别中有些技术手段直接或稍
21、加修改便可应用于其它声音或振动波形的识别中。比如:地震波性质识别、利用机械声波识别来判断机械故障、利用脑电波的识别作病理诊断等。其次,语音识别中的一些思想和方法与更广泛的模式识别(如手写体识别、指纹识别等)有一定的共性。因此,也可能推广到更广泛的领域。另外,在语音识别中遇到的一些问题,同样可以成为数学、信号处理、人工智能等领域研究的新课题,从而对这些学科的发展起到一定的推动作用。1.2 国内外发展状况语音识别技术从五十年代初期起步,到今天已发展了四十年,在此期间经历了若干个重要阶段。下面给出了一些代表性的技术和系统的发展情况。五十年代电子信号频谱分析仪器开始被用于从语音信号中识别简单、少量的音
22、节和音素。其中有代表性的是1952年美国Bell Laboratories的实验装置,它通过提取元音中的共振峰来识别简单的音节。稍晚还有1956年RCA Laboratories的单音节词识别装置2,该装置的基本原理是用模拟滤波器组对元音进行谱分析。五十年代可以认为是现代语音识别技术的启蒙阶段。六十年代人们进行了一些重要的基础研究工作。一、对语音产生的研究,Fant3, 4 和Flanagan5的工作使人们对语音产生的机理有了一个较系统的了解。二、对人类听觉的生理和心理进行了研究,其中一个重要的成果就是发现了人耳对声音中的不同频率成分有不同的分辨力的反应力,这对后来的听觉模型6研究很有指导意义
23、。三、模板匹配的研究:其中较著名的是美国人Martin提出的用提取语音端点的途径来解决语速变化的问题;而日本学者Itakura将动态规划(DP)的概念用于解决孤立词识别时说话速度不均匀的难题,提出了著名的动态时间伸缩算法(DTW)。四、自然语言理解的基础研究,这导致了七十年代初CMU的Hearsay I 简单的口语理解系统。值得一提的是日本在六十年代早期开始了这方面的大量研究,有若干个研究机构参与。他们的重要成果是实现了一些语音分析、识别的专用硬件。它们中有NEC的数字识别器、东京大学的音节识别器和RRL的元音识别器7。到了六十年代,电子计算机已发展了二十年,人们逐渐将计算机用于语音识别中,这
24、也为七十年代研究的蓬勃发展奠定了基础。七十年代,有关语音识别的各方面理论大量出现。在信号处理方面,Itacura8发现基于线性预测编码LPC的谱系数是识别器很好的特征,不但识别效果比以前大有提高,计算复杂度也比较小。人们已知道基于LPC又可提取出PARCOR参数、声道截面积比等重要的可用于识别的特征参数9。在模板匹配方面,日本人Sakoe10证明DTW在语音识别中可以有效地解决两个不同长度的语音段对齐的问题。在语言模型方面,Jelinek研究了N-gram算法11。在自然语言理解的研究与应用方面,句法和语义信息开始被加入识别过程中,这样可以大大减小混淆度,同时有助于得到正确的结果。七十年代还有
25、一个重大的里程碑,就是CMU的Baker12和IBM的Jelinek13意识到可以将马尔可夫模型应用于语音识别,不平稳的语音流中可以有相对平稳的状态的概念在人们的思想中真正地确立,现在常用的声学模型就是基于这个思想。此外,还出现了网络表示、beam搜索14、前后向算法等理论。七十年代出现的主要是孤立词识别系统,比较著名的是:CMU的Hearsay-II15、IBM的大词汇量自动语音听写系统11、Bell Labs用于通迅的与话者无关的语音识别系统16。它们中有很多是得益于美国国防部的ARPA语音理解计划。到了八十年代,语音研究的主流由以前的确定性的模板匹配方法转移到了概率模型方法,主要是采用了
26、隐马尔可夫模型(Hidden Markov Models 缩写为HMM) 17,18。隐马尔可夫模型虽然有不少缺陷19-21,但它在建模的精确性和灵活性方面还是比较好的,因此至今人们还仍然大量使用隐马尔可夫模型或者它的改进模型。CMU的SPHINX22,23就应用了这种概率模型,并进一步与矢量量化结合在一起。八十年代基于动态规划的解码算法24被人们大量地使用,使这个时期的系统普遍具有连接词识别的能力。另外,八十年代人工神经网络的研究热潮也波及语音领域。人工神经网络的特点是有通用的网络结构和参数训练方法,而不必过分考虑语音的实际概率分布。它的缺点是难于直接处理象语音这样时间长短会变化的信号序列。
27、因为马尔可夫模型适于处理时间序列,于是有人将隐马尔可夫模型与人工神经网络结合起来,构成嵌套模型25,并一度成为研究的热点。进入九十年代,随着信号处理、声学模型26、语言模型、解码搜索27,28算法等理论日益成熟,计算机软硬件系统性能不断提高,出现了一些大词汇量连续语音识别系统,如IBM的ViaVoice29,Microsoft的Whisper30,CMU的SPHINX-II31等等。这些系统大体上采用了相似的技术,不仅有基于隐马尔可夫模型的声学模型,而且包含了较复杂的语言模型以及先进的解码算法。它们采用各种算法32-34以提高对说话人、环境、通道的鲁棒性。有的系统还加入了自然语言理解部分,使系
28、统性能进一步提高。为了推动现代语音识别技术的发展,Cambridge开发了HTK35语音识别开发软件包,使研究开发工作者能够在一个良好的平台上专注于某一个具体问题的研究。最近,CMU也开始在网上公开部分Sphinx的源代码,相信这将为全球各地的研究人员提供良好的研究交流机会。当前已有不少语音识别系统进入实用化阶段,走上了市场,表1-1列出最近个人电脑杂志报道的世界主要语音识别软件的评比结果36。这个评比结果表明现在实用的语音识别系统已经发展到了非特定人、超大规模词汇量和连续语音识别阶段,并具有大约93%的初始识别正确率。我国对语音识别的研究开始于七十年代后期,起步较晚。但由于汉语语音识别的重要
29、性日益突出,最近发展速度很快。七十年代末,中国科学院声学研究所基于滤波器组设计成功了实时语音识别系统RTSES(01) 37。八十年代中期,清华大学和哈尔滨工业大学分别研制成功基于线性预测编码系数LPC的特定人大词汇表孤立词识别系统。八十年代后期,清华大学推出了基于音节的汉语识别系统。其后不久,北方交通大学、北京理工大学等研究机构也实现了相似的全音节汉语语音识别系统。进入九十年代,我国在连续语音识别方面也取得了重大进展。1995年清华大学推出了非特定人大词汇量连续语音识别系统38。1996年,中国科学院自动化研究所也推出了相似级别的系统39。在1998年的863语音连续语音识别测评40中,清华
30、大学系统的句子识别平均正确率达到了93,音节首选正确率最高达到了82%,这代表了目前国内的研究水平。表1-1 Dragon NaturallySpeaking、FreeSpeech 2000、L&H Voice Xpress Professional和ViaVoice Pro Millennium Edition四种语音识别系统的性能比较Dragon NaturallySpeakingFreeSpeech 2000L&H Voice Xpress ProfessionalViaVoice Pro Millennium Edition初始识别率95%91%93%95%是否支持多用户支持支持支持支
31、持基本活动词汇表160,00060,00034,00064,000最大活动词汇表250,000670,00064,0002,000,0001.3 本文主要工作论文的工作是对连续语音识别中如何有效地采用半连续隐马尔可夫模型(SCHMM)进行研究并实现了一个基于SCHMM的连续语音识别系统。由于SCHMM是CHMM在码本绑定上的一个特例,它和CHMM有许多相似性,因此在这里讨论的许多技术也可应用到CHMM中。作者主要做了如下的工作:1. 在初始码本生成中引入了随机松弛算法。SCHMM的初始码本生成是一个矢量量化的问题,量化的困难是量化结果通常会陷入局部最优,采用随机松弛算法能够比较好地克服这个缺点
32、。2. 在连续语音训练中,通过减去句子单元信息,克服了Baum-Welch算法训练不同类型句子时发生数据奇异的缺陷。3. 改进了SCHMM的搜索算法,通过对码本进行剪枝,Beam剪枝等措施,在保证一定识别率的前提下,大大减少了搜索在时间和空间上的消耗,加快了搜索的速度。4. 实现了一个在实际环境下使用的基于SCHMM的连续语音训练和识别系统。1.4 本文内容安排本文作了如下安排:第一章概述语音识别的基本研究情况以及作者的主要工作。第二章介绍语音识别模型第三章介绍SCHMM的训练策略。讨论了码本初值的生成问题,给出了基于对数变换的无溢出Baum-Welch训练算法及在训练中遇到的一些问题。第四章
33、介绍SCHMM的搜索策略第五章是系统的实现及实验结果和讨论。第六章是本文的总结。8第二章 语音识别的基本模型第二章 语音识别的基本模型在语音识别中,语音模型的作用是对待识别的语音进行有效的描述。它位于语音识别系统的较底层,属于声学层。如果它的建模效果不好,会严重影响整体系统的识别率。虽然上层的处理在一定程度上可以更正语音模型层产生的错误,但是增加语音模型精度还是提高系统性能的一个非常简便有效的途径。同时,很多处理也是基于适当的语音模型,比如说话人自适应。所以对语音模型的研究有极其重要的意义。2.1 语音识别的基本结构及方法语音建模的方法可分为两大类:1. 基于规则的语音建模这是一种根据大量的知
34、识和经验的启发式建模方法。由于有较大的局限性,目前它的应用并不普遍。2. 基于统计的语音建模这是根据大量的语音训练样本确定统计参数的建模方法。只要样本足够多具有代表性,并且模型足够精细,统计建模能获得较好的结果。基于统计的语音建模又可进一步被分成四种:(i)动态时间归整(Dynamical Time Warpng,DTW)41, 42、(ii)概率统计模型建模、(iii)人工神经网络(Artificial Neural Network,ANN)建模、(iv)混合模型建模。因为本论文主要基于统计模型建模,下面就对它们进行简要的讨论。l 动态时间归整动态时间归整在本质上属于动态规划(dynamic
35、al programming)。它可以度量两个长度不等的特征矢量序列的距离。在语音识别的早期,正是它使长度可变的语音的相似度计算问题得到了一个较好的解决。动态时间归整方法的缺点是计算量大,鲁棒性差,不适合于连续语音识别。l 基于概率统计模型建模最常见的概率模型是隐马尔可夫模型。虽然在六十年代末,数学家就已对它进行了较充分的研究43,但是缘于领域间的隔绝,直到七十年代末,才出现于语音界的报道。尽管如此,在整个八十年代,隐马尔可夫模型在语音识别领域受到了人们的很大重视,进入九十年代隐马尔可夫模型的应用已日臻成熟。目前,大部分的语音识别系统采用隐马尔可夫模型或其各种改进型。l 人工神经网络人工神经网
36、络44有若干优点。在一定的网络复杂度下,被训练的网络可以自动地刻划样本的统计分布,而不需要人为的设定,同时还有通用的训练方法。在实际使用中它具有较强的鲁棒性,可以具备自适应能力。另外,这种并行计算网络还适于用硬件实现,以提高运算速度。正是因为这些特点,在基于概率统计模型建模很普遍的今天,仍然有人在考虑引入一定的人工神经网络。本章的主要内容包括:1. 讲述了HMM的基本结构;2. 探讨了HMM的三个基本问题3. 介绍了HMM的分类。2.2 HMM的基本结构HMM是基于马尔可夫链的。马尔可夫过程是一个随机过程,它具备这样的性质,即已知t时刻过程所处的状态,在t时刻以后过程将要到达的状态与t时刻以前
37、过程所处的状态无关,这个性质也称为过程的无后效性或马尔可夫性。马尔可夫过程可能取的全体构成状态空间,可以是连续的或离散的;马尔可夫过程的指标集T也可以是连续的或离散的。对一个状态空间S(维数为L)离散的随机过程,若满足 (2-1)则称之为马尔可夫链。马尔可夫链在t时刻的一步转移概率 (2-2)称为t时刻状态i到状态j的转移概率。显然有 (2-3) (2-4)在马尔可夫链时间起点,需要对初始状态进行描述,这可以用初始状态概率矢量来表示,是一个L维行矢量,它的每一个分量表示等于的概率,这可以用下式表述: (2-5)隐含马尔可夫模型(HMM)由两个相互关联的过程相互作用而成:一个是状态空间有限的马尔
38、可夫链,一个是随机函数集。当HMM处在某一个时刻t,观察者可以看到模型的输出(一个观测值),该观测值由只与当前状态相关的随机函数产生。HMM的状态转移由状态转移概率矩阵控制。观察者只能看到与每一状态相关联的随机函数的输出,而看不到HMM的状态变化,即所谓“隐含”。一条有限长度马尔可夫链,这可以用一个行矢量表示为X=。该系统可能产生LT种互异的有限马尔可夫链X。对于任何一个特定X,其出现概率可用下式计算(为简洁见,始终用来表示)。 (2-6)一个HMM由下面一些参数表征。(1) :模型的状态集合,表示系统在t时刻所处的状态;(2) :状态转移概率矩阵,;(3) :观测矢量输出概率(密度)矩阵,观
39、测矢量是系统在某个状态下提供的实RQ空间中的一个随机列矢量。比如在时刻t所处状态为,产生的输出矢量为。那么,如果具有连续分布,它的概率密度函数只取决于等于何种状态。因而可以表示为下列形式:, (2-7)如果具有离散分布,它的概率分布也只取决于并且用下式表示:, (2-8)(4) :初始概率分布,。状态转移概率矩阵一般是时间的函数,如果与时间无关,那么相应的HMM称为齐次的,状态转移概率矩阵,其中。 (2-9)一个有L个状态的齐次HMM可以表示为。根据观察输出概率矩阵中的函数是基于VQ、连续密度还是二者的综合,HMM又分为离散HMM(DHMM,Discrete HMM)、连续密度HMM(CDHM
40、M,Continuous Density HMM,简称CHMM)和半连续HMM(SCHMM,Semi-Continuous HMM)45。2.3 HMM的三个基本问题用HMM来完成语音识别的各项研究课题时,需要解决下列三方面的问题:(1)训练问题:给定一个观测序列O=,称为一个学习样本。设有M个样本,样本集合可记为O(m),m=1M,按照最大似然准则用此集合求出a,A,B。即如何调整模型参数使HMM系统产生学习样本中各个样本的概率平均值达到最大?(2)概率的计算问题:给定一个观测序列O=和模型,如何计算?(3)状态序列选择问题:给定一个观测序列O=,如何选择一个最有可能产生这个观测矢量的状态序
41、列?第一和第二个问题的解决有两种方案:第一种是“前后向”(Forward-Backward)算法,即Baum-Welch算法46;第二种是分段K-平均聚类方法47。前后向算法:前后向算法引入向前部分概率函数() (2-10) (2-11)及向后部分概率函数() (2-12) (2-13)的含义是从前看第帧经过状态的概率,的含义是从后看第帧经过状态的概率。然后利用一组迭代公式来解决第一个问题4645 (2-14) (2-15)(是O和的函数) 其中的迭代公式视DHMM、CHMM和SCHMM而不同。第一个问题解决之后,第二个问题由向前部分概率可以得到: (2-16)Baum-Welch算法是收敛的
42、,但只能收敛到局部最优,因此初始化很重要48。分段K-平均聚类算法:在前后向算法中,观测矢量的条件概率密度函数是 (2-17)最大似然估计的目的是在给定一观测矢量,寻找一参数使得上式最大。而在分段聚类算法中,用的是下面这个公式: (2-18)这可以称为基于状态最优的似然值。分段K-平均聚类算法有两个基本的步骤:1) 分段 2) 最优化。其中分段步骤等同于序列解码并且可以通过Viterbi算法得到最优结果,即:。最优化步骤是在给定的状态序列s和观测矢量后,找到一组新的模型参数来最大化上面所说的基于状态最优的似然值。即 (2-19)然后,用新得的来替代原来的,再重复上述的两个步骤直到基于状态最优的
43、似然值收敛到一设定的阈值。(2-18)式可写作 (2-20)设有一最优的状态序列,。这样,可以看到中所含的两项可以分别求其最大化,因为只是的函数,只是的函数(为了简化这里忽略了初始的概率分布)。可以得到如下的两个公式: (2-21) (2-22)而这两个公式又可以写成如下的形式: (2-23) (2-24)这里,以及。因为是相互独立的,所以可以分别求每个()的最优。而对于可获得如下的解答:, (2-25)训练语音数据模型参数初值状态序列分割用分段K平均法估计B模型参数YN模型是否收敛?图 2-1 用K平均法求模型参数初值值前后向或分段K平均算法重估参数具体的方法是首先为每个词条设置一套参数初值
44、,这套参数可以通过将语音进行等间隔划分来获得,也可由过去的一些实验结果中得到。然后用Viterbi算法将各词条的每个训练样本分割成N个状态,再将每个词条同一状态的所有特征矢量搜集在一起。如果第w个词的第j状态用V个正态函数线性相加来形成其概率密度函数,那么可以将词条w中状态j的所有按照最大似然原则分为N个聚类区,每个区的中心即为相应正态分布的均值矢量(分聚类区的运算需通过迭代计算完成)。同样可以求得每个聚类区的均方差矩阵(对角阵)以及每个正态分布函数的权重系数(即等于每个聚类区中的特征矢量数除以该状态中所有特征矢量数)。从图2-1可以进一步地看到它的基本步骤。基于状态最优的分段K-平均聚类算法
45、的收敛性,可参考47。第三个问题可以用Viterbi解码算法来解决,这将在第四章详细阐述。比较这两种算法的优缺点,相比较而言Baum-Welch算法的计算量要大一些,训练的时候要解决上下溢的问题。K平均算法的麻烦之处在于要将所有属于同一模型同一状态的向量抽取出来进行聚类训练,对数据信息没有一迭代的过程,如要得到好结果,必须将所有的数据都综合起来。但其算法比较简单,计算量小。总结一下,HMM有这样的两个基本假定:(1) 系统当前时刻所处的状态只与上一时刻所处的状态有关;(2) 系统当前时刻的输出只与系统当前所处的状态有关。语音识别中的HMM一般都是从左向右结构,即。从左向右结构又分为无跳转式()和有跳转式。2.4 HMM的分类除了按A矩阵的时变特性把HMM分为时齐和非时齐的HMM外,按语音的特征向量输出概率(密度)的描述方法,HMM可分为离散、连续和半连续三种。这三种HMM的A矩阵具有相同的特性,由于 (2-26)因此,只需对 (