开篇:润墨网以专业的文秘视角,为您筛选了一篇基于GMM的算法在语音检出系统中的应用研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要: 高斯混合模型(GMM)由于通过改变高斯的混合度,能够逼近任意概率分布,所以在语音识别领域应用广泛。对高斯混合模型的训练,常见的训练方法是最大似然估计(MLE),这种训练方法能最大程度拟合所有样本的分布,但没有考虑模型之间的相互影响,导致识别过程会出现混淆情况;区分性模型训练算法,适合应用于大数据量复杂组合类别的区分问题。这里提出采用的区分性模型训练方法,其原则是最小化分类错误风险,通过更精确细致地刻画不同模型之间的分类面,提升识别的效果。实验结果表明,该训练方法比最大似然估计的训练方法在多类别语音检出任务中具有更好的识别效果。
关键词: 高斯混合模型; 最大似然估计; 区分性模型训练; 语音检出
中图分类号: TN912.3?34 文献标识码: A 文章编号: 1004?373X(2015)13?0059?03
Abstract: Gaussian mixture model (GMM) can approximate any probability distribution by changing Gaussian mixedness, so it is widely used in voice recognition domain. Maximum likelihood estimation (MLE) is a common training method for GMM training, which can fit the distribution of all samples to the greatest extent. The interplay between models isn′t considered in MLE, which leads to confusion appearing in recognition process. The discriminative model training algorithm is suitable for distinguishing the categories of large amount data complex combination. In this paper, application of the discrimination training algorithm is proposed, whose principle is to minimize the risk of classification errors. The recognition effect is improved through more precisely and meticulously describing classification facet between different models. The experimental results show that the training method has better recognition effect than maximum likelihood estimation in multi?class voice detection task.
Keywords: GMM; MLE; discriminative model training; voice detection
0 引 言
语音识别技术飞速发展,各种语音检出算法的提出如雨后春笋,但都是基于语音信号特征,或基于语音信号统计特性,或是基于信号特征与统计特性相结合的方法,各种算法各有优劣,适用对象不同。综合文献[1?5]可知,基于短时能量和过零率的算法,适用于信噪比较高的场合,但难以区分清音和噪声;基于自相关相似距离算法,总的来说与HMM算法的效果大致相同,但是对于结尾的判断却优于HMM模型,这是因为语音大多以浊音结尾,此时自相关法的判断精度较高,但对于清音开头的语音,尤其是[s],[ks],[n]等音节,自相关算法的检测精度就不高;基于高斯混合模型(Gaussian Mixture Model,gmm)的算法,分类较细,提供了完整的基于数据的识别框架,具有良好的推广性和扩展性。
在GMM框架里,主要的问题是如何根据有限的数据产生对应的GMM模型,目前常见的训练方法是采用最大似然估计(Maximum Likelihood Estimation,MLE),该方法基于MLE规则,最大程度拟合所有样本的分布,模型参数不断更新,直到观察序列的概率提高到某些极限点。实际上,由于其没有考虑声学模型之间的相互影响,在训练语料量比较大时,识别过程中会出现混淆情况。
区分性的模型训练算法,适合应用于大数据量复杂类别组合的区分问题[6]。本文提出采用的区分性模型训练方法,其原则是最小化分类错误风险,将有限的模型描述能力更多用于容易错的边界样本的区分,参数估计时不仅使得属于该类别的训练数据概率最大,同时还要使得不属于该类别的训练数据概率最小,通过更精确细致地刻画不同模型之间的分类面,达到提升识别效果的目的。实验结果表明,基于该算法的训练方法比最大似然估计的训练方法在多类别语音检出任务中具有更好的识别效果。
1 高斯混合模型描述
GMM用于语音检出[7],它直接对语音中各类数据特征的统计分布进行拟合。GMM可以看作是单状态的HMM,GMM模型并不关注语音的时序过程,它只描述语音特征参数的静态分布,不同类别语音特征的静态分布不同,因此通过比较不同类数据的GMM模型,就可以区分不同的语音类别。在实际应用中,GMM高斯混合度要求比较高,一般要32个高斯函数或以上,甚至达到2 048个高斯函数。一个高斯混合模型的概率密度函数由多个高斯概率密度函数加权求和得到,如式(1)所示:
[p(xλ)=i=1MωiNi(x)] (1)
式中:[M]是高斯混合模型的混合度;[ωi]是每个高斯的权重;[x]是维数为[D]的观测向量;[Ni(x)]是高斯分布概率密度函数,[Ni(x)]可表示为:[Ni(x)=1(2π)D2Σi12exp-12(x-μi)TΣ-1i(x-μi) λ={ωi,μi,Σi}, i=1,2,…,M] (2)
式中:[μi]为均值矢量;[Σi]为协方差矩阵。至此,整个高斯混合模型[λ]可由{[ωi,][μi,][Σi]}来描述。其中GMM的协方差矩阵[Σi]可以有多种形式,可以是每个高斯概率密度函数都有一个经过训练得到的协方差矩阵,也可以是某一类别语音的GMM模型的所有高斯概率密度函数共用同一个协方差矩阵,还可以是所有语音类别的GMM模型都共用同一个协方差矩阵。同时,协方差矩阵既可以是满阵也可以是对角阵,但考虑到在模型的训练过程中需要用到协方差矩阵的逆,而矩阵求逆往往是一个非常耗时的过程,所以协方差矩阵一般采用对角阵的形式。
采用GMM作为语音声学模型的原因如下:
(1) 一个语音类别的声学特征参数在特征空间的分布由该类别语音不同音的特征矢量的分布组成。对于语音检出,可以认为GMM的各个高斯成分模拟了同一类别语音不同的未知音素的声学特征,每个高斯成分描述了不同的音素分布。
(2) 统计理论表明,用多个高斯概率密度函数的线性组合可以逼近任意分布,因此,GMM可以对任意的语音特征分布进行精确的描述。
实际上,将GMM模型应用于语音检出任务,用每个类别语音数据单独训练一个GMM模型,在测试时测试语音对所有的GMM模型求对数似然度函数,得分高的模型就判断为目标类别。同时,由于每个类别的数据可以积累较多,数据量可以得到保证,高斯数目一般较大,如128,由于这种特性,在语音检出任务中这种方法的识别率一般较高。当然,在基于概率统计模型的识别算法中,不仅模型结构的选择是否合适影响着最终的识别效果,模型参数的训练估计是否准确同样重要。模型训练是指对模型参数进行估计,对于高斯混合模型而言,即是对[λ]进行估计。
2 最大似然估计训练方法
对于高斯混合模型的训练,目前最常见的训练方法是采用MLE[7]。若给定训练样本为[X={x1,x2,…,xN},]则基于MLE的目标函数为:
[obj=n=1Nlnp(xnλ)] (3)
由于高斯混合模型中的权重是隐含变量,所以采用期望最大(Expectation Maximization,EM)算法,定义辅助函数如下:
[Q(λ,λ)=n=1Ni=1Mγi(xn)lnp(xnλ)] (4)
式中:[λ]是待估计参数;[λ]是初始值或上次迭代结果;[γi(xn)=ωiNi(xn)j=1MωjNj(xn)]。通过求导,可得模型更新迭代公式如下:
[ωi=1Nn=1Np(ixn,λ), μi=n=1Np(ixn,λ)xnn=1Np(ixn,λ)]
[Σi=n=1Np(ixn,λ)xnxtnn=1Np(ixn,λ), p(ixn,λ)=ωiNi(xnλ)i=1MωiNi(xnλ)]
在参数估计之前,用K均值算法初始化模型,模型参数通过反复替换[λ=λ]而提高。同时,为避免混乱,通过EM算法把整个训练过程看作MLE方法,把单个重估过程看作MLE重估,进一步用MLE公式重估,直到满足聚类规则的门限时终止,门限通常设置为观察序列概率的对数的平均。通过最大似然估计训练得到的模型参数,能够保证训练数据在该模型上出现的概率最大,很好地表征了训练样本数据。但是MLE作为爬山算法,随意选择初始模型[λ,]即可导致局部最优,存在目标函数不能直接最大化的问题。然而在语音检出中,识别分类问题至少牵涉到两个类别,因此,采用最大似然准则训练得到的模型,对于识别分类问题并不一定是最好的。
3 区分性模型训练方法
最小化分类错误(MCE)风险原则的区分性模型训练算法,参数估计时不仅使得属于该类别的训练数据概率最大,同时还要使得不属于该类别的训练数据概率最小。本文根据文献[6]的MCE算法,考虑多类型语音检出任务区分复杂等特点,结合EBW(Extended Baum,Welch)算法,定义和导出具体算法如下:
假设训练样本数据为[X={x1,x2,…,xN},]样本标识为[Y={y1,y2,…,yN},]其中[yn=1]表示属于当前训练的模型类别,[yn=0]表示属于其他类别,定义区分性目标函数为:
[obj=n=1Nynp(xnλ)-ln1+expp(xnλ)] (5)
由于目标函数中隐含变量的影响,采用EBW算法,定义辅助目标函数:
[Q(λ,λ)=n=1Nyn-exp(p(xnλ))1+exp(p(xnλ))i=1Mγm(xnλ)lnωiNi(xnλ)+i=1MDmωmn=1Np(xnλ)lnp(xnλ)]
式中[γm(xn|λ)=ωiNi(xnλ)i=1MωiNi(xnλ)。]
令:
[Γi(xn)=yn-exp(p(xnλ))1+exp(p(xnλ))γm(xnλ)]
[Γi(1)=n=1NΓi(xn)]
[Γi(x)=n=1NΓi(xn)xn]
[Γi(x2)=n=1NΓi(xn)xnxtn]
通过对辅助函数求导,可得模型参数更新公式如下:
[ωi=Γi(1)+Diωii=1MΓi(1)+Di, μi=Γi(x)+DiωiμiΓi(1)+Diωi]
[Σi=Γi(x2)-Γi(1)+Diωiμiμti+Diω2i(Σi+μiμti)Γi(1)+Diωi]
最小化分类错误风险的区分性模型训练算法,通过更精确细致地刻画不同模型之间的分类面,达到提升识别效果的目的。
4 语音检出系统构成
基于GMM的语音识别方法,其基本出发点是针对一般语音检出方法中难以去除的非语音部分(如振铃、彩铃音等),考虑其特性类别以及通常语音的特性,然后分别进行建模,最后通过比对信号中每帧数据在每个模型上的相似度来判断其类别。应用该方法的系统模块图如图1所示。
基于GMM模型的语音识别方法,从整体可分为以下几个步骤:
(1) 模型和特征选取
该步骤是根据具体的应用环境,确定环境噪声的类别,并选择相应的训练数据特征。例如对于电话信道而言,可以将环境噪声分为彩铃声、振铃声、挂机噪声、信道噪声等。而特征的选取,一般采用分帧,提取每帧的13阶MFCC特征即可。然后根据确定的噪声类别标注训练数据,同时还需标注语音数据,以训练各种噪声模型和语音模型。
考虑到环境噪声的种类较多,而实际关注的只是将语音和噪声分开,因此,可以将语音部分标注为一类,将其他部分标注为非语音。由于非语音部分数据覆盖范围很广,用一个GMM建模,模型的复杂度非常高,所以一个比较可行的方式是对非语音数据采用盲聚类的方式,生成多个类别,然后对每一个类再建立模型,这样能够有效地降低模型的复杂度(混合度)。根据实验结果,GMM混合度为128较为理想。采用这种方式确定模型类别的话,可以有效地减少数据的标注工作量。
对于上面确定模型类别和训练数据,记语音对应的模型设为[Mg],噪声模型分别为[M1,M2,…,MN,]而相应的训练数据表示为[Ds,D1,D2,…,DN]。
(2) 模型训练
训练数据和模型类别确定之后,就可以采用K?Means训练,EM训练或区分性的模型训练相结合的方法来训练模型。一般是利用前者估计GMM的初始值,然后利用后者进行迭代细化。
(3) 模型判决
该过程主要是对于信号中的每帧特征,计算它在各个GMM模型上的概率,选择出现概率最大的GMM模型对应的类别作为判决结果。如果概率最大的模型对应语音信号,那么该帧就判断为语音,否则判断为非语音。
(4) 判决结果后处理
基于GMM模型,直接判断会存在出错的情况,因此需要对判决处理的结果进行后处理。本文所采用的后处理策略是,将当前帧左右相邻的[L]帧作为一段,然后统计该段中出现语音帧和非语音帧的个数。如果语音帧和非语音帧的比例大于阈值[T,]则将当前帧判为语音帧,否则判为非语音帧。
5 实验及结论
本文使用的声学特征为经过RASTA滤波[8]、求高阶差分、去除静寂段、均值倒谱减(CMS)[9]、高斯特征化[10]一系列处理后的MFCC特征。
实验共取录音数据74条,945 MB,约22 h。其中经标注后用于实验验证的数据有49条,475 MB。将这49条数据中的9条数据作为测试集合,83 MB,其中有161 273帧语音, 387 495帧非语音。对比表见表1。
通过实验结果对比分析可知,采用区分性算法的查准率比采用MLE算法的高8.12%,查全率略高1.77%。这充分说明,在相同的语音数据条件下,采用最小分类错误风险原则的区分性模型训练方法后的语音识别效果明显比采用最大似然估计的要好。但是,也必须认识到,由于采取的是基于GMM模型的算法,它不但要求有足够的训练数据,同时要求训练数据和测试数据要比较匹配,否则识别出来的结果就有可能和预期相差较大。
参考文献
[1] 胡航.语音信号处理(修订版)[M].哈尔滨:哈尔滨工业大学出版社,2002.
[2] 张雄伟,陈亮,杨吉斌.现代语音处理技术及应用[M].北京:机械工业出版社,2003.
[3] 夏敏磊.语音端点检测技术研究[D].杭州:浙江大学,2005.
[4] 朱杰,韦晓东.噪声环境中基于HMM模型的语音信号端点检测方法[J].上海交通大学学报,1998,22(10):14?16.
[5] 谢霞,李宏,郑俊.基于GMM的说话人辨认系统及其改进[J].电脑与信息技术,2006(2):48?51.
[6] 刘聪.声学模型区分性训练及其在LVCSR系统的应用[D].合肥:中国科学技术大学,2010.
[7] 刘鑫,王炳锡.基于GMM 的说话人分类自适应算法[J].信息工程大学学报,2001(4):35?37.
[8] HERMANSKY H, MORGAN N, BAYYA A, et al. RASTA?PLP speech analysis technique [C]// Proceeding of 1992 IEEE International Conference on Acoustics, Speech, and Signal Processing. San Francisco: IEEE, 1992: 545?548.
[9] FURUI S. Cepstral analysis technique for automatic speaker verification [J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1981, 29(2): 254?272.
[10] XIANG B, CHAUDHARI U V, NAVRATIL J, et al. Short?time gaussianization for robust speaker verification [C]// Proceedings of 2002 IEEE International Conference on Acoustics, Speech, and Signal Processing. Orlando, USA: IEEE, 2002: 681?684.