呂浩田,馬志強,2,王洪彬,謝秀蘭
(1. 內(nèi)蒙古工業(yè)大學 數(shù)據(jù)科學與應用學院,內(nèi)蒙古 呼和浩特 010080;2. 內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務工程技術研究中心,內(nèi)蒙古 呼和浩特 010080)
端到端語音識別模型將傳統(tǒng)的聲學、發(fā)音和語言模型統(tǒng)一為一個單獨的聲學模型,不僅降低了語音識別建模的復雜程度[1-3],同時相較于傳統(tǒng)模型性能表現(xiàn)更為優(yōu)異[4-8]。端到端語音識別已經(jīng)成了語音識別領域的主流方式,其中基于 CNN-CTC 的聲學模型[9-10]是端到端語音識別的主流模型之一。蒙古語作為一門少數(shù)民族語言,一方面其語音識別的發(fā)展起步較晚;另一方面其缺少可用于語音識別研究的大規(guī)模公開語料,這使得蒙古語語音識別的準確率低于英語、漢語等語種且研究相對困難。
低資源語音識別是指缺乏語音、標注、發(fā)音字典和文本等數(shù)據(jù)資源中某一方面或幾方面資源的語音識別研究。缺乏大規(guī)模公開語料的語音識別研究是低資源語音識別研究中面臨的困難之一。對于低資源語音識別的研究主要有三個方向: ①對低資源語料進行數(shù)據(jù)增強,如利用其他語言數(shù)據(jù)擴充數(shù)據(jù)[11-12],對訓練所使用的音頻數(shù)據(jù)進行語速擾動[13-14]; ②針對低資源語料建立參數(shù)稀疏模型,如Zhang W、Fung P使用稀疏逆協(xié)方差矩陣,提高了模型的相對識別精度[15-16],Miao Y、Metze F等人通過深度Maxout網(wǎng)絡提高了混合系統(tǒng)和瓶頸特征系統(tǒng)的性能[17],Miao Y、Metze F等人提出了跨語言子空間混合模型[18]; ③遷移學習,利用其他語種的高資源語料輔助低資源語料完成建模,如Vu N T, Imseng D等人提出的多語言聲學模型[19]。蒙古語目前沒有公開的大規(guī)模語料數(shù)據(jù),低資源語音識別的研究是蒙古語語音識別的重要研究方向之一。
本文的主要貢獻是: 在低資源蒙古語語料下提出了應用高資源語種語料構建CNN-CTC蒙古語語音識別模型的層遷移訓練方法,并在層遷移訓練方法中設計了自上向下、自下向上和間隔抽取等三種層遷移策略。在 10 000句英語語料數(shù)據(jù)集和 5 000句蒙古語語料數(shù)據(jù)集上進行了實驗,驗證了層遷移模型的有效性,且在最優(yōu)遷移策略下得到了比普通基于CNN-CTC的蒙古語語音識別模型WER低10.18%的基于CNN-CTC的蒙古語層遷移語音識別模型。
20世紀90年代成功的單語言系統(tǒng)到其他語言的移植和多語言語音識別的研究,引起了與具體語言無關的聲學模型用于未知語言的建模的研究[20]。20世紀90年代末,研究人員對與語言無關的聲學模型進行了大量的研究[21-25]。低資源語音識別聲學模型的研究主要針對三個方面展開: 一是對聲學特征的改進或增強;二是對聲學模型的改進;三是針對聲學模型的訓練方法的改進。
目前針對小語種跨語言的低資源語音識別聲學特征方面的研究主要為語音數(shù)據(jù)和特征的改進。錢彥旻、劉加在傳統(tǒng)基于詞置信度的無監(jiān)督方法的基礎上提出數(shù)據(jù)篩選準則的改進,相對于有監(jiān)督訓練系統(tǒng)有相對8%的降低[26]。劉迪源、郭武提出利用最小音素錯誤率準則來優(yōu)化瓶頸網(wǎng)絡以及GMM-HMM模型,相比于傳統(tǒng)方法獲得了9%的相對詞錯誤率下降[27]。秦楚雄,張連海也提出了兩種特征改進方法,并通過實驗證明了其有效性[28-29]。
對低資源語音識別聲學模型進行的研究主要為新模型的引入。黃光許、田垚等人在聲學模型中引入了LSTM遞歸神經(jīng)網(wǎng)絡,在OpenKWS13標準數(shù)據(jù)集上進行實驗,結果表明該技術相比深度神經(jīng)網(wǎng)絡基線系統(tǒng)詞錯率有10%的降低[30]。另外,舒凡、屈丹等人針對低資源環(huán)境下由于標注訓練數(shù)據(jù)不足造成語音識別系統(tǒng)識別率急劇下降的問題,提出一種采用長短時記憶網(wǎng)絡的低資源語音識別(LSTM-LRASR)方法。該方法在OpenKWS16評測數(shù)據(jù)的實驗結果表明,采用LSTM-LRASR方法搭建的低資源語音識別系統(tǒng)的詞錯率相對基線系統(tǒng)下降了29.9%,所有查詢詞的查詢項權重代價提升了60.3%[31]。
針對低資源語音識別聲學模型訓練方法的研究和改進相對較少。Zhang Y、Chuangsuwanich E等人研究了自適應校正遞歸神經(jīng)網(wǎng)絡,實驗證明,應用此網(wǎng)絡的系統(tǒng)性能優(yōu)于應用DNN和長短時記憶網(wǎng)絡的系統(tǒng),且遷移學習方法可應用于此架構進一步優(yōu)化低資源語音識別性能[32]。
低資源語音識別聲學模型通過聲學特征、模型結構和訓練方法的不斷改進,建模能力越來越好,對低資源數(shù)據(jù)擬合程度越來越高。隨著特征和模型的優(yōu)化以及多任務學習、遷移學習技術的改進,低資源識別聲學模型的建模能力將不斷增強。
神經(jīng)網(wǎng)絡遷移學習是指將遷移學習中源領域中訓練的部分神經(jīng)網(wǎng)絡轉(zhuǎn)化為目標域神經(jīng)網(wǎng)絡的一部分。針對神經(jīng)網(wǎng)絡的遷移學習,2014年Yosinsk等人對深度神經(jīng)網(wǎng)絡和可遷移性之間的關系進行了研究,研究表明一些基于CNN的神經(jīng)網(wǎng)絡適合進行神經(jīng)網(wǎng)絡遷移學習[33]。
基于CNN-CTC的蒙古語聲學模型結構如圖1 所示。其中輸入層的輸入節(jié)點矩陣由蒙古語語料中最長的音頻幀數(shù)決定,蒙古語數(shù)據(jù)集中最長音頻共1 469幀,所以模型輸入層的輸入節(jié)點矩陣為200×1 600的二維矩陣。
圖1 基于CNN-CTC的蒙古語聲學模型結構
卷積神經(jīng)網(wǎng)絡部分由包含4個卷積塊結構的卷積塊集、兩層全連接層、蒙古語softmax層和CTC組成。
如圖2所示,實驗證明利用CNN-CTC聲學模型以蒙古語音素為建模單元,最終在測試集上的詞錯率為73.23%,高于利用CNN-CTC聲學模型直接對蒙古語字進行建模在測試集上的詞錯率為53.62 %,故蒙古語數(shù)據(jù)集的建模單元采用蒙古語字,其數(shù)量為800。所以softmax層輸出維度為800×200,其中200是由輸入層長度1 600除以4個卷積塊中池化核大小的乘積而來。
圖2 不同建模單元WER對比圖
語譜圖是頻譜圖在語音上的應用,通過對語音時域信號進行處理計算的頻譜圖。語譜圖的橫軸為時間軸,縱軸代表的是頻率,每一個坐標點代表能量值。由于語譜圖使用二維坐標系表示時間、頻率、能量三個維度的信息,所以采用顏色的深淺來表示能量值的大小。相對于傳統(tǒng)的聲學特征MFCC等而言,語譜圖對于原始語音數(shù)據(jù)的處理變換較少,可以更好地留存原始語音中所包含的信息,在聲學建模過程中所建立的聲學模型可以學習到更多的有效信息。
語譜圖的獲取過程如圖3所示,具體步驟如下:
圖3 語譜圖特征提取過程
(1) 將原始語音模擬信號轉(zhuǎn)換為計算機可以存儲和計算的數(shù)字信號,也就是音頻的采集錄音,在錄音時需要設定參數(shù),用以確認音頻的保存格式,并設置儲存格式以及其聲道數(shù)、采樣率和每個采樣點存儲位數(shù)。
(2) 對錄制音頻的語音信號進行分幀加窗,設置幀長和幀移并進行分幀操作,之后選擇窗函數(shù)進行加窗操作,一般為漢明窗。
(3) 分幀加窗后的每一幀語音信號進行FFT,將時域信號變?yōu)殡x散的頻域信號,最后對經(jīng)過FFT的數(shù)據(jù)取對數(shù)得到語譜圖。
為了得到最優(yōu)的基于CNN-CTC的蒙古語聲學模型,本實驗在基于CNN-CTC 的聲學模型基礎結構上設置模型的卷積塊數(shù)目分別為1、2、3、4、5、6并使用由3h蒙古語語料數(shù)據(jù)作為訓練集,0.5h數(shù)據(jù)作為開發(fā)集,0.5h數(shù)據(jù)作為測試集的低資源蒙古語語料數(shù)據(jù)集IMUT_Mon_4h數(shù)據(jù)集對模型進行訓練和測試,最終得到不同卷積塊數(shù)目下所對應的基于 CNN-CTC的蒙古語聲學模型在訓練集和測試集上的詞錯率。
實驗分別采用每幀40維的蒙古語MFCC特征和每幀200維的蒙古語語譜圖特征,對擁有不同卷積塊數(shù)目的基于CNN-CTC的蒙古語聲學模型進行訓練,并且利用IMUT_Mon_4h蒙古語語料數(shù)據(jù)集對在此情況下基于CNN-CTC的蒙古語聲學模型進行探究實驗,探尋最優(yōu)模型,結果如表1所示。
表1 蒙古語不同卷積塊數(shù)模型WER
由表中的數(shù)據(jù)可以看出,在蒙古語語料IMUT_Mon_4h上,選擇蒙古語語譜圖特征訓練基于CNN-CTC的蒙古語聲學模型。無論是在訓練集還是測試集上的WER,都遠遠低于使用蒙古語MFCC特征所訓練的基于CNN-CTC的蒙古語聲學模型。所以采用蒙古語語譜圖特征所訓練的基于CNN-CTC的蒙古語聲學模型比采用蒙古語MFCC特征訓練的模型識別正確率更高,且當模型卷積塊數(shù)目為4時在測試集上可降低1.7%的WER。
另外,訓練集WER和測試集WER在卷積塊數(shù)目為4之前隨著卷積塊數(shù)目的增加而下降,但當卷積塊數(shù)目大于4之后WER開始逐漸增長。由此可知在IMUT_Mon_4h數(shù)據(jù)集上,訓練數(shù)據(jù)對卷積塊數(shù)目為4時基于CNN-CTC的蒙古語聲學模型的訓練較為充分且沒有明顯的過擬合現(xiàn)象出現(xiàn)。但是隨著卷積塊數(shù)目繼續(xù)增長,模型在訓練集和測試集上的WER開始上升。
因此,使用IMUT_Mon_4h數(shù)據(jù)集對卷積塊數(shù)目分別為1、2、3、4、5、6的基于CNN-CTC的蒙古語聲學模型進行訓練,可以訓練得到最佳性能的基于CNN-CTC的蒙古語聲學模型結構應該為卷積塊數(shù)目為4時的模型結構,此時模型在測試集上的WER為53.62%。
基于CNN-CTC的蒙古語層遷移語音識別模型如圖4所示。該模型在基于CNN-CTC的聲學模型結構上,利用基于CNN-CTC的高資源語種聲學模型Ms中的卷積塊集,構建基于CNN-CTC的蒙古語層遷移語音識別模型Mt。模型輸入層、softmax層和CTC與基于CNN-CTC的蒙古語聲學模型相同。層遷移模型由Mt.m個卷積塊結構、2個全連接層、蒙古語softmax層和CTC組成。
如圖4所示,其中CNN-CTC-Target為將基于CNN-CTC的高資源語種聲學模型的第一個卷積塊遷移至基于CNN-CTC的蒙古語層遷移語音識別模型所構建的層遷移模型。
圖4 基于CNN-CTC的蒙古語層遷移語音識別模型
基于層遷移模型訓練過程構建層遷移模型訓練算法,如算法1所示。算法的目的是輸出最佳模型,通過遍歷所有策略,對每種策略得到的所有模型進行測試,選擇在測試集上WER最低的模型作為最終層遷移模型輸出。
層遷移模型的具體訓練步驟如下:
(1) 使用已有的高資源語種語料訓練基于CNN-CTC的高資源語種聲學模型Ms。
(2) 分別采用自下向上、自上向下、間隔抽取的遷移層選擇策略,完成Ms對Mt的層遷移,得到多個層遷移模型。
(3) 將由模型Ms,遷移至模型Mt的卷積塊中的層學習率α設置為較低的值,層遷移聲學模型中其他層的學習率β設置為較高的值。
(4) 使用低資源蒙古語語料數(shù)據(jù)集對層遷移模型進行適應性訓練,分別使用學習率α和β更新對應的參數(shù)。
(5) 通過步驟(3)和步驟(4)對所有模型進行訓練和測試,根據(jù)測試結果選擇最佳模型作為最終輸出模型。
為了研究不同級配類型對抗滑性能的影響,本文選擇了AC—13、SMA—13和OGFC—13三種典型的瀝青路面表面層的級配類型,三種級配走向如圖1。
算法1: 層遷移模型訓練算法輸入: 高資源語料庫Data_s,低資源語料庫Data_t,遷移層選擇策略policy = {自下向上,自上向下,間隔抽取},學習率alpha、beta,基于CNN-CTC的高資源語種聲學模型結構Ms,目標模型結構Mt,損失函數(shù)Lctc輸出: 目標模型Mtarget1. initalize(Ms) #初始化Ms2. for i in Data_s do3. train(Ms)#使用Data_s中的樣本訓練Ms4. end for5. initalize (Mt)#初始化Mt6. Mtarget=Mt7. M_list = transfer(Ms,Mt,policy)#使用策略policy利用Ms對Mt進行層遷移8. for M in M_list do #遍歷使用策略policy層遷移得到的所有模型9. for j in Data_t do10. M.P=Mt.P-alpha?Lctc?P #用學習率alpha對M中遷移層參數(shù)集P進行更新11. M.Q=Mt.Q-beta?Lctc?Q #用學習率beta對M中其它層參數(shù)集Q進行更新12. end for13. if test(M).wer < test(Mtarget).wer then14. Mtarget=M #如果模型M測試詞錯誤率低于Mtarget,則Mtarget變?yōu)镸15. end if16. end for
4.1.1 實驗數(shù)據(jù)
本實驗中,采用IMUT_Mon_4h。語料中包含有5 000句wav格式的蒙古語音頻以及5 000句蒙古語文本。所有的蒙古語語料音頻均為單聲道,錄音過程中采用的采樣率為16kHz,音頻數(shù)據(jù)存儲時的比特位寬度為16位。蒙古語為音標型文字,每一個詞都是由一到多個蒙古語音標組成的,英語的文字組成與蒙古語的這一特性較為相似,且擁有大量的公開數(shù)據(jù)集,所以選用英語作為高資源語種。
英語數(shù)據(jù)集采用英語和捷克語電話語音語料庫Vystadial 2013數(shù)據(jù)集中約45個小時的英語語料voip_en中分層抽取的9h英語語料訓練集,0.5h開發(fā)集,0.5h測試語料集所構成的英語語料數(shù)據(jù)集voip_en_10h。語料中包含有10 000句wav格式的蒙古語音頻以及10 000句英語文本。所有的英語語料音頻為單聲道,采樣率為16kHz,音頻存儲的比特位寬度為16位。
在高資源模型數(shù)據(jù)量對層遷移模型的影響實驗中,分別使用了由voip_en_10h訓練集中隨機抽取的3h、6h和9h的英語語料數(shù)據(jù)得到voip_en_3h、voip_en_6h、voip_en_9h三個數(shù)據(jù)集對基于CNN-CTC的英語聲學模型進行訓練。
4.1.2 模型相關設置
在本實驗中,基于CNN-CTC的英語聲學模型結構均為第3節(jié)中得到的在voip_en_10h數(shù)據(jù)集上表現(xiàn)最佳的包含5個卷積塊的模型結構。基于CNN-CTC的蒙古語層遷移語音識別模型為包含5個卷積塊的基于CNN-CTC的蒙古語聲學模型結構。
實驗中所有模型都采用ReLU函數(shù)作為神經(jīng)元節(jié)點的激活函數(shù),采用Adam優(yōu)化函數(shù)。模型中遷移而來的卷積塊學習率設置為α、其他層學習率設置為β,一階矩估計的指數(shù)衰減率設置為0.9,二階矩估計的指數(shù)衰減率設置為0.999,每次參數(shù)更新后學習率衰減值設置為0.0,模糊因子設置為10-8。
為了確定模型中遷移而來的卷積塊學習率α和其他層學習率β的最佳設置值,驗證層遷移的有效性,得到最佳的遷移層選擇策略和高資源模型訓練所使用的語料數(shù)量與層模型性能的關系,本文設計了層遷移模型訓練中學習率選擇實驗、層遷移有效性實驗、遷移層選擇策略實驗和高資源模型訓練數(shù)據(jù)量對層遷移模型的影響實驗。
本實驗使用voip_en_10h英語語料數(shù)據(jù)集訓練的基于CNN-CTC的英語聲學模型,對基于CNN-CTC的蒙古語層遷移語音識別模型,進行自下向上的選擇策略進行第1至3個卷積塊的遷移。實驗中,將模型訓練過程中優(yōu)化函數(shù)的學習率α和β設置為多組不同值進行了實驗,三組綜合最好的實驗結果如表2所示。
表2 層遷移模型訓練實驗結果對比
由實驗結果可知,訓練過程中的學習率α和β分別設置為0.000 01和0.000 1時模型在測試集上的WER最低,訓練模型的時間較長。當學習率α和β分別設置為0.000 1和0.001時模型的訓練耗時在實驗中最短,在測試集上測試結果中WER比學習率α和β分別設置為0.000 01和0.001時略高。
因此學習率的設置應該根據(jù)實際應用場景中的具體情況決定,如果需要得到識別正確率更高的模型,同時可以接受一定程度上的訓練耗時增加,則應該采用較低的學習率α和較低的β,也就是實驗中的0.000 01和0.000 1兩個取值;如果想要在盡量短的訓練耗時下得到對識別正確率要求適當放松的模型,則學習率應該采用較低的α和稍高的β。
在卷積塊數(shù)目為5時, CNN-CTC-Target模型與CNN-CTC-Mon-5、CNN-CTC-Mon-4三個模型在訓練過程中,對應loss值變化的曲線對比如圖5 所示。
圖5 模型訓練過程中l(wèi)oss值變化曲線對比
由圖5可以看出,隨著epoch的增加,三個模型的loss值下降。其中CNN-CTC-Mon-4模型相比CNN-CTC-Mon-5模型loss值下降得速度快,最終loss值低。而CNN-CTC-Target的收斂速度相較于前兩者loss值下降速度更快,最終loss值低,故層遷移可以加速模型的訓練速度,且收斂性更好。
圖6為三個模型的WER對比圖。由圖6可以看出,在IMUT-Mon-4h數(shù)據(jù)集的訓練集和測試集上,CNN-CTC-Target模型的WER都低于另外兩個模型的WER。這說明基于CNN-CTC的蒙古語聲學模型層遷移方法可以有效地降低基于CNN-CTC的蒙古語聲學模型的WER。
圖6 模型WER對比圖
在遷移層的選擇實驗中利用voip_en_10h英語語料數(shù)據(jù)集訓練的基于CNN-CTC的英語聲學模型對卷積塊數(shù)目為5的面向低語料資源的蒙古語CNN-CTC層遷移聲學模型分別以自下向上、自上向下和間隔抽取三種選擇策略對模型卷積塊進行層遷移實驗。
實驗中面向低語料資源的蒙古語CNN-CTC層遷移聲學模型的卷積塊數(shù)目為5,表3為采用自下向上的遷移層選擇策略的實驗結果。
表3 采用自下向上選擇策略的不同模型WER
當實驗采取自上向下的選擇策略時,采用自上向下的遷移層選擇策略進行遷移的面向低語料資源的蒙古語CNN-CTC層遷移聲學模型的實驗結果如表4所示。
表4 采用自上向下選擇策略的不同模型WER
當實驗采取間隔抽取的選擇策略時,基于CNN-CTC的蒙古語層遷移語音識別模型的卷積塊數(shù)目為5,采用間隔抽取的遷移層選擇策略將基于CNN-CTC的英語聲學模型中部分卷積塊,遷移至面向低語料資源的蒙古語CNN-CTC層遷移聲學模型的實驗結果如表5所示。
表5 采用間隔抽取選擇策略的不同模型WER
對采用不同遷移層選擇策略的模型,在訓練集和測試集上的WER隨遷移卷積塊數(shù)目的變化進行對比。
可以看出,在遷移過程中,當采取自下向上的遷移層選擇策略時,且選取的遷移卷積塊集合為1~3時取得最低WER。而且當使用自下向上的方法選取卷積塊時,在選取的遷移卷積塊集合中依次加入1、2、3時WER逐漸下降,當繼續(xù)依次加入4和5時WER開始上升。當使用自上向下的策略選取卷積塊時,開始時WER高于自下向上的選擇策略。隨著卷積塊數(shù)目的增多,WER呈現(xiàn)逐漸下降的態(tài)勢。當使用間隔抽取的策略時,遷移卷積塊集合為1和3時模型的WER,低于在集合中繼續(xù)加入5后的WER,且遷移卷積塊集合為2和4時模型的WER,低于集合為3和5的WER。
這說明在層遷移過程中所遷移的卷積塊接近輸入層時,其遷移后對基于CNN-CTC的蒙古語層遷移語音識別模型的性能提升相對較大。相反,所遷移的卷積塊越接近輸出層,其遷移后對層遷移聲學模型的性能提升較小,甚至有可能產(chǎn)生負面影響。
圖7為使用不同高資源模型訓練數(shù)據(jù)量得到的層遷移模型在訓練集和測試集上的WER變化折線圖。
圖7 數(shù)據(jù)量對層遷移模型的影響實驗結果
由圖7可知,WER隨著高資源模型訓練語料的增加逐漸下降,說明在一定的數(shù)據(jù)量下,隨著高資源模型所使用的訓練語料的增加,層遷移模型的性能會逐漸提高,最終的模型識別WER會逐漸降低。
本文為了使基于CNN-CTC的蒙古語聲學模型可以在低資源的限制下達到更高的識別準確率,提出了基于CNN-CTC的蒙古語層遷移語音識別模型,并對層遷移模型進行了實驗探究。實驗確定了合適的學習率α和β,并表明層遷移模型可以在一定程度上加速基于CNN-CTC的蒙古語聲學模型的訓練速度,有效降低模型的WER。當采用自下向上的遷移層選擇策略時,可以獲得最佳的層遷移模型。當層遷移過程中所遷移的源模型卷積塊接近輸入層時,對目標模型的性能提升相對較大。