金 超 龔 鋮 李 輝
(中國科學技術大學信息科學技術學院 安徽 合肥 230027)
近年來,深度神經網絡DNN已經在語音識別中取得了非常大的成功,在語音聲學模型建模中,基于隱馬爾可夫-深度神經網絡HMM-DNN(Hidden Markov Model-Deep Neural Network)系統相對于傳統的隱馬爾可夫-高斯混合模型HMM-GMM(Hidden Markov Model-Gaussian Mixture Model)系統有更好的聲學區分性[1],在識別準確率上有了明顯的提升。因此在大詞匯量連續語音識別上,DNN模型成為主流的聲學模型。
然而DNN聲學模型中依然存在著和GMM聲學模型一樣的問題,即目標說話人語音和訓練數據的說話人語音不匹配的問題,當系統識別一個沒有遇見過的說話人語音時,識別準確率就會下降。對于GMM模型,說話人自適應SA技術已經被證明能夠有效地減小說話人差異帶來的性能下降[2-3]。它是利用少量的目標說話人數據,即自適應數據來修改說話人無關SI(Speaker Independent)模型的參數或者是轉換目標說話人的特征來提高對目標說話人的建模精度。
說話人自適應分為模型域和特征域自適應,在基于DNN聲學模型的模型域說話人自適應中最簡單的方法是利用目標說話人的自適應數據直接更新SI模型參數[4]。但是由于DNN模型的參數巨大,少量的自適應數據容易出現過擬合問題。另一方法是在已經訓練好的SI模型上插入線性變換層,在自適應階段,對不同的說話人只自適應調整該線性變換層,文獻[5-7]分別提出了線性輸入網絡LIN(Linear Input Network)、線性隱藏層網絡LHN(Linear Hidden Network)、線性輸出網絡LON(Linear Output Network),實現分別對DNN網絡不同位置的線性變換層的自適應調整。這些方法在一定程度上減小了過擬合的影響,但只是對某一層進行自適應調整,效果提升不夠明顯。文獻[8-10]的核心思想是在DNN模型的各個隱藏層上加入少量的自適應參數,在自適應階段時,能夠使用少量的數據達到全局自適應參數調整,有很好的效果提升。在特征域上的說話人自適應中,文獻[11-12]提出通過一個單獨的小網絡,加上i-vector輔助信息,將目標說話人特征映射到說話人無關的空間,然后基于新的特征訓練DNN聲學模型。這種方法在一定程度上提高了系統識別的準確率,但是訓練過程較為復雜,因為存在兩個網絡模型,需要兩個網絡之間來回訓練,而且不穩定,預測計算量較大。文獻[13-14]提出一種基于說話人編碼SC(Speaker Code)的特征域說話人自適應方法。SC也表征說話人差異信息,但是SC的獲取過程相比i-vector較為復雜,需要對自適應數據在SI-DNN模型上先進行解碼,獲取“真實標注”,然后利用這些標注更新得到目標說話人的SC。
借鑒前面思路和優缺點,本文提出一種新的基于神經網絡的說話人自適應方法。在初始的DNN模型上引入所有說話人共享的自適應層,按照語音幀的區分性目標函數,在整個訓練集上進行聯合訓練,學習自適應層的連接權值,使得通過自適應層能將目標說話人i-vector信息逐層映射到DNN模型的特征中,實現去除特征中的說話人差異信息,保留語義信息,減小說話人差異帶來的識別率下降,實現系統性能提升。
DNN的結構如圖1所示,它實際上是一個層數較深的多層感知器MLP(Multilayer Perceptron),由輸入層、多個隱藏層、輸出層組成。圖中總共有L+1層神經網絡,第0層為輸入層,第L層為輸出層,每一層的輸出只受到前一層的輸入影響,這里ot表示t時刻的語音特征向量,通常需要左右擴幀。

圖1 神經網絡模型結構
式(1)為前向計算表達式:
(1)

(2)
對于隱藏層1≤i 當DNN被用作語音識別中聲學模型的時候,它的作用是區分每一幀語音特征到上下文相關的HMM狀態,DNN訓練時目標函數采用負的交叉熵,訓練的目標是最小化如下的目標函數: (3) (4) 假設DNN模型的隱藏層激活函數采用sigmoid,誤差回傳到第i層時的表達式如下: (5) 這里,⊙為向量的內積,由式(4)、式(5)的誤差可得到目標函數對網絡參數的梯度: (6) (7) 采用梯度下降算法更新網絡參數,迭代更新公式如下: (8) (9) 式中:α為學習率,需要根據實驗確定其值。 在解碼的時候,DNN輸出的是HMM狀態j的后驗概率p(j|ot)。我們實際需要HMM狀態的觀察概率,即HMM狀態j下生成特征向量ot的概率p(ot|j),通過貝葉斯公式,有: (10) (11) 傳統的I-Vector作為表征說話人差異的重要技術已經在說話人辨認和說話人確認領域取得了成功的應用。I-Vector方法與經典的聯合因子分析JFA(Joint Factor Analysis)[16]建模方法相同,都是基于高斯混合模型-通用背景模型GMM-UBM(Gaussian Mixture Model-Universal Background Model),區別在于I-Vector方案是建立一個單獨的變化子空間來建模語音信號的不同變化,包括說話人信息和信道信息變化,如下公式為其核心思想: Vs=m+Tws (12) 式中:Vs表示說話人s的GMM均值超矢量,m是UBM均值超矢量,用來表示與說話人和信道無關的信息,T是一個總變化子空間矩陣,完成高維的GMM均值超矢量到低維空間的映射,生成低維的矢量ws,稱為身份認證矢量identity vector,簡稱I-Vector,具有話者區分性,并且服從標準正態分布。UBM和T的訓練過程以及I-Vector的提取參見文獻[17]。 因為I-Vector具有很好的說話人區分性,而語音特征中包含了說話人信息,我們的目的是去掉語音特征中的說話人信息,保留語義信息,使語音特征更加說話人歸一化。所以我們使用I-Vector來輔助DNN進行聲學建模,使其能夠應對不同說話人的語音。 基于神經網絡的說話人自適應模型結構如圖2所示。在初始的DNN模型的前幾層中插入所有說話人共享的自適應層,如圖中的深色長條所示。它對應于目標說話人的身份信息I-Vector向量,對每個說話人的語音進行識別時,分別提取其對應的I-Vector,按照圖2前向計算方式進行解碼計算。 圖2 SA-DNN網絡模型結構 本文中新的神經網絡叫SA-DNN,在后續實驗中會依次加入1到5層的自適應層,研究其性能變化,SA-DNN網絡的前向計算公式如公式所示: (13) (14) 式中:P為自適應層數,Vi為自適應層的全連接矩陣,ws為目標說話人的I-Vector向量,其他參數和第1節的DNN模型相同。 加入自適應層的目的是通過嵌入I-Vector向量來逐層變換特征,去除特征中的說話人信息,保留其語義信息,將說話人相關特征變成說話人無關特征。 圖3為測試集中的一條語音特征,分別通過SA-DNN和DNN模型得到第二個隱藏層輸出,在經過PCA降到2維的平面空間,兩圖中點的個數相同。因為語音中主要包含有語義信息和說話人信息,經過PCA降到2維之后,x坐標代表語義信息,y坐標代表說話人信息。由圖3可以看出(這里x坐標和y坐標單位尺度都相同),雖然在尺度上x坐標和y坐標都有相應的減少,但是相對于右圖的圓形,左圖在y坐標方向被顯示壓縮,像一個長方形,表明SA-DNN模型能夠很明顯地減少特征中的說話人信息,使得特征更加具有語義區分性。 圖3 網絡特征的PCA降維 進行SA-DNN的訓練時,我們主要學習兩種類型參數,第一個是普通的DNN權值,第二個是自適應層權值,普通的DNN權值的更新公式如式(8)、式(9)所示,自適應層的權值更新也是采用誤差反向傳播算法,自適應層的梯度如下: (15) 利用梯度下降算法更新自適應層的權值參數,更新公式如下: (16) 由于梯度消失問題的存在,造成對于深層的神經網絡,反向傳播的梯度(從輸出層到網絡的最初幾層)的幅度會急劇減小,所以用梯度下降法更新網絡權重時,最初幾層的權重變化非常緩慢,以至于它們不能從樣本中進行有效的學習。而且本文中自適應層是插入DNN的最初幾層網絡中的,分布著更多的權重。 針對這個問題,可以對網絡進行預訓練,使用棧式降噪自編碼器SDA(Stacked Denoising Autoencoder)[18]分層預訓練網絡,得到一個較好的網絡初始值。最后利用BP算法來微調網絡,SDA是由多層的DA組成,前一層DA的隱藏層輸出作為下一層DA的輸入,每個DA的輸入層和隱藏層對應于DNN的相鄰兩層,如圖4所示。 圖4 SDA預訓練框圖 SDA參數的獲取采用逐層貪婪訓練,先利用訓練集數據訓練第一層DA,得到DNN的輸入層和第一個隱藏層之間的權值W1和偏置b1。接著將原始數據通過訓練好的第一層DA得到隱藏層的輸出激活值,作為第二層DA的輸入。繼續訓練第二層DA,得到DNN的第二個隱藏層和第三個隱藏層之間的權值W2和偏置b2。對后面各個層依次采用同樣的方式,即前一個DA隱藏層輸出作為后一層DA的輸入,訓練每一層網絡時,固定其他層參數不變,上述過程叫做預訓練。 對于本文的SA-DNN模型,我們將自適應層的I-Vector和隱藏層輸出值拼接作為一層DA的輸入進行訓練,其他層還是按照正常的預訓練方式進行。 實驗數據為標準的TEDLIUM數據集,是由LIUM團隊(CMUSphinx開源語音識別工具的貢獻者)制作,專門用于語音識別任務的開放數據。語料庫中都是TED的演講音頻、相應的標注文本和發音字典,語料庫共分成訓練集、發展集、測試集,其中訓練集中包含了774個TED演講,一共118小時,解碼是在發展集(包含8個演講音頻)和測試集(11個演講音頻)中進行的。語料庫中每一個TED演講都是一個說話人,所有解碼使用Cantab-TEDLIUM Release 1.1提供的3-gram語言模型。 系統評價指標為自動語音識別中的單詞錯誤率WER(Word Error Rate)。設N為語料庫測試集合中人工標注的單詞總數(正確單詞數),標注文本為T,解碼后產生解碼文本O,計算文本T和文本O的最小編輯距離,即得到插入詞個數I,刪除詞個數D,替換詞個數R,如式(17)為WER的計算公式: (17) 實驗的軟件環境為開源的Kaldi語音識別系統[19]和PDNN框架[20],采用Kaldi進行數據準備、特征提取、HMM-GMM模型訓練、語言模型集成、解碼網絡搭建。使用PDNN進行神經網絡聲學模型訓練。 在進行DNN模型訓練之前,需要訓練HMM-GMM模型,采用13維的美爾頻率倒譜系數MFCC(Mel-Frequency Cepstrum Cofficients)及其一階和二階差分,總共39維的MFCC特征。對每個說話人的所有語音數據,采用倒譜均值方差歸一化CMVN(Cepstrum Mean and Variance Normalization)對特征進行預處理,訓練三音素HMM-GMM系統。然后將39維的特征左右擴4幀,經過線性判別分析LDA(Linear Discriminant Analysis)變換降到40維的特征。接著在40維的特征上進行最大似然線性變換MLLT(Maximum Likelihood Linear Transform),得到LDA+MLLT的HMM-GMM系統。最后再利用特征空間最大似然線性回歸fMLLR(Feature-space Maximum Likelihood Linear Regression)技術對39維的MFCC特征進行歸一化處理[21]。使用新的fMLLR特征繼續優化HMM-GMM系統,從而構成了LDA+MLLT+fMLLR的HMM-GMM語音識別系統,這里HMM中共有4 082個上下文相關的HMM狀態數。 通過上面訓練得到較好的三音素HMM-GMM識別系統,將訓練數據在系統上進行強制對齊,得到每一幀語音對應的真實標簽(上下文相關的HMM狀態ID)。此時用于有監督的DNN模型訓練,實驗采用兩種特征進行DNN模型訓練,40維fbank特征(Filter Bank Feature)[22],按照每個說話人進行CMVN規整和上述生成的40維的fMLLR特征,特征左右擴5幀,得到440維的DNN輸入,隱藏層有6層,每層的節點數為1 024個,softmax層的節點數為上下文相關的HMM狀態數4 082個。此時DNN網絡結構為440-1024-1024-1024-1024-1024-1024-4082,訓練集和交叉驗證集分別占訓練數據的95%和5%。 在進行訓練之前,先進行SDA預訓練,這里是對每個隱藏層進行5輪SDA預訓練。然后利用BP算法進行全局微調,在訓練過程中初始的學習率設為0.08。當兩輪訓練之后驗證集的誤差小于一定值時,學習率減半,直到固定的減半次數。在不同的數據集合,根據實驗確定這些學習參數,表1為兩種特征的基線系統性能。 表1 DNN基線系統的WER 實驗首先對訓練集和測試集的每條句子提取I-Vector向量,這里通用背景模型UBM和總變化矩陣T在語料庫的整個訓練集中訓練得到,提取的I-Vector為100維,并且做過長度規整。 接著分別在DNN模型上加入1到5層自適應層。表2為不同情況下的測試集WER指標。 表2 不同自適應層數的測試集的WER % 從表2可以看到,當加入1、2層自適應層時,效果優于基線系統,但當加到3、4、5層自適應層之后,效果比基線系統還要差。原因是,訓練數據不夠,只有100多個小時,自適應層越多時,網絡參數越多,訓練出現過擬合。在訓練過程中自適應層為3、4、5層時,訓練集和交叉驗證集正確率相差較大,且驗證集的正確率不高,下面在另一個較大的數據集上能夠驗證這個解釋。 實驗進一步在Switchboard-I電話語料庫上開展。訓練集合包含309小時的Switchboard-I和20小時的Call Home English,總共1 540個不同說話人,測試集為eval2000(Hub5’00),包含1 831條來自40個說話人的語音,所有的解碼都使用了來自Switchboard-I的標注文本訓練的bigram語言模型。 從表3可以看出,當訓練數據增大時,自適應層為3、4、5層時,效果依然要好于基線系統。這表明在DNN模型上加入輔助信息是有利于提升系統性能,當超過3層時,效果會趨向于一個固定值,表明層數增加已經無法提升系統性能。 表3 Switchboard的不同自適應層數的測試集的WER % 圖5為兩種數據集下兩種特征在不同自適應層數的測試集WER曲線圖。從圖中可以看出,fMLLR特征相比于fbank特征有更好的效果,當自適應層為2層時,效果最好,2層的自適應層已經能夠將說話人相關特征映射到說話人無關空間,此時系統性能最優。自適應層數過多時,會造成網絡中存在更多的冗余連接,會影響系統性能,超過2層之后,當訓練數據較小時,訓練的網絡容易出現過擬合,系統性能就會下降,甚至會低于基線系統。 圖5 自適應層數對錯誤率曲線 本文提出了一種HMM-DNN框架下的快速說話人自適應的方法。通過在DNN模型上引入所有說話人共享的自適應層,結合說話人I-Vector信息,能夠逐層去除特征中說話人差異信息,保留待識別的語義信息,減小說話人音素的影響,實現快速說話人自適應,提高系統識別準確率。 這種結構具有可擴展性,接下來的工作會在遞歸神經網絡RNN(Recurrent Neural Network)、卷積神經網絡CNN(Convolution Neural Network)上應用。 [1] Hinton Geoffrey, Deng Li, Yu Dong, 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] Leggetter C J, Woodland P C. Maximum likelihood linear regression for speaker adaptation of continuous density hidden Markov models[J]. Compute speech & language, 1995,9(2): 171-185. [3] Gales M J F. Maximum likelihood linear transformations for HMM-based speech recognition [J]. Computer Speech & Language, 1998, 12(2):75-98. [4] Yu D, Yao K, Su H, et al. KL-divergence regularized deep neural network adaptation for improved large vocabulary speech recognition[C]//Acoustics Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013: 7893-7897. [5] Seide F, Li G, Chen X, et al. Feature engineering in context-dependent deep neural networks for conversational speech transcription [C]//Automatic Speech Recognition and Understanding (ASRU) 2011 IEEE Workshop on. IEEE, 2011: 24-29. [6] Li B, Sim K C. Comparison of discriminative input and output transformations for speaker adaptation in the hybrid NN/HMM systems[C]//INTERSPEECH 2010, Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September. DBLP, 2010:526-529. [7] Yao K, Yu D, Seide F, et al. Adaptation of context-dependent deep neural networks for automatic speech recognition[C]//Spoken Language Technology Workshop (SLT), 2012 IEEE. IEEE, 2012: 366-369. [8] Samarakoon L, Sim K C. Factorized hidden layer adaptation for deep neural network based acoustic modeling[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2016, 24(12): 2241-2250. [9] Swietojanski P, Li J, Renals S. Learning hidden unit contributions for unsupervised acoustic model adaptation[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2016, 24(8): 1450-1463. [10] Huang Z, Siniscalchi S M, Lee C H. Bayesian Unsupervised Batch and Online Speaker Adaptation of Activation Function Parameters in Deep Models for Automatic Speech Recognition[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2017, 25(1): 64-75. [11] Miao Y, Zhang H, Metze F. Speaker adaptive training of deep neural network acoustic models using i-vectors[J]. IEEE/ACM Transactions on Audio Speech & Language Processing, 2015, 23(11):1938-1949. [12] Miao Y, Zhang H, Metze F. Towards Speaker Adaptive Training of Deep Neural Network Acoustic Models[C]//Proceedings of the Annual Conference of the International Speech Communication Association, 2014:2189-2193. [13] Xue S, Jiang H, Dai L, et al. Speaker adaptation of hybrid NN/HMM model for speech recognition based on singular value decomposition[J]. Journal of Signal Processing Systems, 2016, 82(2): 175-185. [14] Huang Z, Tang J, Xue S, et al. Speaker adaptation of RNN-BLSTM for speech recognition based on speaker code[C]//Acoustics, Speech and Signal Processing (ICASSP), 2016 IEEE International Conference on. IEEE, 2016: 5305-5309. [15] Alex Graves. Supervised Sequence Labelling with Recurrent Neural Networks[M]. Springer, 2012. [16] Glembek O, Burget L, Dehak N, et al. Comparison of scoring methods used in speaker recognition with joint factor analysis[C]//Acoustics, Speech and Signal Processing (ICASSP),2009. IEEE International Conference on. IEEE, 2009: 4057-4060. [17] 方昕,李輝,劉青松. 利用i-vectors構建區分性話者模型的話者確認[J].小型微型計算系統,2014,35(3):685-688. [18] Vincent P, Larochelle H, Lajoie I, et al. Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion[J]. Journal of Machine Learning Research, 2010, 11(12):3371-3408. [19] Povey D, Ghoshal A, Boulianne G, et al. The Kaldi speech recognition toolkit[C]//IEEE 2011 workshop on automatic speech recognition and understanding. IEEE Signal Processing Society, 2011 (EPFL-CONF-192584). [20] Miao Yajie. Kaldi+ PDNN: building DNN-based ASR systems with Kaldi and PDNN[Z]. arXiv preprint arXiv:1401.6984, 2014. [21] Povey D, Saon G. Feature and model space speaker adaptation with full covariance Gaussians[C]//INTERSPEECH 2006—Icslp, Ninth International Conference on Spoken Language Processing, Pittsburgh, Pa, Usa, September. DBLP, 2006. [22] Sainath T N, Kingsbury B, Mohamed A, et al. Learning filter banks within a deep neural network framework [C]//Automatic Speech Recognition and Understanding (ASRU), 2013 IEEE Workshop on. IEEE, 2013: 297-302.

2 I-Vector
3 SA-DNN說話人自適應



4 實驗結果與分析
4.1 實驗語料及系統評估指標
4.2 實驗工具
4.3 DNN基線系統

4.4 SA-DNN系統

4.5 Switchboard語料庫下的實驗


5 結 語