国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ResNet-BLSTM的端到端語音識別

2020-09-15 04:47胡章芳付亞芹夏志廣馬蘇東
計算機工程與應(yīng)用 2020年18期
關(guān)鍵詞:殘差語音卷積

胡章芳,徐 軒,付亞芹,夏志廣,馬蘇東

1.重慶郵電大學(xué) 光電工程學(xué)院,重慶 400065

2.重慶郵電大學(xué) 先進制造學(xué)院,重慶 400065

1 引言

自動語音識別(Automatic Speech Recognition,ASR)是一項復(fù)雜任務(wù),系統(tǒng)基于嚴(yán)格設(shè)計的處理流程,包括輸入特征、聲學(xué)模型、語言模型和隱馬爾可夫模型(Hidden Markov Models,HMM)[1]。而 ASR 的長期目標(biāo)是能夠在不同的環(huán)境下有效處理人們的講話,對于傳統(tǒng)的GMM-HMM混合模型而言相當(dāng)有挑戰(zhàn)性。一個良好的聲學(xué)模型應(yīng)該具備有效模擬語音信號中的各種聲學(xué)變化能力,從而獲得在不同講話和環(huán)境條件下的魯棒性。語音識別模型通常將特征提取和分類器作為兩個獨立的問題研究,先設(shè)計特征提取方法,然后基于提取的特征優(yōu)化分類器性能。這種將兩者分割的方法有兩個缺點[2-3]:一是人工設(shè)計特征提取方法需要精心設(shè)計和大量實驗驗證;二是人工設(shè)計的特征對于當(dāng)前的分類任務(wù)并不能保證是最優(yōu)的。DNN及其變體能夠同時進行特征提取和分類任務(wù)。如文獻[4]表明,DNN 的低層能夠提取對說話人自適應(yīng)的特征,DNN 的高層能夠提高不同類別的區(qū)分性,從而提升最終分類效果。這種特征規(guī)整與分類任務(wù)的聯(lián)合優(yōu)化特性是DNN優(yōu)于基于高斯混合模型(Gaussian Mixture Model,GMM)一個重要原因。

最近幾年,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長短時記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)在語音識別技術(shù)中相較于傳統(tǒng)的語音識別技術(shù)方法,取得了較好的識別率。但其網(wǎng)絡(luò)結(jié)構(gòu)輸入端的特征通常是梅爾頻率倒譜系數(shù)[5(]Mel Frequency Cepstral Coefficents,MFCC),該特征是基于人耳聽覺特性提出來的,它與頻率成非線性對應(yīng)關(guān)系,但易造成高頻區(qū)域信息損失的問題,而且傳統(tǒng)語音特征為了計算量的考慮必須采用非常大的幀移,無疑造成了時域上的信息損失,在說話人語速較快的時候表現(xiàn)得更為突出。因此對語音識別任務(wù)來說,并不能保證其為最優(yōu)特征。

進一步,文獻[6]為了解決這些問題,研究了從原始語音波形作為神經(jīng)網(wǎng)絡(luò)的輸入,用神經(jīng)網(wǎng)絡(luò)訓(xùn)練的方法,提取到較于MFCC 更好的特征,該方法不需要任何人工干預(yù)處理,并且網(wǎng)絡(luò)的參數(shù)是由訓(xùn)練數(shù)據(jù)和目標(biāo)函數(shù)來確定。文獻[7]采用一層時域卷積作為特征提取器,結(jié)合卷積網(wǎng)絡(luò)、長短時記憶網(wǎng)絡(luò)(Convolution-LSTMDeep Neural Network,CLDNN)的混合神經(jīng)網(wǎng)絡(luò),首次將以原始語音波形為輸入的模型識別性能達到以MFCC 特征為輸入的模型識別性能。但是由于它們采用的卷積層數(shù)很少,一般只有1~2層,并且只把CNN視作一種特征提取器來使用,這樣的卷積網(wǎng)絡(luò)結(jié)構(gòu)表達能力十分有限。為了解決這一問題,文獻[8]中采用多時間頻率分辨率卷積網(wǎng)絡(luò)與帶記憶模塊的前饋序列神經(jīng)網(wǎng)絡(luò)(Feed-forward Sequential Memory Network,F(xiàn)SMN)相結(jié)合的模型,提升了語音識別性能和訓(xùn)練速度。但采用更多的FSMN 層,會使得訓(xùn)練出現(xiàn)梯度消失問題,導(dǎo)致訓(xùn)練的不穩(wěn)定性。

針對以上問題,本文提出了一種基于殘差網(wǎng)絡(luò)(ResNet)[9]與雙向長短時記憶網(wǎng)絡(luò)(BLSTM)[10]相結(jié)合的模型結(jié)構(gòu),提升端到端模型的識別率和系統(tǒng)魯棒性。采用殘差網(wǎng)絡(luò),直接將整段語音的語譜圖作為輸入,相比其他以傳統(tǒng)語音特征作為輸入的語音識別模型速度更快。其次,從模型結(jié)構(gòu)來看,本文的ResNet與傳統(tǒng)端到端系統(tǒng)中的CNN 做法不同,它借鑒了圖像識別中做法,通過將語音轉(zhuǎn)化成一張圖像作為輸入,再將時間和頻率作為圖像的兩個維度,然后通過一些卷積層和池化(pooling)層的組合,這樣大大增強了CNN的表達能力。其次在ResNet 后接BLSTM,通過該網(wǎng)絡(luò)能夠?qū)W習(xí)到語音信號的上下文信息,從而提升端到端模型的識別率。

2 DCNN模型

CNN 作為語譜圖的特征提取器,完整的CNN 包括卷積層和池化層,在卷積網(wǎng)絡(luò)最后一層使用最大池化層(Max-pooling)對輸出的特征進行固定大小的采樣,由此在減少參數(shù)的同時保留了絕大部分特征信息,提升性能。由于CNNs擅長對輸入端的局部結(jié)構(gòu)進行建模,并且卷積層對語譜圖進行卷積操作時,其卷積權(quán)重都是全共享的,相較于DNN網(wǎng)絡(luò)而言,可以大幅度提升訓(xùn)練速度。DCNN模型如圖1所示。

圖1 DCNN模型

3 ResNet-BLSTM模型

單一堆疊的CNN 網(wǎng)絡(luò)隨著層數(shù)的增加,模型會發(fā)生梯度消失和網(wǎng)絡(luò)性能的退化問題。因此,本文在原有的CNN 中引入殘差模塊以及并行的卷積層,并接入BLSTM 層,提出了RseNet-BLSTM 模型。該模型由兩個模塊組成,RseNet 模塊和BLSTM 模塊。RseNet 能夠提取語譜圖當(dāng)中的局部區(qū)域特征,然后由BLSTM 對特征進行上下文建模。

3.1 模型輸入

由于時域分析不能直觀反映語音信號的頻率特征,頻域分析又不能表示語音信號隨時間的變化關(guān)系,因而文獻[11]提出了語譜圖的分析方法,它結(jié)合了頻譜圖與時域波形圖的優(yōu)點,能夠直觀地顯示語音信號頻譜隨時間的變化,是一種動態(tài)的頻譜。從語譜圖上能夠直觀地看見在任意給定的時間,不同的頻率成分顏色不同,則頻譜值不同。本文將原始語音信號轉(zhuǎn)換成大小為N×N三通道的語譜圖(Spectrogram),同時在原始語譜圖上增加三組不同方差[0.2,0.4,0.6]的高斯白噪聲點,用于提高模型的魯棒性。原始語譜圖和帶噪語譜圖如圖2所示。

圖2 原始語譜圖及帶噪語譜圖

3.2 ResNet模塊

3.2.1 殘差網(wǎng)絡(luò)

在堆疊的CNN 網(wǎng)絡(luò)中引入了殘差模塊,殘差模塊基本原理如圖3所示。

圖3 殘差網(wǎng)絡(luò)結(jié)構(gòu)

設(shè)輸入為X,輸出為y,權(quán)重矩陣為Wi,F(X,(Wi))表示為網(wǎng)絡(luò)的學(xué)習(xí)殘差函數(shù),具體公式如下:

如果X的維度與學(xué)習(xí)殘差函數(shù)維度不同,為了實現(xiàn)輸入與輸出之間的加法,則利用捷徑線上的線性投影Ws矩陣完成。引入殘差模塊的前提是一個殘差模塊至少有兩層卷積網(wǎng)絡(luò)。

殘差模塊的引入,使得網(wǎng)絡(luò)在優(yōu)化參數(shù)的過程相較于普通堆疊網(wǎng)絡(luò)更容易,并且隨著網(wǎng)絡(luò)層數(shù)的增加能夠獲得更加準(zhǔn)確的識別率。

3.2.2 ResNet模塊設(shè)計

單一疊加的卷積神經(jīng)網(wǎng)絡(luò)主要是由卷積層和池化層組成,卷積層越多,網(wǎng)絡(luò)深度越深。雖然深層的網(wǎng)絡(luò)能夠提取到更加豐富的特征,但由此也會導(dǎo)致模型復(fù)雜,以及計算量過大的問題。本文基于上述考慮,ResNet模塊設(shè)計結(jié)構(gòu)如圖4所示。

圖4 ResNet模塊

ResNet模塊包括8層卷積層、2層池化層,以及一組并行卷積層。由于本文在設(shè)計卷積核尺寸時是從以下兩個方面考慮:(1)語譜圖包含語音信號的特點;(2)過大的卷積核,容易導(dǎo)致計算量增加,不利于增加網(wǎng)絡(luò)的深度。故本文選擇的卷積核尺寸分別有3×3和5×5及1×1。

圖4 中自上而下分別是語譜圖、殘差層、并行卷積層、最大池化層。殘差層的卷積核大小都是3×3,卷積核的數(shù)量依次遞增,分別為32、64、128,之后接一層池化層,其目的是為了減少參量,加快訓(xùn)練速度。

同時為了解決語音說話人語速導(dǎo)致識別率低問題,提高模型的魯棒性,本文設(shè)計了并行的卷積組,該層每組卷積核數(shù)量均為128,但大小不一致,目的是為了提取到不同尺度的特征。最后將三組輸出與上一層的輸出進行特征融合。使得模型能夠適應(yīng)說話人的語速。

由于語音信號大部分信息都反映在能量譜中,因此在最后一層使用最大池化層,保留語譜圖中的紋理特征。

3.3 BLSTM模塊

3.3.1 BLSTM網(wǎng)絡(luò)

由于語音信號普遍具有長時間的特性,而DNN 在處理語音信號時,經(jīng)常使用固定語音幀作為輸入,不能利用前后語音幀之間的信息。而LSTM[12]能夠很好地解決上述問題。圖5為基本的LSTM結(jié)構(gòu)。

圖5 LSTM網(wǎng)絡(luò)結(jié)構(gòu)

其中xt為輸入,ht表示為當(dāng)前t時刻的狀態(tài),yt為網(wǎng)絡(luò)模型最終輸出。LSTM推導(dǎo)公式如下:

其中,i、o、f、c分別代表結(jié)構(gòu)中的輸入門、輸出門、遺忘門和當(dāng)前記憶單元;σ(?)表示為sigmoid 激活函數(shù);w·x為輸入層連接的權(quán)值矩陣,w·c為與記憶單元連接的權(quán)值矩陣。最終得出LSTM的輸出。

BLSTM對每一個訓(xùn)練序列分別作用一個向前和向后的LSTM 網(wǎng)絡(luò),并且連接著同一個輸出層,這樣使得網(wǎng)絡(luò)能夠充分學(xué)習(xí)到序列的上下文信息。

3.3.2 BLSTM模塊設(shè)計

語音信號是序列信號,而且序列之間的信息是相互關(guān)聯(lián)的,因此該模塊選擇BLSTM,每個BLSTM 層的單元大小設(shè)置為128,最后用softmax層得到每個字符的最大概率。由于BLSTM在訓(xùn)練過程中耗時[13-14],且訓(xùn)練困難,所以本文在該模塊只選擇兩層BLSTM。該模塊如圖6所示。

圖6 BLSTM模塊

3.3.3 CTC算法

語音識別是一種序列到序列映射的任務(wù),其中X={X1,X2,…,Xt}為輸入序列,Y={Y1,Y2,…,YL}為目標(biāo)序列。在語音識別中,X是聲信號,Y是字符序列。為了訓(xùn)練聲學(xué)模型,必須使每個輸入對應(yīng)的輸出概率P(Y|X)最大化。在給定一個輸入序列的情況下,提供一個輸出序列分布的一種方法,該方法將潛在變量序列O={O1,O2,…,Ot}的多到一映射引入作為最終預(yù)測的較短序列。某個序列Y的概率定義為所有映射到該序列的潛在序列的概率之和。文獻[15]使用了一種連接時序分類(CTC)的方法,通過對每個時間步長的網(wǎng)絡(luò)輸出用softmax 函數(shù)來指定潛在序列上的分布,它提供了在該時間步從輸出到標(biāo)簽字符表中每個字符的概率Pr(Ot|X)。并且在標(biāo)簽文本中引入了一個額外的空輸出類“blank”,用于表示在特定的時間步長內(nèi)不輸出字符的概率。每個時間段內(nèi)可能存在的序列有多條路徑,在計算過程中,首先合并重復(fù)的連續(xù)非空白標(biāo)簽,然后刪除空白標(biāo)簽,其中“blank”類用“ - ”代替,σ(?)表示為輸入到輸出的映射函數(shù),公式如下所示:

因此最終輸出序列的概率Pr為每條可能出現(xiàn)的路徑概率σ總和:

CTC采用一種類似于HMM[13]模型中的向前的動態(tài)規(guī)劃算法,能夠有效地計算上述式子。為了使用CTC去預(yù)測輸出序列,使用了最好的路徑解碼算法,在給定網(wǎng)絡(luò)輸出的情況下,每一幀的輸出是獨立的。因此在每個時間步長中,通過得到每一幀的輸出標(biāo)簽概率,就能得到概率最大的可能序列。然后將σ(?)函數(shù)應(yīng)用到該序列中,得到預(yù)測序列:

其中,Π*是輸出序列最可能的路徑概率,其形式為Π*=arg maxΠPr(Y|X),因為CTC 能夠?qū)τ谡Z音信號直接映射到標(biāo)簽,無需依賴語音音頻和對應(yīng)標(biāo)簽序列的一一對齊,因此本文采用CTC對語音信號到中文字符建模。

4 實驗步驟

4.1 實驗數(shù)據(jù)

本文采用的語音數(shù)據(jù)為開源語音數(shù)據(jù)集Aishell-1[16],此數(shù)據(jù)集都是在真實環(huán)境下錄音,包括多名來自中國不同地區(qū)的不同發(fā)音的參與者共同錄制。環(huán)境都是在安靜的室內(nèi),一共使用三種不同的設(shè)備錄音:高保真麥克風(fēng)(44.1 kHz,16 bit);Android系統(tǒng);手機(16 kHz,16 bit);iOS系統(tǒng)手機(16 kHz,16 bit)。本文使用的是采樣率為16 kHz的語音,時長為178 h。其中驗證集為10 h,測試集為5 h。本文將分別在驗證集和測試集上驗證模型的性能。

4.2 模型訓(xùn)練和優(yōu)化

在優(yōu)化模型的過程中,本文使用的初始學(xué)習(xí)率為0.01,優(yōu)化器為Adam,并使用退化學(xué)習(xí)率的機制,即每循環(huán)M次,學(xué)習(xí)率自動下降0.95。初始權(quán)重值設(shè)定范圍為[-0.1,0.1],初始偏置值為0.1。同時在訓(xùn)練過程中,為了防止發(fā)生過擬合,本文使用dropout 方法,每層網(wǎng)絡(luò)的dropout初始值設(shè)定為0.95。并且在計算損失值的過程中,使用L2 正則化去改善擬合。損失函數(shù)使用CTC_Loss,具體公式如下:

其中S為訓(xùn)練集,Pr(Y|X)為上文給定X輸出Y序列的概率。

4.3 評估指標(biāo)參數(shù)

本實驗使用的評估指標(biāo)為字錯誤率(WER),目的是為了檢測識結(jié)果的準(zhǔn)確性,具體公式如下:

其中,S為替換,D為刪除,I為插入,N為原始語音相應(yīng)文本的字詞總數(shù)。

4.4 實驗平臺

本文實驗均在Ubantu16.04(64 bit)系統(tǒng)上運行。其中深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)框架訓(xùn)練和測試軟件均為Tensorflow;運行內(nèi)存為16 GB,GPU設(shè)備為4臺GXT1080ti。

5 實驗結(jié)果分析

5.1 實驗對比模型參數(shù)

為了驗證本文模型的有效性,對比了以下三種端到端識別模型:(1)DNN+BLSTM+CTC 模型[17];(2)CNN+LSTM+DNN+CTC[18]模型;(3)CNNmaxout+DNNmaxout+CTC[11]模型。具體模型結(jié)構(gòu)參數(shù)見表1。

表1 模型1-3網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)

其中模型1中的MFCC特征參數(shù)為26維,輸入為前后9 幀加當(dāng)前幀,一共494 維參數(shù)。模型2 的特征為濾波器組特征(Filter bank,F(xiàn)bank),是將MFCC 最后一步的離散余弦變換去掉而得到的語音特征,其與MFCC特征相比,保留了更多的原始語音數(shù)據(jù)。模型3和本文模型的輸入均為語譜圖。

5.2 模型性能探究

5.2.1 模型性能比較

為了探究不同模型的性能,本文先分別在訓(xùn)練集上訓(xùn)練4種模型,保存4種模型的7次迭代次數(shù),然后在驗證集做驗證,找出其最優(yōu)的迭代次數(shù),最后在測試集上做性能測試。圖7為各模型在訓(xùn)練集上的效果。

圖7 訓(xùn)練集Epoch迭代次數(shù)

從圖7 中可以得出,模型1 和模型2 分別在迭代至200次左右時,模型性能能夠達到最佳。而采用語譜圖作為輸入的模型3和本文模型需要迭代至260次左右才能到達最優(yōu)性能。這是因為模型3 和本文模型都是通過卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)語譜圖的特征信息,因此都需要較大的迭代次數(shù)。隨著迭代次數(shù)的增加,各模型對訓(xùn)練數(shù)據(jù)趨于擬合狀態(tài)。本實驗共保留迭代次數(shù)為150、175、200、225、250、275、300用于驗證集測試。

為了找出各模型最佳效果的迭代次數(shù),本文設(shè)置了第二組實驗,在驗證集上測試出最優(yōu)效果,如圖8所示,模型1和2在迭代次數(shù)為200、225時效果最優(yōu),模型3和本文模型在迭代次數(shù)為275時效果最優(yōu)。

圖8 驗證集性能表現(xiàn)

最后設(shè)置一組實驗將在驗證集上得到的各模型最好的迭代次數(shù)用于測試集上做比較,如圖9所示。

圖9 測試集性能表現(xiàn)

由于本模型使用了殘差結(jié)構(gòu)和并行卷積層,性能和魯棒性均優(yōu)于其他模型。從表2中可以看到,和其他模型相比較,本文模型WER 分別下降了5.43%、3.71%、2.52%。

表2 各模型的表現(xiàn)結(jié)果

5.2.2 語音文本字數(shù)長度

由于語音識別性能也易受到語音文本字數(shù)長度的影響,比如一段語音的字數(shù)過長,易導(dǎo)致識別效果下降。因此本文設(shè)置一組實驗,探究各模型對于不同長度語音字數(shù)的識別效果。在本實驗中,測試集文本長度有三組,分別為[0~5]、[5~10]、[10~15]。測試結(jié)果為平均值,實驗結(jié)果如圖10所示。

圖10 語音字數(shù)長度對WER的影響

從圖10中可以得出,本文提出的模型在[0~5]、[5~10]語音字數(shù)長度范圍內(nèi),表現(xiàn)出優(yōu)于其他模型的性能;而在[10~15]范圍內(nèi)時,識別性能有所下降。產(chǎn)生上述的原因可能是由于本文使用的輸入是語譜圖,因此在限定語譜圖大小的情況下,本文模型不利于連續(xù)的長語音片段識別。解決的方法:擴展語譜圖大小,以及設(shè)置更深的卷積層提取特征信息。

6 結(jié)束語

本文提出了一種用于端到端語音識別模型:由ResNet 和BLSTM 構(gòu)成,并以語譜圖作為輸入。該模型相較于另外幾類端到端模型,本文提出的模型總體性能均優(yōu)于其他模型。但該模型的缺點是不易訓(xùn)練連續(xù)的長語音。此后,下一步工作會在該模型做進一步的優(yōu)化,以及在帶噪聲的語音集下進行訓(xùn)練和測試。

猜你喜歡
殘差語音卷積
基于雙向GRU與殘差擬合的車輛跟馳建模
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
基于殘差學(xué)習(xí)的自適應(yīng)無人機目標(biāo)跟蹤算法
卷積神經(jīng)網(wǎng)絡(luò)的分析與設(shè)計
魔力語音
基于MATLAB的語音信號處理
基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
從濾波器理解卷積
基于MQ3與MP3的價廉物美的酒駕語音提醒器
對方正在輸入……