天天看點

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

語音識别技術是人機互動技術的重要組成部分,而語音識别中的聲學模型是語音識别技術中的核心所在,堪稱重中之重。阿裡巴巴iDST智能語音互動團隊最新的LFR-DFSMN模型相對于之前的LFR-LCBLSTM模型可以達到訓練加速3倍、識别加速2倍、識别錯誤率降低20%和最終模型大小壓縮50%的效果,實作了語音識别的疊代速度、識别成本、服務品質的全面提升。

語音識别技術一直都是人機互動技術的重要組成部分。有了語音識别技術,機器就可以像人類一樣聽懂說話,進而能夠思考、了解和回報。近幾年随着深度學習技術的使用,基于深度神經網絡的語音識别系統性能獲得了極大的提升,開始走向實用化。基于語音識别的語音輸入、語音轉寫、語音檢索和語音翻譯等技術得到了廣泛的應用。阿裡巴巴iDST智能語音互動團隊一直以來也緻力于語音識别技術的研究,同時注重技術的産品落地,在工業界大規模的問題上将技術真正發揚光大去解決實際的問題。

2016年年初iDST就在工業界第一次上線了基于Latency Controlled-BLSTM-DNN hybrid的語音識别系統,這也是BLSTM模型在工業界第一次進行實時語音識别服務。相對于早期基于DNN的聲學模型,以及現在工業界大規模采用的基于LSTM的聲學模型,iDST的這種聲學模型既保持了BLSTM聲學模型的高準确率的優點,又通過Latency Control設計避免了BLSTM聲學模型帶來的高延時的缺點,可謂是“一舉兩得(更多閱讀請查閱之前的分享部落格[1])。2016年底,通過結合Lower Frame Rate技術,iDST智能語音互動團隊進一步優化了該聲學模型,一舉将解碼時間加速了三倍以上,通俗點說就是把語音識别服務成本降低了三倍以上,為語音識别技術走入各行各業成為基礎設施打下堅實基礎。在剛剛結束的雲栖大會上,提到了iDST智能語音互動團隊關于語音識别聲學模型的一個最新的技術進展,即LFR-DFSMN(Lower Frame Rate-Deep Feedforward Sequential Memory Networks)。本文将介紹這一聲學模型的研究背景,以及我們的具體實作工作。

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

目前主流的語音識别系統普遍采用基于深度神經網絡和隐馬爾可夫(Deep Neural Networks-Hidden Markov Model, DNN-HMM)的聲學模型,其模型結構如圖 1所示。聲學模型的輸入是傳統的語音波形經過加窗、分幀,然後提取出來的頻譜特征,如 PLP, MFCC 和 FBK等。而模型的輸出⼀般采用不同粒度的聲學模組化單元,例如單音素 (mono-phone)、單音素狀态、綁定的音素狀态 (tri-phone state) 等。從輸入到輸出之間可以采用不同的神經網絡結構,将輸入的聲學特征映射得到不同輸出模組化單元的後驗機率,然後再結合HMM進行解碼得到最終的識别結果。

最早采用的網絡結構是前饋全連接配接神經網路(Feedforward Fully-connected Neural Networks, FNN)。FNN實作固定輸入到固定輸出的一對一映射,其存在的缺陷是沒法有效利用語音信号内在的長時相關性資訊。一種改進的方案是采用基于長短時記憶單元(Long-Short Term Memory,LSTM)的循環神經網絡(Recurrent Neural Networks,RNN)。LSTM-RNN通過隐層的循環回報連接配接,可以将曆史資訊存儲在隐層的節點中,進而可以有效的利用語音信号的長時相關性。進一步的通過使用雙向循環神經網絡(Bidirectional RNN),可以有效的利用語音信号曆史以及未來的資訊,更有利于語音的聲學模組化。基于循環神經網絡的語音聲學模型相比于前饋全連接配接神經網絡可以獲得顯著的性能提升。但是循環神經網絡相比于前饋全連接配接神經網絡模型更加複雜,往往包含更多的參數,這會導緻模型的訓練以及測試都需要更多的計算資源。另外基于雙向循環神經網絡的語音聲學模型,會面臨很大的時延問題,對于實時的語音識别任務不适用。現有的一些改進的模型例如基于時延可控的雙向長短時記憶單元(Latency Controlled LSTM,LCBLSTM )[2-3],以及前饋序列記憶神經網絡(Feedforward Sequential Memory Networks,FSMN)[3-5]。去年我們在工業界第一個上線了基于LCBLSTM的語音識别聲學模型。配合阿裡的大規模計算平台和大資料,采用多機多卡、16bit量化等訓練和優化方法進行聲學模型模組化,取得了相比于FNN模型約17-24%的相對識别錯誤率下降。

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

FSMN是近期被提出的一種網絡結構,通過在FNN的隐層添加一些可學習的記憶子產品,進而可以有效的對語音的長時相關性進行模組化。FSMN相比于LCBLSTM不僅可以更加友善的控制時延,而且往往也能獲得更好的性能,需要的計算資源也更少。但是标準的FSMN很難訓練非常深的結構,會由于梯度消失問題導緻訓練效果不好。而深層結構的模型目前在很多領域被證明具有更強的模組化能力。因而針對此我們提出了一種改進的FSMN模型,稱之為深層的FSMN(Deep-FSMN, DFSMN)。進一步的我們結合LFR(lower frame rate)技術建構了一種高效的實時語音識别聲學模型,相比于去年我們上線的LCBLSTM聲學模型可以獲得超過20%的相對性能提升,同時可以獲得2-3倍的訓練以及解碼的加速,可以顯著的減少我們的系統實際應用時所需要的計算資源。

最早提出的FSMN的模型[3]結構如圖 2(a)所示,其本質上是一個前饋全連接配接神經網絡,通過在隐層旁添加一些記憶子產品(memory block)來對周邊的上下文資訊進行模組化,進而使得模型可以對時序信号的長時相關性進行模組化。記憶子產品采用如圖 2(b)所示的抽頭延遲結構将目前時刻以及之前 N 個時刻的隐層輸出通過一組系數編碼得到一個固定的表達。FSMN的提出是受到數字信号進行中濾波器設計理論的啟發:任何無限響應沖擊(Infinite Impulse Response, IIR)濾波器可以采用高階的有限沖擊響應(Finite Impulse Response, FIR)濾波器進行近似。從濾波器的角度出發,如圖 2(c)所示的RNN模型的循環層就可以看作如圖 2(d)的一階IIR濾波器。而FSMN采用的采用如圖 2(b)所示的記憶子產品可以看作是一個高階的FIR濾波器。進而FSMN也可以像RNN一樣有效的對信号的長時相關性進行模組化,同時由于FIR濾波器相比于IIR濾波器更加穩定,因而FSMN相比于RNN訓練上會更加簡單和穩定。

根據記憶子產品編碼系數的選擇,可以分為:1)标量FSMN(sFSMN);2)矢量FSMN(vFSMN)。sFSMN 和 vFSMN 顧名思義就是分别使用标量和矢量作為記憶子產品的編碼系數。sFSMN和vFSMN記憶子產品的表達分别如下公式:

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

以上的FSMN隻考慮了曆史資訊對目前時刻的影響,我們可以稱之為單向的FSMN。當我們同時考慮曆史資訊以及未來資訊對目前時刻的影響時,我們可以将單向的FSMN進行擴充得到雙向的FSMN。雙向的sFSMN和vFSMN記憶子產品的編碼公式如下:

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

這裡N1和N2分别代表回看(look-back)的階數和向前看(look-ahead)的階數。我們可以通過增大階數,也可以通過在多個隐層添加記憶子產品來增強FSMN對長時相關性的模組化能力。

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

圖 3. cFSMN結構框圖

FSMN相比于FNN,需要将記憶子產品的輸出作為下一個隐層的額外輸入,這樣就會引入額外的模型參數。隐層包含的節點越多,則引入的參數越多。研究[4]結合矩陣低秩分解(Low-rank matrix factorization)的思路,提出了一種改進的FSMN結構,稱之為簡潔的FSMN(Compact FSMN,cFSMN)。如圖3所示,是一個第l個隐層包含記憶子產品的cFSMN的結構框圖。對于cFSMN,通過在網絡的隐層後添加一個低次元的線性投影層,并且将記憶子產品添加在這些線性投影層上。進一步的,cFSMN對記憶子產品的編碼公式進行了一些改變,通過将目前時刻的輸出顯式的添加到記憶子產品的表達中,進而隻需要将記憶子產品的表達作為下一層的輸入。這樣可以有效的減少模型的參數量,加快網絡的訓練。具體的,單向和雙向的cFSMN記憶子產品的公式表達分别如下:

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

<b>四、LFR-DFSMN聲學模型</b>

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

如圖 4是我們進一步提出的Deep-FSMN(DFSMN)的網絡結構框圖,其中左邊第一個方框代表輸入層,右邊最後一個方框代表輸出層。我們通過在cFSMN的記憶子產品(紅色框框表示)之間添加跳轉連接配接(skip connection),進而使得低層記憶子產品的輸出會被直接累加到高層記憶子產品裡。這樣在訓練過程中,高層記憶子產品的梯度會直接指派給低層的記憶子產品,進而可以克服由于網絡的深度造成的梯度消失問題,使得可以穩定的訓練深層的網絡。我們對記憶子產品的表達也進行了一些修改,通過借鑒擴張(dilation)卷積[6]的思路,在記憶子產品中引入一些步幅(stride)因子,具體的計算公式如下:

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

對于實時的語音識别系統我們可以通過靈活的設定未來階數來控制模型的時延,在極端情況下,當我們将每個記憶子產品的未來階數都設定為0,則我們可以實作無時延的一個聲學模型。對于一些任務,我們可以忍受一定的時延,我們可以設定小一些的未來階數。相比于之前的cFSMN,我們提出的DFSMN優勢在于,通過跳轉連接配接可以訓練很深的網絡。對于原來的cFSMN,由于每個隐層已經通過矩陣的低秩分解拆分成了兩層的結構,這樣對于一個包含4層cFSMN層以及兩個DNN層的網絡,總共包含的層數将達到13層,進而采用更多的cFSMN層,會使得層數更多而使得訓練出現梯度消失問題,導緻訓練的不穩定性。我們提出的DFSMN通過跳轉連接配接避免了深層網絡的梯度消失問題,使得訓練深層的網絡變得穩定。需要說明的是,這裡的跳轉連接配接不僅可以加到相鄰層之間,也可以加到不相鄰層之間。跳轉連接配接本身可以是線性變換,也可以是非線性變換。具體的實驗我們可以實作訓練包含數十層的DFSMN網絡,并且相比于cFSMN可以獲得顯著的性能提升。從最初的FSMN到cFSMN不僅可以有效的減少模型的參數,而且可以獲得更好的性能[4]。進一步的在cFSMN的基礎上,我們提出的DFSMN,可以更加顯著的提升模型的性能。如下表是在一個2000小時的英文任務上基于BLSTM,cFSMN,DFSMN的聲學模型性能對比。從下表中可以看到,在2000小時這樣的任務上,DFSMN模型可以獲得比BLSTM聲學模型相對14%的錯誤率降低,顯著提高了聲學模型的性能。

Model

BLSTM

cFSMN

DFSMN

WER%

10.9

10.8

9.4

人機互動新進展:LFR-DFSMN語音識别聲學模型介紹

目前的聲學模型,輸入的是每幀語音信号提取的聲學特征,每幀語音的時長通常為10ms,對于每個輸入的語音幀信号會有相對應的一個輸出目标。最近有研究提出一種低幀率(Low

Frame Rate,LFR)[7]模組化方案:通過将相鄰時刻的語音幀進行綁定作為輸入,去預測這些語音幀的目标輸出得到的一個平均輸出目标。具體實驗中可以實作三幀(或更多幀)拼接而不損失模型的性能。進而可以将輸入和輸出減少到原來的三分之一甚至更多,可以極大的提升語音識别系統服務時聲學得分的計算以及解碼的效率。我們結合LFR和以上提出的DFSMN,建構了如圖 5的基于LFR-DFSMN的語音識别聲學模型,經過多組實驗我們最終确定了采用一個包含10層cFSMN層+2層DNN的DFSMN作為聲學模型,輸入輸出則采用LFR,将幀率降低到原來的三分之一。識别結果和去年我們上線的最好的LCBLSTM基線比較如下表所示。通過結合LFR技術,我們可以獲得三倍的識别加速。從上表中可以看到,在實際工業規模應用上,LFR-DFSMN模型比LFR-LCBLSTM模型可以獲得20%的錯誤率下降,展示了對大規模資料更好的模組化特性。

CER%

産品線A

産品線B

LFR-LCBLSTM

18.92

10.21

LFR-DFSMN

15.00(+20.72%)

8.04(21.25%) 

實際的語音識别服務通常會面對非常複雜的語音資料,語音識别聲學模型一定要盡可能的覆寫各種可能的場景,包括各種對話、各種聲道、各種噪音甚至各種口音,這就意味着海量的資料。而如何應用海量資料快速的訓練聲學模型并上線服務,就直接關系到業務相應速度。我們利用阿裡的Max-Compute計算平台和多機多卡并行訓練工具,在使用8機16GPU卡、訓練資料為5000小時的情況下,關于LFR-DFSMN聲學模型和LFR-LCBLSTM的訓練速度如下表:

處理一個epoch需要的時間

10.8小時

3.4小時

相比于基線LCBLSTM模型,每個epoch DFSMN可以獲得3倍的訓練速度提升。在2萬小時的資料量上訓練LFR-DFSMN,模型收斂一般隻需要3-4個epoch,是以在16GPU卡的情況下,我們可以在2天左右完成2萬小時資料量的LFR-DFSMN聲學模型的訓練。

設計更為實用化的語音識别系統,我們不僅需要盡可能的提升系統的識别性能,而且需要考慮系統的實時性,這樣才能給使用者提供更好的體驗。此外在實際應用中我們還需要考慮服務成本,因而對于語音識别系統的功耗也有一定的要求。傳統的FNN系統,需要使用拼幀技術,解碼延遲通常在5-10幀,大約50-100ms。而去年上線的LCBLSTM系統,解決了BLSTM的整句延遲的問題,最終可以将延時控制在20幀左右,大約200ms。對于一些對延時有更高要求的線上任務,還可以在少量損失識别性能的情況下(0.2%-0.3%絕對值左右),将延遲控制在100ms,完全可以滿足各類任務的需求。LCBLSTM相比于最好的FNN可以獲得超過20%的相對性能提升,但是相同CPU上識别速度變慢(即功耗高),這主要是由模型的複雜度導緻。

我們最新的LFR-DFSMN,通過LFR技術可以将識别速度加速3倍以上,進一步的DFSMN相比于LCBLSTM在模型複雜度上可以再降低3倍左右。如下表是我們在一個測試集上統計的不同的模型需要的識别時間,時間越短則表示我們所需要的計算功耗越低:

模型

整個測試集識别所需要的時間

LCBLSTM

956秒

377秒

339秒

142秒

關于LFR-DFSMN的解碼時延問題,我們可以通過減小記憶子產品濾波器的向未來看的階數來減小時延。具體實驗中我們驗證了不同的配置,當我們将LFR-DFSMN的延時控制在5-10幀時,大緻隻損失相對3%的性能。 此外,相對于複雜的LFR-LCBLSTM模型,LFR-DFSMN模型具有模型精簡的特點,雖然有10層DFSMN,但整體模型大小隻有LFR-LCBLSTM模型的一半,模型大小壓縮了50%。

<b></b>

<b>參考文獻</b>

[1] https://yq.aliyun.com/articles/2308?spm=5176.100244.teamhomeleft.53.ifFpZn

[2] Yu

Zhang, Guoguo Chen, Dong Yu, and Kaisheng Yao, ng Yao,  long short term memory RNNs for distant

speech recognition, in IEEE International Conference of Acoustics,Speech and

Signal Processing (ICASSP), 2016, pp. 5755-5759.

[3] Xue

S, Yan Z. Improving latency-controlled BLSTM acoustic models for online speech

recognition[C], Acoustics, Speech and Signal        Processing (ICASSP), 2016 IEEE

International Conference on. IEEE. 2017.

[4] Zhang S, Liu C, Jiang H, et al. Feedforward

sequential memory networks: A new structure to learn long-term dependency[J].

arXiv preprint arXiv:1512.08301, 2015.

[5] Zhang S, Jiang H, Xiong S, et al. Compact

Feedforward Sequential Memory Networks for Large Vocabulary Continuous Speech         Recognition[C], INTERSPEECH. 2016: 3389-3393.

[6] Zhang S, Liu C, Jiang H, et al. Non-recurrent

Neural Structure for Long-Term Dependency[J]. IEEE/ACM Transactions on Audio,

Speech,  and Language Processing, 2017, 25(4): 871-884.

[7] Oord A, Dieleman S, Zen H, et al. Wavenet:

A generative model for raw audio[J]. arXiv preprint arXiv:1609.03499, 2016.

[8] Pundak G, Sainath T N. Lower Frame Rate Neural

Network Acoustic Models[C],INTERSPEECH. 2016: 22-26.

p[[

繼續閱讀