未来智讯 > 人脸语音识别论文 > 基于HMM模型的语音识别系统研讨

基于HMM模型的语音识别系统研讨

发布时间:2018-11-28 01:06:04 文章来源:未来智讯    
    基于HMM模型的语音识别系统研讨作者:未知   摘 要:语音识别系统性子上是一种模式识别系统,包括特征提取、模式匹配、参考模式库等三个基本单元。未知语音经过话筒变换成电信号后加在识别系统的输入端,最初经过预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析,并抽取所需的特征,在此基础上建立语音识别所需的模板。本文主要介绍基于HMM模型的语音识别系统。
  关键词:HMM模型;语音系统
  一、HMM模型的基本原理
  一个HMM模型由若干个状态组成,随着时间的变化,各个状态之间能够发生转移,也能够在一个状态内驻留。每个观察向量对不同的状态都有相应的输出频率。以一个包含四个状态[S1~S4]为例,状态之间或状态自身的转移几率用[a0]表示,输入观察序列为[o1,o2,…,oT]。每个观察序列是一帧MFCC参数。在这个模型中,序列[o1,o2,…,oT]是可观测的输入序列,称为观察序列,而每一时刻所处的状态却是隐含的。
  权系数[cjl]满足
  [lMcjl=1,1≤j≤N]
  这种连续混合高斯HMM常常简称为CHMM。对于每一个状态,都用若干个正态高斯几率密度函数(简称为pdf)的线性组合来表示,每个pdf有各自的均值矢量和协方差矩阵,这些都是通过对大量的MFCC参数进行统计得到的。
  二、HMM模型进行语音识别的步骤
  基于统计的语音识别模型常用的便是HMM模型λ(N,M,π,A ,B),涉及到HMM模型的相关理论包括模型的结构采用、模型的初始化、模型参数的重估以及相应的识别算法等。具体如下:
  (1)模型的结构包括状态数N的确定,每个状态对应的观测事件数M(有些文献假定观测矢量是在履历各非空转移时产生的输出),还有Markov链形状的确定,这主要由π,A两组参数决定。根据L. Rabiner的实验研讨以及国内一些学者的研讨经验证明目前Markov链状态数为6对照理想,超过6个状态的模型计算量太大而且识别正确率增加并不明显。
  隐马尔可夫模型的结构主要有两种,一种是各态历经的,另一种是从左到右的。状态的转移又可分为吸收的和不吸收的,不吸收是指状态能够从一个任意状态转移到下一个任意状态,吸收的是指状态只可转移到下标等于或大于当前状态下标的那种转移,而且下标小的状态将优先于下标更大的状态,而极少或几近没有返回到从前状态的可能性。根据语音信号的特性,目前对照常用“左-右”吸收转移模型。
  (2)观测序列几率(B);观测序列几率描述在某状态时观察序列的几率分布。根据对观测序列几率的不同描述HMM方法可分为离散的HMM和连续的HMM,以及半连续的HMM。
  对于离散HMM(DHMM),B便是一个几率矩阵;对于连续HMM(CHMM)来说,B是每个状态对应于一个观测几率密度函数,函数是对数凹对称连续分布函数如高斯密度或高斯自回归密度函数,后来推广到椭球对称密度的连续分布函数。这样所需的存储的参数是不同的,在DHMM中,B中直接存储每个状态产生的某个观测事件的几率bj(ot),识别时直接使用viterbi等算法即可求出P(O/λ);在CHMM中,存储的参数为:每个状态j的Mj个Cjm权值,用来表[jm][μjm]示高斯几率密度函数的Mj个均值 和方差 ,识别时计算下式然后使用viterbi算法。
  [bj(ot)=m=1MjcjmN(ot;μjm;jm)][1≤j≤N]
  可见CHMM不需要矢量量化,通过特征提取后的特征向量求出均值和方差后使用上式计算观测几率。
  由于DHMM存在量化畸变问题影响识别率,而CHMM由于每个状态都有不同的几率密度函数从而训练和识别时计算量对照大,所以Juang Bim Huang提出了半连续HMM(SCHMM),该方法联合离散和连续HMM的优点,值得注意的是所有模型的所有状态共享M个高斯几率密度函数,M等于1时,就形成了DHMM;B矩阵同在DHMM中一样直接存储每个状态产生的某个观测事件的几率bj(ot),同时还要存储M个高斯几率密度函数的均值和方差, 识别时,先进行矢量量化,找出较大的M个bj(ot)作为权值,然后象上式一样求出bj(o),最终使用viterbi算法求出P(O/λ)。
  (3)一般认为起始状态几率(π) 、状态转移几率(A)的初值的采用对模型参数重估的影响不大,所以常选取均匀分布;而观测序列几率(B)对参数重估影响较大,当设置不恰那时,使用重估算法时收敛所需次数太多,并且算法可能收敛于部分最优解而不是全局最优解。所以B的初值设置除了均匀分布外,可根据“初值估计原则”[13]进行估计,还有把初值的设置与训练过程联合,使用viterbi算法来重新确定初值的方法 [5],对于CHMM也可选取分段k平均值法。一般倾向采取较为复杂的初值采用方法。
  (4)模型参数的重估是统计模式识别中最重要的环节,重估本能的好与坏直接影响到识别的正确率。目前还没有一个最佳的方法来估计模型,主要选取递归的思维来进行重估,即经典的Baum-Welch算法,该算法通过递归使P(O/λ)部分极大,作为基于爬山的算法,它有两个优点,一是收敛迅速,二是每一步迭代后似然几率都增大。但是这种方法一个很大的缺点是它不过用预先标识好属于一个模型的数据来训练该模型,使其似然几率趋于部分最大,从而不能保证这一似然几率比其它模型对应数据的似然几率更大,一旦出现这种情况,很容易导致误识。
  三、两种算法的介绍
  1.前向后向算法
  前向算法
  最初定义HMM的前向几率为:
  [αt(i)=P(o1o2…ot,qt=i|λ)]
  表示给定HMM模型参数[λ],局部观察序列[{o1o2…ot}]在t时刻处于状态[i]的几率。那么有:
  初始化:
  [α1(i)=πibi(o1),1≤i≤N]
  递归:
  [at+1(j)=[i=1Nat(i)aij]bj(Ot+1),1≤t≤T-1,1≤j≤N]
  终结:
  [P(O|λ)=i=1NαT(i)]
  与前向几率相对应,还有后向几率。定义后向几率为:
  [βt(i)=P(ot-1ot-2…ot,qt=i|λ)]
  表示HMM模型参数[λ],观察序列在t时刻处于状态i,系统输出局部观察序列[{ot+1ot+2…oT}]的几率。
  后向算法
  后向几率[βt(i)]也有类似的递推公式计算:
  初始化:
  [βT(i)=1,1≤i≤N]……………………………4.10
  递归:
  [βt(i)=i=1Naijbj(Ot+1)βt+1(j),1≤t≤T-1,1≤j≤N]………….4.11
  终结:
  前向几率和后向几率的递推关系由下图说明:

转载请注明来源。原文地址:https://www.7428.cn/page/2018/1128/48195/
 与本篇相关的热门内容: