1. 引言
声纹识别(Voiceprint Recognition, VPR)是通过分析每个说话人声纹特征之间的差异来达到对未知语音进行识别的目的,因此声纹识别又称为说话人识别。声纹识别研究的重点是声学特征提取和声学特征建模,在声学特征提取方面常用特征有线性预测倒谱系数 [1] (Linear Predictive Cepstrum Coefficient, LPCC)、感知线性预测系数 [2] (Perceptual Linear Predictive, PLP)以及梅尔倒谱系数 [3] [4] (Mel-frequency Cepstrum Coefficient, MFCC)。在声学特征建模上相继采用了矢量量化法 [5] [6] (Vector Quantization, VQ)、隐马尔科夫模型 [7] (Hidden Markov Model, HMM)、人工神经网络 [8] (Artificial Neural Network, ANN)以及高斯混合模型–通用背景模型 [9] (Gaussian mixture model-universal background model, GMM-UBM)等技术。
在深度学习用于声纹识别之前,GMM-UBM是声纹识别广泛应用的技术之一,深度学习技术既可以作为一个深度声学特征提取器,同时也可以作为分类器 [10] [11],如田垚等人采用深度信念网络在基本声学特征(MFCC)的基础上进行瓶颈特征提取并结合高低混合模型等模型进行识别 [12],并通过实验证明了较传统的声学特征而言,该方法具有一定的优势,闫河等人将信号频谱图通过卷积神经网络进行声纹识别 [13],约翰斯霍普金斯大学的Povey提出基于DNN的x-vector说话人确认系统,该系统将语音特征提取过程分为帧级(frame-level)和段级(segment-level),并使用统计池化层连接两级特征 [14]。虽然深度学习在特征提取是信号匹配上都有较好的表现,但模型的训练过程中需要大量的训练数据,而且在实际应用中不可能每增加新的说话人就从新训练一个深度网络模型,非训练集中的说话人通过这个深度网络所提取特征的表征能力也需进一步实验,即模型的泛化能力也需进一步验证。
对于上述问题,本文针对短时语音信号,采用小样本进行深度模型训练,并针对非训练集中的说话人的语音信号,也通过这个深度网络模型进行深度声学特征提取,最后通过支持向量机和随机森林进行分类验证,实验结果表明,在本文构建的深度网络结构提取的深度声学特征能在有监督分类器上得到较好的识别率。
2. 深度学习方法概述
在声纹识别中常用的深度学习方法有多层感知器、卷积神经网络以及深度置信网络,其深度体现在隐含层的层数上,深度神经网络使用更多的隐含层的目的是希望更深层的学习后能对数据有更强的表征能力。深度信念网络DBNs是深度神经网络DNN的一种,在语音识别领域取得很大的成功,该网络体现了无监督学习在各层训练的有效性,指出各层可在前一层训练结果输出的基础上,再次进行无监督训练,在预训练的基础上模型获得了较好的初始参数,最后在通过反向传播算法对模型的参数进行反向调优。
2.1. 基于深度置信网络的参数预训练
受限玻尔兹曼机(restricted Boltzmann machines, RBM)是一类具有两层结构、对称连接且无反馈的神经网络模型,层间全连接,层内无连接。假设一个RBM有n个可见单元和m个隐单元,用向量v和h表示可见单元和隐单元的状态,其中
表示第i个可见单元的状态,
表示第j个可见单元状态,那么,对于一组给定的状态
,RBM作为一个系统所必备的能量定义为 [15] :
。
式中:
为权重,表示连接了可见单元i与隐单元j,
与
分别表示可见单元i与隐单元j的偏置,当参数确定时,基于能量函数,可以得到
的联合概率分布
。
式中
为归一化因子,由RBM所定义的关于观测数据v的分布,即联合概率分布的边界分布,也称似然函数(likelihood function),RBM的结构为层间连接,层内无连接,当给定可见单元的状态时,各隐单元与可见单元之间的激活状态是条件独立的,此时,可见单元与隐单元的激活概率为:
。
。
式中
为sigmoid激活函数。
RBM的优化目标是要最大化可见层节点概率分布,在训练过程中可以通过对比散度算法(contrastive divergence, CD)来得到模型中的参数。对比散度算法的输入是一个训练样本
,设隐层单元个数m,学习率
,最大训练周期T,输出是连接权重矩阵W,可见层偏置a,隐藏层偏置向量b,算法描述如下:
令可见层单元的初始状态
,
为0~1之间随机数。
For
;
For
(对所有隐单元);
计算
,即
;
从条件分布
中抽取
。
End For
For
(对所有可见单元);
计算
,即
;
从条件分布
中抽取
。
End For
For
(对所有隐单元);
计算
,即
。
End For
最后参数的更新计算为:
。
2.2. 基于反向传播算法的参数调优
当DBN完成预训练之后,需要经过基于反向传播算法的参数调优。首先将DBN各层的网络参数做为DNN的参数的初值,最后加上一层softmax函数层得到完整的DNN结构。Softmax层的每个输出节点对应一个类别的概率,从而实现分类的目的。
假设最终的DBN结构有N个RBM构成,则这个结构共有
层,该网络结构中第1层表示输入层,第
层表示输出层,隐藏层k的取值为
。设
和
表示隐藏层的权重和偏置,
为上一层输入的加权,激活函数
通常可以选取sigmoid、tanh和ReLu等函数。其隐藏层节点的输出可以表示为:
。
对于输出层通常采用softmax函数:
。
其中:j为输出类别索引,
表示第
类输出类别的概率分值。在使用BP算法反向传播的过程中,通常使用交叉熵作为损失函数,通过最小化代价函数来修正DBN结构中的参数,
是一个维的向量,s代表正确的类别值,当s为训练数据所属类别时
,当s为其它类别时
,交叉熵函数为:
。
3. 有监督分类器
3.1. 支持向量机
支持向量机(Support Vector Machine, SVM)是在统计学习理论和结构风险最小原理基础上发展起来的一种学习方法,其机理可以简单地描述为:寻找一个满足分类要求的分割超平面,使训练集中的点距离该分割超平面尽可能地远,即寻找一个最优分割超平面,使其两侧的空白区域最大。SVM在解决小样本、非线性和高维模式识别问题中表现出特有的优势,并在很大程度上克服了“维数灾难”和“过学习”等问题,并有泛化能力强等优点。
对于给定样本集
,其中
,
,支持向量机的目标是构造出
一个超平面
将两类不同样本分割,使得两类间隔最大。相应的分类决策函数为 [16] :
。
若
,则待测样本分为一类;若
,待测样本分为另一类。
假设给定的样本是线性可分的,则求最优分类面即求解二次规划问题:
。
使用Lagrange优化算法可将上述最优分类面问题转化为对偶问题,并得到最优分类决策函数:
。
其中,
为拉格朗日乘子,
是分类阈值,
表示两类
中属于第一类的任意支持向量,
表示属于第二类的任意支持向量,
为权值。
对于非线性问题,通常是通过核函数
将原始数据映射到高维的特征空间中,转化为高维空间中的线性问题,在变换后的空间中求最优分类超平面,即分类函数变为:
。
常用的核函数主要有线性核函数、多项式核函数以及高斯核函等。
3.2. 随机森林
随机森林是一个包含多个决策树的分类器,是一种重要的基于Bagging的集成学习方法,可以用作分类和回归。由于采用有放回的采样来构造不同数据集训练模型,模型的泛化能力通常比单一模型强。随机森林训练多个决策树弱分类器,然后组合这些弱分类器形成一个强分类器,通过投票的方式来得到最终的分类结果。和普通的决策树不同,随机森林在训练决策树时并不是选择一个全局最优的特征来分裂节点,而是先随机选择部分样本特征,然后再到里面选择一个局部最优的特征来为决策树划分左右子树,进一步提升了模型的泛化能力。
传统决策树在选择最优属性时是对所有可用特征进行选择,而在随机森林(Random Forest, RF),对每一个基决策树,先从所有特征中随机抽样出一个包含k个特征的子集,然后基于该子集进行属性划分 [17]。具体算法流程如下:
输入:训练数据集D,弱学习器算法G,弱学习器迭代次数T;
输出:强学习器
。
Step 1:对于
:
1) 对训练数据集D采用自助法采样,得到包含m个样本的采样集
。
2) 使用采样集
训练第t个决策树模型
,从所有特征中随机抽样出一个包含k个特征的子集,使用CART算法构建决策树。
Step 2:若为分类问题,则使用T个模型的类别标签进行投票预测;若为回归问题,则用简单平均法进行预测。
随机森林算法结构简单、易于实现且计算开销较小,在很多现实任务中展现出强大的性能。相比于Bagging,随机森林不仅继承了通过样本扰动带来的样本多样性,还引入属性扰动进一步提升了模型的泛化能力。尽管随机森林中个体学习器的性能往往有所下降,但随着个体学习器数量的增多,模型的整体性能会获得更大的提升。同时,随机森林的训练效率往往优于Bagging,因为随机森林的个体学习器在进行属性划分时需要计算的特征个数更少。
4. 实验设置与结果分析
4.1. 声学特征提取
4.1.1. 实验数据设置及MFCC提取
本文采用AISHELL-ASR0009-OS1语音数据库,音频降采样为16 kHz数据库中包含400名来自中国不同口音区域的发言人。在实验设置中,根据不同的实验条件将划分不同的训练集与测试集。
梅尔到谱系数的提取包含预滤波、预加重、分帧、加窗、快速傅立叶变换、三角窗滤波、求对数、离散余弦变换、倒谱均值减、差分等步骤,在本实验中,设置帧长为25 ms、帧移为10 ms,滤波器组的滤波器数量为26,预加重过滤器的系数为0.97,最后得到的倒频谱数量为13,即13维MFCC,最后将13维MFCC特征与其一阶差分与二阶差分组合,得到39维的基本声学特征。若假设某人某句话共有n
帧,每帧提取的MFCC记为
,则这句话的MFCC重新计算为:
。
4.1.2. 深度声学特征d-vector
深度置信网络由RBM堆叠组成,每个RBM的权值利用吉布斯采样进行估计,本实验的DBN采用三层RBM (网络节点为:39-128-128-128)堆叠,如下图1所示,最终以最后一层128个节点的输出值作为由39维MFCC经过DBN进行特征再提取得到深度声学特征。
4.2. 基于深度学习的声纹识别结果
本文实验数据来自于AISHELL-ASR0009-OS1语音数据库,从中选择一定的数据并设置了两个数据集,分别为每人5条语音信号和每人10条语音数据作为深度神经网络的训练集,每个数据集中共200人,具体设置如下表1所示。

Table 1. Experimental data set settings
表1. 实验数据集设置
在本实验中首先采用支持向量机和随机森林模型对基本声学特征MFCC进行识别,然后在通过以上模型对深度声学特征d-vector (128 dim)进行对比。
对以上两种声纹特征识别的模型中,模型采用相同的参数,如在随机森林和决策树中,树的深度均采用15,支持向量机中的核函数均采用线性核函数,得到的模型的准确率,召回率如下表2与表3所示。

Table 2. Recognition rate of MFCC (39 dim) in the model
表2. MFCC (39 dim)在模型中的识别率

Table 3. Recognition rate of d-vector (128 dim) in the model
表3. d-vector (128 dim)在模型中的识别率
4.3. 深度神经网络模型泛化验证
在本文所设置的实验中,主要分为基本声学特征MFCC提取、深度声学特征d-vector提取和有监督分类器的训练三个步骤,其中在深度特征提取这一阶段主要是通过训练一个深度神经网络,最终选用该网络中某一层的节点作为深度声学特征。
在模型的训练时分为深度神经网络训练和分类器的模型训练,深度特征的提取主要在于将低维基本声学特征变为高维的深度特征,此深度神经网络是采用了深度信念网络结构,该网络的特点是先进行无监督进行预训练,再进行有监督的微调,在这个过程中将语音信号中包括信道信息、语义信息、情绪以及说话人身份信息进行放大,在微调过程中是通过身份信息进行反向传播,这使得说话人身份信息相较于其它信息得以放大,因此深度特征在支持向量机等模型上进行分类时表现更好。
为了验证深度特征提取器的泛化能力,选取一定的语料设置如下的训练集与测试集,训练集中人数设置为150人,每人10条语料参与深度网络训练,其中网络结构以及分类器参数设置均与前实验相同,参与训练与未参与训练测试集每人均50条语料,实验结果如下表4所示。

Table 4. Model generalization capability verification results
表4. 模型泛化能力验证结果
从表4可知,在参与深度信念网络训练的数据集上,支持向量机与随机森林的准确率分别为95.92%和92.01%,而在未参与训练的数据集上支持向量机与随机森林的准确率分别为91.5%和90.2%。从实验结果可知,虽然这50人没有参与神经网络模型的训练,但是通过该深度声学特征提取器提取的深度声学特征在有监督分类其上任有较好的表征能力,故深度声学特征提取器拥有较好的泛化能力,因此实际应用中,在一个集合中增加说话人的情况下,运用该网络结构不需从新训练深度网络模型。
5. 结论
本文运用了深度学习的方法构建了一个基于声纹识别的深度声学特征特征提取器,并将该特征结合支持向量机和随机森林等分类器进行声纹识别研究。实验中对比了基本声学特征MFCC与高维深度声学特征d-vector在支持向量机和树模型上的识别结果,实验结果表明支持向量机在两种特征上的分类性能更好,同时也对深度声学特征提取器的泛化能力进行了验证,并取得了较好的分类结果
NOTES
*通讯作者。