及其在语音识别中的应用报告人:李敏HMM介绍内容提要语音识别简介隐马尔可夫模型相关理论隐马尔可夫模型基本算法HMM在语音识别中的应用语音识别声学信息论语音语言学信号处理人工智能模式识别数理统计听写机查询系统电话拨号残疾人用品消费电子……实际应用学科基础语音识别技术基础与应用语音识别系统的基本构成analysisPatterntrainingTemplatesormodelsPatternclassifierDecisionlogicspeechRecognizedspeechLPCCMFCCTestpatternReferencepatternSearchalgorithm1.语者无关/相关2.词表大小3.孤立词vs.连续语音4.环境噪声等语音识别的几个关键因素常用语音识别方法1.模式匹配的方法:DTW2.统计模型方法:HMM3.人工神经网络的方法AndreiA.MarkovRussianstatistician1856–1922马尔可夫链理论s1s2s3N=3t=0q0=s3有N个状态,S1,S2…SN一阶离散马尔可夫模型下一个时刻所处的状态是随机出现的在每个时刻t,系统只能处于唯一一个状态qt存在一个离散的时间序列t=0,t=1……当前状态]|[,...],|[121iqjqPkqiqjqPttttt当前状态qt只与前面相邻的一个状态qt-1有关,与其他状态无关s1s2s3一阶离散马尔可夫模型11/21/21/32/3s1s2s3一阶离散马尔可夫模型11/21/21/32/3NjiiqjqPattij,1,]|[1aij---转移概率并且满足如下的标准随机约束条件:下雨多云晴天0.30.20.60.40.20.10.30.10.8下雨---状态1多云---状态2晴天---状态3一阶离散马尔可夫模型问题:连续8天的天气状况为“晴天-晴天-晴天-下雨-下雨-晴天-多云-晴天”的概率是多少?4223321311312333210*536.1)2.0)(1.0)(3.0)(4.0)(1.0()8.0)(0.1()(]2|3[]3|2[]1|3[]1|1[]3|1[]3|3[]3[]|]3,2,3,1,1,3,3,3[)|(aaaaaaPPPPPPPModelPModelOP一阶离散马尔可夫模型晴天晴天晴天下雨下雨晴天多云晴天0.80.80.10.40.30.10.2晴天晴天一阶离散马尔可夫链晴天下雨下雨tt+1晴天-晴天-晴天-下雨-下雨-晴天-多云-晴天晴天多云晴天t-1马尔可夫链信号统计理论模型起源于60年代后期Baum和他的同事首先提出Baker(CMU)和Jelinek(IBM)在70年代早期实现在语音处理上的应用隐马尔可夫链(HMM)理论123a12a21a22a11a23a32a13a31a33每个硬币代表一个状态;每个状态有两个观测值:正面H和反面T;每个状态产生H的概率为P(H);每个状态产生T的概率为1-P(H))...()...(21THHHTHHToooOT隐马尔可夫链—三个硬币隐马尔可夫模型状态总数N;每个状态对应的观测事件数M;状态转移矩阵每个状态下取所有观测事件的概率分布起始状态为了完整地描述一个隐马尔可夫模型,应当指定状态数N,观测符号数M,以及三个概率密度A、B和。这些参数之间有一定的联系,因此为了方便,HMM常用来简记。}{ijaA)}({kbBji隐马尔可夫模型的参数问题一:给定模型参数和观测序列,如何快速求出在该模型下,观测事件序列发生的概率?——估计问题问题二:给定模型参数和观测序列,如何找出一个最佳状态序列?——解码问题问题三:给定观测序列,如何调整参数使条件概率最大?——学习问题),,,,(BAMN)...(21ToooO)|(OP隐马尔可夫模型的三个基本问题)|(OP估计问题:前向算法和后向算法解码问题:Viterbi算法学习问题:Baum-Welch算法如何解决三个基本问题估计问题—前向算法)|,...()(21iqoooPittt定义前向变量:表示模型下,在时刻t,观测事件为Ot,状态为i的概率。s1s2sNsj时刻tt+1a1ja2jaNj)(it)(1tjob)(])([)(111tjijNittobij)|,...()(11211jqoooPjttt估计问题—前向算法NjTtobijtjijNitt1;11),(])([)(111)1)(()(11Niobiii)()(1iOPNiT递归求解:1.初始:2.递归:3.中止:StateT123123N2(1)2(2)2(3)2(N)3(1)3(2)3(3)3(N)1(1)1(2)1(N)1(3)T(N)T(3)T(2)T(1)估计问题—后向算法定义后向变量:),|...()(21iqoooPitTttt表示从终止时刻T到时刻t+1的观测事件序列是,并且时刻t的状态是i的概率)...(21Tttooos1s2sNsi时刻tt+1ai1ai2aiN)(1tjobNjttjijtjobai111)()()()(it)(1jt估计问题—后向算法递归求解:1.初始:2.递归:)1(,1)(NiiTNiTTtjobaiNjttjijt1111;1,...,2,1),()()(解码问题—Viterbi算法]|...,,...[max)(21121...,121tttqqqtoooiqqqqPit找一个状态序列,这个状态序列在t时状态为i,并且状态i与前面t-1个状态构成的状态序列的概率值最大s1s2sNsj时刻tt+1a1ja2jaNj)(1tjob)(it)(1jt)(].)(max[)(11tjijtitobaij三硬币隐马尔可夫模型状态1状态2状态30.50.750.250.50.250.75P(H)P(T)观测序列O=(HHHHTHTT)设初始状态概率和状态转移概率都是1/3,忽略这些概率s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s30.50.75)(itt0.250.75*0.50.7520.75*0.250.752*0.50.7530.752*0.250.753*0.50.7540.753*0.250.754*0.50.754*0.250.7550.755*0.50.7560.755*0.250.756*0.50.756*0.250.7570.757*0.50.757*0.250.758三硬币隐马尔可夫模型状态1状态2状态30.50.750.250.50.250.75P(H)P(T)观测序列O=(HHHHTHTT)设初始状态概率和状态转移概率都是1/3,忽略这些概率s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s3s1s2s30.50.75)(itt0.250.75*0.50.7520.75*0.250.752*0.50.7530.752*0.250.753*0.50.7540.753*0.250.754*0.50.754*0.250.7550.755*0.50.7560.755*0.250.756*0.50.756*0.250.7570.757*0.50.757*0.250.758step1:重新估计每个状态j的模型参数step2:计算t时刻对于模型M处于状态j的存在概率P=P(O|M)step3:利用新的状态概率,重新计算模型参数step4:迭代结束判决,P(O|M)是否增大,是则step1隐马尔可夫模型用于语音识别的原因隐马尔可夫过程是一个双重随机过程:用于描述非平稳信号的短时平稳段的统计特征(信号的瞬态特征,可直接观测到)每个状态对应的观测事件数M;随机过程描述了每个短时平稳段如何转变到下一个短时平稳段,即短时统计特征的动态特性(隐含在观察序列中)。HMM可以解决的两个问题:怎样辨识具有不同参数的短时平稳信号段起始状态怎样跟踪它们之间的转化的问题隐马尔可夫模型用于语音识别的原因人的言语过程也是这样一个双重随机过程。因为语音信号本身是一个可观察的序列,而它又是由大脑里的(不可观察的)、根据言语需要和语法知识(状态选择)所发出的音素(词、句)的参数流,大量实验表明,HMM的确可以非常精确地描述语音信号的产生过程。隐马尔可夫模型在语音识别中的应用1.模型引入问题—信号的时变性—特征的多样性对策—动态模型—统计涵盖多样性变化形成过程–连续语音切分为识别单元—音段–每个音段采用一组数量有限的状态加以刻画–状态的变化反应了语音特征的变化–各时刻所处状态依概率而存在自左到右无跳转HMM模型–转移概率矩阵A=[aij],i+1=j=i–观察概率矩阵B=[bi]2.动态模型123三状态自左到右无跳转HMM模型111222333状态过程:可能的状态序列s1,s1,s1,s2,s3;s1,s1,s2,s2,s3s1,s1,s2,s3,s3;s1,s2,s2,s2,s3s1,s2,s2,s3,s3;s1,s2,s3,s3,s33.对语音的刻画短时平稳性–每个状态对应于一特征平稳段信号的时变性–通过调整各个模型中在每个状态的驻留次数(时间),实现模型与信号之间的时间对齐特征的多样性–通过训练数据,覆盖音段特征的变化,进而用于模型参数训练,通过模型参数的统计分布加以反映对应于两个随机过程–状态与音段特征间的统计关系–状态转移统计描述平稳段间的如何转移4.模型定义L个有限状态Sj构成状态集;任意时刻n所处状态为的xn;任意时刻n的特征矢量(输出观察)为yn。对应于三个模型参数(离散概率)–初始状态概率矢量–状态转移概率矩阵A–观察概率矩阵BHMM模型构成][],,,[121jrjLSxPπ]|[][1injnrijijSxSxPaaA]|y[][injnrijijSxyPbbB),,(BAf1.前向后向算法计算P(O|λ);2.Baum-Welch算法求出最优解λ*=argmax{P(O|λ)};3.Viterbi算法解出最佳状态转移序列;4.根据最佳状态序列对应的λ给出候选音节或声韵母5.通过语言模型形成词和句子经典HMM语音识别一般过程谢谢!