朱學超,張 飛,高 鷺,任曉穎,郝 斌
內蒙古科技大學 信息工程學院,內蒙古 包頭 014000
自動語音識別(ASR)是一種將語音轉為文字的技術,語音是人與機器之間最便捷高效的交互方式之一。如今出現了越來越多的語音交互產品,服務于醫療、教育等領域,為人們生活帶來了巨大的變化。傳統語音識別最常用的算法是基于混合高斯模型的隱馬爾可夫模型(GMM-HMM)[1-3],雖然取得了不錯的成果,但是該模型組件復雜,在訓練過程和解碼過程中效率都比較低。隨著深度學習技術的跨越式發展,端到端神經網絡在許多語音識別任務上取得了很好的效果。這些模型使用一個單一的、端到端訓練的神經網絡取代了傳統的多組件ASR模型,從而,極大地簡化了訓練過程。端到端的ASR模型是一種序列到序列模型,直接將特征映射到對應的字符或單詞。其中,文獻[4]首次提出聯結時序分類(connectionist temporal classification,CTC)結構,并驗證了CTC對于聲學建模的有效性?;贑TC的ASR模型通過引入CTC準則,不僅解決了輸入輸出序列不對等問題,而且不需要輸入輸出序列在時間維度上進行任何預對齊。
隨后,改進的循環神經網絡(recurrent neural networks,RNN)被廣泛應用于基于CTC的端到端ASR模型中。文獻[5]提出了基于雙向長短時記憶神經網絡-聯結時序分類(BLSTM-CTC)的端到端聲學模型,該模型取得了較好的效果,并成功解決了聲學模型和語言模型難以融合的問題。文獻[6]提出了一種基于序列級轉錄的端到端語音識別系統,該系統改進了BLSTM,以音素為基本建模單元,并通過序列區分度訓練技術提升了CTC聲學模型的建模效果。文獻[7]提出一個CNNBLSTM-CTC的端到端中文語音識別模型,采用卷積神經網絡(CNN)學習局部語音特征,BLSTM學習上下文信息,使用CTC進行解碼。文獻[8]提出了基于ResNet-BLSTM-CTC的端到端聲學模型,該模型以語譜圖作為輸入,通過殘差網絡中的并行卷積層提取不同尺度的特征。雖然RNN具有較強的長時建模能力,但由于RNN結構復雜,容易導致梯度消失問題,而且RNN訓練需要耗費大量時間,對硬件性能要求也很大。針對RNN存在的問題,文獻[9]結合前饋神經網絡和RNN的優點,提出了前饋序列記憶神經網絡(feedforward sequential memory networks,FSMN),FSMN是通過在前饋神經網絡的隱層中添加一些可學習的記憶模塊,從而可以對語音的上下文進行有效地建模。但是標準的FSMN仍具有較多的參數,文獻[10]借鑒了矩陣低秩分解的思想在FSMN網絡中引入了一個project層進行降維,提出了緊湊前饋序列記憶網絡(compact FSMN,cFSMN),在語音識別交換機任務中,該模型識別性能明顯優于BLSTM。而目前在很多領域,深層網絡模型被證明具有更強的性能。因此文獻[11]在cFSMN的基礎上增加了跳躍連接(skip connection),提出了深度前饋序列記憶神經網絡(deep FSMN,DFSMN),構建了一種效率較高的實時語音識別端到端模型。文獻[12]在中文數據集上,驗證了DFSMN識別效果比cFSMN的好。同時在大規模語言任務上,文獻[13]提出了門控卷積神經網絡(gated convolutional neural network,GCNN),擺脫了RNN對上下文相關性建模的依賴,且其效果明顯優越于RNN。文獻[14]提出了基于GCNN的聲學模型,通過堆疊一維GCNN提取上下文信息,取得了較好的效果。
基于RNN的聲學模型還存在另外一個問題。在基于RNN的聲學模型中,常常使用CNN解決語音信號頻率維度的多變性[15-18],以此提升模型的穩定性,但CNN提取有效特征的最大性能是有限的,對于具有不同程度冗余信息難以進行有效的特征提取,從而會導致RNN輸出的上下文信息不具有不變性和鑒別性,會對原始特征的變化變得敏感,使得模型的識別效果和魯棒性較差。語譜圖正是具有這樣高度冗余信息,因此,RNN需要大量的數據才能進行正確訓練。
為了解決基于RNN模型存在的訓練需要耗費大量時間和需要大量數據才能進行正確訓練兩個問題,本文結合了殘差網絡(residual networks,ResNet)[19]和一維GCNN的優點,首先ResNet和GCNN均是卷積操作,可以實現并行計算,加快模型訓練速度。然后通過ResNet可以提取高層抽象特征,使模型具有一定的魯棒性,通過堆疊GCNN可以捕獲有效上下文信息,提高模型的識別率。同時本文對ResNet進行了優化,并且為了提升GCNN的性能使用了一維深度可分離卷積,并在此基礎上加入前饋神經網絡層(feedforward neural network,FNN),提出了門控卷積前饋神經網絡(gated convolutional feedforward network,GCFN)。基于此,本文構建了聯合CTC的ResNet-GCFN端到端聲學模型。并在Aishell-1中文數據集上,驗證了該模型具有較好的識別率和魯棒性。
殘差網絡主要由卷積層、批量歸一化(batch normalization,BN)和激活函數基本部分組成。卷積層主要用于特征提取,同時也可以用于設置適當的卷積層中卷積核步長對信息進行下采樣,以此減少計算量,其卷積計算公式如(1)所示。BN操作是一種特征標準技術,由于在訓練過程中,后面層輸入的數據分布會隨著前面層訓練參數的更新而變化,因此可以使用BN操作對網絡參數進行自適應調整,以此解決輸入數據發生偏移或者增大的影響[20]。激活函數是用于增加更多的非線性,以此擬合更加復雜的任務。

式中,x i表示輸入特征圖x的第i層通道,y j表示輸出特征圖的第j層通道,k表示卷積核,b表示偏置,M j是x的所有通道,被用于計算輸出特征圖的第j層通道。
通過堆疊上述卷積層、BN層和激活函數,并加入恒等映射層,構建了殘差網絡中的殘差結構單元(residual building unit,RBU),如圖1所示。

圖1 殘差結構單元(RBU)Fig.1 Residual building unit(RBU)
其中,設RBU輸入為x,輸出為H(x),F(x)表示網絡的學習殘差函數。因此RBU可以表示為F(x)=H(x)-x。如果x的維度與學習殘差函數維度不同,則可以利用1×1的卷積核進行升維或降維。加入恒等映射層,可以緩解梯度消失和網絡退化現象。
門控卷積神經網絡(GCNN)主要由卷積層和門控線性單元(gate linear unit,GLU)組成,GLU可以理解為是卷積神經網絡中的一種門控機制,它僅具有輸出門,該輸出門可以控制網絡層級之間的信息傳播,能夠使有用信息通過網絡,抑制無用的信息[13]。因此通過堆疊GCNN可以精確控制依賴項的長度,捕獲有效的長時間記憶。GCNN只有一個輸出門與循環神經網絡(LSTM,GRU)相比不同的是更加容易進行梯度傳播,不易造成梯度消失和梯度爆炸問題,而且在計算時間上也大幅度減少。其GCNN結構,如圖2所示。公式(2)可用于表示GLU計算結果。

圖2 GCNN單元Fig.2 GCNN unit

其中,E表示輸入的全部信息,E w表示傳入下一層的信息,而E v決定了E w傳入下一層的信息量,H表示最終輸出信息,σ是Sigmoid激活函數,?是矩陣元素之間的乘積。
CTC可以理解為是一種序列到序列映射的技術,它不僅解決了輸入輸出序列不對等問題,而且不需要輸入輸出序列在時間維度上進行任何預對齊。CTC是通過引入一個“blank”符號對靜音等狀態建模,來實現特征序列與文本序列的自動對齊。基于CTC的聲學模型訓練目標是在給定輸入序列X下,通過調整聲學模型中的參數最大化輸出標簽序列的對數概率從而使得輸出標簽序列Y*無限接近正確標簽序列,該過程極大地簡化了聲學模型的訓練過程,其計算公式如下:

CTC即給定語音特征序列X=(x1,x2,…,x T)映射到對應的文本序列Y=(y1,y2,…,yU),通常T≥U。根據實際情況,會對特征序列X進行適當的下采樣操作,減少訓練過程的計算量,使得特征序列X的長度成倍數縮小,即T=nT′,但T′≥U。然后由CTC在每幀上計算得到一個N維的向量,其中,N表示建模單元總數。CTC是通過Softmax函數將輸出向量轉換為概率分布矩陣Y′=(y′1,y′2,…,y′T′),其中,y′tk代表t時刻在第k個建模單元的概率。按照時間序列將每幀特征對應的建模單元進行合并,則可以得到一個輸出序列π,稱之為一條路徑。在輸入為X的條件下,輸出路徑為π的概率,其計算公式如下:

雖然在訓練過程,會進行下采樣操作。但預測的文本序列仍然會比標簽文本的序列要長。因此,需要對預測的文本序列進行路徑合并操作,首先進行刪除重復的非空白標簽,然后移除空白標簽。由于空白標簽表示這一幀沒有輸出,因此應該刪除它以獲得最終預測的文本序列。可以發現,最終預測的文本序列可以有多種路徑可能。將最終預測的文本序列記作l,即π與l為一對多關系,將π與l之間的轉換函數記作A。則給定輸入X的情況下,計算最終的文本序列為π的概率,其計算公式如下:

式(6)通過將所有文本序列的負對數概率求和,得到最終CTC損失函數,然后反向傳播訓練不斷降低CTC損失值使得到的輸出序列無限接近正確標簽序列,并通過CTC解碼可以得出最終的文本序列,式(7)、(8)可表示CTC解碼計算過程,π*表示最佳路徑,Y*表示最終的解碼結果:

ResNet-GCFN模型主要由ResNet和GCFN組成,該模型將語譜圖作為輸入,通過ResNet提取語譜圖的高層抽象特征,然后由GCFN對特征進行上下文建模,其網絡具體結構如圖3所示。

圖3 ResNet-GCFN聲學模型Fig.3 ResNet-GCFN acoustic model
ResNet-GCFN模型使用的輸入特征是語譜圖,通過對原始語音信號提取語譜圖,其中設置時間窗寬度為25 ms,窗移10 ms,使用漢明窗對原始語音信號進行分幀、加窗。然后經過快速傅里葉變換(FFT)和譜線能量計算得到200維的語譜圖特征,語譜圖最大程度保留了語音的原始信息。而傳統使用的語音特征(Fbank、MFCC)在FFT之后使用人工設計的濾波器組來提取特征,不可避免造成了頻域信息的損失。因此,該模型相比其他以Fbank,MFCC作為輸入的語音識別模型具有天然的優勢。
圖3中的a部分表示的是ResNet中的RBU結構,該RBU使用了文獻[21]的結構,該結構主要是將BN和激活函數放在卷積層之前,通過保持恒等映射層的“干凈”,可以讓信息在前向傳播和反向傳播中更加平滑傳遞。同時將Swish激活函數引入到RBU中,因為ReLU強制稀疏處理會減少模型有效容量,使某些參數得不到激活,產生神經元“壞死”現象。同時在實驗過程中,發現使用ReLU激活函數模型不能進行學習。而Swish彌補了ReLU的缺點,并且有利于緩解網絡中存在的梯度爆炸問題,在深層網絡模型中,Swish的效果是優于ReLU的[22],其Swish計算公式如下:

式中,β是常數或可以訓練的參數。
本文GCNN是融合了GLU的一維深度可分離門控卷積神經網絡。深度可分離卷積主要分為深度卷積和逐點卷積兩個過程[23],如圖4所示,假設輸入C×T的特征圖,深度卷積首先實現通道分離,然后進行逐通道卷積,一層通道只被一個卷積核卷積,一個卷積核也只負責一層通道,這個過程產生特征圖的通道數C和輸入的通道數是一樣的;而逐點卷積將得到的C×T′特征圖進行多通道卷積,逐點卷積決定了最終輸出特征圖的通道數。與常規卷積相比,深度可分離卷積極大地減少了計算量,在計算量相同的情況下,深度可分離卷積可以將網絡層數比常規卷積做得更深。因此,使用一維深度可分離卷積能夠極大程度提高了GCNN的層數,使得能夠捕獲更加有效的長時間記憶。

圖4 一維深度可分離卷積Fig.4 1D depth separable convolution
為了進一步提升GCNN的性能,為GCNN加入了FNN層,該層包括了矩陣線性變化linear層和swish非線性激活函數。通過FNN來變換GCNN的輸出空間,在一定程度上增加了GCNN網絡的有效容量,以此增加模型的表現能力[24],公式(10)可表示該層網絡。同時,為了防止過擬合,增加了dropout層。然后,通過一條“捷徑”連接,緩解了網絡層數較多引起的梯度消失和網絡退化問題?;诖?,提出了門控卷積前饋網絡(GCFN),如圖3中的b部分所示。

本文使用希爾貝殼開源的Aishell-1[25]數據集進行實驗,該數據集是中文普通話語音數據集,其采樣率為16 000 Hz。數據集包含了400個說話人的141 600條標準語料,其中訓練集、驗證集以及測試集分別包含120 098、14 326以及7 176條標準語料,數據總時長約為178 h。并且本文使用了Thchs30數據集提供的咖啡館噪聲(cafe)、汽車噪聲(car)和白噪聲(white)3種類型噪聲,用于模型在不同噪聲環境下的性能測試。實驗所用的硬件配置為I7-9750H處理器,16 GB運行內存,GPU顯卡為RTX2080Ti;操作系統是Ubuntu18.04,使用的深度學習框架是Tensorflow2.3。
(1)聲學模型參數:本文直接以漢字為建模單元,在Aishell-1數據集中收集到4 329個漢字,加上一個“blank”符號,因此本文的實驗模型最后一層全連接網絡的網絡節點是4 330。Batch size設置為8,使用的優化器是Adam,初始學習速率為1×10-3,在訓練過程中,當損失值突然增大或者趨于穩定時,將學習速率調為上一階段的1/10,繼續訓練,最終學習速率達到1×10-5。
(2)解碼:本文采用寬度為5的束搜索對聲學模型最后概率分布進行解碼。并通過訓練集數據訓練一個字符級3-元語言模型,通過淺融合集成到束搜索中,其中設置語言模型權重為0.2。
(3)實驗評價指標:為了測試識別結果的準確性,本實驗使用的評價指標為字錯誤率(character error rate,CER),其公式如下:

其中,R為替換錯誤字數,I為插入錯誤字數,D為刪除錯誤字數,N是正確標簽序列的總字數。
表1將本文ResNet-GCFN模型(CER)結果與CNNBLSTM-CTC[7]、ResNet-BLSTM-CTC[8]、DFSM-3-gram[12]、DFSM-T[12]和1DCNN-GLU-CTC[14]模型在測試集上進行了比較。其中,ResNet-GCFN和ResNet-BLSTM-CTC模型輸入是語譜圖特征,CNN-BLSTM-CTC、DFSM-3-gram、DFSM-T和1DCNN-GLU-CTC模型輸入是Fbank特征。由表1的數據表明,在沒有語言模型(language model,LM)的情況下,本文模型的性能已經達到了11.83%,表現優于其他模型;添加了LM,ResNet-GCFN實現了最低的CER,達到了11.43%。這驗證了ResNet和GCFN組合的有效性。

表1 模型的性能比較Table 1 Performance comparison of model %
為了進一步驗證ResNet-GCFN各部分的有效性以及改進的有效性,本文設置了DCNN-BLSTM、ResNet-BLSTM、DCNN-GCFN、ResNet-GCNN和ResNet-GCFN這5個模型,其中輸入均是200維的語譜圖,在均不外接語言模型情況下,分別在驗證集和測試集上進行了對比實驗,其網絡具體配置如表2所示。

表2 網絡結構配置Table 2 Network structure configuration
圖5和圖6分別表示訓練時的損失值曲線和錯誤率曲線??梢钥闯鲭S著迭代次數的增加,聲學模型損失值和錯誤率逐漸收斂到一個固定的范圍內。基于BLSTM的模型損失值減少至5.5以上,而基于GCNN的模型可以減少至3以下,可以得出,基于GCNN的模型相較于基于BLSTM的模型訓練收斂速度更快。并且基于改進的GCFN模型比基于BLSTM的模型顯著降低了聲學模型錯誤率,具體實驗結果如表3所示。

圖5 損失值曲線Fig.5 Loss curve

圖6 錯誤率曲線Fig.6 Error rate curve

表3 不同模型的訓練時間及CERTable 3 Training time and CER of different models
通過表3可知,本文提出的ResNet-GCFN模型在驗證集和測試集上字錯誤率均低于其他模型。在測試集上,分別比DCNN-BLSTM、ResNet-BLSTM、DCNNGCFN和ResNet-GCNN模型的字錯誤率降低了6.21、4.11、0.66個百分點和3.97個百分點,取得了較好的效果。通過ResNet-GCNN和ResNet-GCFN實驗,驗證了模型增加FNN層的有效性,GCFN極大地提高了模型的性能,這是因為GCNN存儲信息的容量是一定的,堆疊多層GCNN會導致傳入后面網絡的有效信息逐漸減少,而通過增加FNN層在一定程度上增加了GCNN的有效容量,使得模型具有較強的表現能力。通過對比DCNNBLSTM和DCNN-GCFN與ResNet-BLSTM和ResNet-GCFN兩組實驗,驗證了GCFN上下文相關性建模能力是優于BLSTM網絡的。這是因為CNN提取特征的最大性能是有限的,對于具有不同程度冗余信息的語譜圖難以進行有效的特征提取,從而會導致BLSTM網絡輸出向量可能不具有不變性和鑒別性,而GCFN可以通過GLU消除無用的信息,并且通過堆疊GCFN能夠精確控制依賴項的長度,捕獲有效的長時間記憶,從而使得模型識別效果較好。同時通過比較DCNN-BLSTM和ResNet-BLSTM與DCNN-GCFN和ResNet-GCFN兩組實驗,得出ResNet性能是優于單一堆疊的CNN網絡的,這是因為ResNet中的殘差結構能夠減輕訓練過程中網絡層數較多引起的訓練誤差,從而提高模型的性能。值得注意的是ResNet-GCFN的參數量僅僅是基于BLSTM模型的1/2左右,并且在每epoch訓練花費時間也相對較少,驗證了ResNet-GCFN模型在提高識別率的同時,也加快了訓練速度。
本文在表3的實驗基礎上,繼續研究ResNet-GCFN模型的魯棒性。將Thchs30數據集提供的咖啡館噪聲(cafe)、汽車噪聲(car)和白噪聲(white)3種類型噪聲,用于實驗模型在不同噪聲環境下的性能測試。設置5組不同信噪比的測試集,信噪比范圍是[-5,15],步長是5。每個測試集中的語音隨機含有不同類型的噪聲(white、cafe、car)。實驗結果如表4,CNN具有一定的抗噪聲能力,但DCNN-GCFN和ResNet-GCFN模型抗噪性能比其他模型都要好。因為模型在不同信噪比條件下,模型識別率的變化程度是不同的,可以看出DCNNBLSTM和ResNet-BLSTM識別率隨著信噪比的降低下降速率越快,不利于實際環境的應用,而DCNN-GCFN和ResNet-GCFN模型識別率隨信噪比降低下降速率相對緩慢。通過ResNet-GCFN和ResNet-GCNN對比實驗,可以發現改進的GCFN極大提高了ResNet-GCFN的魯棒性。ResNet-GCFN不僅受信噪比環境影響相對較小,而且在低信噪比下識別率相對較高。這是因為ResNet網絡能夠學習到高層抽象特征,使得對環境變化變得不敏感,此外GCFN網絡會將ResNet輸出特征轉換為更加具有不變性和鑒別性的特征,使得語音識別效果較好。

表4 不同信噪比下的CERTable 4 CER under different signal-to-noise ratio %
為了捕獲有效上下文信息以及加快模型的訓練速度,提高語音識別的準確率和魯棒性,本文提出了一種基于殘差網絡和門控卷積前饋網絡的端到端聲學模型(ResNet-GCFN)。該模型不再使用傳統循環神經網絡對上下文相關性建模,而是通過GCFN網絡捕獲有效的長時間記憶。通過實驗驗證了GCFN改進的有效性,并且驗證了GCFN的性能是優于BLSTM的。同時在不同信噪比下,驗證了基于GCFN模型的抗噪能力同樣是優于基于BLSTM模型的。ResNet-GCFN模型不僅提高了識別率和魯棒性,還加快了模型的訓練速度,相對于其他模型,有著更好的實用性。