资源描述
I / 70 文档可自由编辑打印连续语音识别中半连续连续语音识别中半连续 HMMHMM的研究及实现的研究及实现Research and Implement ofSCHMM in CSR(申请清华大学工学硕士学位论文)密级:内部1 / 70 文档可自由编辑打印独 创 性 声 明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得清华大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 签 名:日 期: 关于论文使用授权的说明本人完全了解清华大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存论文。签 名: 导师签名: 日 期: I / 70 文档可自由编辑打印摘 要SCHMM 作为一种有效的语音识别技术,它充分地吸收了离散 HMM 和连续 HMM的优点,具有识别精度高搜索速度快等特点。特别是它的码本绑定策略,由于从全局的角度来共享和调整码本,所生成的码本性能更好,能够有效地反映语音空间的特征,因此只要少量的码本就能使系统达到较好的性能,大大减轻了码本计算的复杂性,提高了系统识别的速度。研究内容包括如下几个方面:1. 在初始码本生成中引入了随机松弛算法,SCHMM 的初始码本生成是一个矢量量化的问题,量化的困难是量化结果通常会陷入局部最优,采用随机松弛算法能够比较好地克服这个缺点。2. 在连续语音训练中,通过减去句子单元信息,克服了Baum-Welch算法训练不同类型句子时发生数据奇异的缺陷。3. 改进了 SCHMM 的搜索算法,通过对码本进行剪枝,Beam 剪枝等措施,在保证一定识别率的前提下,大大减少了搜索在时间和空间上的消耗,加快了搜索的速度。4. 实现了一个基于 SCHMM 的连续语音训练和识别系统。关关键键词词:语音识别,半连续 HMM,码本,随机松弛,搜索II / 70 文档可自由编辑打印AbstractAs an efficient technology of speech recognition, Semi Continuous HMM (SCHMM) 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 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 introduced 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 speech 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 that 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.III / 70 文档可自由编辑打印目目 录录第一章第一章 概述概述 .1 11.1 语音识别.11.1.1 语音识别的应用价值 .21.1.2 语音识别的理论意义 .41.2 国内外发展状况.41.3 本文主要工作.71.4 本文内容安排.8第二章第二章 语音识语音识别别的基本模型的基本模型 .9 92.1 语音识别的基本结构及方法.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第三章第三章 SCHMMSCHMM 的训练方法的训练方法 .19193.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第四章第四章 SCHMMSCHMM 的连续语音搜索方法的连续语音搜索方法 .33334.1 连续语音的 VITERBI解码算法 .344.2 N-BEST搜索算法 .35IV / 70 文档可自由编辑打印4.3 静音处理方法.364.3.1 基于时域的端点检测方法 .374.3.2 基于 HMM 的音节间检测方法 .384.4.提高搜索速度的几种方法.384.4.1 码本剪枝策略 .384.4.2 Beam 剪枝策略 .404.4.3 降低精度策略 .42第五章第五章 系统与实验系统与实验 .44445.1 数据库的建立.445.2 系统的实现.455.2.1 训练程序 .465.2.2 识别程序 .495.3 实验和分析.525.3.1 码本数对识别结果的影响 .535.3.2 状态数对识别结果的影响 .535.3.3 帧长对识别结果的影响 .545.3.4 系统的性能和评价 .54第六章第六章 总结总结 .5757参考文献参考文献 .6060个人简历个人简历 .6464致谢致谢 .65651 / 70 文档可自由编辑打印第第一一章章 概概述述1 1. .1 1 语语音音识识别别现代语音识别是用电子计算机从人的语音信号中提取信息,确定其语言含义的过程。它是一门交叉学科,多个领域的研究工作者参与其中,因此又可被归于多个大学科。在计算机大学科中,它是智能计算机的智能接口科学;在信息处理大学科中,它是信息识别的一个重要分支;在通信及电子系统、电路、信号及系统等大学科中,它属于信息或通信系统的信息处理学科;在自动化学科中,它是模式识别的一个重要研究对象。同时语言学家和生理学家也对这种用机器识别人类语言的技术不断作出自己的贡献。于是,语音识别成为一门与人工智能、数字信号处理理论、模式识别理论、统计信息理论、最优化理论、计算机科学以及声学、语言学、语义学、脑科学、生理学等众多学科紧密相连的综合学科。目前,语音识别系统有多种工作方式,人们常常从不同的角度对识别系统进行分类:1. 按说话方式及语言规则: 孤立词(Isolated Word)识别:被识别的基本单位的语音之间有明显的停顿间隔。这种系统的识别正确率最高,但输入语音速度较慢,而且使用者常常感到语音输入方式不自然; 连接词(Connected Word)识别:被识别的基本单位的语音可连续输入而不必停顿,同时对输入的基本单位的顺序没有限制。如:象电话号码这样的数字串就可用连接词识别法。它的缺点是应用范围不广,而且识别正确率较低。 连续语音 (Continuous Speech)识别:被识别的基本单位的语音可连续输入而不必停顿,同时对输入的基本单位的顺序有语法语义上的限制。连续语音的输入方式比较接近自然,输入语音速度较快,但识别正确率远远低于对孤立词和连接词的识别。2 / 70 文档可自由编辑打印 自然口语 (Natural Speaking)识别:可以看作一种更高级的连续语音输入方式。说话者完全用自己习惯的自然方式输入语音。语音完全口语化语音可以随意地连续、停顿和快慢变化,可以有无关的内容(如:咂嘴的声音、 “嗯”等) ,可以有重复、错误和修改(如: “他住在四一三,噢,四一四房间 ” ) ,语法上没有书面语那样较严格的限制。自然口语识别是语音识别的最高阶段,也是现在的一个研究热点。尽管这四种语音输入方式有或多或少的区别,但实际系统常常包含了许多相同或相似的模块和算法。如:语音信号预处理部分有时可以通用于这四种系统,这四种系统可以使用相同的声学模型,连续语音系统和自然口语系统也可以共享一些语言后处理的算法,等等。2. 按词汇量大小: 小词汇量 (small vocabulary)识别:可识别词数少于 500 个; 中词汇量 (medium vocabulary)识别:可识别词数大于 500 但小于2000 个; 大词汇量 (large vocabulary)识别:可识别词数大于 2000 个。随着词汇量的增加,在特征空间中相邻词的距离减小了,而词与词交叉重叠的机会增大,所以识别也越困难。3. 按被识别人范围: 特定人(speaker dependent)识别:语音识别系统专门为特定人定制,当对这个人进行语音识别时,系统可达到一定令人满意的识别正确率; 非特定人 (speaker independent) 识别:系统可以对所有人的语音产生较好的识别结果。实际上,许多非特定人的识别系统都具有自适应功能,可以用一个使用者的输入对系统参数继续进行训练,以对这个人达到更好的识别效果,这样非特定人似乎就变成了特定人识别系统。所以非特定人系统和特定人系统往往没有一个绝对的界限。1 1. .1 1. .1 1 语语音音识识别别的的应应用用价价值值语音识别有极其巨大的应用价值,这主要表现在以下几方面:1. 一种非常自然的文字输入方法3 / 70 文档可自由编辑打印人类希望将自己的语言记录下来,传统上可以通过书写等物理手段进行具体的保留。现在,更准确、可靠和容易加工的手段是输入计算机以抽象数据编码的形式进行记录。最常用的方式是用键盘输入,这要求使用者必须经过专门的训练,而对普通用户又不太现实。尤其对于使用汉语的中国人的来说,困难就更大,因为汉字是象形文字,不象英语等拼音文字那样每个字母都有键盘按键直接对应。虽然现在汉语已有五笔字型等高效输入编码方式,但对于一般人来说很难熟练掌握。另一方面,口语是人类生存的一个重要手段,虽然它不是与生俱来的,但一个健康人在他的早年即已习得,可以认为口语是绝大部分人最自然的交流方式。有时,书写也可以作为人们的交流方式,不幸的是书写速度还是比普通的说话速度慢,所以口语应该成为最自然、快速的文字输入方式。2. 语音控制在很多场合下,人们希望有手动控制以外的控制方式。有时是为了安全,比如在驾驶车辆时,司机为了使用移动电话,分散精力用手拨号就是很危险的;有时是为了方便,比如现在的掌上电脑体积很小,用普通电脑的按键方式使用很困难;还有时是特殊环境的要求,比如我们在黑暗的场所操纵诸多开关、按钮时,会发现并不容易。而语音在这些方面却不受限制,我们可以用语音识别进行拨号,进行掌上机的输入,进行开关的控制。语音控制可以解放我们的双手,帮助我们克服各种操作的困难,还可以使我们的生活、工作更方便和舒适。比如:在联网的智能家电中装上语音识别模块,我们就可以从办公室打电话了解家里的情况,并控制家电的工作。另外,对残疾人来说,语音控制可能会使他们能像健康人一样地自理生活。总之,语音控制的应用前景非常广阔。3. 对话系统(订票系统,天气查询等)将语音识别、自然语言理解、对话控制、语言生成、语音合成、数据库等技术综合起来可以构成对话系统。对话系统现在已开始用于订票系统,普通用户可以通过电话进行语音订票或预定旅馆房间;另外还出现了带有对话系统的天气查询系统1,用户同样可以通过普通电话进行语音查询。对话系统可以在任何时候被大负荷的访问,不象人一样会疲劳,总能给用户亲切、快捷的服务。预计语音识别在这一方面的应用还要进一步扩大。4. 口语翻译系统随着人们的交流日益频繁,对口语翻译的需求越来越大。为此很多机构在4 / 70 文档可自由编辑打印研究自动口语翻译系统。口语翻译的第一步就是要听清用户在说什么,这部分的工作离不开语音识别系统。5. 计算机辅助教学在常规的课堂教学中,老师和学生之间经常要进行交流,以提高教学的质量,解决学生的疑问。在计算机辅助教学领域,人们也希望人机之间有相似的交流和反馈。目前,语音识别已开始进入这一领域,比如:有一些英语学习软件就通过语音识别来判断学生发音的准确性。由于交流的重要性,可以断言,未来大部分计算机辅助教学系统都离不开语音识别。6. 身份确认现在进行自动身份确认的方式很多,比如:键盘输入密码、指纹、掌纹、人脸、虹膜、视网膜图像等等,而语音常常是一个非常好的方式。人们可以口述密码、回答特殊的问题,还可以与目前的说话人确认技术(Speaker Verification)结合,形成一种自然、方便和可靠的确认系统。它可以广泛地用于楼宇安全系统,以及电子商务等领域。以上只是目前可以预见到的一些应用,尽管这样,已经让我们对未来充满了憧憬。语音识别将与其它各种技术熔合在一起,渗透到社会的各个角落,相信有一天,人们会发现自己的生存已离不开语音识别。1 1. .1 1. .2 2 语语音音识识别别的的理理论论意意义义语音识别也有很强的理论价值。人类语音信息与其它的自然界或人工信息有相当程度的相似性。因此其它领域的研究也可以得益于语音识别。首先,语音识别中有些技术手段直接或稍加修改便可应用于其它声音或振动波形的识别中。比如:地震波性质识别、利用机械声波识别来判断机械故障、利用脑电波的识别作病理诊断等。其次,语音识别中的一些思想和方法与更广泛的模式识别(如手写体识别、指纹识别等)有一定的共性。因此,也可能推广到更广泛的领域。另外,在语音识别中遇到的一些问题,同样可以成为数学、信号处理、人工智能等领域研究的新课题,从而对这些学科的发展起到一定的推动作用。1 1. .2 2 国国内内外外发发展展状状况况语音识别技术从五十年代初期起步,到今天已发展了四十年,在此期间经历了若干个重要阶段。下面给出了一些代表性的技术和系统的发展情况。5 / 70 文档可自由编辑打印五十年代电子信号频谱分析仪器开始被用于从语音信号中识别简单、少量的音节和音素。其中有代表性的是 1952 年美国 Bell Laboratories 的实验装置,它通过提取元音中的共振峰来识别简单的音节。稍晚还有 1956 年 RCA Laboratories 的单音节词识别装置2,该装置的基本原理是用模拟滤波器组对元音进行谱分析。五十年代可以认为是现代语音识别技术的启蒙阶段。六十年代人们进行了一些重要的基础研究工作。一、对语音产生的研究,Fant3, 4 和 Flanagan5的工作使人们对语音产生的机理有了一个较系统的了解。二、对人类听觉的生理和心理进行了研究,其中一个重要的成果就是发现了人耳对声音中的不同频率成分有不同的分辨力的反应力,这对后来的听觉模型6研究很有指导意义。三、模板匹配的研究:其中较著名的是美国人 Martin提出的用提取语音端点的途径来解决语速变化的问题;而日本学者 Itakura 将动态规划(DP)的概念用于解决孤立词识别时说话速度不均匀的难题,提出了著名的动态时间伸缩算法(DTW)。四、自然语言理解的基础研究,这导致了七十年代初 CMU 的 Hearsay I 简单的口语理解系统。值得一提的是日本在六十年代早期开始了这方面的大量研究,有若干个研究机构参与。他们的重要成果是实现了一些语音分析、识别的专用硬件。它们中有 NEC 的数字识别器、东京大学的音节识别器和 RRL 的元音识别器7。到了六十年代,电子计算机已发展了二十年,人们逐渐将计算机用于语音识别中,这也为七十年代研究的蓬勃发展奠定了基础。七十年代,有关语音识别的各方面理论大量出现。在信号处理方面,Itacura8发现基于线性预测编码 LPC 的谱系数是识别器很好的特征,不但识别效果比以前大有提高,计算复杂度也比较小。人们已知道基于 LPC 又可提取出 PARCOR 参数、声道截面积比等重要的可用于识别的特征参数9。在模板匹配方面,日本人 Sakoe10证明 DTW 在语音识别中可以有效地解决两个不同长度的语音段对齐的问题。在语言模型方面,Jelinek 研究了 N-gram 算法11。在自然语言理解的研究与应用方面,句法和语义信息开始被加入识别过程中,这样可以大大减小混淆度,同时有助于得到正确的结果。七十年代还有一个重大的里程碑,就是 CMU 的 Baker12和 IBM 的 Jelinek13意识到可以将马尔可夫模型应用于语音识别,不平稳的语音流中可以有相对平稳的状态的概念在人们的思想中真正地确立,现在常用的声学模型就是基于这个思想。此外,还出现了网络表示、beam 搜索14、前后向算法等理论。6 / 70 文档可自由编辑打印七十年代出现的主要是孤立词识别系统,比较著名的是:CMU 的 Hearsay-II15、IBM 的大词汇量自动语音听写系统11、Bell Labs 用于通迅的与话者无关的语音识别系统16。它们中有很多是得益于美国国防部的 ARPA 语音理解计划。到了八十年代,语音研究的主流由以前的确定性的模板匹配方法转移到了概率模型方法,主要是采用了隐马尔可夫模型(Hidden Markov Models 缩写为HMM) 17,18。隐马尔可夫模型虽然有不少缺陷19-21,但它在建模的精确性和灵活性方面还是比较好的,因此至今人们还仍然大量使用隐马尔可夫模型或者它的改进模型。CMU 的 SPHINX22,23就应用了这种概率模型,并进一步与矢量量化结合在一起。八十年代基于动态规划的解码算法24被人们大量地使用,使这个时期的系统普遍具有连接词识别的能力。另外,八十年代人工神经网络的研究热潮也波及语音领域。人工神经网络的特点是有通用的网络结构和参数训练方法,而不必过分考虑语音的实际概率分布。它的缺点是难于直接处理象语音这样时间长短会变化的信号序列。因为马尔可夫模型适于处理时间序列,于是有人将隐马尔可夫模型与人工神经网络结合起来,构成嵌套模型25,并一度成为研究的热点。进入九十年代,随着信号处理、声学模型26、语言模型、解码搜索27,28算法等理论日益成熟,计算机软硬件系统性能不断提高,出现了一些大词汇量连续语音识别系统,如 IBM 的 ViaVoice29,Microsoft 的 Whisper30,CMU 的SPHINX-II31等等。这些系统大体上采用了相似的技术,不仅有基于隐马尔可夫模型的声学模型,而且包含了较复杂的语言模型以及先进的解码算法。它们采用各种算法32-34以提高对说话人、环境、通道的鲁棒性。有的系统还加入了自然语言理解部分,使系统性能进一步提高。为了推动现代语音识别技术的发展,Cambridge 开发了 HTK35语音识别开发软件包,使研究开发工作者能够在一个良好的平台上专注于某一个具体问题的研究。最近,CMU 也开始在网上公开部分 Sphinx 的源代码,相信这将为全球各地的研究人员提供良好的研究交流机会。当前已有不少语音识别系统进入实用化阶段,走上了市场,表 1-1 列出最近个人电脑杂志报道的世界主要语音识别软件的评比结果36。这个评比结果表明现在实用的语音识别系统已经发展到了非特定人、超大规模词汇量和连续语音识别阶段,并具有大约 93%的初始识别正确率。我国对语音识别的研究开始于七十年代后期,起步较晚。但由于汉语语音7 / 70 文档可自由编辑打印识别的重要性日益突出,最近发展速度很快。七十年代末,中国科学院声学研究所基于滤波器组设计成功了实时语音识别系统 RTSES(01) 37。八十年代中期,清华大学和哈尔滨工业大学分别研制成功基于线性预测编码系数 LPC 的特定人大词汇表孤立词识别系统。八十年代后期,清华大学推出了基于音节的汉语识别系统。其后不久,北方交通大学、北京理工大学等研究机构也实现了相似的全音节汉语语音识别系统。进入九十年代,我国在连续语音识别方面也取得了重大进展。1995 年清华大学推出了非特定人大词汇量连续语音识别系统38。1996 年,中国科学院自动化研究所也推出了相似级别的系统39。在 1998 年的863 语音连续语音识别测评40中,清华大学系统的句子识别平均正确率达到了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%是否支持多用户支持支持支持支持基本活动词汇表160,00060,00034,00064,000最大活动词汇表250,000670,00064,0002,000,0001 1. .3 3 本本文文主主要要工工作作论文的工作是对连续语音识别中如何有效地采用半连续隐马尔可夫模型(SCHMM)进行研究并实现了一个基于 SCHMM 的连续语音识别系统。由于 SCHMM是 CHMM 在码本绑定上的一个特例,它和 CHMM 有许多相似性,因此在这里讨论的许多技术也可应用到 CHMM 中。作者主要做了如下的工作:1. 在初始码本生成中引入了随机松弛算法。SCHMM 的初始码本生成是一个矢量量化的问题,量化的困难是量化结果通常会陷入局部最优,采用随机松弛算法能够比较好地克服这个缺点。2. 在连续语音训练中,通过减去句子单元信息,克服了Baum-Welch算法训练不同类型句子时发生数据奇异的缺陷。3. 改进了 SCHMM 的搜索算法,通过对码本进行剪枝,Beam 剪枝等措施,8 / 70 文档可自由编辑打印在保证一定识别率的前提下,大大减少了搜索在时间和空间上的消耗,加快了搜索的速度。4. 实现了一个在实际环境下使用的基于 SCHMM 的连续语音训练和识别系统。1 1. .4 4 本本文文内内容容安安排排本文作了如下安排:第一章概述语音识别的基本研究情况以及作者的主要工作。第二章介绍语音识别模型第三章介绍 SCHMM 的训练策略。讨论了码本初值的生成问题,给出了基于对数变换的无溢出Baum-Welch训练算法及在训练中遇到的一些问题。第四章介绍 SCHMM 的搜索策略第五章是系统的实现及实验结果和讨论。第六章是本文的总结。9 / 70 文档可自由编辑打印第第二二章章 语语音音识识别别的的基基本本模模型型在语音识别中,语音模型的作用是对待识别的语音进行有效的描述。它位于语音识别系统的较底层,属于声学层。如果它的建模效果不好,会严重影响整体系统的识别率。虽然上层的处理在一定程度上可以更正语音模型层产生的错误,但是增加语音模型精度还是提高系统性能的一个非常简便有效的途径。同时,很多处理也是基于适当的语音模型,比如说话人自适应。所以对语音模型的研究有极其重要的意义。2 2. .1 1 语语音音识识别别的的基基本本结结构构及及方方法法语音建模的方法可分为两大类:1. 基于规则的语音建模这是一种根据大量的知识和经验的启发式建模方法。由于有较大的局限性,目前它的应用并不普遍。2. 基于统计的语音建模这是根据大量的语音训练样本确定统计参数的建模方法。只要样本足够多具有代表性,并且模型足够精细,统计建模能获得较好的结果。基于统计的语音建模又可进一步被分成四种:(i)动态时间归整(Dynamical Time Warpng,DTW)41, 42、 (ii)概率统计模型建模、 (iii)人工神经网络(Artificial Neural Network,ANN)建模、 (iv)混合模型建模。因为本论文主要基于统计模型建模,下面就对它们进行简要的讨论。 动态时间归整动态时间归整在本质上属于动态规划(dynamical programming) 。它可以度量两个长度不等的特征矢量序列的距离。在语音识别的早期,正是它使长度可变的语音的相似度计算问题得到了一个较好的解决。动态时间归整方法的缺点是计算量大,鲁棒性差,不适合于连续语音识别。 基于概率统计模型建模最常见的概率模型是隐马尔可夫模型。虽然在六十年代末,数学家就已对它进行了较充分的研究43,但是缘于领域间的隔绝,直到七十年代末,才出现于语音界的报道。尽管如此,在整个八十年代,隐马尔可夫模型在语音识别领10 / 70 文档可自由编辑打印域受到了人们的很大重视,进入九十年代隐马尔可夫模型的应用已日臻成熟。目前,大部分的语音识别系统采用隐马尔可夫模型或其各种改进型。 人工神经网络人工神经网络44有若干优点。在一定的网络复杂度下,被训练的网络可以自动地刻划样本的统计分布,而不需要人为的设定,同时还有通用的训练方法。在实际使用中它具有较强的鲁棒性,可以具备自适应能力。另外,这种并行计算网络还适于用硬件实现,以提高运算速度。正是因为这些特点,在基于概率统计模型建模很普遍的今天,仍然有人在考虑引入一定的人工神经网络。本章的主要内容包括:1. 讲述了 HMM 的基本结构;2. 探讨了 HMM 的三个基本问题3. 介绍了 HMM 的分类。2 2. .2 2 H HM MM M 的的基基本本结结构构HMM 是基于马尔可夫链的。马尔可夫过程是一个随机过程,它具备这样的性质,即已知Ttxt:t时刻过程所处的状态,在t时刻以后过程将要到达的状态与t时刻以tx前过程所处的状态无关,这个性质也称为过程的无后效性或马尔可夫性。马尔可夫过程可能取的全体构成状态空间,可以是连续的或Ttxt:离散的;马尔可夫过程的指标集T也可以是连续的或离散的。对一个状态空间 S(维数为 L)离散的随机过程,若满足, 2 , 1 , 0: txt (2-1) itjtitjtSxSxPSxSxSxP1001,则称之为马尔可夫链。马尔可夫链在t时刻的一步转移概率 (2-2)LjiSxSxPtAitjtij1,)(1称为t时刻状态i到状态j的转移概率。显然有 (2-3)LjitAij1, 0)( (2-4)jijLjtA1, 1)(在马尔可夫链时间起点,需要对初始状态进行描述,这可以用初始状态概11 / 70 文档可自由编辑打印率矢量来表示,是一个 L 维行矢量,它的每一个分量表示等于的概aaia1xiS率,这可以用下式表述: (2-5)LiSxpaii1,1隐含马尔可夫模型(HMM)由两个相互关联的过程相互作用而成:一个是状态空间有限的马尔可夫链,一个是随机函数集。当 HMM 处在某一个时刻t,观察者可以看到模型的输出(一个观测值),该观测值由只与当前状态相关的随机函数产生。HMM 的状态转移由状态转移概率矩阵控制。观察者只能看到与 ijA每一状态相关联的随机函数的输出,而看不到 HMM 的状态变化,即所谓“隐含”。一条有限长度马尔可夫链,这可以用一个行矢量表示为 X=X=Txxxx,3, 21。该系统可能产生 LT种互异的有限马尔可夫链 X X。对于任何一个Txxxx,3, 21特定 X X,其出现概率可用下式计算(为简洁见,始终用来表示X,apr Xrp)。X,apr (2-6) TTxxxxxxxrAAAap132211,X一个 HMM 由下面一些参数表征。(1):SLSSSS,321模型的状态集合,表示系统在t时刻所处的状态;Sxt(2):LLijtAt)()(A状态转移概率矩阵,;itjtijSxSxPtA1)(3):1)(LjbB观测矢量输出概率(密度)矩阵,观测矢量是系统在某个状态下提供的实 R RQ空间中的一个随机列矢量。比如在时刻t所处状态为,产生的输出tx矢量为。那么,如果具有连续分布,它的概率密度TnnnnQyyyy,21ny函数只取决于等于何种状态。因而可以表示为下列形式:tx, (2-7) jtnrnSxnjSxypypybiijti)(Qi112 / 70 文档可自由编辑打印如果具有离散分布,它的概率分布也只取决于并且用下式表示:nytx, (2-8) jtnrnSxnjSxyPyPybiijti)(Qi1(4):初始概率分布,。 1LiaaiiSxPa1状态转移概率矩阵一般是时间的函数,如果与时间无关,那么相应的 HMM称为齐次的,状态转移概率矩阵,其中 LLijAA。 (2-9)itjtijSxSxPA1一个有L个状态的齐次 HMM 可以表示为。BA,a根据观察输出概率矩阵中的函数是基于 VQ、连续密度还是二者的综)(ybj合,HMM 又分为离散 HMM(DHMMDHMM,Discrete HMM)、连续密度HMM(CDHMMCDHMM,Continuous Density HMM,简称 CHMM)和半连续HMM(SCHMMSCHMM,Semi-Continuous HMM)45。2 2. .3 3 H HM MM M 的的三三个个基基本本问问题题用 HMM 来完成语音识别的各项研究课题时,需要解决下列三方面的问题:(1)训练问题:给定一个观测序列 O O= =,称为一个学习样本。设有M个样Tooo,21本,样本集合可记为 O O(m),m=1M,按照最大似然准则用此集合求出a a, ,A A, ,B B。即如何调整模型参数使 HMM 系统产生学习样本中各个样本的概率平均值达到最大?(2)概率的计算问题:给定一个观测序列 O O= =和模型,如何计算Tooo,21BAa,? OP(3)状态序列选择问题:给定一个观测序列 O O= =,如何选择一个最有可能产生这个Tooo,21观测矢量的状态序列?Tsss,21第一和第二个问题的解决有两种方案:第一种是“前后向”(Forward-Backward)算法,即 Baum-Welch 算法46;第二种是分段K-平均聚类方法47。13 / 70 文档可自由编辑打印前前后后向向算算法法:前后向算法引入向前部分概率函数 ()Lj 1 (2-10)TtobAijsoooPjtjLiijtttt2),()(,)(11,2, 1 (2-11)()(11obajjj及向后部分概率函数 ()Li 1 (2-12)11),()(,)(11121TtjobAisoooPiLjttjijtTttt (2-13)1)(iT的含义是从前看第帧经过状态的概率,的含义是从后看第)( jt)(it帧经过状态的概率。然后利用一组迭代公式来解决第一个问题4645 (2-14)LiTiiiia111)()()( (2-15)()()()()(111111iijobAiAtTttTtttjijtij(是O和的函数) ),()(Ofxbj其中的迭代公式视 DHMM、CHMM 和 SCHMM 而不同。)(jb第一个问题解决之后,第二个问题由向前部分概率可以得到: (2-16) LiTiOP1)(Baum-Welch 算法是收敛的,但只能收敛到局部最优,因此初始化很重要48。分分段段K K- -平平均均聚聚类类算算法法:14 / 70 文档可自由编辑打印在前后向算法中,观测矢量的条件概率密度函数是 (2-17)()(211tsTtssssobAaOpttt最大似然估计的目的是在给定一观测矢量,寻找一参数使得上式最大。而在分段聚类算法中,用的是下面这个公式: (2-18)(max),(max211tsTtsssssobAasOpttt这可以称为基于状态最优的似然值。分段K-平均聚类算法有两个基本的步骤: 1) 分段 2) 最优化。其中分段步骤等同于序列解码并且可以通过Viterbi 算法得到最优结果,即:。),(maxspsO最优化步骤是在给定的状态序列s和观测矢量后,找到一组新的模型参数来最大化上面所说的基于状态最优的似然值。即 (2-19)sOps,(maxmaxarg然后,用新得的来替代原来的,再重复上述的两个步骤直到基于状态最优的似然值收敛到一设定的阈值。 (2-18)式可写作 (2-20)(log),(logmaxmaxargspsOps设有一最优的状态序列,。这样,可以看到*2*1*,TssssSst*中所含的两项可以分别求其最大化,因为)*(log)*,(logmaxspsOp只是的函数,只是的函数(为了简化这里忽), *(logsop)(B)*(logsp)(A略了初始的概率分布)。可以得到如下的两个公式:a (2-21)Tttsobsopt1)(log), *(log* (2-22)Ttssttasp1*1log)*(log而这两个公式又可以写成如下的形式:15 / 70 文档可自由编辑打印 (2-23)LiTttiixbsop1)(log), *(log (2-24)LiLjTtssijttasp11*1log)*(log这里,以及。因为是相互独立的,istTti*:jsistTttij*1,:ib所以可以分别求每个()的最优。而对于可获得如下的解答:ibLi, 2 , 1ijA, (2-25)LjijijijTTA1Lji, 2 , 1,具体的方法是首先为每个词条设置一套参数初值,这套参数可以通过将语音进行等间隔划分来获得,也可由过去的一些实验结果中得到。然后用Viterbi 算法将各词条的每个训练样本分割成N个状态,再将每个词条同一状态的所有特征矢量搜集在一起。如果第w个词的第j状态用 V 个正态函数线to性相加来形成其概率密度函数,那么可以将词条w中状态j的所有按)(nwjobto训练语音数据模型参数初值状态序列分割用分段 K 平均法估计 B模型参数YN模型是否收敛?图 2-1 用 K 平均法求模型参数初值值前后向或分段K 平均算法重估参数16 / 70 文档可自由编辑打印照最大似然原则分为N个聚类区,每个区的中心即为相应正态分布的均值矢量(分聚类区的运算需通过迭代计算完成)。同样可以求得每个聚类区的均方差矩阵(对角阵)以及每个正态分布函数的权重系数(即等于每个聚类区中的特征矢量数除以该状态中所有特征矢量数)。从图 2-1 可以进一步地看到它的基本步骤。基于状态最优的分段 K-平均聚类算法的收敛性,可参考47。第三个问题可以用 Viterbi 解码算法来解决,这将在第四章详细阐述。比较这两种算法的优缺点,相比较而言Baum-Welch 算法的计算量要大一些,训练的时候要解决上下溢的问题。K 平均算法的麻烦之处在于要将所有属于同一模型同一状态的向量抽取出来进行聚类训练,对数据信息没有一迭代的过程,如要得到好结果,必须将所有的数据都综合起来。但其算法比较简单,计算量小。总结一下, HMM 有这样的两个基本假定:(1) 系统当前时刻所处的状态只与上一时刻所处的状态有关;(2) 系统当前时刻的输出只与系统当前所处的状态有关。语音识别中的 HMM 一般都是从左向右结构,即。从左向右ijAij , 0结构又分为无跳转式 ()和有跳转式。1, 0ijijAij2 2. .4 4 H HM MM M 的的分分类类除了按 A 矩阵的时变特性把 HMM 分为时齐和非时齐的 HMM 外,按语音的特征向量输出概率 (密度)的描述方法, HMM 可分为离散、连续和半连续三种。这三种 HMM 的 A 矩阵具有相同的特性,由于 (2-26) TttsSTtsssSdSddobAaSPSOPSOPOPttt12)(,11因此,只需对 (2-27)TttsSdobSOPt1)(,中的进行讨论。)(tsobt17 / 70 文档可自由编辑打印2 2. .4 4. .1 1 D DH HM MM M( (离离散散 H HM MM M) )DHMM 是基于矢量量化 (V VQ Q,Vector Quantization)技术的。它把特征向量空间分成若干个子空间,每个子空间用一个中心向量来表示,表征这个中心向量的是一个码字 (codeword),所有码字的集合构成码本 (codebook)。在计算概率时,取而代之的是计算,这里表示把)(tsobt)(tsoVbt)(V向量量化后所对应的码字代号。这里对的估计比较容易,通过某种计数的方法就可以实现:)(vbts (2-28)TtttTvoVtttiiiiivbt1)(1)()()()()(式中v表示码字序号。很显然,由于一个子空间里的所有向量都用一个码字来代替,量化误差会很大,因此 DHMM 的描述误差也就更大。2 2. .4 4. .2 2 C CH HM MM M( (连连续续 H HM MM M) )为了克服 DHMM 对特征空间描述上的不精确性, CHMM 应运而生。 CHMM的主要目的是对特征空间进行比较精确的描述。对一个概率密度进行估计的准确程度取决于训练数据量的多少。用混合高斯密度 (M MG GD D,Mixture Gaussian Density)49描述方法能够做到少占存储空间和降低估计复杂度。混合高斯密度公式如下: (2-29)MmlmlmlmlxNgxb1),;()(其中 (2-30)11Mmlmg这是用M个混合高斯密度对第 l 个状态的特征空间进行估计。理论上可以证明,当M足够大时,MGD 可以比较准确地描述特征向量的概率密度。18 / 70 文档可自由编辑打印估计方法很多,如最大似然估计50,期望最大化估计51,和最)(xbl大后验概率估计52等。2 2. .4 4. .3 3 S SC CH HM MM M( (半半连连续续 H HM MM M) )虽然 MGD 描述方法中所要存储的参数不多 (每个混合的中心向量、lm协方差矩阵和权重系数),但当 M 很大时由于每个都需要存储M 组lmlmg这样的参数,因此空间和时间消耗都比较大。SCHMM45结合 VQ 技术和连续密度描述的特点比较好地解决了这个问题。 (2-31) JjjDsjtJjjDstjtJjtjtjttttsVbVofVbsVofsVPsVofsofobttt1)(1)(1,)(其中是表征特征空间的码本,是输出离散码字的权重系数,JjVj1 jDsVbt)(为以码字为中心的子空间中的特征向量概率密度的高斯逼近。jtVof这种描述方法改变一下形式成为 (2-32) JjjtljtlVofgob1)(这就是捆绑式 MGD(TMGD,Tied Mixture Gaussian Density)。在这样的描述中,所有模型都公用J 个类似码字的密度函数,记录一个模型中不同状态的概率密度函数只需要一组系数即)(xblLlgGlj1可。虽然 SCHMM 和 TMGD 对特征空间的描述都信赖于这J 个分布,但其描述不如 MGD 来得精确,尤其在码本选得不合适时更是如此。19 / 70 文档可自由编辑打印第第三三章章 S SC CH HM MM M 的的训训练练方方法法SCHMM 作为一种有效的语音识别技术,是离散隐马尔科夫模型(DHMM)和连续隐马尔科夫模型(CHMM)的一种折衷方案45。它既克服了 DHMM 识别精度较低的缺点,又降低了 CHMM 计算的复杂性,因而是一种相当好的语音识别技术。SCHMM 之所以能做到这一点,主要是因为 SCHMM 使用了一组特殊的码本。这组码本由所有模型和所有状态共享。它相当于连接 DHMM 和 CHMM 的桥,是决定整个 SCHMM 系统性能的关键因素之一。3 3. .1 1 S SC CH HM MM M 初初始始码码本本生生成成在采用 SCHMM 对语音数据进行训练之前,首先要为 SCHMM 的一些参数赋初值,这些参数主要有:初始码本(包括均值m、协方差矩阵m),初始状态矩阵 a,状态转移矩阵 A,权重b。在无跨越由左向右模型中,a 可忽略,A、b 可通过赋予均值得到,而初始码本主要通过对训练样本的聚类获得。初始码本的选择相当重要,因为初始码本通常是基于最小平均失真准则产生的,在训练中还要对初始码本进行调整,使得码本能够在基于最大似然准则条件下和 SCHMM 其它参数达到较好的一致45。而在训练中用于迭代的价值函数是一个非凸函数,初值的好坏决定了迭代运算是否能收敛到全局最佳点。3 3. .1 1. .1 1 聚聚类类的的基基本本原原理理及及方方法法聚类的目的是把相似的对象分为同一类,从而能够对类内对象用同一种方式表示。从模式识别的角度看,聚类属于非监督学习的范畴,即是在未知类别标签的样本集上,通过对样本间相似性的度量将样本集划分为若干个子集。SCHMM 的码本属于高维矢量,因此聚类算法要采用矢量量化的一些原理。在矢量量化器的最佳设计中,重要的问题是如何划分量化区间和确定量化矢量,Lloyd 提出的两个条件回答了这两个问题。 1、最佳划分,即找出给定码字矢量的最佳区域边界。这可以根据 “最近邻原则 ”求出。2、最佳码字,即找出与最佳区域边界内所有矢量之间畸变平均值最小的码字,这可以通过求最佳区域边界内所有矢量的质心解决。依据 Lloyd 准则,Linde 等人提出了 LBG 算法53,这是矢量量化中常用的方法之一,整个算法实际上就是上述两个条件的反复迭代过程,既由初始码字寻找最佳码字的迭代过程,它由对初始码字进行迭代优化开始,一直到系统性能满足要求或不再有明显改进为止。LBG 算法的流程图如下 :20 / 70 文档可自由编辑打印1. 将形成 VQ 码本所需全部输入矢量 X 存储于计算机内存中。全部X 的集合用 S 表示。2. 设置迭代算法的最大迭代次数L3. 设置畸变改进阈值。4. 设置 M 个码字的初值。 00201,.,MYYY5. 设置畸变初值。 0D6. 设置迭代初值 m=17. 根据最近邻准则将 S 分成 M 个子集。即当 mMmmSSS,.,21时,下式应成立: mlSX liiYXdYXdmiml,118. 计算总畸变 :mD MlSXmlmmlYXdD11,9. 计算畸变改进量的相对值: mD m mmmmmmDDDDD110. 计算新码字 :,.,21mMmmYYY miSXimiXNY111. ?m若回答为是,转入 13 执行。若回答为否,转入 12 执行。12. mL? 若回答为否,转入 13 执行。若回答为是,令 m=m+1,转入 7 执行。13. 迭代终止,输出作为码字,并且输出总畸变 :,.,21mMmmYYY。 mD14. 结束LBG 算法是一种最陡下降的算法,它的总畸变是它的M 个码字决定的状态空间点的函数。如果这是一个凸函数,那么这一使总畸变单调下降的算法将使迭代计算得到的解收敛到全局最小点上,然而在绝大部分实际情况中,该函数并非凸函数,既有全局最小点又有多个局部最小点。迭代算法的解收21 / 70 文档可自由编辑打印敛到哪一个最小点则取决于M 个码字初值。因此,码字初值的选择就显得比较重要。码字初值的设置方法通常有随机法、分裂法、扰动法等。这些方法对于找到好的码本有一定的作用,他们之间的区别不是很大。3 3. .1 1. .2 2 译译码码器器扰扰动动简简化化随随机机松松弛弛聚聚类类算算法法 ( (S SR R- -D D) ) SR-D21算法属于随机松弛算法 (Stochastic Relaxation)54中的一种快速算法,算法的基本思想是,对随机设置的M 个码字, MiYi10在经过最佳划分求出最佳码字后,采用某种方法对新码字进行扰动以 0iY产生扰动后的码字,继续进行最佳划分求新码字,然后进行新的扰动。 1iY这个过程反复执行直到达到预定的扰动精度,即熄火温度。最后得到NT的 M 个码字即为所求码本。随着每一轮的迭代,要求扰动半径逐渐缩小,这样可以使码字趋于稳定。分析一下这个算法可以看出: SR-D 和 LBG 算法存在着明显的不同。LBG 算法每迭代一步目标函数总是下降的,目标函数落入哪一个极小值只取决于码本初值的设置,而且一旦落入某个局部最小点就再也拔不出来。因此很难保证给出的结果达到全局最小点。 SR-D 算法在每一轮迭代中增加了对当前码字的随机扰动,这使得算法具有随机性,相当于在每次迭代运算中目标函数值总体下降的同时又有上升的机会,这样函数就有可能脱离某个局部最小点,增加了到达全局最小点的概率。SR-D 算法要设计两个关键参数,首先需要给出一个退火温度,其nT中 n 代表迭代的节拍,是用来形成随机扰动的参数,随着n 的增加,nT逐渐降低,因而称为退火温度。通常这个关系可以表示为:nT(0K=0.9。第二需要根据的大小设计一组合适的扰动矢量,要求这组nTiY矢量是互相独立的随机高斯矢量,每个矢量的各个分量也相互统计独立,其均值为 0,均方差值等于,而且在每次迭代后要根据的值重新生成。nTnT扰动公式可以表示为: (3-1) MiYYYninini1,1在 SR-D 算法中,初始退火温度的选择对算法的效率有较大的影响。0T主要是根据经验给出的,对不同的应用可能有不同的选择。通常建0T0T议给一个较大的值,但过大显然会增大迭代的次数,为了有效地初始化0T参数,我们对初始退火温度进行了定义。作为一个初始扰动值,对某一0T22 / 70 文档可自由编辑打印区域而言,第一次扰动的范围在每一维上达到所划分区域的最大半径就足够了,这样,从总体上看,扰动可以达到整个矢量空间的边界,而理想码字必定在这个范围内,也就是说,扰动可以到达这些码字。根据扰动矢量设计规则,对 i 区域, 可以表示为:=,表示第一次最佳划分的0T0TiiYYd112,iY1第 i 个区域的码字,为 i 区域内与畸变最大的矢量,代表iY1iY1yxd,2两矢量间欧氏距离的平方。对每一个区域做同样的计算,选择其中的最大者作为值,这样能够较好地保证有效的扰动范围,有利于下次区域划分向理0T想码字靠近。由于以后的新区域都是经过最佳划分的,比前一次划分的区域更加靠近理想码字,需要扰动的范围也会比前一次小,因此按上式所给的初始退火温度是够用的。熄火温度可根据精度要求给出。SR-D 算法见图1。所求出的 M 个码字可作为码本的均值,然后再利用已求出的M 个码字对训练集进行 M 个区域划分,在每个区域计算均方差。从而可求得M个码字的均方差。这样 M 个码字的初
展开阅读全文