当前位置:首页 > 基于matlab的语音识别系统的设计本科毕设毕业论文
河南理工大学毕业设计(论文)说明书
图3.3 基于HMM的语音识别框图
目前,基本上所有实验系统和实用化的产品都是使用HMM方法,比如IBM公司的ViaVoice系统、卡内基梅隆大学SPHINX系统和Dragon System的Naturally Speaking系统等。也正是基于成熟的HMM方法设计了嵌入式环境下(如手机,PDA等)的语音识别系统。
随着语音识别研究工作的深入开展,HMM语音识别方法愈来愈收到人们的重视,基于HMM技术的识别系统的缺点就在于统计模型的建立需要依赖一个较大的语音库。这在实际工作中占有很大的工作量。且模型所需要的存储量和匹配计算(包括特征矢量的输出概率计算)的运算量相对较大,通常需要具有一定容量SRAN的DSP才能完成。
另外,它的一个最主要的缺点是根据词模型推出的状态段长分布是指数分布,这不符合语音的本质属性,因此,现在推出了一种非齐次的HMM语音识别模型(Duration Distribution Based Hidden Markov Model,简称DDBHMM)。在此模型中用状态的段长分布函数替代了齐次HMM中的状态转移矩阵,彻底抛弃了“平稳的假设”,而从非平稳的角度考虑问题,使模型成为一种基于状态段长分布的隐含Markov模型。段长分布函数的引入澄清了经典HMM语音识别模的许多矛盾,DDBHMM比国际上流行的HMM语音识别模型有更好的识别性能和更低的计算复杂度(训练算法比较流行的Baum算法复杂度低两个数量级)。由于该模型解除了对语音信号状态的齐次性和对语音特征的非相关性的限制,因此,为语音识别研究的深入发展提供了一个和谐的框架。
3.5 HMM和ANN的混合模型
语音信号是一种典型的动态模式序列,前后帧之间的时间相关性非常强,所以要将神经网络应用于语音识别,必须解决好瞬时输出的记忆问题。因此考虑将人工神经网络与已经发展的方法结合构成一种混合系统,在这种系统中,神经网络或者作为其前端进行预处理,或者作为后端进行后处理。
ANN和HMM可以以不同的方式进行结合,如ANN直接实现HMM,两者在帧层面上的结合,语音层面上的结合,音段层面的结合和子层面上的结合等方式,而HMM和ANN混合模型的结合,即能优化HMM模型,又能充分利用每一种技术的长处:HMM的时间建模和ANN
21
河南理工大学毕业设计(论文)说明书
的声学建模,特别是用神经网络计算HMM状态的观测概率。用神经网络来估计观测概率,设计和训练神经网络的方法有很多,最简单的方式就是将一帧语音矢量直接映射成观察概率,网络的训练也是一帧接一帧地进行,这种方法就成为帧层面上的网络训练。
在音段层面方式中,神经网络的输入来自整个语音段,而不是一帧语音或固定长度的语音窗。这样就可以让网络更好地利用存在音段中的所有语音帧之间的相关性,而且还可以更容易地利用其它信息,比如时长。这个方法的缺点是必须先对语音进行分段,神经网络才能对分出的各个音段进行计算。在这些不同的结合形式中,实验结果表明,帧层面上的结合比较符合HMM和ANN两种方法的特点。
与传统的HMM相比,混合HMM/ANN模型不仅在理论上抛弃了HMM一系列不合理假设,而且在训练过程中自然地引入了HMM状态之间的区分机制。混合模型克服了最大似然准则(MLE)区分能力差的缺陷。而且在系统体系上又保持了HMM的框架,所以混合HMM/ANN模型是HMM和ANN两种模型的有机结合,具有明确的数学和物理意义。与传统的HMM相比,混合HMM/ANN模型还为融合多种语音特征矢量,考虑不同层次上的多种约束提供了一个非常方便的接口。
混合模型结构还充分利用了ANN的下述特性,克服了HMM的一系列缺陷和不足,主要特点如下:
(1)混合模型可以自适应学习以适应语音数据的变化;可以不必拘泥于选取特殊的语音参数面对综合的输入模式进行训练和识别。
(2)可以把人的听觉模型融合于ANN中,在ANN的输入端可以同时加载相邻数帧的语音特征矢量,因而和语音信号的实际情况更加符合。
(3)分类神经网络的输出端可以逼近任意形式的概率分布函数,它能很好地掌握蕴含在训练数据中的概率分布特性,所以能够较真实地描述语音信号的概率分布特性。
(4)ANN的训练着眼于描述类间的边界,而不是描述每一类内的分布.所以是一种区分性训练。在处理语音信号的时变特性方面。混合模型利用了HMM在这方面的特长。
所以混合模型在系统框架上保持了传统HMM的框架,而局部功能模块如:概率估计、上下文关联等则通过ANN实现,这样有机地将HMM和ANN的各自优势统一在一个系统之中.又弥补了各自的不足。在混合HMM/ANN中用神经网络来进行声学建模,而时域建模依赖于传统的HMM。用神经网络进行声学建模一般有两种方法:
第一种方法是预测网络。预测网络的输入是相继的几帧语音特征矢量,输出下一帧语音的预测值,通过给每一个音子分配一个预测网络,就可以比较每个音素预测网络的预测误差,选取其中具有最小预测误差的网络与当前语音段匹配,体现了相邻语音帧之间的时域相关性。
第二种方法是分类网络。在分类网络中,输入还是相继的几帧语音矢量。但输出直接映射成HMM状态。分类网络可以用n个输出节点表示n个类,将输入映射成n类中的一种。分类网络具有简单直观、在本质上是区分性的、在设计上是模块化的、可以方便地组合成更大的系统、具有完善的数学解释等优点,所以可以很容易地集成到HMM的统计识别框架中。
22
河南理工大学毕业设计(论文)说明书
四、隐含马尔可夫模型算法
HMM是在80年代由IBM的Baker和Jrlinek引入入语音识别的研究,目前它是最灵活最成功的语音识别方法之一。HMM一方面用隐含的状态对应于声学层各相对稳定的发音单位,并通过状态转移和状态驻留来描述发音中音的变化和停留甚至音变。另一方面它引入了概率统计模型,不再用动态时间对齐的方法求匹配距离,而是通过搜索最佳状态序列并计算最大后验概率找到识别结果,HMM模型较好地描述了语音信号在时间和声学特性两个方面的统计变化。
通常HMM对应了具有一定语音学含义的单元,通常是音素。音素之间通过HMM模型之间的连接(转移)可以构造出字模型(马尔可夫链),字模型进一步可以组成词模型,再到句子,所以通过不同层面上的模型(状态)之间的转移(连接),就实现了音素、字、词的统计表示,形成了一个自下而上的统计识别框架。与知识表示的层次结构很好地吻合,这是HMM在处理时间变化上最成功的方面。这也成就了HMM的霸主地位。
4.1 HMM的基本理论和数学描述
HMM是一个双重的随机过程,它具有一个有限状态的马尔可夫链和与每个状态相联系的一套随机概率函数。马尔可夫链的每个状态可以和一个稳态或准稳态的事件相对应,在离散的某个时间下的观测值,就是该过程在该时刻处于某个状态并以与该状态对应的随机函数概率发生的一个值。其中所处的某个状态是不可见的,各状态之间根据转移概率矩阵进行转移,状态转移的随机过程是隐含的,它是通过状态输出的随机过程表现出来的,故称为隐马尔可夫模型。
图4.1称为无跳转的自左向右结构,是一种常用的HMM模型,它用同一状态的驻留描述发音的长短,用状态的转移描述发音单元的变化。该结构共有L=6个状态,每个语音帧n,都对应于HMM模型中有限状态中的一种,记为Sl,l=1~L。
若在时刻n(即第n帧)所处的状态用xn表示,那么xn只能等于S1~SL中的某一个,任意时刻n系统所处的状态以概率的方式取决于初始状态概率矢量a和状态转移概率矩阵A。其中,a是一个行矢量,即a=[a1,a2,.....aL]。它的每一个分量al。
图4.1 常用的一种HMM结构
表示xl等于Sl的概率。可表示如下:
23
河南理工大学毕业设计(论文)说明书
al?pr?xl?sl?,l?1~L (4-1)
矩阵A是一个(L?L)的方阵,它的各个元素Aij是已知相邻两个时刻中前一时刻状态为Si的条件下后一时刻状态为Sj,的概率。这可表示如下:
Aij?prxn?1?Si/xn?Sj??n?1;i,j?1~L (4-2)
对于图4.1结构的HMM,初始状态只能为Sl,所以a=[1 0 0 0 0 0],又根据其可能的状态转移,可知状态转移矩阵为一个稀疏矩阵:
?A11?A?21?0A???0?0??0?0A22A3200000A33A4300000A44A5400000A5500?0??0? ?0?0??A66??对于任何时刻n(n>0),发音所处的状态xn取S1~SL中哪一种的概率只取决于前一时刻
(n-1)所处的状态,而与更前的时刻所取的状态无关。由此产生的状态序列(x1,x2,x3,……)是一条一阶马尔可夫链。用N表示观测序列的长度,如果只完成(N一1)次状态转移,那么产生的是一条有限长度马尔可夫链为(x1,x2,……,xn),可用一条行矢量来表示X=[x1,x2,……,xn]。对于任何X,其出现概率为:pr?X??a1Ax2x1Ax3x2?AxNxN?1。
HMM之所以称为隐马尔可夫模型是因为第栉帧语音所处的状态xn是隐藏在系统内部的,是外界观察不到的,外界只能得到该时刻(该帧)的特征矢量yn,yn=[yn1,yn2,……,ynQ],下标Q为特征矢量的维数。若yn为离散分布,则称为离散HMM模型(DHMM),若yn以为连续分布,则称为连续HMM模型(CHMM),在通常情况下假定虬服从正态分布,为了更好地逼近实际的分布模型有时也采用若干个正态分布函数线性相加。
综上所述,HMM模型的构成要素:Y=[y1,y2,……,yn],所观察到的一段序列,乃为观察值,N为观察序列的长度。X=[x1,x2,……,xn],隐藏在系统内部的状态序列。S=[S1,S2,……,SL],HMM状态集合,L为状态总数。π为初始状态概率分布。它表示在初始时刻t=1时处于各状态的概率。A?Aij,状态转移概率分布。B?ps1?y?,ps2?y?,?,psL?y?,状态输出概率分布。
为了简明起见,通常将HMM模型表示成A=(a,A,B)。值得注意的是,要素a仅决定产生输出的HMM初始状态,它的重要性最小;而B则直接与输出有关,其影响最大。
????4.2 HMM的三个基本问题及解决算法
HMM的需要解决的三个基本问题:
l、概率计算:已知观察序列O=[o1,o2,……,oT]和模型?=(a,A,B),如何计算由
24
共分享92篇相关文档