张学祥,雷菊阳
(上海工程技术大学机械与汽车工程学院,上海 201620)
物联网时代,语音识别技术被视为实现下一代人机交互的关键技术。说话人识别技术作为语音识别技术中重要组成部分,被广泛用于各种安全领域,在信息安全方面的作用显得尤为重要[1]。说话人识别就是通过计算机训练提取说话人语音信号中的特征向量,自动地对说话人身份进行判定的过程[2]。传统说话人识别方法(GMM)属于浅层不完全学习[3],通过提取语音的Mel频率倒谱系数特征序列作为特征输入,然后通过GMM参数来表征说话人身份[4-5]。然而对于处理说话人识别这种复杂非线性分类问题,采用传统的线性系统理论显然无法满足分类的要求[6-7]。近年来,随着GPU的开发以及数据集出现,深度学习得到了空前的发展[8-9]。利用深层神经网络取代传统的浅层模型,通过多层的非线性映射,可以对原始输入特征提取更深层的特征表示,这在一定程度上模拟了人类语音信息的结构化提取过程,从而找到了进一步提高说话人识别准确率的突破口。
文献[10]提出了基于深度神经网络的说话人识别方法,通过提取MFCC声学特征作为模型训练的输入,但是DNN是一种鉴别性模型,它对输入特征没有类似于浅层模型的特征相互独立的要求,以MFCC特征作为DNN的输入,反而会损失有用信息。本文提出采用梅尔对数滤波器组特征(Fbank)作为输入,可以得到更好的识别效果。
基于DNN-PP说话人识别系统是一个双重识别系统,分为主线识别和辅线辅助确认这2个部分。主线识别是将测试人语音特征参数与基于DNN训练的话者模型进行模型匹配,通过阈值设定判决说话人身份。鉴于阈值设定的人为主观性对识别效果的影响,采用基于基音周期的说话人匹配的辅助确认模式,通过建立注册人的基音库,利用DTW算法对测试人的基音周期进行个性匹配,辅助基于DNN说话人识别的主线识别。
1.1.1 Fbank参数提取
相比于MFCC特征,对数梅尔滤波器组特征更接近于原始特征信息,有利于DNN学习模型获取更具代表性的信息。所以本文直接采用对数梅尔滤波器组特征(Fbank)作为DNN的输入[11-12],图1是Fbank参数提取原理框图。
图1 Fbank参数提取过程
1.1.2 基音周期提取
基音周期描述了人在发浊音时声带振动的周期性,它包含了说话人语音信号的个性信息,因此基音周期的准确提取对说话人识别的研究具有重要的意义。目前基音周期检测技术有很多,主要有自相关法、倒谱法和小波变换。倒谱法对处理纯净的语音有比较准确的效果,但是在加噪的语音中检测效果并不理想[13];自相关法算法简单,但是常会发生倍频和半频错误[14];而小波变换法具有较强的抗噪能力,但是在基音定位上存在困难[15]。本文采用小波变换和自相关法相结合的方法来对基音周期进行检测。
针对语音信号的非平稳性,本文选择短时自相关函数对语音信号进行处理[16]。短时自相关函数处理结果如下:
(1)
其中,ei(m)表示第m点加窗处理后第i帧信号;ei(m+τ)表示延迟τ点后的加窗信号。
短时自相关函数法首先对原始信号进行加窗处理,再将其与移位后的信号进行相似度比较,当相似度达到最大值时,则说明其移位距离等于基音周期。
深度神经网络是一个多隐层的多层感知器,由多个受限玻尔兹曼机(RBM)层组成,如图2所示。每个RBM都可以用来学习不同的特征表示,越高层的特征表示越抽象,越具有不变性[17]。
图2 RBM结构示意图
每个RBM都有一个可见层和一个隐藏层,单层节点之间互相独立,层与层之间由权重连接,可见层单元和隐藏层单元满足联合概率分布:
(2)
其中,Z表示配分函数,Z=∑v,hexp (-E(v,h));E(v,h)表示能量值。
RBM作为一种能量模型,它可以无监督学习输入数据的概率分布,最大可能地拟合输入数据。将多个RBM叠加可以得到深度置信网络结构,如图3所示。
图3 DNN特征学习过程
DNN通过这种无监督学习自下而上逐层训练提取深层特征;每次只训练一层,并将训练输出特征序列作为下一层RBM的输入;然后采用反向传播算法自上而下对网络参数进行微调优化[18]。
在本文中,DNN网络包含2个隐藏层,每一个隐藏层包含250个单元,激活函数采用sigmoid函数,冲量值设定为0.9,初始学习率大小为0.8,迭代次数共计30次,迭代10轮以后,每5轮迭代对学习率进行减半一次[19]。输入采用对数梅尔滤波器组特征参数,目标向量的维度根据训练集说话人数确定为100。本文在输出层采用softmax线性分类器对之前学习到的特征回归分类,从而得到基于上一层特征的特征向量。
动态时间规整DTW是一种模板匹配优化方法,在基音周期匹配中,它用满足一定条件的时间规整函数m=ω(n)将测试基音轨迹与说话人模型内的基音轨迹规整到统一的空间尺度,通过匹配这2个基音周期序列的相似性,从而达到识别的效果。
时间规整函数ω应满足:
(3)
其中,T(n)表示测试模板第n帧的特征参数;R(ω(n))表示参考模板第m帧的特征参数;d表示2个特征参数之间欧氏距离测度;D表示累积欧氏距离最小时的匹配路径。
但是如果直接根据传统时间规整算法进行基音匹配,计算复杂度过高,所以采用一种DTW的最优匹配路径改进算法,改进后的动态规整距离函数[20]为:
(4)
这是在原来最小累计距离函数的基础上,采用逆向搜索的方法,寻找与当前节点的(x,y)累计距离最小的前续节点作为路径点,避免了传统DTW算法逐点匹配带来的计算量问题。
利用DTW算法实现对说话人基音周期的个性匹配,辅助基于DNN话者模型的主线识别,可以有效地避免因阈值设定问题导致的系统识别率下降情况的发生。其主要过程为:当基于DNN话者模型的主线识别过程中发生阈值溢出时,通过将待测说话人语音与系统注册人基音库中的基音周期进行个性匹配,获得对应的说话人身份LabelA,将其与主线识别中最高相似程度的说话人身份LabelB进行对比,如果2个模型识别说话人身份相同,则说明是DNN错误拒绝,即时纠正,否则,判定为陌生人语音输入。
给定一组注册人S={S1,S2,…,Sn},对每个注册人语音进行基音提取,建立基音库;假设注册人S1对应一个语料集X1={ο1,1,ο1,2,…,ο1,n},对每个语料集中的每一条语音ο1,i提取Fbank参数,输入到已训练好的DNN网络,提取DNN网络的倒数第二层输出向量作为相关因子p1,1,得到P1={p1,1,p1,2,p1,3,…,p1,n},最后对P1做平均值处理作为表征注册人S1的相关因子P,如此就获得基于DNN的话者模型。
在测试阶段,提取说话人语音信号Fbank参数,然后通过已经训练好的DNN获得其相关因子Pi,最后计算测试语音的Pi和注册语音的P之间的相似度。将这个值与事先给定的阈值比较并进行判决,若满足阈值条件,说明识别成功,若发生阈值溢出,应转入辅线辅助确认,当由DTW匹配出基音周期得出的说话人身份LabelA与主线识别输出的最大相似的说话人身份LabelB一致时,则认为是主线识别的错误拒绝,应及时纠正,否则判定为陌生人的语音输入,具体流程如图4所示。
图4 DNN-PP说话人识别过程
本文实验样本数据是利用软件Cool Edit Pro 2.1在安静的环境下对说话人语音进行采集,采样频率为16000 Hz,保存为.wav格式文件。
实验中参与录制人数共120人,60个男生和60个女生,录制的内容无文本要求,录制时间为4 s,每个人录制语音各50遍,其中100人语音集用于DNN训练,其余20人语音集用于注册和验证。实验中一次注册人数为2人,选择注册人每个人的语料集的前30遍语音用于注册,后20遍语音用于确认测试,其他未选中的人的录音中每人随机选中20遍语音作为本组测试的错误测试。
本文采用等错误率(EER)作为系统性能的评价指标,为使实验结果更直观,笔者将由实验得到的错误接受率(FAR)和错误拒绝率(FRR)分别作为横纵坐标绘制二维曲线。找到FAR与FRR相等的点即为等错误率,等错误率越小,说明算法识别性能越优越。在图中直观地显示就是曲线离坐标原点越近。
为了测试基于DNN-PP模型的说话人识别方法的优越性,作为对比,在相同数据集的条件下,使用了另外2种说话人识别算法:使用K-mean算法获得GMM初始化参数,再利用EM算法建立GMM模型,基于GMM参数的说话人识别[21-22],用EM-GMM表示;直接利用语音的梅尔对数滤波器组特征作为输入训练DNN模型[23-24](阈值设定统一),通过DNN模型参数表征说话人特有的个性信息,用DNN表示。
图5 基于相同数据集下3种算法的DET曲线
图5是基于相同数据集下3种算法的DET曲线,可以看出DNN-PP系统EER最低为1.6%,较DNN系统的EER降低了1.2%,而EM-GMM系统的EER明显最高为4%,这说明基于DNN-PP模型的说话人识别系统性能要优于GMM系统。
表1 相同数据集上不同隐层数的DNN-PP系统等错误率
L×N1×1502×1503×1504×1505×150DNN-PP3.9%3%2.3%2%1.9%2×N2×2002×2502×3002×350DNN-PP2.2%1.6%1.3%1.2%
表1是基于相同数据集上,测试不同隐层数量对DNN-PP系统性能的影响。当使用1层隐层时,EER为3.9%,基本与EM-GMM系统识别性能相当;当使用2层隐层时,EER为3%,相比一个隐层的识别效果有了明显的提高;当层数为5层时,EER降低到1.9%,但是当层数大于3时,隐层数量的增加对识别性能的提升帮助并不是很大。为了证实隐层单元数关键性作用,在2层隐层的基础上增加每个隐层的单元数,结果也显示在表1中。当各隐层包含350个单元时EER可以降低到1.2%。权衡系统识别性能与训练时间成本,采用2个隐层,每层250个单元可以满足实际应用。
图6是基于相同数据集上,不同信噪比下3种说话人识别方法的性能。对于DNN-PP系统,信噪比每下降1 dB会有绝对0.35%的EER的增长;DNN系统信噪比每下降1dB会有绝对0.57%的EER的增长;而EM-GMM系统对噪声影响的表现最差,信噪比每下降1 dB会有绝对0.92%的EER的增长。DNN-PP系统和DNN系统曲线变化较GMM系统更为平缓,因此可以说明DNN-PP系统比GMM系统更具有鲁棒性。与DNN系统相比,DNN-PP系统在噪声环境中的识别效果有了一定程度的改善。
图6 相同数据集上,在不同信噪比下3种算法性能对比
本文提出了一种相对于GMM说话人识别系统更好的DNN-PP系统,通过实验数据对比,基于本文DNN-PP模型的说话人识别方法在识别率和鲁棒性方面都明显优于传统的基于GMM模型的说话人识别,较单纯使用DNN方法的识别率有了进一步的提高。但是该说话人模型在正常信噪比范围内识别性能仍然存在较大的波动,在接下来的研究中还有待改进。