王旭東 王冬霞 周城旭
摘要:針對復雜環(huán)境下遠距離智能語音識別的問題,提出了一種基于深度神經網絡(DNN)的波束形成與聲學模型聯合訓練的改進方法。即首先提取麥克風陣列信號之間的多通道互相關系數(MCCC)來估計頻域波束形成器權重,進而對陣列信號進行濾波得到增強信號,然后對增強信號提取梅爾濾波器組(Fbank)特征送入聲學模型進行訓練識別,最后再將識別信息反饋回波束形成網絡(BFDNN)來更新網絡參數。實驗通過Theano與Kaldi工具箱結合搭建大詞匯量遠距離語音識別系統(tǒng)進行。仿真結果表明了該方法的有效性。
關鍵詞: 遠距離語音識別; 波束形成; 麥克風陣列; 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
近距離場景下的語音識別取得了令人滿意的結果,實現了較高的識別準確率。但是由于噪聲和混響等因素的影響,遠距離場景下的語音識別仍然具有很大的挑戰(zhàn)性[1-4],有待進一步改進和完善。而在實際的生產應用中,更多時候恰恰處于遠距離場景。因此,對遠距離語音識別的研究顯得尤為重要。隨著深度神經網絡方法的引進,DNN-HMM框架下的語音識別準確率和之前相比有了顯著的提高[5-7],所以,基于DNN的語音識別成為現階段人們的研究熱點。
在提高多通道遠場下自動語音識別系統(tǒng)的魯棒性方面,波束形成是一種重要的處理方法。文獻[8]提出了一種基于學習的深度波束形成網絡,提取麥克風陣列之間的GCC信息,使用BFDNN來估計波束形成參數,并與聲學模型部分進行聯合訓練,從而提高了語音識別的魯棒性。在此基礎上,文獻[9]提出使用空間協方差特征來代替GCC,可以使系統(tǒng)產生小的增益。文獻[10]改進了DNN結構,增進了波束形成和聲學建模兩部分之間的聯系。文獻[11]提出信道選擇和信道加權兩種方法,但是文獻[10,11]沒能充分利用麥克風陣列之間的時延信息。
近些年來,國內學者對遠距離語音識別的研究也取得了一些成果。文獻[12]提出了利用回歸神經網絡提取偽純凈語音特征來進行去噪去混響的方法,但這種方法本質上還是將語音增強和語音識別分為兩個獨立的過程來進行。針對低資源訓練數據條件下的語音識別,文獻[13]提出了使用輔助語料訓練模型的改進方法和基于矩陣分解算法的低維高層特征提取方法。由于在實際環(huán)境中,聲源位置往往難以預測,因而遠場語音識別精度的提升受到了限制,基于此,文獻[14]提出了基于位置劃分的模型自適應方法。針對中英文混合語音識別,文獻[15]提出了陣列參數優(yōu)化和決策樹優(yōu)化的方法。
在不存在多徑效應的開放環(huán)境中,使用GCC方法跟蹤單個源的效果很成功,但是在封閉環(huán)境下,比如會議室,語音信號通常會受到混響的影響,此時使用GCC方法估計波達方向的性能急劇下降[16],而波束形成權重的確定與波達方向密切相關。多通道互相關算法可以視為將GCC算法擴展到多通道的情形,改善了波達方向估計對噪聲和混響的影響[16]?;诖耍槍ξ墨I[8]采用的方法,論文提出提取麥克風陣列信號之間的MCCC信息代替GCC信息,來估計得到頻域波束形成器權重,進而對經過短時傅立葉變換(STFT)的陣列信號進行濾波求和得到增強信號,然后對增強信號提取Fbank特征送入DNN-HMM聲學模型進行訓練,最后再將聲學模型輸出信息反饋回BFDNN來更新整個網絡參數。
1 算法原理
搭建系統(tǒng)由語音增強和語音識別兩部分構成,將兩部分作為一個整體進行聯合處理。系統(tǒng)框圖如圖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系統(tǒng)框圖如圖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 系統(tǒng)訓練
系統(tǒng)訓練分以下三步來完成:
①將(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]分別表示隱層的輸入節(jié)點個數和輸出節(jié)點個數。
為了緩和訓練過程中出現過擬合問題,采用正則化訓練準則,加入基于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聲學模型,聲學模型系統(tǒng)輸出表示為
[y=hDHCFbank,φDH] (14)
其中,[hDH]為聲學模型網絡激活函數,[φDH]為聲學模型網絡參數,包括連接權重[vDH]和偏置向量[bDH]。
使用GMM-HMM模型訓練原始純凈語音信號,通過強制對齊處理,得到幀級別的訓練數據標簽y[10, 21],采用交叉熵損失函數(CE)準則對DNN-HMM系統(tǒng)進行訓練:
[O2=-l=1Lyllogyl+σDH1R1VDH+σDH2R2VDH] (15)
其中,[VDH]表示各層連接權重[vDH]的集合,[R1VDH]和[R2VDH]分別表示聲學模型DNN的L1范數正則項和L2范數正則項,[σDH1]、[σDH2]分別表示L1范數和L2范數的正則化權重,[ηDH]為DNN-HMM系統(tǒng)學習率。
③將①②求得的網絡參數[φBF]、[φDH]作為系統(tǒng)的初始化參數,由①估計得到MVDR波束形成器權重[w],于是增強后語音信號的頻域表達式為
[s=m=0M-1wTmXm] (17)
同式(13),對增強后的語音信號提取Fbank特征[CFbank],并將其送入DNN-HMM聲學模型,系統(tǒng)輸出為
[y′=hDHCFbank,φDH] (18)
采用CE準則對系統(tǒng)進行聯合訓練:
[O3=-l=1Lyllogy′l+σ1R1V+σ2R2V]
(19)
其中,[R1V]和[R2V]分別表示系統(tǒng)的L1范數正則項和L2范數正則項,[V]包含[VBF]與[VDH],[σ1]、[σ2]分別表示L1范數和L2范數的正則化權重,[φ]包含[φBF]與[φDH],[η]為系統(tǒng)學習率。
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訓練集,為了提高識別系統(tǒng)對不同程度混響和噪聲的魯棒性,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結構,隱層節(jié)點設置為512,隱層激活函數采用sigmoid函數,學習率[ηBF]取0.01,輸出層采用線性輸出,正則化權重[σBF1=σBF2=0.0001]。聲學模型DNN隱層數分別取2-5層,隱層節(jié)點設置為1024,隱層激活函數取sigmoid函數,學習率[ηDH]取0.02,輸出層取softmax函數,正則化權重[σDH1=σDH2=0.0001]。聯合訓練時系統(tǒng)學習率[η]取0.001,正則化權重[σ1=0],[σ2=0.0001]。
2.2 實驗結果與分析
為了配置最優(yōu)的網絡層數,論文首先探討了聲學模型DNN不同隱層數對系統(tǒng)的影響,對純凈語音提取Fbank信息送入DNN-HMM系統(tǒng)進行訓練識別,實驗結果如圖3所示。由圖3可以看出,隱層數達到4層后,再增加層數識別率改善幅度變緩,而層數越多,運算量越大,因此聯合訓練時聲學模型DNN隱層數取4層。
論文對文獻[8]提出的聯合訓練方法進行了優(yōu)化,包括以下兩點:①論文使用系統(tǒng)不經過第二次預訓練,即不使用純凈語音的Fbank特征作為標簽訓練BFDNN,結果影響不明顯;②將上一步探討不同層數對系統(tǒng)影響的網絡參數作為系統(tǒng)聲學模型部分的初始化參數,取代了使用BFDNN生成特征來預訓練聲學模型DNN的過程,可以得到相同的識別結果,但是在一定程度上減小了運算量。
論文對四種方法的識別性能進行了比較:傳統(tǒng)的Beamforming方法,先對陣列信號進行增強,然后送入DNN-HMM系統(tǒng)進行識別;文獻[12]提出的利用回歸神經網絡提取偽純凈語音特征來進行去噪去混響后再進行識別的方法;文獻[8]提出的提取陣列信號的GCC信息送入BFDNN來估計波束形成器權重,然后與DNN-HMM系統(tǒng)進行聯合訓練以及本文提出的提取陣列信號的MCCC信息送入BFDNN來估計波束形成器權重,然后與DNN-HMM系統(tǒng)進行聯合訓練的方法,實驗結果如表1所示。
由表1可以看出,和傳統(tǒng)的波束形成方法相比,文獻[12]提出的利用回歸網絡的方法可以使系統(tǒng)的識別性能得到提升,因為在去混響方面波束形成技術還有待提高,而文獻[12]利用了深度神經網絡強大的建模能力,能夠更好地去除原始語音信號的噪聲和混響。但是這兩種方法本質上都是先進行語音增強,然后對增強信號進行識別,在對原始信號處理的過程中必然會丟失一些有用信息,從而限制了識別系統(tǒng)的性能。文獻[8]和本文采用的方法都將前端增強和識別過程作為一個整體進行聯合處理,雖然在增強過程中也會丟失一些信息,但是通過將識別結果反饋回前端網絡,在一定程度上彌補了損失的信息。
和文獻[8]相比,本文提出的方法詞錯率降低了0.53%,可以看出,雖然MCCC算法去噪去混響性能要優(yōu)于GCC算法[16],但是將它們作為神經網絡的輸入信息時,對系統(tǒng)性能的提升不是很明顯,但畢竟還是產生了提升。與此同時,提取的MCCC特征維數(28維)遠小于GCC特征維數(588維)[8],降低了系統(tǒng)整體訓練時間。
3 結束語
論文通過Theano[24]與Kaldi[21]工具箱結合搭建了基于BFDNN的遠距離語音識別系統(tǒng),包括波束形成網絡和聲學模型網絡兩部分,并在現有方法上進行了改進。波束形成方法和利用深度神經網絡可以在一定程度上去除原始語音信號的噪聲和混響,但是先增強后識別的方法存在一定的局限性。論文采用的方法將語音增強和語音識別作為一個整體進行聯合處理,提升了系統(tǒng)識別性能。
MCCC算法可以視為將GCC算法擴展到多通道的情形,將其作為BFDNN的輸入特征,和使用GCC特征相比產生了微小的增益,同時大大減小了輸入特征維度,并且通過訓練方法的優(yōu)化,降低了系統(tǒng)訓練的時間。
參考文獻:
[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]. 遼寧工業(yè)大學, 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]. 電子工業(yè)出版社, 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.