《HMM基本原理及在语音识别中的应用课件.ppt》由会员分享,可在线阅读,更多相关《HMM基本原理及在语音识别中的应用课件.ppt(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第十章第十章 语音识别语音识别10.1 概述概述110.2 HMM基本原理及在语音识基本原理及在语音识别中的应用别中的应用210.1 概述概述 语语音音识识别别以以语语音音为为研研究究对对象象,涉涉及及到到生生理理学学、心心理理学学、语语言言学学、计计算算机机科科学学,以以及及信信号号处处理理等等诸诸多多领领域域,最最终终目目的的是是实实现现人人与与机机器器进进行行自自然然语语言通信,用语言操纵计算机。言通信,用语言操纵计算机。语语音音识识别别系系统统可可以以分分为为孤孤立立字字(词词)语语音音识识别别系系统、连接字语音识别系统以及连续语音识别系统。统、连接字语音识别系统以及连续语音识别系统。
2、语语音音识识别别系系统统分分为为两两个个方方向向:一一是是根根据据对对说说话话人人的的依依赖赖程程度度可可以以分分为为特特定定人人和和非非特特定定人人语语音音识识别别系系统统;二二是是根根据据词词汇汇量量大大小小,可可以以分分为为小小词词汇汇量量、中中等等词词汇汇量量、大大词词汇汇量量,以以及及无无限限词词汇汇量量语音识别系统。语音识别系统。不不同同的的语语音音识识别别系系统统,尽尽管管设设计计和和实实现现的的细细节节不不同同,但但所所采采用用的的基基本本技技术术是是相相似似的的。一一个个典典型型的的语语音音识识别别系系统统如如下下页页图图所所示示。主主要要包包括括预预处处理、特征提取和训练识
3、别网络。理、特征提取和训练识别网络。输入输入预处理预处理特征提取特征提取训练识别训练识别网络网络输出输出语音识别系统组成部分图示语音识别系统组成部分图示10.1.1 预处理预处理 在在语语音音识识别别系系统统中中,语语音音信信号号预预处处理理主主要要包包括抗混叠滤波、预加重及端点检测等。括抗混叠滤波、预加重及端点检测等。1抗混叠滤波与预加重抗混叠滤波与预加重 语语音音信信号号的的频频谱谱分分量量主主要要集集中中在在3003400Hz范范围围内内。因因此此需需用用一一个个防防混混叠叠的的带带通通滤滤波波器器将将此此范范围围内内的的语语音音信信号号的的频频谱谱分分量量取取出出,然然后后对对语语音音
4、信信号号进行采样,得到离散的时域语音信号。进行采样,得到离散的时域语音信号。抗混叠滤波抗混叠滤波 根根据据采采样样定定理理,如如果果模模拟拟信信号号的的频频谱谱的的带带宽宽是是有有限限的的,那那么么用用等等于于或或高高于于2 2fm的的取取样样频频率率进进行行采采样样,所所得得到到的的信信号号能能够够完完全全唯唯一一的的代代表表原原模模拟拟信号,或者说能够由取样信号恢复出原始信号。信号,或者说能够由取样信号恢复出原始信号。因因此此,为为了了防防止止混混叠叠失失真真和和噪噪声声干干扰扰,必必须须在在采采样样前前用用一一个个锐锐截截止止模模拟拟低低通通滤滤波波器器对对语语音音信信号号进进行行滤滤波
5、波。该该滤滤波波器器称称为为反反混混叠叠滤滤波波器器或或去去伪伪滤波器。滤波器。预加重预加重 语语音音从从嘴嘴唇唇辐辐射射会会有有6dB/oct的的衰衰减减,因因此此在在对对语语音音信信号号进进行行处处理理之之前前,希希望望能能按按6dB/oct的的比比例例对对信信号号加加以以提提升升(或或加加重重),以以使使得得输输出出信信号号的的电电平平相相近近似似。可可采采用用以以下下差差分分方方程程定定义义的的数数字字滤波器:滤波器:(10-1)式中,系数常在式中,系数常在0.9至至1之间选取。之间选取。2端点检测端点检测 语语音音信信号号起起止止点点的的判判别别是是任任何何一一个个语语音音识识别别系
6、系统统必必不不可可少少的的组组成成部部分分。常常用用的的端端点点检检测测方方法法有有下面两种。下面两种。(1)短时平均幅度短时平均幅度 端端点点检检测测中中需需要要计计算算信信号号的的短短时时能能量量,由由于于短短时时能能量量的的计计算算涉涉及及到到平平方方运运算算,而而平平方方运运算算势势必必扩扩大大了了振振幅幅不不等等的的任任何何相相邻邻取取样样值值之之间间的的幅幅度度差差别别,这这就就给给窗窗的的宽宽度度选选择择带带来来了了困困难难,而而用用短短时时平平均均幅幅度度来来表表示示语语音音能能量量,在在一一定定程程度度上上可可以以克服这个弊端。克服这个弊端。(2)(2)短时平均过零率短时平均
7、过零率 当离散信号的相邻两个取样值具有不同的符当离散信号的相邻两个取样值具有不同的符号时,便出现过零现象,单位时间内过零的次数号时,便出现过零现象,单位时间内过零的次数叫做过零率。叫做过零率。如果离散时间信号的包络是窄带信号,那么如果离散时间信号的包络是窄带信号,那么过零率可以比较准确的反应该信号的频率。在宽过零率可以比较准确的反应该信号的频率。在宽带信号情况下,过零率只能粗略的反映信号的频带信号情况下,过零率只能粗略的反映信号的频谱特性。谱特性。10.1.2 语音识别特征提取语音识别特征提取 特特征征提提取取,也也称称为为前前端端处处理理,与与之之相相关关的的内内容则是特征间的距离度量。容则
8、是特征间的距离度量。特特征征提提取取:即即对对不不同同的的语语音音寻寻找找其其内内在在特特征征,由由此此来来判判别别出出未未知知语语音音,所所以以每每个个语语音音识识别别系系统统都都必须进行特征提取。必须进行特征提取。特特征征的的选选择择对对识识别别效效果果至至关关重重要要。同同时时,还还要要考虑特征参数的计算量。考虑特征参数的计算量。孤孤立立词词语语音音识识别别系系统统的的特特征征提提取取一一般般需需要要解解决两个问题:决两个问题:一一个个是是从从语语音音信信号号中中提提取取(或或测测量量)有有代代表表性性的合适的特征参数的合适的特征参数(即选取有用的信号表示即选取有用的信号表示);另一个是
9、进行适当的数据压缩。另一个是进行适当的数据压缩。对对于于非非特特定定人人语语音音识识别别来来讲讲,希希望望特特征征参参数数尽尽可可能能多多的的反反映映语语义义信信息息,尽尽量量减减少少说说话话人人的的个个人人信信息息(对对特特定定人人语语音音识识别别来来讲讲,则则相相反反)。从从信信息息论论角度讲,这也是信息压缩的过程。角度讲,这也是信息压缩的过程。语音信号的特征主要有时域和频域两种。语音信号的特征主要有时域和频域两种。时时域域特特征征:短短时时平平均均能能量量、短短时时平平均均过过零零率率、共振峰、基音周期等;共振峰、基音周期等;频频域域特特征征:线线性性预预测测系系数数(LPC)、LP倒倒
10、谱谱系系数数(LPCC)、线线谱谱对对参参数数(LSP)、短短时时频频谱谱、Mel频频率率倒谱系数倒谱系数(MFCC)等。等。目目前前已已有有结结合合时时间间和和频频率率的的特特征征,即即时时频频谱谱,充充分分利利用用了了语语音音信信号号的的时时序序信信息息;以以及及基基于于听听觉觉模型的特征参数提取,如感知线性预测模型的特征参数提取,如感知线性预测(PLP)分析。分析。1线性预测系数(线性预测系数(LPC)线线性性预预测测分分析析从从人人的的发发声声机机理理入入手手,通通过过对对声声道道的的短短管管级级联联模模型型的的研研究究,认认为为系系统统的的传传递递函函数数符符合合全全极极点点数数字字
11、滤滤波波器器的的形形式式,从从而而某某一一时时刻刻的的信信号号可可以以用用前前若若干干时时刻刻的的信信号号的的线线性性组组合合来来估估计计。通通过过使使实实际际语语音音的的采采样样值值和和线线性性预预测测采采样样值值之之间间达达到到均均方方误误差差(MSE)最最小小,即即可可得得到到线线性性预预测测系系数数LPC。根根据据语语音音产产生生的的模模型型,语语音音信信号号S(z)是是一一个个线线性性非非移移变变因因果果稳稳定定系系统统V(z)受受到到信信号号E(z)激激励励产产生生的的输输出出。在在时时域域中中,语语音音信信号号s(n)是是该该系系统统的的单单位位取取样样响响应应v(n)和和激激励
12、励信信号号e(n)的的卷卷积积。语语音音产产生生的的声道模型是一个可用下式阐述的全极点模型:声道模型是一个可用下式阐述的全极点模型:根根据据最最小小均均方方误误差差对对该该模模型型参参数数ak进进行行估估计计,就得到了线性预测编码就得到了线性预测编码(LPC)算法,求得的算法,求得的 即即为为LP系系数数(p为为预预测测器器阶阶数数)。对对LPC的的计计算算方方法法有有自自相相关关法法(Levinson-Durbin莱莱文文逊逊-杜杜宾宾法法)、协协方方差差法法、格格型型法法等等。计计算算上上的的快快速速有有效效保保证证了了这一声学特征的广泛使用。这一声学特征的广泛使用。2LPC倒谱系数倒谱系
13、数(LPCC)倒倒谱谱系系数数是是信信号号的的z变变换换的的对对数数模模函函数数的的逆逆z变变换换,一一般般先先求求信信号号的的傅傅里里叶叶变变换换,取取模模的的对对数数,再求傅里叶逆变换得到。再求傅里叶逆变换得到。主主要要优优点点:比比较较彻彻底底地地去去掉掉了了语语音音产产生生过过程程中中的的激激励励信信息息,反反映映了了声声道道响响应应,而而且且往往往往只只需需要要几几个个倒倒谱谱系系数数就就能能够够很很好好地地描描述述语语音音的的共共振振峰峰特性。特性。3Mel频率倒谱系数频率倒谱系数(MFCC)Mel频频率率倒倒谱谱系系数数是是先先将将信信号号频频谱谱的的频频率率轴轴转转变变为为Me
14、l刻刻度度,再再变变换换到到倒倒谱谱域域得得到到倒倒谱谱系系数数。其计算过程如下:其计算过程如下:(1)将信号进行短时傅立叶变换得到其频谱。将信号进行短时傅立叶变换得到其频谱。(2)求求频频谱谱幅幅度度的的平平方方,即即能能量量谱谱,并并用用一一组组三三角角滤波器在频域对能量进行带通滤波。滤波器在频域对能量进行带通滤波。(3)对对滤滤波波器器的的输输出出取取对对数数,然然后后作作2M点点傅傅立立叶叶逆变换即可得到逆变换即可得到MFCC。这这里里,MFCC系系数数的的个个数数L通通常常取取最最低低的的1216。在在谱谱失失真真测测度度定定义义中中通通常常不不用用0阶阶倒倒谱谱系系数数,因因为为它
15、它是是反反映映倒倒谱谱能能量量的的。上上面面所所说说的的在在频频域域进进行行带带通通滤滤波波是是对对能能量量谱谱进进行行滤滤波波,这这样样做做的的根根据据是是考考虑虑到到一一个个多多分分量量信信号号的的总总能能量量应应该该是是各各个个正正交交分分量量的能量之和。的能量之和。4.过零峰值幅度过零峰值幅度(ZCPA)特特征征参参数数的的好好坏坏直直接接决决定定着着系系统统的的识识别别性性能能。要要想想使使识识别别系系统统有有好好的的鲁鲁棒棒性性,必必须须要要求求提提取取的的特特征参数有很强的抗噪性。征参数有很强的抗噪性。人人类类的的听听觉觉系系统统在在噪噪音音环环境境下下能能够够很很好好工工作作,
16、所所以以如如果果语语音音识识别别系系统统能能模模拟拟人人类类听听觉觉感感知知的的处处理理特点,噪音环境下识别率一定会提高。特点,噪音环境下识别率一定会提高。近近年年来来,基基于于听听觉觉模模型型的的语语音音特特征征提提取取方方法法在语音识别领域日益受到重视。在语音识别领域日益受到重视。过过零零峰峰值值幅幅度度特特征征ZCPA就就是是基基于于人人类类听听觉觉特性的一种特征。特性的一种特征。下下图图给给出出了了基基于于人人耳耳听听觉觉特特性性的的ZCPA特特征征提取原理图:提取原理图:ZCPA原理框图原理框图 该该系系统统由由带带通通滤滤波波器器组组、过过零零检检测测器器、峰峰值值检检测测器器、非
17、非线线性性压压缩缩和和频频率率接接收收器器组组成成。带带通通滤滤波波器器组组由由16个个FIR滤滤波波器器组组成成,用用来来仿仿真真耳耳蜗蜗基基底底膜膜;过过零零检检测测器器、峰峰值值检检测测器器、非非线线性性压压缩缩部部分分则则仿仿真真听听觉觉神神经经纤纤维维。从从过过零零检检测测器器获获得得频频率率信信息息,峰峰值值检检测测器器获获得得强强度度信信息息,经经非非线线性性压压缩缩后后,用用频频率率接接收收器器合合成成频频率率信信息息和和强强度度信信息息,最最后将后将16路所获得的信息合成为语音信号的特征。路所获得的信息合成为语音信号的特征。10.1.3 语音识别方法语音识别方法 一般来说,语
18、音识别的方法有四种:一般来说,语音识别的方法有四种:基于声道模型和语音知识的方法基于声道模型和语音知识的方法 模式匹配的方法模式匹配的方法 统计模型方法统计模型方法 人工神经网络的方法人工神经网络的方法 基于声道模型和语音知识的方法起步较早,基于声道模型和语音知识的方法起步较早,没有达到实用的阶段。目前常用的方法是后三种没有达到实用的阶段。目前常用的方法是后三种方法,目前它们都已达到了实用阶段。方法,目前它们都已达到了实用阶段。模模式式匹匹配配常常用用的的技技术术有有矢矢量量量量化化(VQ)和和动态时间规整(动态时间规整(DTW););统统计计型型模模型型方方法法常常见见的的是是隐隐马马尔尔可
19、可夫夫模模型型(HMM);语语音音识识别别常常用用的的神神经经网网络络有有反反向向传传播播(BP)网网络络、径径向向基基函函数数网网络络(RBF)及及小小波波网络。网络。本本书书重重点点介介绍绍经经典典的的隐隐马马尔尔可可夫夫模模型型及及其其在在语音识别中的应用。语音识别中的应用。模式匹配法用于语音识别共有四个步骤模式匹配法用于语音识别共有四个步骤:特征特征提取、模板训练、模板分类、判决。其原理框图提取、模板训练、模板分类、判决。其原理框图如下:如下:训训练练过过程程:输输入入语语音音经经过过预预处处理理后后,语语音音信信号号的的特特征征被被提提取取出出来来,首首先先在在此此基基础础上上建建立
20、立所所需需的模板,这个建立模板的过程称为训练过程。的模板,这个建立模板的过程称为训练过程。识识别别过过程程:根根据据语语音音识识别别整整体体模模型型,将将输输入入的的语语音音信信号号特特征征与与存存在在的的语语音音模模板板(参参考考模模式式)进进行行比比较较,找找出出一一系系列列最最优优的的与与输输入入的的语语音音相相匹匹配配的的模模板板。然然后后,根根据据此此模模板板号号的的定定义义,通通过过查查表就可以给出计算机的识别结果。表就可以给出计算机的识别结果。动态时间规整(动态时间规整(DTW)算法的思想:)算法的思想:把把未未知知量量均均匀匀地地伸伸长长或或缩缩短短,直直到到它它与与参参考考模
21、模式式的的长长度度一一致致时时为为止止。在在时时间间规规整整过过程程中中,未未知知单单词词的的时时间间轴轴要要不不均均匀匀地地扭扭曲曲或或弯弯折折,以以便便使使其特征与模型特征对正。其特征与模型特征对正。DTW应应用用动动态态规规划划方方法法在在孤孤立立词词语语音音识识别别中中获获得得了了良良好好性性能能。但但因因其其不不适适合合连连续续语语音音大大词词汇汇量量语语音音识识别别系系统统,目目前前已已被被HMM模模型型和和ANN替代。替代。隐隐马马尔尔可可夫夫模模型型是是对对语语音音信信号号的的时时间间序序列列结结构构建建立立统统计计模模型型,将将之之看看作作一一个个数数学学上上的的双双重重随随
22、机过程:机过程:一一个个是是用用具具有有有有限限状状态态数数的的Markov链链来来模模拟拟语语音音信信号号统统计计特特性性变变化化的的隐隐含含的的随随机机过过程程,另另一一个个是是与与Markov链链的的每每一一个个状状态态相相关关联联的的观观测测序序列列的的随随机机过过程程。前前者者通通过过后后者者表表现现出出来来,但但前前者者的的具体参数是不可测的。具体参数是不可测的。基于基于HMM的孤立词语音识别原理图的孤立词语音识别原理图 采采用用HMM进进行行语语音音识识别别,实实质质上上是是一一种种概概率率运运算算。根根据据训训练练集集数数据据计计算算得得出出模模型型参参数数后后,测测试试集集数
23、数据据只只需需分分别别计计算算各各模模型型的的条条件件概概率率(Viterbi算法),取此概率最大者即为识别结果。算法),取此概率最大者即为识别结果。除除训训练练时时需需运运算算量量较较大大外外,识识别别时时的的运运算算量量仅有模式匹配法的几分之一。仅有模式匹配法的几分之一。人人工工神神经经网网络络(ANN)在在语语音音识识别别中中的的应应用用是是当当前前研研究究的的热热点点。人人工工神神经经网网络络本本质质上上是是一一个个自自适适应应非非线线性性动动力力学学系系统统,模模拟拟了了人人类类神神经经元元活活动动的的原原理理,具具有有自自适适应应性性、并并行行性性、鲁鲁棒棒性性、容容错错性性和和学
24、学习习特特性性。目目前前用用于于语语音音识识别别的的神神经经网网络络有有多多层层感感知知机机,Kohonen自自组组织织神神经经网网和和预预测测神神经网。经网。由由于于神神经经网网络络反反映映了了人人脑脑功功能能的的基基本本特特征征,具具有有自自组组织织性性、自自适适应应性性、和和连连续续学学习习的的能能力力。这这种种网网络络是是可可以以训训练练的的,即即可可以以随随着着经经验验的的积积累累而而改改变变自自身身的的性性能能。同同时时由由于于高高度度的的并并行行性性,它它们们能能够够进进行行快快速速判判决决并并具具有有容容错错性性,特特别别适适合合于于解解决决象象语语音音识识别别这这类类难难以以
25、用用算算法法来来描描述述而而又又有有大大量样本可供学习的问题。量样本可供学习的问题。基于神经网络的语音识别原理图基于神经网络的语音识别原理图待识别的待识别的语音数据语音数据权值权值w根据标号训练根据标号训练网络得出权值网络得出权值已有神经已有神经网络模型网络模型输出结果输出结果特特 征征 提提 取取用于训练的用于训练的语音数据语音数据 神经网络的语音识别方法与传统方法差异:神经网络的语音识别方法与传统方法差异:提提取取了了语语音音的的特特征征参参数数后后,靠靠神神经经网网络络中中大大量量的的连连接接权权对对输输入入模模式式进进行行非非线线性性运运算算,产产生生最最大大兴兴奋奋的的输输入入点点就
26、就代代表表了了输输入入模模式式对对应应的的分分类类。神神经经网网络络的的连连接接权权系系数数是是在在使使用用中中根根据据识识别别结结果果的的正确与否不断的进行自适应修正。正确与否不断的进行自适应修正。比比较较起起来来,神神经经网网络络识识别别系系统统更更接接近近人人类类的的感知过程。感知过程。矢矢量量量量化化技技术术在在语语音音识识别别中中应应用用时时,一一般般是是先先用用矢矢量量量量化化的的码码本本作作为为语语音音识识别别的的参参考考模模板板,即即系系统统词词库库中中的的每每一一个个(字字)词词,做做一一个个码码本本作作为为该该(字字)词的参考模板。词的参考模板。识识 别别 时时 对对 于于
27、 任任 意意 输输 入入 的的 语语 音音 特特 征征 矢矢 量量 序序 列列 ,计计算算该该序序列列对对每每一一个个码码本本的的总总平平均均的的失失真真量量化化误误差差。总总平平均均失失真真误误差差最最小小的的码码本本所所对对应应的的(字字)词即为识别结果。词即为识别结果。矢量量化在语音识别中的应用矢量量化在语音识别中的应用 预预处处理理参参数数提提取取码本码本1码本码本2码本码本M判决逻辑判决逻辑模型模型1模型模型2语音语音信号信号识别输识别输出结果出结果10.2 HMM基本原理及在语音识基本原理及在语音识别中的应用别中的应用10.2.1 隐马尔可夫模型隐马尔可夫模型 马尔可夫过程(或马尔
28、可夫链)直观解释是:马尔可夫过程(或马尔可夫链)直观解释是:在在已已知知系系统统目目前前的的状状态态(现现在在)的的条条件件下下,“将将来来”与与“过过去去”无无关关。这这种种过过程程也也称称为为无无记记忆忆的的单单随随机机过过程程。如如果果这这种种单单随随机机过过程程的的取取值值(状状态态)是是离离散的,我们又可以将它称作无记忆的离散随机过程。散的,我们又可以将它称作无记忆的离散随机过程。假假设设有有一一个个系系统统,它它在在任任何何时时间间可可以以认认为为处处在在有有限限多多个个状状态态的的某某个个状状态态下下。在在均均匀匀划划分分地地时时间间间间隔隔上上,系系统统的的状状态态按按一一组组
29、概概率率发发生生改改变变(包包括括停停留留在在原原状状态态),这这组组概概率率值值和和状状态态有有关关,而而且且这这个个状状态态对对应应于于一一个个可可观观测测的的物物理理事事件件,因此称之为可观测马尔可夫过程。因此称之为可观测马尔可夫过程。不不可可测测(随随机机)的的双双随随机机过过程程只只能能通通过过另另一一组组随随机机过过程程才才能能观观测测到到,另另一一组组随随机机过过程程产产生生出出观观测测序序列列(行行为为),而而这这组组行行为为是是可可见见不不可可测测的的。因因此此,这这种种双双随随机机过过程程称称为为隐隐马马尔尔可可夫夫模模型型(或或隐隐马马尔尔可可夫夫过过程程)。通通常常,H
30、MM对对应应的的状状态态被被假假设设为为离离散散的的,且且其其演演变变是是无无记记忆忆的的,因因而而,HMM也被称为无记忆的离散双随机过程。也被称为无记忆的离散双随机过程。隐马尔可夫过程是一个双重随机过程:隐马尔可夫过程是一个双重随机过程:一一重重用用于于描描述述非非平平稳稳信信号号的的短短时时平平稳稳段段的的统统计计特特征征(信信号号的的瞬瞬态态特特征征,可可直直接接观观测测到到);另另一一重重随随机机过过程程描描述述了了每每个个短短时时平平稳稳段段如如何何转转变变到到下下一一个个短短时时平平稳稳段段,即即短短时时统统计计特特征征的的动动态态特特性性(隐隐含在观察序列中含在观察序列中)。基基
31、于于这这两两重重随随机机过过程程,HMM既既可可有有效效解解决决怎怎样样辨辨识识具具有有不不同同参参数数的的短短时时平平稳稳信信号号段段,又又可可解决怎样跟踪它们之间的转化等问题。解决怎样跟踪它们之间的转化等问题。人人的的言言语语过过程程也也是是这这样样一一个个双双重重随随机机过过程程。因因为为语语音音信信号号本本身身是是一一个个可可观观察察的的序序列列,而而它它又又是是由由大大脑脑里里的的(不不可可观观察察的的)、根根据据言言语语需需要要和和语语法法知知识识(状状态态选选择择)所所发发出出的的音音素素(词词、句句)的的参参数数流流,大大量量实实验验表表明明,HMM的的确确可可以以非非常常精精
32、确确地描述语音信号的产生过程。地描述语音信号的产生过程。(1)N模型的状态数目。模型的状态数目。状态的集合表示为状态的集合表示为 (2)M观测符号数。观测符号数。即每个状态可能输出的观测符号的数目。即每个状态可能输出的观测符号的数目。观测符号集合表示为观测符号集合表示为 (3)A状态转移概率分布。状态转移概率分布。状态转移概率构成的矩阵为状态转移概率构成的矩阵为 一个隐马尔可夫模型由下列参数来决定:一个隐马尔可夫模型由下列参数来决定:(4)B状态的观测符号概率分布。状态的观测符号概率分布。(5)初始状态分布。初始状态分布。为了完整地描述一个隐马尔可夫模型,应当为了完整地描述一个隐马尔可夫模型,
33、应当指定状态数指定状态数N,观测符号数,观测符号数M,以及三个概率密度,以及三个概率密度A、B和和 。这些参数之间有一定的联系,因此为。这些参数之间有一定的联系,因此为了方便,了方便,HMM常用常用 来简记。来简记。10.2.2 隐马尔可夫模型的三个基本问题隐马尔可夫模型的三个基本问题 给给定定HMM的的形形式式后后,为为了了将将其其应应用用于于实实际际,必须解决以下三个基本关键问题:必须解决以下三个基本关键问题:(1)已已知知观观测测序序列列 和和模模型型 ,如如何何有有效效的的计计算算在在给给定定模模型型条条件件下下产产生生观观测测序序列列 的的概概率率 。(2)已已知知观观测测序序列列
34、和和模模型型 ,如如何何选择在某种意义上最佳的状态序列。选择在某种意义上最佳的状态序列。(3)给定观测序列,如何调整参数给定观测序列,如何调整参数 使条件概率使条件概率 最大。最大。1第一个问题的求解第一个问题的求解 这是一个评估问题,即已知模型和一个观测这是一个评估问题,即已知模型和一个观测序列,怎样来评估这个模型(它与给定序列匹配得序列,怎样来评估这个模型(它与给定序列匹配得如何),或怎样给模型打分,这个问题通常被称为如何),或怎样给模型打分,这个问题通常被称为“前向前向-后向后向”的算法解决。的算法解决。(一)前向算法(一)前向算法 首先要定义一个前向变量首先要定义一个前向变量 即在给定
35、模型条件下,产生即在给定模型条件下,产生t以前的部分观测符号以前的部分观测符号序列,且序列,且t时刻又处于状态时刻又处于状态Si的概率。的概率。以下是前向变量进行迭代计算的步骤:以下是前向变量进行迭代计算的步骤:(1)初始化初始化 (2)迭代计算迭代计算 (3)最后计算最后计算 其中其中 为状态转移矩阵中的元素,为状态转移矩阵中的元素,为观测符为观测符 号矩阵中的元素。号矩阵中的元素。(二)后向算法(二)后向算法 同理,可以类似地定义后向变量同理,可以类似地定义后向变量 :即在给定模型即在给定模型 及及t时刻处于状态时刻处于状态Si的条件下,的条件下,产生产生t以后的部分观测符号序列以后的部分
36、观测符号序列 的概的概率。率。(1)初始化初始化 (2)迭代计算迭代计算 (3)最后计算最后计算前向和后向算法对于求解问题前向和后向算法对于求解问题2和问题和问题3也是有帮也是有帮助的。助的。后向变量也可以用迭代法进行计算,步骤如下:后向变量也可以用迭代法进行计算,步骤如下:由由于于 表表示示t时时刻刻处处于于状状态态 且且部部分分观观测测序序列列为为 ,而而 表表示示t时时刻刻处处于于状状态态 且且剩剩下下部部分分的的观观测测序序列列为为 ,因因而而 表表示示产产生生整整个个观观测测序序列列O且且t时时刻刻处处于于状状态态 的的概概率率,即即 那么,问题那么,问题1也可以通过同时使用前向后向
37、概也可以通过同时使用前向后向概率来求解,即率来求解,即 2第二个问题的求解第二个问题的求解 这个问题是求取伴随给定观测序列产生的最这个问题是求取伴随给定观测序列产生的最佳状态序列。这一最佳判据,目的就是要使正确的佳状态序列。这一最佳判据,目的就是要使正确的状态数目的期望值最大。它通常用状态数目的期望值最大。它通常用Viterbi算法解决,算法解决,用于模型细调。用于模型细调。首先定义变量首先定义变量 :它是在给定观测序列它是在给定观测序列O和模型和模型 的条件下,的条件下,t时时刻处在状态刻处在状态Si的概率。的概率。由于由于所以有所以有 且且从而可求出在各个时刻所处的最可能的状态为:从而可求
38、出在各个时刻所处的最可能的状态为:可用前后向变量表示为:可用前后向变量表示为:但但是是,上上式式的的求求解解仅仅仅仅从从每每个个时时刻刻出出现现最最可可能能的的状状态态来来考考虑虑的的,而而没没有有考考虑虑到到状状态态序序列列的的发发生生概概率率(如如没没有有考考虑虑全全局局结结构构,时时间间上上相相邻邻状状态态以及观测序列的长度等等)。以及观测序列的长度等等)。上上述述问问题题的的解解决决办办法法是是对对最最佳佳判判据据进进行行修修正正。最最广广泛泛应应用用的的判判据据是是寻寻找找单单个个最最佳佳状状态态序序列列(路路径径),亦亦即即使使 最最大大。下下面面介介绍绍的的Viterbi算算法法
39、就就是是一一种种以以动动态态规规划划为为基基础础的的寻寻找找单单个个最最佳佳状状态态序列的方法。序列的方法。完整的算法如下所述:完整的算法如下所述:(1)初始化初始化(2)迭代计算迭代计算(3)最后计算最后计算(4)路径路径(状态序列状态序列)回溯回溯 3第三个问题的求解第三个问题的求解 这这个个问问题题是是调调整整模模型型参参数数 ,使使观观测测序序列列在在给给定定模模型型条条件件下下发发生生概概率率最最大大。即即模模型型参参数数重重估估问问题题(训训练练问问题题)。事事实实上上,给给定定任任何何有有限限观观测测序序列列作作为为训训练练数数据据,没没有有一一种种最最佳佳方方法法能能估估计计模
40、模型型参参数数。但但是是可可以以利利用用迭迭代代处处理理方方法法(Baum-Welch法法,或或称称期期望望值值修修正正法法)来来选选择择(A,B,)以以使使得得 最最大大,可可以以用用参参数数重重估估来解决。来解决。首先定义变量首先定义变量 即给定模型和观测序列条件下,在时间即给定模型和观测序列条件下,在时间t处于状态处于状态Si,而在时间,而在时间t+1处于状态处于状态Sj的概率。根据前后向的概率。根据前后向变量的定义,从计算图可以看出,变量的定义,从计算图可以看出,可写成如可写成如下形式:下形式:t-1 t+2 计算示意图计算示意图 tt+1t-1 此此前前己己经经定定义义了了 为为在在
41、给给定定模模型型和和观观察察序序列列O的的条条件件下下,在在时时刻刻t位位于于状状态态为为Si 的的条条件件概概率率,将将 对对j求和,可把两者联系起来,即求和,可把两者联系起来,即 利用上面的公式及计算事件发生的概念,可利用上面的公式及计算事件发生的概念,可以得到估计隐马尔可夫模型参数的方法,其计算以得到估计隐马尔可夫模型参数的方法,其计算公式如下公式如下(1)的重估公式的重估公式 即在时间即在时间t=1处于状态处于状态Si的次数的期望值。的次数的期望值。(2)aij的重估公式的重估公式(3)bj(Ok)的重估公式的重估公式 把把现现在在的的模模型型定定义义为为=(A,B,=(A,B,),把
42、把重重估估模模型型定定义义为为 。以以上上述述方方法法为为基基础础,如如果果不不断断地地用用 代代替替,并并重重复复上上述述重重估估计计算算,那那么么就就能能够够改改善善由由模模型型观观测测到到O的的概概率率,直直到到达达到某个极限点为止。到某个极限点为止。4解决下溢问题后的重估公式解决下溢问题后的重估公式 我我们们可可以以看看到到上上面面的的重重估估公公式式均均涉涉及及到到了了前前向向变变量量 和和后后向向变变量量 的的计计算算。而而每每个个前前向向变变量量和和后后向向变变量量都都是是通通过过递递推推计计算算得得到到的的,即即是是由由连连续续相相乘乘的的概概率率值值组组成成。当当t达达到到较
43、较大大数数值值(如如100)时时,二二者者的的动动态态范范围围会会超超过过任任何何计计算算机机的的精精度度范范围围从从而而导导致致下下溢溢,因因此此要要用用软软件件实实现现此此算算法法,必须在计算过程中使用定标算法。必须在计算过程中使用定标算法。即即每每递递推推计计算算一一次次便便对对运运算算结结果果乘乘以以一一个个适适当当放放大大的的比比例例因因子子。下下面面给给出出了了详详细细的的定定标标过过程程并并且且推推导导了了加加入入定定标标因因子子后后三三个个参参数数的的重重估估公公式式(包括单序列和多序列重估公式)。(包括单序列和多序列重估公式)。定定标标的的基基本本方方法法是是对对 和和 乘乘
44、以以一一个个定定标标系系数数,该该系系数数与与t无无关关(即即它它只只取取决决于于t),目目的的是是使使定定标标后后的的 和和 总总是是处处在在计计算算机机的的动动态态范范围围之之内,在计算结束后,应当去掉所有的定标系数。内,在计算结束后,应当去掉所有的定标系数。下面给出完整的定标过程。下面给出完整的定标过程。(1)对前向变量进行定标对前向变量进行定标 定标过程需要引入几个新的变量:定标过程需要引入几个新的变量:和和 。是是待待求求前前向向变变量量值值,设设 为为递递推推值值,为为修修正正递递推推值值,由由于于 的的下下溢溢问问题题,在在实实际际计计算算过过程程中中这这个个变变量量不不能能出出
45、现现,所所以以公公式式中中的的 必必须须用修正递推值用修正递推值 代替。设代替。设ct为标度(定标)因子为标度(定标)因子 则前向变量的递推计算按下面步骤进行。则前向变量的递推计算按下面步骤进行。初始化:初始化:递推:递推:定标后前向变量的计算公式为:定标后前向变量的计算公式为:根据上两个公式可以得到:根据上两个公式可以得到:推理后有下式成立推理后有下式成立 由于前向概率由于前向概率用修正递推值表示为:用修正递推值表示为:而而所以所以 (2)对后向变量进行定标对后向变量进行定标 同上,我们引入两个变量,即递推值同上,我们引入两个变量,即递推值 和和修正递推值修正递推值 。初始化初始化 令令 同
46、理类似于前向概率的定标最终可以得到:同理类似于前向概率的定标最终可以得到:加入定标算法后(即用修正递推值代替原来加入定标算法后(即用修正递推值代替原来的前后向变量)改写三个参数重估公式:的前后向变量)改写三个参数重估公式:前前面面给给出出了了单单个个序序列列训训练练模模型型参参数数的的重重估估公公式式。对对于于非非特特定定人人识识别别系系统统,如如果果语语音音的的全全部部知知识识只只是是词词汇汇表表中中每每个个单单词词的的一一个个例例词词,却却期期望望识识别别器器具具有有非非常常优优良良的的性性能能是是不不可可能能的的,应应该该给给识识别器提供单词模式的各种变异情况。别器提供单词模式的各种变异
47、情况。比比较较好好的的办办法法就就是是每每个个单单词词要要有有多多个个例例词词发发音音。所所以以不不能能用用一一个个观观测测序序列列来来训训练练模模型型,为为了了有有足足够够的的数数据据来来可可靠靠地地估估计计模模型型参参数数,必必须须使使用用多个观测序列。多个观测序列。即即每每个个模模型型参参数数都都要要使使用用多多个个样样本本来来训训练练,假假设设有有L个个样样本本(对对应应于于L个个观观测测序序列列 ),现现假假定定每每个个观观测测序序列列都都是是相相互互独独立立的的,调调整整模模型型的的参参数数以以使使L个个 乘乘积积的的值值最最大大,此此时时对对重重估估公公式式的的修修正正办办法法是
48、是把把每每个个观观测测序序列列的的概概率率加在一起,这样修正后多序列的重估公式为:加在一起,这样修正后多序列的重估公式为:单单序序列列和和多多序序列列 i的的重重估估公公式式中中都都出出现现了了概概率率P的的计计算算,这这样样又又会会引引入入新新的的下下溢溢问问题题,解解决决办办法法是是在在迭迭代代计计算算P 的的过过程程中中,每每次次都都乘乘以以一一个个较较大大的的数数,这这样样分分子子分分母母每每次次都都乘乘以以一一个个相相同同的的数数,二者在同一数量级上,所以对重估公式没有影响。二者在同一数量级上,所以对重估公式没有影响。10.2.3 隐马尔可夫模型用于语音识别隐马尔可夫模型用于语音识别
49、1实验方法实验方法 用用C+语语言言在在Windows操操作作系系统统上上实实现现了了一一个个基基于于离离散散HMM的的孤孤立立词词语语音音识识别别系系统统。共共使使用用了了50词词16个个人人的的不不同同信信噪噪比比的的语语音音数数据据来来做做实实验验(包包括括无无噪噪音音、15dB、20dB、25dB、30dB的的数数据据),每每人人每每个个词词发发音音3次次,其其中中9人人的的语语音音数数据据(某某种种SNR)用用于于训训练练模模型型,另另外外7人人的的用用于于识识别别,得得到到这这种种SNR下下语语音音的的识识别别结结果果。每每个个词词的的HMM参参数数使使用用27个个样样本本(9人人
50、3次次)来来训训练练,测测试试样本文件的数目依实验所用的词汇量而不同。样本文件的数目依实验所用的词汇量而不同。具体实验步骤具体实验步骤 第一步:特征提取第一步:特征提取 第二步:矢量量化第二步:矢量量化 第三步:训练隐马尔可夫模型第三步:训练隐马尔可夫模型 第四步:对测试集单词进行识别第四步:对测试集单词进行识别 2实验结果及讨论实验结果及讨论 下表为使用下表为使用ZCPA特征和特征和HMM的不同词汇量单的不同词汇量单词在各种词在各种SNR下的识别结果比较。下的识别结果比较。SNR(dB)15202530clean10词词85.784.786.285.789.120词词76.681.282.4