本发明涉及语音处理技术领域,尤其涉及一种基于深度学习的说话人识别方法。
背景技术:说话人识别通常被称为声纹识别,与其他生物识别技术相比,具有自然方便、用户接受度高、所需设备成本低等特点。说话人识别技术在身份验证、门禁系统、人机交互、司法鉴定、通信网络、移动终端、银行系统、国防军事等领域得到了广泛应用。说话人识别技术主要包括语音特征参数提取和说话人模式分类。语音特征提取是提取说话人的语音特征和声道特性。目前,主流的特征参数,包括MFCC、LPCC、基音周期等,都是以单个特征为主,表征说话人个性的信息不足,影响识别精度。说话人模式分类主要是根据语音特征参数,通过建立说话人特征模型,对说话人进行识别与分类。说话人模型主要有支持向量机、神经网络、高斯混合模型、隐马尔科夫模型、矢量量化模型等。这些模型利用概率统计等技术对说话人建模,具有良好的适应性和表达能力,但存在收敛速度过慢、易陷入局部极小值以及人为提取特征造成的特征空间不完备等问题。现有技术中,Gupta等在文献GuptaA,GuptaH.ApplicationsofMFCCandvectorquantizationinspeakerrecognition[C].IEEEInternationalConferenceonIntelligentSystemsandSignalProcessing,Gujarat,India,2013:170-173.中应用梅尔倒谱系数(MFCC)作为语音特征参数,并通过矢量量化模型进行说话人识别。该方法提取5维、12维、26维的梅尔倒谱系数,用8维、16维、32维、64维、128维的码书进行矢量量化,得到了较高的识别率。但是该方法在处理中具有以下缺陷:(1)在处理少量说话人时,效果尚可,但当说话人数目增多后,该方法的识别率较低;(2)仅用MFCC表征说话人的声道特征,其语音特征单一,鲁棒性差,识别效果不理想。现有技术中:2006年,王金明等在文献:王金明,张雄伟.一种模糊高斯混合说话人识别模型[J].解放军理工大学学报(自然科学版),2006,7(3):214-219.将高斯混合模型应用到说话人识别系统中。该方法用MFCC表述语音特征,用高斯混合模型GMM对说话人特征建模,实验结果表明,该方法在开集与闭集说话人确认中,有较好的识别率。但是该方法具有如下缺陷:(1)对于纯净的说话人语音,识别效果尚可,但有噪声干扰时,识别性能明显下降,抗干扰能力弱;(2)采用高斯混合模型进行说话人识别,需要人为设定特征参数,不能自动学习出隐含的深层次特征,所以特征参数不完备。在2011年07月20日公开的公开号为CN102129860A的中国专利中,申请人公开了一种基于无限状态隐马尔科夫模型的与文本相关的说话人识别方法。该发明通过提取线性预测倒谱系数(LPCC)作为语音特征参数,用隐马尔科夫模型(HMM)进行训练和识别,在识别阶段,计算说话人模型的似然值,将具有最大似然值所对应的说话人作为识别结果。但是该方法具有以下缺陷:(1)该方法进行说话人识别时,需要计算待测语音与所有说话人训练模型的似然度,识别计算量较大;(2)仅用LPCC表征说话人的声道特征,对于说话人辅音的表示不足,识别效果不好。
技术实现要素:根据现有技术中在进行说话人识别过程中大多采用的是单一语音特征,不能全面表征说话人声道特性、鲁棒性较差以及采用的说话人识别模型通常是人为设定特征参数,而不能自动学习更深层次的特征信息,识别效果不理想等问题,本发明公开了一种基于深度学习的说话人识别方法,通过对说话人的语音信号进行处理、建立基于受限玻尔兹曼机的深度信念网络模型,采用逐层贪婪算法,结合说话人语音特征参数,对建立好的深度信念网络模型进行训练,从而确定模型参数,然后再次输入语音信号,完成语音的识别过程。本发明还具有以下有益效果:1、本发明采用梅尔倒谱系数与Gammatone频率倒谱系数的组合特征,作为说话人的语音特征,而不是单一语音特征,提高了系统识别率。2、本发明采用深度信念网络模型作为说话人模型,该模型具有提取语音特征深层次表示等特点,能够克服传统神经网络模型易收敛到局部极小值等问题,提高了系统的识别率。3、在深度信念网络的顶层引入Softmax分类器,使得训练的深度信念网络具有良好的分类功能。4、采用基于短时能量和短时过零率的双阈值端点检测法,可以精确地区分语音与噪声,有效地提高后续特征参数提取模块的准确性。5、在进行说话人识别训练时,采用对比散度方法,提高了算法的执行效率,减少了计算复杂度。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明基于深度学习的语音识别方法的流程图;图2为本发明中分帧交叠示意图;图3为本发明中双阈值的端点检测处理的流程图;图4为本发明中语音混合特征获取过程的示意图;图5为本发明中三层式深度信念网络示意图;图6为本发明中受限玻尔兹曼机的结构示意图;图7为本发明中多层RBM的级联的结构示意图;(其中底层RBM训练的输出作为下一层RBM训练的输入);图8为本发明中图7中多层RBM的级联对应的深度信念网络的示意图;图9为本发明中采用不同语音特征的系统识别结果绘制出折线图。具体实施方式为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:如图1所示:一种基于深度学习的说话人识别方法,具体采用以下步骤:S1:对采集到的语音信号进行预加重和交叠式分帧加窗:对语音信号进行高通滤波,对语音信号采用交叠的方式进行分帧后,采用Hamming窗对语音信号进行加窗。预加重:语音的预加重操作是通过高通滤波器来完成,高通滤波器的传递输函数如下所示H(z)=1-az-1(1)其中,预加重系数a=0.9375。语音信号的预加重处理过程如下:这里,s(n)为预加重前的语音信号,为预加重后的语音信号。分帧加窗:分帧是将语音信号分成若干段处理,每段称为一“帧”。本发明采用交叠的方式进行分帧,即前后两帧会产生交叠,交叠的部分叫做帧移,本发明选取一帧语音长度为16毫秒,帧移为帧长的一半,分帧交叠的示意图如图2所示。语音信号进行分帧处理后,频谱泄漏现象将会产生,所以分帧后需要进行加窗处理,即将语音信号与窗函数相乘,这样可以减少分帧截断处理引入的频谱泄漏问题。本发明采用Hamming窗对语音信号进行加窗,Hamming窗为:其中,N为帧长,本发明取为256。对每一帧预加重后的语音进行加窗后,得到x(n),从而完成语音的预处理过程。S2:采用基于短时能量和短时过零率的双阈值端点检测法对语音信号进行端点检测,判断语音的开始和结束时刻:具体方式为:如图3所示:首先通过设定短时能量和短时过零率两个阈值,来确定语音起始的位置和终止的位置。整个端点检测算法分成四个阶段:静音阶段、过渡阶段、语音阶段段和语音结束阶段。首先分别对短时能量与短时过零率设置两个初始阈值,其一是容易被越过的低阈值;其二是高阈值,只有信号强度足够大,才能被超过。当高阈值被越过时,可认为语音开始,而低阈值被越过,则认为有可能是噪声引起的。选取变量state代表当前的状态,当state为静音状态时,不论是语音信号的过零率或者语音信号的短时能量,只要有一个大于它们对应的低阈值,那么就标记此刻为语音起始的位置;在过渡阶段,不能确定此时一定是语音段,所以当短时能量与过零率的值都在低阈值以下,则认为当前状态为静音状态,如果短时能量和短时过零率这两个参数有一个超越高门限,当前状态则被认为步入语音段;当过零率与短时能量的数值在短时间内很高时,也不一定是由真正的语音引起的,实际上,突发性的噪声也会导致短时间内的数值颇高,所以为了判断更为准确,我们引入了最短时间阈值。在state为语音阶段时,如果过零率与短时能量的数值小于低阈值的时间小于最短时间阈值,则认为目前这段信号为一段噪声,继续处理后面语音;如果过零率与短时能量的数值小于低阈值的时间大于最短时间阈值,则认为语音结束,并进行下一帧数据的判断。其中:第n帧语音信号的短时能量En满足其中,N为帧长,为预加重后的语音信号,w(n)为Hamming窗。语音信号x(n)的短时过零率为:这里,sgn[·]是符号函数,定义如下:S3:对语音信号进行特征提取:计算每一帧语音的梅尔倒谱系数和Gammatone频率倒谱系数,将梅尔倒谱系数和Gammatone频率倒谱系数组成混合特征。如图4所示本发明中针对每一帧语音x(n),通过计算,得到16维梅尔倒谱系数(MFCC)与16维的Gammatone频率倒谱系数(GFCC),然后将梅尔倒谱系数与Gammatone频率倒谱系数组成32维的混合特征。梅尔倒谱系数的具体求解过程描述如下:频谱计算对语音x(n)做长度为N的离散傅立叶变换,得到其频谱X(k)Mel滤波器组计算频谱幅度X(k)的平方,得到信号的能量谱,然后将信号的能量谱在Mel频率域做带通滤波操作。设Mel滤波器组由M个三角形带通滤波器构成,每个滤波器的中心频率设为f(m),m=1,2,…,M,当前滤波器中心频率的位置大约在下一个滤波器的旁瓣衰减位置。Mel滤波器组覆盖Nyquist频率以内的所有频带。第m个滤波器的中心频率f(m)计算如下其中,FS为语音信号的采样频率,N为DFT变换的点数,fl和fh分别表示低通和高通滤波器的截止频率,单位是Hz,本发明中,M取40。具体的Mel滤波器组设计参数如表1所示。表1Mel滤波器组设计参数编号中心频率(Hz)带宽(Hz)编号中心频率(Hz)带宽(Hz)15010021140021121001012215202283150102231650247420010324179026852501042519402916300106262100317735010927228034784001112824803829460115292700422105201193029504701158012331320051812640128323500570137101333338006421478014034415071815850146354550809169301553650009141710101633754801031181100174386000116219120018639660013182013001984073001508是物理频率和Mel频率之间的反函数,即第m个滤波器的频率响应Wm(k)为对数能量计算为了使上述结果有较小的波动范围,同时具有较高的稳定性,将输出的频谱能量做取对数操作,得到的s(m)如下离散余弦变换对对数能量s(m)做离散余弦变换,将其转换到时域,得到参数c(n),这就是梅尔倒谱系数,即Gammatone频率倒谱系数提取过程如下:设计通道数为MCH的Gammatone(GT)滤波器组,GT滤波器冲激响应表达式为:其中,a1=cos(ωiTs),a2=sin(ωiTs),a3=e-bTs,Ts=1/16000为采样周期,ωi=2πfi,b=2πb1(24.7+0.108fi),其中b1为1.019,fi为每个GT滤波器的中心频率,如表2所示:表2Gammatone滤波器组的设计参数将上述4个二阶传递函数分别进行Z域反变换,得到对应的4个时域信号g1,i(n),g2,i(n),g3,i(n)和g4,i(n),然后将其与输入信号进行卷积后,得到GT滤波器的输出。yi(n)=x(n)*g1,i(n)*g2,i(n)*g3,i(n)*g4,i(n),i=0,1,…,MCH-1(15)其中,“*”为信号处理中的卷积操作。对GT滤波器组的输出信号yi(n)作短时傅里叶变换,可以计算出各通道信号的频域表示Yi(k)。其中,wr(n)为矩形窗。求频域信号的对数能量:将各个通道GT滤波器输出频域信号的能量和取对数,得到各通道的频域信号能量谱。对式(17)输出的各通道能量谱做离散余弦变换后,得到的语音参数即为上述的Gammatone频率倒谱系数(GFCC)。这里,L是GT滤波器阶数,本发明中L取32,MCH取32。S4:基于受限玻尔兹曼机分层组成深度信念网络模型,采用逐层贪婪算法,结合说话人语音特征参数,对建立好的深度信念网络模型进行训练,通过学习确定模型的参数,在深度信念网络的顶层加入Softmax分类器,使深度信念网络模型具有分类功能。如图5~图8所示:逐层贪婪算法具体方式是:将多个受限玻尔兹曼机由下至上进行叠加,得到多输入多输出深度信念网络,将训练的说话人语音特征从最底层进行训练,得到第一层受限玻尔兹曼机的输出,将第一层受限玻尔兹曼机输出作为第二层受限玻尔兹曼机的输入进行重新训练,得到第二层的模型参数,按照以上方式构建出深度信念网络模型。受限玻尔兹曼机是一个基于能量的生成性模型,其由一个输入层和一个隐含层构成,层内无连接,层间全连接。受限玻尔兹曼机可以表示成一个无向图的形式,如图6所示。其中v为可视层,h为隐含层。对于给定可视层单元v和隐含层单元h,给定一个能量函数E(v,h;θ),联合概率分布P(v,h;θ)可以表示为:这里Z(θ)称为分配函数;受限玻尔兹曼机的能量函数如下其中,D为可视层单元个数,F为隐藏层单元个数,θ={W,b,a}为模型参数,Wij为可视层单元i与隐藏层单元j之间的权重系数;ai和bj分别为相应单元的偏置。受限玻尔兹曼机的隐藏层单元之间、可视层单元之间是相互独立的,在已知可视向量v的情况下,隐藏层单元h的概率分布可以表示为同理,给定隐含层状态时,可视层单元v的概率分布可以表示为其中,sigma(x)=1/[1+exp(-x)]为S形激活函数。为了训练受限玻尔兹曼机,对模型参数求偏导,得到其中,表示数据分布Pdata(h,v;θ)=P(h|v;θ)Pdata(v)的期望,表示经验分布,表示式(19)模型分布的期望。采用对比散度方法对深度信念网络模型进行训练求解模型参数,即其中,α为学习率,PT表示训练数据初始化后进行T步吉布斯(Gibbs)采样的概率分布,T设置为1。设v0为可视层初始状态,具体采样过程描述如下:h0~p(h|v0),v1~p(v|h0)h1~p(h,v1),v2~p(v|h1)其中,x~p(h|v0)表示x是从概率p(h|v0)上得到的随机采样。通过以上步骤对梯度进行估计的过程称为对比散度。以上的梯度估计过程,可以使用随机梯度下降法,在训练集内迭代,选择v0进行参数的更新。对于偏置向量b和a的更新,采用类似的过程,具体算法如下所示:输入:训练样本的混合语音特征x,RBM的权重Wi,偏置bi和ai,学习率为α初始化RBM参数:W←Wi,b←bi,a←aiv0←x吉布斯采样过程(对比散度过程):h0~p(h|v0)v1~p(v|h0)h1←sigma(b+Wv1)模型参数更新过程:ai←ai+α(v0-v1)进一步地,Softmax分类器的基础是Logistic回归(LogisticRegressior,LR)分类器,Logistic回归分类器只能实现非线性的二分类,因此Softmax分类器对Logistic回归分类器进行了扩展,使其能够同时对多个类别进行划分。在深度信念网络的顶层加入Softmax分类器,并对这层进行训练,得到该层的参数,具体过程如下:其中:fθ(x)=WdX+bd,θ={Wd,bd},X为隐藏层各神经元状态,θ为模型参数,数据分类用t=[0,1]d表示,那么当第i个模式分类为真时,ti=1;否则,ti=0;Si的损失函数采用交叉熵形式采用使式(31)的损失函数最小,调整训练深度学习模型参数θθ*=argminθJ(t,S)(32)采用梯度下降法迭代更新模型参数θ,使得损失函数达到最小。对深度学习模型参数θ求偏导得到从式(33)可以得到,模型参数的更新过程为其中,λ为加权因子,η为学习因子。S5:将说话人的语音特征输入到完成训练的深度信念网络模型中。计算该模型输出与其他说话人的相似概率,取概率最大所对应的说话人作为识别结果。具体如何识别采用如下方式:(1)识别模型底层的输出状态作为下一个隐含层的输入状态,逐层计算,最终得到DBN模型最顶层的输出状态,如式(31)所示:XL=WL-1XL-1+bL-1(35)其中,L为DBN模型层数,XL为第L层的输出状态,XL-1为第L-1层的输出状态,bL-1为第L-1层的偏置项,WL-1为第L层与第L-1层的权重关系。(2)计算Softmax回归层输出状态YY=WLXL+c(36)其中,WL为DBN最顶层与Softmax回归层间的权重关系,c为该层的偏置项。(3)通过式(32)得到Softmax回归层输出状态Y后,用Softmax分类器计算待测语音相似于第i个说话人的概率。其中,xi为Y的第i个分量,d为Y的维数。(4)将pi的最大值对应的第i个说话人作为待测语音的识别结果。实施例:在实验中,所用的参数为:语音采样率为16kHz,采用16比特编码的PCM格式语音,帧长16毫秒,预加重系数a=0.9375;短时能量与短时过零率的阈值分别为67108864与30;选取10个说话人,每个说话人用来训练的语音长度大约10秒,用来测试的语音单元长度分别取0.4秒、0.8秒、1.2秒、1.6秒与2.0秒,语音特征参数分别选取16维的MFCC、16维的GFCC以及MFCC与GFCC组合成32维的特征向量,深度信念网络模型的隐含层层数为3层,每个隐含层上的神经元个数为50个,训练次数为500次。说话人识别结果如表3所示,然后将不同语音特征的系统识别结果绘制出折线图如图9所示。表3分别采用GFCC、MFCC、GFCC+MFCC特征参数的说话人识别率测试语音单位时间(秒)0.40.81.21.62.0MFCC(%)67.583.793.197.598.8GFCC(%)65.481.493.896.898.8GFCC+MFCC(%)72.485.495.298.098.8从表3可以看出,当测试语音单位长度在0.8秒时,MFCC+GFCC方法识别率最好,其次是MFCC,最差为GFCC。当测试语音单位长度大于1.2秒时,MFCC+GFCC方法识别率达到98%以上。从图8中也可以明显看出,当测试语音单位长度大于1.2秒时,三种特征得到的系统识别率都很高,但是在测试语音单位长度小于1秒时,MFCC+GFCC的组合能够比单独使用MFCC与GFCC得到更高的系统识别率,此实验验证了本发明的有效性。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。