梁玉龙,屈 丹,邱泽宇
(解放军信息工程大学 信息系统工程学院,郑州 450002)
近年来,在连续语音识别应用中存在一个难以忽视的问题,即由训练数据与测试数据间的说话人不匹配导致的系统性能下降。虽然基于深度神经网络(Deep Neural Network,DNN)[1-5]的语音识别系统极大地提升了语音识别的性能,但在该类系统中仍然存在一个隐含假设:训练数据和测试数据服从相同的概率分布,该假设在实际中很难满足,主要原因是训练阶段难以获得与测试环境相匹配的数据,或匹配数据较少,通常不能对应用场景进行全覆盖,使得训练和测试的条件仍存在不匹配的问题。
可以使用说话人自适应技术解决模型和测试间说话人不匹配的问题,对此,许多研究机构已经做了大量关于DNN自适应方面的研究。这些方法中,文献[6-12]中基于辨识向量(i-vector)的说话人感知训练方法备受青睐,其基本思想是将i-vector和原始输入特征拼接后对DNN模型进行训练,该方法操作简单且容易与其他自适应方法兼容。上述文献主要关注纯净语音条件下的基于i-vector的说话人感知训练方法,文献[13-15]则研究噪声条件下基于i-vector的自适应方法,研究结果显示基于i-vector的说话人感知训练方法同样适用于噪声条件。
虽然学者们针对基于i-vector的说话人感知训练做了大量研究,但由于在获取i-vector的过程中常使用MFCC作为特征,MFCC虽然具有较好的表征能力和一定的鲁棒性,但其低层特征表征能力有限,且在恶劣环境中的鲁棒性欠佳,导致用其提取的i-vector表征能力受到影响。一些研究机构试图应用其他鲁棒性更强的特征代替MFCC特征来获取性能更优的i-vector,其中优先考虑的是瓶颈(bottleneck)特征[16],该特征的表征能力和鲁棒性均优于MFCC,因此,其受到各研究机构的普遍青睐,但由于在提取bottleneck特征时,在DNN结构中引入了bottleneck层,该策略降低了DNN的帧分类准确率,使得系统的识别性能受到一定的影响。
针对上述问题,本文提出一种基于改进i-vector的说话人感知训练方法,其主要特点是在获取i-vector的过程中替换掉传统特征MFCC。首先,训练一个与说话人无关的DNN模型;然后,应用奇异值矩阵分解(Singular Value Matrix Decomposition,SVMD)算法对DNN某一隐层的权值矩阵进行分解,用分解后的矩阵代替原始权值矩阵,并应用该网络提取低维特征;最后,应用该特征完成i-vector提取器的训练与i-vector的提取,进行说话人感知训练。
将说话人信息输入到DNN后,DNN能自动利用说话人信息对网络参数进行调整,该方法称为说话人感知训练[17]。
说话人感知训练方法即从句子中估计说话人信息,然后将这些信息输入到网络中,通过DNN训练算法自动理解如何利用这些说话人信息完成模型参数的调整。图1所示为说话人感知训练过程示意图,DNN的输入包括声学特征和说话人信息2个部分,其余部分与DNN模型相同。
图1 基于i-vector的说话人感知训练过程
当输入特征不包含说话人信息时,第一个隐层的激励为:
v1=f(z1)=f(W1v0+b1)
(1)
其中,v0表示输入声学特征向量,W1表示权值矩阵,b1表示偏置向量,z1表示输入声学特征向量的线性变换。当加入说话人信息后,式(1)变为:
(2)
说话人感知训练的优点是其暗含、高效的自适应过程。由式(2)可以看出,说话人感知训练算法无需单独的自适应步骤,其自适应过程可以理解为对偏置项做的变换,该过程使得模型对不同的说话人都适用。如果能够可靠地将说话人信息估计出来,则说话人感知训练将在DNN自适应框架中具有优势。
i-vector技术在说话人识别及说话人确认中作为说话人信息矢量被广泛应用,该技术之所以有如此广泛的应用,原因主要有以下2点:1) i-vector表示了说话人特征中最重要的信息,且其值是低维的;2) i-vector不仅可以用于GMM模型的自适应,也可以用于DNN模型的自适应。因此,i-vector可以作为说话人自适应的一个理想工具。下文介绍i-vector的计算推导过程[17]。
i-vector提取首先需要训练一个通用背景模型(Universal Background Model,UBM),UBM是一个由K个对角协方差高斯组成的高斯混合模型,用来描述整个数据空间的分布,该模型可以表示为:
(3)
(4)
其中,μk(s)表示第s个说话人从UBM自适应得到的属于第k个高斯分布的均值。进一步假设自适应后的说话人均值s与均值μk存在如下关系:
μk(s)=μk+Tkw(s),1≤k≤K
(5)
其中,Tk表示全变换空间矩阵,其包含M个基矢量,这些基矢量组成了高斯均值向量空间的一个子空间,该子空间包含整个均值向量空间最核心的部分,w(s)表示第s个说话人的i-vector。
i-vector是一个隐含变量,如果假设i-vector满足均值为0、方差为单位方差的高斯分布,且每一帧都属于某一固定的高斯分量,同时全变换空间矩阵T是已知的,则可以估计后验概率分布如下:
(6)
(7)
零阶与一阶统计量分别为:
(8)
(9)
其中,γtk(s)是第s个说话人的第t帧特征序列属于第k个高斯分量的后验概率。i-vector可以看作是变量W在最大后验概率(MAP)下的点估计:
(10)
由式(10)可以看出,i-vector就是后验分布的均值。
由于{Tk|1≤k≤K}是未知的,因此需要使用期望最大化(Expectation Maximization,EM)算法从特定说话人的声学特征{xt(s)}中,根据最大似然(Maximum Likelihood,ML)准则来进行估计。其中,EM算法的E(Expectation)步骤的辅助函数为:
(11)
式(11)等价于:
(12)
将式(12)对Tk求导后可以得到EM算法的M(Maximization)步骤:
(13)
其中,式(14)与式(15)通过E步骤得到。
(14)
(15)
传统的i-vector提取方法用MFCC作为输入特征,为使i-vector的鲁棒性更强,一些研究机构利用bottleneck特征代替MFCC特征,实现i-vector提取器的训练与i-vector的提取。但在提取bottleneck特征时,设置的DNN网络bottleneck层节点数远小于其他隐层节点数,导致系统的帧分类准确率受到影响,为此,本文提出应用基于SVD的低维特征提取方法得到低维特征,用其代替MFCC特征完成i-vector提取器的训练与i-vector的提取。
目前研究DNN模型的矩阵分解方法主要关注神经网络的参数减少,如文献[18]提出的思想。这些方法分解DNN模型的权值,利用低秩分解或SVD减少神经网络无用参数的数量,但其重构的神经网络在识别精度上没有太大变化。基于SVD的低维特征提取方案如图2所示,该方法使用SVD对某一隐层的权值矩阵进行分解(该权值矩阵不包括偏移向量),将分解后得到的基矩阵代替原始矩阵,然后应用新的网络提取低维特征。
图2 基于SVD的低维特征提取方法示意图
采用基于SVD的低维特征提取方法的原因有2点:
1)因为无法直接对隐层的线性输出进行变换,所以需要使用间接方法,在计算DNN隐层的线性输出时,层与层间的权值矩阵作用于每一帧特征,因此,可以将权值矩阵看作是一种具有一定的整体分布特性的广义映射函数。
2)同一层的权值矩阵与偏置向量没有整体性联系,很难对偏移向量和权值矩阵同时进行操作,因此,在该特征层不设置偏移向量。
用SVD算法对权值矩阵进行分解的过程表示为:
(16)
其中,A为带分解矩阵,U为一个m×m的U矩阵,矩阵U为一个m×n的对角矩阵且其对角线上的元素非负,VT为V的转置,S的对角线元素是矩阵A的奇异值,奇异值按降序排列,在这种情况下,对角矩阵S由A唯一确定。此时可以保存k个奇异值和A的近似矩阵Um×kNk×n。
获取改进的i-vector后,将得到的改进i-vector与原始输入特征进行拼接,得到新的包含说话人信息的输入特征后,利用该特征对模型进行训练与识别。基于改进i-vector的说话人感知训练方法过程如图3所示。
图3 基于改进i-vector的说话人感知训练示意图
该训练方法的主要步骤如下:
1)训练数据模型SI-DNN;
2)应用SVD对最后一层隐层权值矩阵进行分解,并用该结果代替原始权值矩阵;
3)应用网络提取新的低维特征;
4)应用低维特征进行i-vector的提取;
5)应用改进的i-vector进行说话人感知训练。
为验证本文所提特征的识别性能,采用如下2种语料库进行测试:
1)WSJ语料库,国际通用的英文语料库,数据由麦克风在安静环境下录制得来。训练集包含WSJ 0和WSJ 1两部分,共81.3 h。其中,WSJ 0包含84个说话人,共7 138句,总时长为15.1 h,WSJ 1包含200个说话人,共30 278句,总时长为66.2 h。测试集包括Eval 92和Dev 93两部分。本文使用Dev 93作为测试集,该部分包含10个说话人,共503句,总时长为65 min。
2)Vystadial 2013 Czech data(Vystadial_cz),开源的捷克语语料库,总时长约15 h,主要由3类数据组成:Call Friend电话服务语音数据、Repeat After Me语音数据和Public Transport Info口语对话系统语音数据。其中,训练数据集共22 567句,126 333个词语,总时长为15.25 h;测试集共2 000句,11 204个词语,总时长为1.22 h。
3.2.1 实验工具
实验使用的工具包括2个:开源工具包Kaldi和PDNN+Kaldi。Kaldi工具包主要实现数据准备、特征提取、语言模型和声学模型的训练与解码。PDNN工具包主要实现DNN的搭建与训练。
3.2.2 评价指标
连续语音识别的结果一般为词序列,采用动态规划算法将识别结果与正确的标注序列对齐后进行比较,其中产生的错误类型分为3类:插入错误,删除错误,替代错误。插入错误是由于在2个相邻的标注间插入其他词所引起,删除错误是由于在识别结果中找不到与某个标注对应的词所引起,替代错误是由于识别得到的词与对应的标注不相符所引起。
假设某个测试集中标注的总个数为N,插入错误个数为I,删除错误个数为D,代替错误个数为R,则词错误率(WER)的定义如下:
(17)
该评测指标越低,表明系统的识别性能越好。
本文采用的基线系统为基于i-vector的说话人感知训练模型,将其命名为DNN+i-vector模型,由于实验中需要比较基于SVD提取的低维特征与bottleneck特征的性能,且这2个模型的训练都基于GMM-HMM模型,因此本节将给出这3个模型的具体参数设置。
1)GMM-HMM+LDA+MLLT+SAT模型。输入特征为13维的MFCC特征,训练三音子GMM声学模型。首先,经过线性区分性分析(Linear Discriminant Analysis,LDA)将9帧拼接的特征降到40维;然后,采用特征空间最大似然线性回归(feature-space Maximum Likelihood Leaner Regression,fMLLR)进行特征归一化;最后,进行说话人自适应训练(Speaker Adaption Training,SAT)。对于WSJ语料库和Vystadial_cz语料库,采用的高斯混元数均为9 000。
2)DNN-HMM/DNN-HMM+i-vector模型。采用DNN对聚类后的三音子状态的似然度进行建模。以WSJ语料库的DNN模型为例,该模型包括6个隐层,每个隐层包含1 024个节点,激活函数为Sigmoid函数。输入层包含11帧40维fbank特征,DNN的输入节点为440个,输出层节点数为GMM-HMM+LDA+MLLT+SAT模型中绑定后的三音子状态数,有3 415个节点。用后向传播(Back Propogation,BP)算法对DNN进行训练,以DNN计算得到的预估计概率分布与实际概率分布间的交叉熵作为目标函数。在BP算法中,随机梯度下降法的mini-batch大小为256。BP过程所用的绑定状态标注由GMM-HMM+LDA+MLLT+SAT模型对训练集进行强制对齐得到。使用受限玻尔兹曼机(Restricted Boltzmann Machines,RBMs)对DNN参数初始化。最终的网络结构参数设置为“440-1024-1024-1024-1024-1024-1024-3415”。与WSJ语料库参数设置相似,Vystadial_cz语料库的网络结构参数设置为:“440-1024-1024-1024-1024-2125”。对于DNN+i-vector模型,只有输入需要拼接100维的i-vector,因此,其输入变为540,其余设置相同。
3)BNF+GMM-HMM+LDA+MLLT模型。首先,采用DNN模型进行BNF提取,然后将BNF输入到GMM-HMM+LDA+MLLT模型中,该模型由上述第一个模型GMM-HMM+LDA+MLLT+SAT中省略最后SAT训练所得。对于BNF提取网络而言,输入特征与DNN模型的输入特征相同。经过多次实验表明,对于WSJ语料库,相应的bottleneck DNN的网络结构参数设置为“440-1024-1024-1024-1024-40-1024-3415”时性能最佳,对于Vystadial_cz语料库,bottleneck DNN设置为“440-1024-1024-40-1024-2125”时bottleneck特征的性能最佳。2个语料库使用的声学模型均为GMM-HMM+LDA+MLLT。
DNN训练的学习速率初始值为0.08,当相邻2轮训练的误差小于0.2%时,学习速率减半,当减半后相邻2轮的误差再次小于0.2%时训练停止(如果一直大于0.2%,则最多进行8次学习)。冲量值设为0.5,mini-batch尺寸设为256。基线系统词错误率如表1所示。
表1 基线系统词错误率 %
基于SVD的低维特征提取步骤为:首先,初始化一个与说话人无关的DNN模型(SI-DNN);然后,对DNN基线系统某一层的权值矩阵应用SVD算法做矩阵分解;最后,用分解后的基矩阵替换原始权值矩阵。
应用该特征重新训练GMM-HMM+LDA+MLLT声学模型并解码。其中,影响识别性能的因素主要有2个:1)对DNN的哪一层权值矩阵进行分解;2)对权值矩阵分解多少维效果更优。根据这2个因素,本文分别做实验进行验证。实验结果如表2和表3所示。
表2 WSJ语料库DNN-SVD 词错误率结果
表3 Vystadial_cz语料库DNN-SVD词错误率结果
表2中“SVD-1”表示最后一层隐层的权值矩阵,“SVD-2”表示倒数第2层隐层的权值矩阵,词错误率表示由DNN+矩阵分解+GMM-HMM+LDA+MLLT组成的语音识别系统的词错误率。从表2的结果中可以看出,对于WSJ语料库,当使用SVD对最后一个隐层的权值矩阵做分解并取分解维数为40时,效果最好。由表3的结果可以看出,对于Vystadial_cz语料库,当使用SVD对最后一层隐层的权值矩阵做分解并取分解维数为30时,效果最好。
由上述结果可知,基于矩阵分解的方法克服了帧分类准确率下降的问题,与基线系统BNF+GMM-HMM+LDA+MLLT相比,其WSJ语料库的识别性能提升了1.52%,Vystadial_cz语料库的识别性能提升了9.11%。由于矩阵分解的算法解决了低资源情况下的数据不充分训练问题,因此其在数据量较小的Vystadial_cz语料库上的识别性能提升得更高,在数据量相对充足的WSJ语料库上性能提升不明显。
DNN通过每层的非线性变换将输入特征变得越来越抽象,鲁棒性也越来越强,因此,理论上由最后一层得到的特征表征能力会优于由倒数第2层得到的特征,在WSJ与Vystadial_cz语料库中的实验结果也证明了这一点。本文分析认为,分解尺寸的大小应该与数据量的多少有关,超出或少于某个范围,会导致特征表征稀疏或特征表示不充分,进而导致系统的识别性能下降。
基于改进i-vector的说话人自适应方法步骤为:首先,将SVD-BN特征代替原MFCC特征进行i-vector提取器的训练与i-vector的提取,得到改进后的i-vector;然后,将改进的i-vector代替原始i-vector,与DNN的输入特征进行拼接后送入DNN进行训练与识别。该方法所用模型的其余参数设置与基线DNN+i-vector模型相同。实验结果如表4所示。
表4 基于改进i-vector的说话人感知训练识别结果 %
由表1、表4可以看出,在Vystadial_cz语料库中,相对DNN-HMM语音识别系统,本文方法识别性能提升了1.62%,相对原始基于i-vector的方法,本文方法识别性能提升了1.52%。在WSJ语料库的实验中,上述性能分别提升了3.9%和1.48%。实验结果表明,改进的i-vector在提取时应用了基于SVD分解得到的低维特征,该特征克服了帧分类准确率下降的问题,因此,其鲁棒性与表征能力更优,使得到的i-vector包含更有用的说话人信息,最终使得整个识别系统的性能得到提升。
传统的i-vector提取方法主要应用MFCC作为输入特征。由于MFCC的鲁棒性与表征能力均较差,因此本文提出一种基于改进i-vector的说话人自适应方法,该方法在一定程度上克服了帧分类准确率下降的问题,由其提取的特征表现出了较好的鲁棒性。实验结果表明,相比原有基于i-vector的方法,该方法的系统识别性能较高。下一步将考虑应用更优的算法以获取更有效的特征表征,使系统更鲁棒、识别率更高。
[1] HINTON G,DENG L,YU D,et al.Deep neural networks for acoustic modeling in speech recognition:the shared views of four research groups[J].IEEE Signal Processing Magazine,2012,29(6):82-97.
[2] DAHL G E,YU D,DENG L,et al.Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J].IEEE Transactions on Audio Speech and Language Processing,2012,20(1):30-42.
[3] 李传朋,秦品乐,张晋京.基于深度卷积神经网络的图像去噪研究[J].计算机工程,2017,43(3):253-260.
[4] 梁玉龙,屈 丹,李 真,等.基于卷积神经网络的维吾尔语语音识别[J].信息工程大学学报,2017,18(1):44-50.
[5] 秦楚雄,张连海.低资源语音识别中融合多流特征的卷积神经网络声学建模方法[J].计算机应用,2016,36(9):2609-2615.
[6] LIAO H.Speaker adaptation of context dependent deep neural networks[C]//Proceedings of 2013 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2013:7947-7951.
[7] SEIDE F,LI G,CHEN X,et al.Feature engineering in context-dependent deep neural networks for conversational speech transcription[C]//Proceedings of IEEE Workshop on Automatic Speech Recognition and Understanding.Washington D.C.,USA:IEEE Press,2011:24-29.
[8] YAO K,YU D,SEIDE F,et al.Adaptation of context-dependent deep neural networks for automatic speech recognition[C]//Proceedings of 2012 IEEE Workshop on Spoken Language Technology.Washington D.C.,USA:IEEE Press,2012:366-369.
[9] HAMID O A,JIANG H.Rapid and effective speaker adaptation of convolutional neural network based models for speech recognition[EB/OL].[2017-04-25].http://www.isca-speech.org/archive/archive_papers/interspeech_2013/i13_1248.pdf.
[10] SELTZER M,YU D,WANG Y.An investigation of deep neural networks for noise robust speech recognition[C]//Proceedings of 2013 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2013:7398-7402.
[11] YOSHIOKA T,RAGNI A,GALES M J.Investigation of unsupervised adaptation of DNN acoustic models with filterbank input[C]//Proceedings of 2014 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2014:6344-6348.
[12] DELCROIX M,KINOSHITA K,HORI T,et al.Context adaptive deep neural networks for fast acoustic model adaptation[C]//Proceedings of 2015 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2015:5270-5274.
[13] KARANASOU P,WANG Y,GALES M J F,et al.Adaptation of deep neural network acoustic models using factorized i-vectors[EB/OL].[2017-04-20].http://www.isca-speech.org/archive/archive_papers/interspeech_2014/i14_2180.pdf.
[14] SENIOR A,MORENO I L.Improving DNN speaker independence with i-vector inputs[C]//Proceedings of 2014 IEEE International Conference on Acoustics,Speech and Signal Processing.Washington D.C.,USA:IEEE Press,2014:225-229.
[15] ROUVIER M,FAVRE B.Speaker adaptation of DNN-based ASR with i-vectors:does it actually adapt models to speakers?[EB/OL].[2017-04-20].http://pageperso.lif.univ-mrs.fr/~benoit.favre/papers/favre_interspeech 2014a.pdf.
[16] YU C,OGAWA A,DELCROIX M,et al.Robust i-vector extraction for neural network adaptation in noisy environment[EB/OL].[2017-04-15].http://www.isca-speech.org/archive/interspeech_2015/papers/i15_2854.pdf.
[17] SAON G,SOLTAU H,NAHAMOO D,et al.Speaker adaptation of neural network acoustic models using i-vectors[C]//Proceedings of 2013 IEEE Workshop on Automatic Speech Recognition and Understanding.Washington D.C.,USA:IEEE Press,2013:55-59.
[18] XUE S F,HAMID O A,JIANG H,et al.Fast adaptation of deep neural network based on discriminant codes for speech recognition[J].IEEE/ACM Transactions on Audio,Speech and Language Processing,2014,22(12):1713-1725.