基于改进BFDNN的远距离语音识别方法

2018-07-28 07:18王旭东王冬霞周城旭
电脑知识与技术 2018年15期

王旭东 王冬霞 周城旭

摘要:针对复杂环境下远距离智能语音识别的问题,提出了一种基于深度神经网络(DNN)的波束形成与声学模型联合训练的改进方法。即首先提取麦克风阵列信号之间的多通道互相关系数(MCCC)来估计频域波束形成器权重,进而对阵列信号进行滤波得到增强信号,然后对增强信号提取梅尔滤波器组(Fbank)特征送入声学模型进行训练识别,最后再将识别信息反馈回波束形成网络(BFDNN)来更新网络参数。实验通过Theano与Kaldi工具箱结合搭建大词汇量远距离语音识别系统进行。仿真结果表明了该方法的有效性。

关键词: 远距离语音识别; 波束形成; 麦克风阵列; MCCC; BFDNN

中图分类号:TN912.34 文献标识码:A 文章编号:1009-3044(2018)15-0182-04

Far-field Speech Recognition Method based on Improved BFDNN

WANG Xu-dong,WANG Dong-xia,ZHOU Cheng-xu

(School of Electronic and Information Engineering Liaoning University of Technology, Jinzhou 121001, China)

Abstract: For the speech recognition in far field scenes, an improved method is introduced which trains jointly beamforming based on Deep Neural Networks (DNN) and acoustic model. Specifically, the parameters of a frequency-domain beamformer are first estimated by multichannel cross-correlation coefficient (MCCC) extracted from the microphone channels, and then the array signals filtered by the parameters to form an enhanced signal, Mel FilterBank (Fbank) features are thus extracted from this signal and passed to acoustic model for training and recognition. Finally the output information of beamforming DNN (BFDNN) is used to update the whole network parameters. A far-field large vocabulary speech recognizer is proposed to implement by Theano coupled with the Kaldi toolkit. The simulation results show that the proposed system performance has improved.

Key words: far-field speech recognizer; beamforming; microphone channels; MCCC; BFDNN

近距離场景下的语音识别取得了令人满意的结果,实现了较高的识别准确率。但是由于噪声和混响等因素的影响,远距离场景下的语音识别仍然具有很大的挑战性[1-4],有待进一步改进和完善。而在实际的生产应用中,更多时候恰恰处于远距离场景。因此,对远距离语音识别的研究显得尤为重要。随着深度神经网络方法的引进,DNN-HMM框架下的语音识别准确率和之前相比有了显著的提高[5-7],所以,基于DNN的语音识别成为现阶段人们的研究热点。

在提高多通道远场下自动语音识别系统的鲁棒性方面,波束形成是一种重要的处理方法。文献[8]提出了一种基于学习的深度波束形成网络,提取麦克风阵列之间的GCC信息,使用BFDNN来估计波束形成参数,并与声学模型部分进行联合训练,从而提高了语音识别的鲁棒性。在此基础上,文献[9]提出使用空间协方差特征来代替GCC,可以使系统产生小的增益。文献[10]改进了DNN结构,增进了波束形成和声学建模两部分之间的联系。文献[11]提出信道选择和信道加权两种方法,但是文献[10,11]没能充分利用麦克风阵列之间的时延信息。

近些年来,国内学者对远距离语音识别的研究也取得了一些成果。文献[12]提出了利用回归神经网络提取伪纯净语音特征来进行去噪去混响的方法,但这种方法本质上还是将语音增强和语音识别分为两个独立的过程来进行。针对低资源训练数据条件下的语音识别,文献[13]提出了使用辅助语料训练模型的改进方法和基于矩阵分解算法的低维高层特征提取方法。由于在实际环境中,声源位置往往难以预测,因而远场语音识别精度的提升受到了限制,基于此,文献[14]提出了基于位置划分的模型自适应方法。针对中英文混合语音识别,文献[15]提出了阵列参数优化和决策树优化的方法。

在不存在多径效应的开放环境中,使用GCC方法跟踪单个源的效果很成功,但是在封闭环境下,比如会议室,语音信号通常会受到混响的影响,此时使用GCC方法估计波达方向的性能急剧下降[16],而波束形成权重的确定与波达方向密切相关。多通道互相关算法可以视为将GCC算法扩展到多通道的情形,改善了波达方向估计对噪声和混响的影响[16]。基于此,针对文献[8]采用的方法,论文提出提取麦克风阵列信号之间的MCCC信息代替GCC信息,来估计得到频域波束形成器权重,进而对经过短时傅立叶变换(STFT)的阵列信号进行滤波求和得到增强信号,然后对增强信号提取Fbank特征送入DNN-HMM声学模型进行训练,最后再将声学模型输出信息反馈回BFDNN来更新整个网络参数。

1 算法原理

搭建系统由语音增强和语音识别两部分构成,将两部分作为一个整体进行联合处理。系统框图如图1所示。

1.1 MCCC信息估计

令[x=x0n,x1n,…,xM-1nT]表示麦克风阵列接收信号,其协方差矩阵[Rn]可以分解为[16]

[Rn=D12xnRnD12xn] (1)

其中,

式中,

[rkin=p=0nλn-pxkpxip k,i=0,1,…,M-1]

表示第k个麦克风和第i个麦克风之间的广义互相关,[λ∈0,1]为遗忘因子,[ρkin]是第k个麦克风和第i个麦克风之间的互相关系数,即

[ρkin=rkinrkknriin]

于是M路陣列信号的MCCC的平方可以定义为

[ρ2Mn=1-detRn=1-detRnm=0M-1rmmn] (3)

由式(3)可以看出,[Rn]包含了MCCC信息。

1.2 均匀圆阵MVDR波束形成器权重估计

选择半径为d的M元均匀圆阵,相邻两阵元的夹角[α=2πM],若声源的入射方向为[θ],则相对于圆心第m个阵元接收到的信号延时可表示为

[τmθ=dcosθ-mαc] (4)

其中[m∈0,M-1],c为声速,取[c=340m/s]。

相位信息表示为

[?mθ=2πfτmθ=2πfdcosθ-mαc] (5)

则阵列的方向向量为

[aθ=ej?0θ,ej?1θ,…,ej?M-1θT] (6)

于是,理想情况下MVDR波束形成器权重为[17]

[wideal=Y-1aθaHθY-1aθ] (7)

式中[Y=EXXH],[X]为[x]的短时傅里叶变换,H表示矩阵的共轭转置。

1.3 基于MCCC信息的波束形成网络

用于估计波束形成权重的BFDNN系统框图如图2所示。

对式(2)矩阵进行结构重构,由于[Rn]关于主对角线对称,因此以主对角线为界,选取矩阵一半元素重构为一维向量[RMCCC],作为BFDNN的输入特征,即

[RMCCC=ρ10n,ρ20n,…,ρM-10n,…,ρM-1M-2nT] (8)

于是,对于8麦信号提取的[RMCCC]信息为28维。

[w]为BFDNN估计得到的波束形成器权重,即

[w=hBFRMCCC,φBF] (9)

其中,[hBF]为BFDNN激活函数,[φBF]为BFDNN参数,包括连接权重[vBF]和偏置向量[bBF]。

1.4 系统训练

系统训练分以下三步来完成:

①将(7)式求得的波束形成器权重[wideal]作为训练标签,采用最小均方误差算法(MSE)训练BFDNN,构造代价函数为

[O1=12l=1Lwlideal-wl2]

其中,L为训练样本个数。

BFDNN各层偏置向量[bBF]和输出层权重初始化为0,隐层权重通过下式[18-19]初始化:

[vBF~U-46Nhid_in+Nhid_out,46Nhid_in+Nhid_out] (10)

式中,[Nhid_in]和[Nhid_out]分别表示隐层的输入节点个数和输出节点个数。

为了缓和训练过程中出现过拟合问题,采用正则化训练准则,加入基于L1范数的正则项和基于L2范数的正则项[20]:

[R1VBF=vecVBF1]

[R2VBF=vecVBF22]

式中,[VBF]表示各层连接权重[vBF]的集合,[vecVBF]表示将矩阵[VBF]中的所有列串联起来得到的向量。

于是,代价函数更新为

[O1=12l=1Lwlideal-wl2+σBF1R1VBF+σBF2R2VBF] (11)

式中,[σBF1]、[σBF2]分别表示L1范数和L2范数的正则化权重。使用随机梯度下降(SGD)算法更新BFDNN参数,即

其中,[ηBF]为BFDNN学习率。

②对原始纯净频域语音信号[s]提取Fbank特征[CFbank],即

[CFbank=mel=1MellogHmels] (13)

其中,Mel为梅尔滤波器个数,[Hmel]为梅尔滤波器频率响应。

将[CFbank]送入DNN-HMM声学模型,声学模型系统输出表示为

[y=hDHCFbank,φDH] (14)

其中,[hDH]为声学模型网络激活函数,[φDH]为声学模型网络参数,包括连接权重[vDH]和偏置向量[bDH]。

使用GMM-HMM模型训练原始纯净语音信号,通过强制对齐处理,得到帧级别的训练数据标签y[10, 21],采用交叉熵损失函数(CE)准则对DNN-HMM系统进行训练:

[O2=-l=1Lyllogyl+σDH1R1VDH+σDH2R2VDH] (15)

其中,[VDH]表示各层连接权重[vDH]的集合,[R1VDH]和[R2VDH]分别表示声学模型DNN的L1范数正则项和L2范数正则项,[σDH1]、[σDH2]分别表示L1范数和L2范数的正则化权重,[ηDH]为DNN-HMM系统学习率。

③将①②求得的网络参数[φBF]、[φDH]作为系统的初始化参数,由①估计得到MVDR波束形成器权重[w],于是增强后语音信号的频域表达式为

[s=m=0M-1wTmXm] (17)

同式(13),对增强后的语音信号提取Fbank特征[CFbank],并将其送入DNN-HMM声学模型,系统输出为

[y′=hDHCFbank,φDH] (18)

采用CE准则对系统进行联合训练:

[O3=-l=1Lyllogy′l+σ1R1V+σ2R2V]

(19)

其中,[R1V]和[R2V]分别表示系统的L1范数正则项和L2范数正则项,[V]包含[VBF]与[VDH],[σ1]、[σ2]分别表示L1范数和L2范数的正则化权重,[φ]包含[φBF]与[φDH],[η]为系统学习率。

1.5 语音识别解码

语音识别解码序列通过下式决定:

[word=argmaxwordpCFbank|wordpword] (21)

其中,[pCFbank|word]为似然概率,由DNN-HMM声学模型训练得到;[pword]为先验概率,由语言模型计算得到[22]。

通过词错率(WER)评判最终的识别结果,WER计算如下:

[WER=Nins+Nsub+NdelNall×100%] (22)

其中,[Nins]、[Nsub]和[Ndel]分别表示插入、替换和删除的词的个数,[Nall]表示序列中词的总个数。

2 实验结果与分析

2.1 参数设置

实验由TIMIT语料与模拟的房间冲击响应进行卷积[23]得到的仿真数据进行评估,模拟阵列为直径20cm的8麦圆阵,声源与麦克风阵列距离设置为2m,模拟房间长、宽、高设置为6m、5m、3m。仿真数据分为训练数据和测试数据两部分。训练数据选自TIMIT训练集,为了提高识别系统对不同程度混响和噪声的鲁棒性,T60混响时间从0.1s到1.0s随机选取,并增加加性噪声,SNR从0dB到30dB随机选取[8]。为了尽可能模拟各个角度的来波方向,声源与麦克风阵列夹角从0~360°每间隔30°选取一次。测试数据选自TIMIT测试集,不同于仿真训练数据,测试数据T60混响时间选择0.3s,SNR选择0dB。

语音信号采样率为16kHz,傅立叶变换取512点,帧长设置为512点,帧移取帧长一半,即256点,窗函数选择汉明窗。提取Fbank过程中,梅尔滤波器取26个。

BFDNN采用具有两个隐层的DNN结构,隐层节点设置为512,隐层激活函数采用sigmoid函数,学习率[ηBF]取0.01,输出层采用线性输出,正则化权重[σBF1=σBF2=0.0001]。声学模型DNN隐层数分别取2-5层,隐层节点设置为1024,隐层激活函数取sigmoid函数,学习率[ηDH]取0.02,输出层取softmax函数,正则化权重[σDH1=σDH2=0.0001]。联合训练时系统学习率[η]取0.001,正則化权重[σ1=0],[σ2=0.0001]。

2.2 实验结果与分析

为了配置最优的网络层数,论文首先探讨了声学模型DNN不同隐层数对系统的影响,对纯净语音提取Fbank信息送入DNN-HMM系统进行训练识别,实验结果如图3所示。由图3可以看出,隐层数达到4层后,再增加层数识别率改善幅度变缓,而层数越多,运算量越大,因此联合训练时声学模型DNN隐层数取4层。

论文对文献[8]提出的联合训练方法进行了优化,包括以下两点:①论文使用系统不经过第二次预训练,即不使用纯净语音的Fbank特征作为标签训练BFDNN,结果影响不明显;②将上一步探讨不同层数对系统影响的网络参数作为系统声学模型部分的初始化参数,取代了使用BFDNN生成特征来预训练声学模型DNN的过程,可以得到相同的识别结果,但是在一定程度上减小了运算量。

论文对四种方法的识别性能进行了比较:传统的Beamforming方法,先对阵列信号进行增强,然后送入DNN-HMM系统进行识别;文献[12]提出的利用回归神经网络提取伪纯净语音特征来进行去噪去混响后再进行识别的方法;文献[8]提出的提取阵列信号的GCC信息送入BFDNN来估计波束形成器权重,然后与DNN-HMM系统进行联合训练以及本文提出的提取阵列信号的MCCC信息送入BFDNN来估计波束形成器权重,然后与DNN-HMM系统进行联合训练的方法,实验结果如表1所示。

由表1可以看出,和传统的波束形成方法相比,文献[12]提出的利用回归网络的方法可以使系统的识别性能得到提升,因为在去混响方面波束形成技术还有待提高,而文献[12]利用了深度神经网络强大的建模能力,能够更好地去除原始语音信号的噪声和混响。但是这两种方法本质上都是先进行语音增强,然后对增强信号进行识别,在对原始信号处理的过程中必然会丢失一些有用信息,从而限制了识别系统的性能。文献[8]和本文采用的方法都将前端增强和识别过程作为一个整体进行联合处理,虽然在增强过程中也会丢失一些信息,但是通过将识别结果反馈回前端网络,在一定程度上弥补了损失的信息。

和文献[8]相比,本文提出的方法词错率降低了0.53%,可以看出,虽然MCCC算法去噪去混响性能要优于GCC算法[16],但是将它们作为神经网络的输入信息时,对系统性能的提升不是很明显,但毕竟还是产生了提升。与此同时,提取的MCCC特征维数(28维)远小于GCC特征维数(588维)[8],降低了系统整体训练时间。

3 结束语

论文通过Theano[24]与Kaldi[21]工具箱结合搭建了基于BFDNN的远距离语音识别系统,包括波束形成网络和声学模型网络两部分,并在现有方法上进行了改进。波束形成方法和利用深度神经网络可以在一定程度上去除原始语音信号的噪声和混响,但是先增强后识别的方法存在一定的局限性。论文采用的方法将语音增强和语音识别作为一个整体进行联合处理,提升了系统识别性能。

MCCC算法可以视为将GCC算法扩展到多通道的情形,将其作为BFDNN的输入特征,和使用GCC特征相比产生了微小的增益,同时大大减小了输入特征维度,并且通过训练方法的优化,降低了系统训练的时间。

参考文献:

[1] Vincent E, Barker J, Watanabe S, et al. The second ‘chime speech separation and recognition challenge: Datasets, tasks and baselines[C]// IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013:126-130.

[2] Kinoshita K, Delcroix M, Yoshioka T, et al. The reverb challenge: A common evaluation framework for dereverberation and recognition of reverberant speech[C]// Applications of Signal Processing To Audio and Acoustics. IEEE, 2013:1-4.

[3] Harper M. The automatic speech recognition in reverber- ant environments (ASpIRE) challenge [C]// IEEE Automatic Speech Recognition and Understanding Workshop. IEEE, 2015.

[4] Ravanelli M, Omologo M. Contaminated speech training methods for robust DNN-HMM distant speech recognition[C]// INTERSPEECH. 2015.

[5] Maas A L, Qi P, Xie Z, et al. Building DNN acoustic models for large vocabulary speech recognition [J]. Computer Speech & Language, 2014, 41(C):195-213.

[6] Qin C, Zhang L. Deep neural network based feature extraction using convex-nonnegative matrix factorization for low-resource speech recognition[C]// Information Technology, Networking, Electronic and Automation Control Conference, IEEE. IEEE, 2016:1082-1086.

[7] Romain S, Diego G. Deep-neural network approaches for speech recognition with heterogeneous groups of speakers including childrenu2020[J]. Natural Language Engineering, 2017, 23(3):325-350.

[8] Xiao X, Watanabe S, Erdogan H, et al. Deep beamforming networks for multi-channel speech recognition[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2016:5745-5749.

[9] Xiao X, Watanabe S, Chng E S, et al. Beamforming networks using spatial covariance features for far-field speech recognition[C]// Signal and Information Processing Association Summit and Conference. IEEE, 2017:1-6.

[10] Ravanelli M, Brakel P, Omologo M, et al. A network of deep neural networks for distant speech recognition[J]. 2017.

[11] Zhang Z, Xiao X, Wang L, et al. Noise Robust Speech Recognition Using Multi-Channel Based Channel Selection And ChannelWeighting[J]. 2016.

[12] 時雪煜. 基于回归神经网络的语音识别抗噪研究[D]. 中国科学技术大学, 2016.

[13] 秦楚雄, 张连海. 基于DNN的低资源语音识别特征提取技术[J]. 自动化学报, 2017, 43(7):1208-1219.

[14] 杨勇, 李劲松, 孙明伟. 基于REMOS的远距离语音识别模型补偿方法[J]. 重庆邮电大学学报:自然科学版, 2014, 26(1):117-123.

[15] 李平. 遠距离混合语音识别方法的研究[D]. 辽宁工业大学, 2016.

[16] Chen J, Huang Y, Benesty J. Time delay estimation via multichannel cross-correlation [audio signal processing applications][J]. 2005, 3:iii/49-iii/52 Vol. 3.

[17] 姜斌, 韩树平, 衣垄讳. 均匀圆阵MVDR波束形成算法研究[C]// 浙苏黑鲁津四省一市声学学术会议. 2009.

[18] Glorot X, Bengio Y. Understanding the difficulty of training deep feedforward neural networks[J]. Journal of Machine Learning Research, 2010, 9:249-256.

[19] Bengio Y. Practical Recommendations for Gradient-Based Training of Deep Architectures[J]. Lecture Notes in Computer Science, 2012, 7700(1-3):437-478.

[20] 俞栋, 邓力. 解析深度学习:语音识别实践[M]. 电子工业出版社, 2016.

[21] Povey D, Ghoshal A, Boulianne G, et al. The Kaldi speech recognition toolkit[J]. Idiap, 2011.

[22] 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 & Language Processing, 2011, 20(1):30-42.

[23] Allen J B, Berkley D A. Image method for efficiently simulating small-room acoustics[J]. Journal of the Acoustical Society of America, 1979, 60(S1):9.

[24] Team T T D, Al-Rfou R, Alain G, et al. Theano: A Python framework for fast computation of mathematical expressions [J]. 2016.