張禹 李建文
摘要:為了解決語音識別系統(tǒng)在低資源語料下識別性能低下的問題,提出了一種采用因子分解時延神經(jīng)網(wǎng)絡(luò)的低資源語音識別方案,并從數(shù)據(jù)擴展和模型優(yōu)化兩個方面展開。在數(shù)據(jù)擴展方面提出了一種以語譜圖增強、語音合成以及半監(jiān)督學習為主的數(shù)據(jù)增強方案。在模型優(yōu)化方面,在因子分解時延神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上,引入卷積神經(jīng)網(wǎng)絡(luò)。實驗結(jié)果表明,在低資源語料環(huán)境下,與傳統(tǒng)低資源語音識別解決方案相比,本方案對語音識別系統(tǒng)性能的提升具有更好的效果。
關(guān)鍵詞: 時延神經(jīng)網(wǎng)絡(luò); 半監(jiān)督學習; 語音合成; 語音識別; 數(shù)據(jù)增強
中圖分類號: TP18 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2019)31-0001-04
Abstract: To solve the problem of low recognition performance of speech recognition system in low resource corpus, a low resource speech recognition scheme based on factorized time delay neural network is proposed, which is developed from data expansion and model optimization. In the aspect of data enhancement, the common speech data enhancement methods are synthetically compared, and a data enhancement scheme based on spectrogram enhancement, speech synthesis and semi-supervised learning is proposed. In the aspect of model optimization, on the basis of factorized time delay neural network, convolution neural network is introduced to extract local semantic information from spectrogram and further improve the performance of model recognition. The experimental results show that in the low resource corpus environment, compared with the traditional low resource speech recognition solution, this solution has a better effect on improving the performance of speech recognition system.
Key words: Time Delay neural network eyword; Semi-supervised training; Speech synthesis; Speech recognition;Data augmentation
在研究某些低資源語言的語音識別時,能夠收集到的數(shù)據(jù)集樣本稀少且質(zhì)量差。自行錄制或者直接購買都會消耗大量的資源。礙于限制,研究人員試圖尋求其他方法來解決問題,這就是低資源語音識別[1]。
解決低資源語料的語音識別問題,通常在兩個方面入手:1)使用更為高效的聲學模型[2]。Myat Aye等人使用時延神經(jīng)網(wǎng)絡(luò)(Time Delay Neural Network,TDNN)用于緬甸語語音識別,其性能優(yōu)于傳統(tǒng)的聲學模型[3]。2)使用數(shù)據(jù)增強方法來擴充有限的訓練數(shù)據(jù),從根本上解決訓練樣本不足的問題。Ramazan Gokay等人通過語音合成有效解決了土耳其語訓練樣本缺乏問題,最終將詞錯率降低了14.8%[6]。
為進一步提升低語料資源環(huán)境下的語音識別率,本文同時在模型優(yōu)化和數(shù)據(jù)增強兩方面入手。在模型優(yōu)化方面將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、因子分解時延神經(jīng)網(wǎng)絡(luò)相結(jié)合以構(gòu)建聲學模型,在數(shù)據(jù)增強方面,對比評估所有常見的數(shù)據(jù)增強方法并且根據(jù)結(jié)果有選擇性地對原始語料庫進行擴增。實驗結(jié)果表明,本文提出的方法有效提升了語音識別系統(tǒng)的識別性能。
1 數(shù)據(jù)增強
數(shù)據(jù)增強是能夠有效增加數(shù)據(jù)量和數(shù)據(jù)多樣性的方法,其最終目的是提升語音識別系統(tǒng)的識別率和降低聲學模型的過擬合程度。
1.1 語音合成
語音合成實際上是一種數(shù)據(jù)增強技術(shù)。在本文中根據(jù)原始語音訓練集的標簽,使用科大訊飛的訊飛智聲語音合成服務(wù)[7](TTS)來合成新的語音數(shù)據(jù)。
1.2 語速擾動
語速擾動是語音數(shù)據(jù)增強的常用方法之一,它通過給定的規(guī)整因子[α]和原始的語音信號[xt],來生成新的語音信號為
1.3 音量擾動
對所有訓練數(shù)據(jù)的音量大小進行調(diào)節(jié)。在0.7到1.4之間隨機選擇一個系數(shù),對訓練數(shù)據(jù)的音量進行調(diào)整。
1.4 聲道長度擾動
聲道長度擾動(Vocal Tract Length Perturbation,VTLP)[9]則和聲道長度歸一化(Vocal Tract Length Normalization,VTLN)[3]相反,它通過使用不同的擾動系數(shù),由一個說話人的語音產(chǎn)生具有不同聲道長度的衍生語音數(shù)據(jù),以此來達到擴充語音數(shù)據(jù)的目的。
對于VTLP,本文為每一段語音信號隨機生成一個扭曲因子[β],用于扭曲頻率軸,將原始頻率[f]映射到新的頻率[f']。如公式(3)所示,其中,[S]是采樣頻率,[Fhi]是一個足以覆蓋重要的共振峰的邊界頻率,為4800Hz。
1.5 語譜圖增強
語譜圖增強[10]是一種直接作用于音頻語譜圖的增強方法,它將即將進入神經(jīng)網(wǎng)絡(luò)的音頻特征當作一幅圖像[11]來進行處理。語譜圖增強分為三個部分,首先是時間扭曲,即語譜圖在時間方向的變形。另外兩種方法分別為時間屏蔽和頻率屏蔽,即在時域或者是頻域上隨機屏蔽一段連續(xù)的時間步或頻率通道。本文采取的特征增強策略具體如圖1所示,a是原始語譜圖,b是過時間扭曲的語譜圖,c是經(jīng)過時間遮蔽的語譜圖,d是經(jīng)過頻率遮蔽的語譜圖。
1.6 半監(jiān)督訓練
對于低資源語音識別來說,最大的問題往往是缺乏足夠數(shù)量的標注數(shù)據(jù)或大部分語音數(shù)據(jù)并沒有或者沒有進行準確的標注。針對這種問題,可以使用半監(jiān)督訓練方法:首先使用有標注的數(shù)據(jù)來訓練語音識別系統(tǒng),后作為種子系統(tǒng)來對無標注的數(shù)據(jù)進行解碼,生成新的標注數(shù)據(jù)。然后對解碼的結(jié)果進行置信度評分,選擇高分的標注數(shù)據(jù)加入原始訓練集中,后用于模型的訓練。
2基于CNN-TDNN-F的聲學模型
2.1 卷積神經(jīng)網(wǎng)絡(luò)(CNN)
本文利用CNN來提取語譜圖的局部特征。CNN是由LeCun于2014年提出的,在深度學習中被廣泛應用的一種前饋神經(jīng)網(wǎng)絡(luò)模型。CNN網(wǎng)絡(luò)模型對圖像特征有優(yōu)秀的學習能力,所以將語音生成的語譜圖輸入網(wǎng)絡(luò)中,使得CNN將由語譜圖通過圖像的方式來學習其特征,并建模。
2.2 因子分解時延神經(jīng)網(wǎng)絡(luò)(TDNN-F)
因子分解時延神經(jīng)網(wǎng)絡(luò)(Factorised Time Delay NeuralNetwork,TDNN-F)是DanielPovey提出的基于TDNN的一種改進版本,和傳統(tǒng)的TDNN相比,它主要有兩點改進。一是增加了中間層,它將原來的權(quán)重矩陣[M]分解為兩個因子矩陣[A]和[B],并約束[B]矩陣為半正交矩陣,滿足[M=AB],從而降低了中間層的維數(shù),在減少了模型參數(shù)的同時具有優(yōu)秀的建模能力。二是增加了類似殘差網(wǎng)絡(luò)的跳層連接以緩解梯度消失。
2.3 CNN-TDNN-F聲學模型
本文將CNN和TDNN-F相融合應用于聲學模型的構(gòu)建之中。CNN擅長提取局部特征,作用于空間上的抽象和泛化,并且能夠在空間維度上提取更具有表現(xiàn)力的高維特征。在TDNN-F中,每一層都有著不同的時間分辨率,前一藏層的輸出經(jīng)過拼接之后作為當前層的輸入。和前一層相比,當前層能獲取更為廣闊的上下文信息,層次越高,網(wǎng)絡(luò)所獲得的信息也越廣泛。同時由于中間層的存在,和傳統(tǒng)的TDNN相比,TDNN-F的層數(shù)能夠達到更深,獲得的感受野越大。
本文結(jié)合了CNN與TDNN-F的優(yōu)點,將它們?nèi)诤虾髴糜跇?gòu)建語音識別模型,同時考慮其在空間和時間上的特征聯(lián)系,充分利用它在空間和時間上的表征能力。
3實驗及結(jié)果分析
3.1 實驗平臺
本文所有的實驗都是在32G內(nèi)存,2塊1080TI顯卡搭建的平臺上進行的。
3.2 實驗語料
本文使用Mozilla的開源語音數(shù)據(jù)庫CommonVoice,選擇其中的兩個子數(shù)據(jù)集,一個是蒙古語數(shù)據(jù)集MN,時長為12小時。另一個是中文語音數(shù)據(jù)集ZHCN,時長為20小時。二者的采樣率均為16kHz,聲道為單聲道,每一句話為1~8秒。兩個數(shù)據(jù)集均取10%用于驗證集和測試集。
3.3 評價指標
本文選取通用的詞錯誤率(Word Error Rate,WER)作為語音識別性能的評價指標,其計算公式如下:
[WER=I+D+ST×100%] ? ? ? ? ? ? ? ? ?(4)
其中,[I]表示插入錯誤的詞數(shù),[D]表示刪除錯誤的詞數(shù),[S]表示替換錯誤的詞數(shù),[T]表示句子中的總詞數(shù)。WER值越小,表示識別效果越好。
3.4 實驗結(jié)果及分析
本文選取的語音片段時長在1~8s范圍內(nèi),將不足8s的以留白方式處理,統(tǒng)一至8s,使用Librosa工具包進行預加重,系數(shù)為0.97。以幀長25ms,幀移10ms進行分幀,加漢明窗。
(1)不同網(wǎng)絡(luò)模型的對比實驗
TDNN模型參考文獻[3],網(wǎng)絡(luò)包含有8個隱層,每一層含有512個節(jié)點,學習率恒定為0.001,激活函數(shù)為Relu。上下文配置為{-1,1}。
TDNN-LSTM模型參考文獻[4],整體分為三個部分。作為第一部分的輸入層是一個LDA變換,作為特征和模型空間的變換和投影。作為第二部分的隱藏層是如上所述的TDNN層,共8層,每層有1024個單位。前兩層和第四層的延遲上下文是{-1,0,1},后三層是{-3,0,3}。第三部分是LSTM層。
Transformer模型參考文獻[5],共有8個頭部,模型各有4個Encoder和Decoder,隱藏層單元數(shù)目為512,Residual-drop設(shè)置為0.3。模型的輸入為120為的濾波器組FBanks特征(FilterBanks,F(xiàn)Banks)特征,上下文窗口設(shè)置為{-3,-2,-1,0}。
TDNN-F模型共計8層,后接上一個60維的降維層,時間步長為3,使用40維的MFCC加上100維的i-vector特征,基于LF-MMI準則進行訓練[18]。
CNN-TDNN-F模型是在上文TDNN-F模型的基礎(chǔ)上,在前面加上3層CNN,利用CNN來進一步提取語譜圖中的聲學信息。模型的輸入特征為語譜圖。對各個聲學模型的語音識別性能進行對比,其實驗結(jié)果如表1所示。
由表1可知,基于CNN-TDNN-F的聲學模型在中文語音數(shù)據(jù)集和蒙古語語音數(shù)據(jù)集中均取得了最好的成績。這是因為和TDNN,LSTM以及Transformer相比,在網(wǎng)絡(luò)層數(shù)相近的情況下,TDNN-F模型的參數(shù)量更小,模型的復雜度更低,尤其是在低資源語料的環(huán)境下,對過擬合現(xiàn)象的緩解有助于模型性能的提升,CNN層的加入加強了模型對語音信息的提取能力。
(2)不同結(jié)構(gòu)的CNN-TDNN-F的對比實驗
為了研究不同結(jié)構(gòu)下的CNN-TDNN-F模型語音識別性能,針對CNN和TDNN-F的層數(shù)進行對比實驗。結(jié)果如表2所示。其中3c8t表示3層CNN和8層TDNN-F。
由表2可知,在總層數(shù)為11層的前提下,當CNN層數(shù)達到4層的時候,模型的詞錯率達到了最低。隨著CNN層數(shù)的不斷增加,模型的詞錯率開始上升,模型的識別性能開始下滑。這是因為隨著CNN層數(shù)的增加,模型在語譜圖中所提取的特征信息就越高級,但是同時TDNN-F的層數(shù)越少,這導致模型對上下文信息的建模能力下降,其影響要大于CNN層數(shù)增加帶來的影響。由結(jié)果可知,當TDNN-F的層數(shù)小于7層時,模型的性能整體上開始出現(xiàn)下滑。
(3)不同語音數(shù)據(jù)增強的對比實驗
為了從根本上解決低資源語音識別系統(tǒng)識別率低下的問題,對于低資源語音數(shù)據(jù)集的數(shù)據(jù)增強必不可少。本文羅列了近年來所有常見的低資源語料數(shù)據(jù)增強方法,如表3所示。
在表3顯示的各種語音數(shù)據(jù)增強中,②表示的語譜圖增強只選擇了時間遮蔽和頻率遮蔽,因為在實際的實驗過程中發(fā)現(xiàn)時間扭曲的提升效果有限,其計算成本遠高于另外兩個。⑦表示的半監(jiān)督學習,根據(jù)表1中的TDNN和TDNN-F這兩個模型建立種子系統(tǒng),并對所有的無標注數(shù)據(jù)進行識別,最后根據(jù)識別結(jié)果的置信度高低進行篩選以確定為無標注數(shù)據(jù)的正確標注,并加入訓練集中去。實驗結(jié)果如圖2、表4所示。只展示在測試集的結(jié)果,其中在MN數(shù)據(jù)集上沒有進行③實驗。
圖2和表4分別顯示了不同語音數(shù)據(jù)增強方法以及不同的語音數(shù)據(jù)增強組合方案對語音識別效果的影響。其中,方法③~⑦生成了新的訓練數(shù)據(jù),①②對提取到的特征進行了處理,實質(zhì)上沒有新數(shù)據(jù)的產(chǎn)生。在不增加原始訓練集大小的方法中,語譜圖增強的應用使得模型的性能提升最大,這是因為和VTLP相比,語譜圖增強增加了特征的多樣性,同時保持特征信息其余部位的完整性,而VTLP相當于在頻率軸上進行扭曲變形,這使得采集到的特征丟失了相當部分的信息,降低了特征的表現(xiàn)力,所以對模型識別性能的提升不大。在方法③~⑦中,TTS和無監(jiān)督學習對于語音識別性能的提升大于語速音量的擾動和背景噪聲的添加,這是因為基于數(shù)據(jù)擾動而產(chǎn)生的新數(shù)據(jù)實質(zhì)上還是基于原始數(shù)據(jù)的變化而得到的,而TTS和無監(jiān)督訓練得到的新的數(shù)據(jù)具有更多的差異性。組合方案①④⑤⑥和②④⑤⑥一共產(chǎn)生了3倍的新數(shù)據(jù),但是其對模型的性能提升卻并不明顯,這進一步說明了在語音數(shù)據(jù)增強中一味的地堆積數(shù)據(jù)量,而忽視數(shù)據(jù)差異性的重要性是不可取的。
結(jié)合表4以及圖2的實驗結(jié)果,確定最終的數(shù)據(jù)增強組方案是②基于特征的語譜圖增強和以及③TTS和⑦無監(jiān)督學習的組合,最后對表1中的所有主流聲學模型進行實驗,觀察經(jīng)過數(shù)據(jù)增強后的聲學模型性能表現(xiàn)。在MN和ZHCN數(shù)據(jù)集上的實驗結(jié)果分別如圖3、圖4所示,只顯示在測試集上的結(jié)果。
由圖3圖4可知,CNN-TDNN-F模型經(jīng)過數(shù)據(jù)增強方案的優(yōu)化過后,在MN和ZHCN數(shù)據(jù)集上性能的提升程度排在靠前的位置。
4 結(jié)束語
首先本文將融合的CNN-TDNN-F模型用于語音識別任務(wù)中,其次研究了不同層次結(jié)構(gòu)CNN-TDNN-F模型的性能差異,然后驗證當前所有的主流語音數(shù)據(jù)增強方法,提出一套語音數(shù)據(jù)增強方案。實驗結(jié)果表明,提出的CNN-TDNN-F模型性能優(yōu)于其他主流模型,將數(shù)據(jù)增強方案應用于各個主流模型之上,和傳統(tǒng)的數(shù)據(jù)增強方法相比,其對CNN-TDNN-F系統(tǒng)性能的提升最大。
參考文獻:
[1] Hannun A,Case C,Casper J,et al.Deep Speech:Scaling up end-to-end speech recognition[EB/OL].2014:arXiv:1412.5567[cs.CL].https://arxiv.org/abs/1412.5567
[2] Li Q, Russell M J. An analysis of the causes of increased error rates in children's speech recognition[C]//Seventh International Conference on Spoken Language Processing,2002.
[3] Aung M A A,Pa W P.Time delay neural network for Myanmar automatic speech recognition[C]//2020 IEEE Conference on Computer Applications (ICCA).February27-28,2020,Yangon,Myanmar.IEEE,2020:1-4.
[4] Van H N.An end-to-end model for Vietnamese speech recognition[C]//2019 IEEE-RIVF International Conference on Computing and Communication Technologies (RIVF).March20-22,2019,Danang,Vietnam.IEEE,2019:1-6.
[5] Pan L X,Li S,Wang L B,et al.Effective training end-to-end ASR systems for low-resource Lhasa dialect of Tibetan language[C]//2019 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC).November18-21,2019,Lanzhou,China.IEEE,2019:1152-1156.
[6] Gokay R,Yalcin H.Improving low resource Turkish speech recognition with data augmentation and TTS[C]//2019 16th International Multi-Conference on Systems,Signals & Devices (SSD).March21-24,2019,Istanbul,Turkey.IEEE,2019:357-360.
[7] Oord A, Dieleman S, Zen H, et al. Wavenet: A generative model for raw audio[J]. arXiv preprint arXiv:1609.03499, 2016.
[8] 舒帆,屈丹,張文林,等.采用長短時記憶網(wǎng)絡(luò)的低資源語音識別方法[J].西安交通大學學報,2017,51(10):120-127.
[9] Jaitly N, Hinton G E. Vocal tract length perturbation (VTLP) improves speech recognition[C]//Proc. ICML Workshop on Deep Learning for Audio, Speech and Language. 2013, 117.
[10] Park D S,Chan W,Zhang Y,et al.SpecAugment:a simple data augmentation method for automatic speech recognition[C]//Interspeech2019.ISCA:ISCA,2019.
[11] DeVries T, Taylor G W. Improved regularization of convolutional neural networks with cutout[J]. arXiv preprint arXiv:1708.04552, 2017.
【通聯(lián)編輯:唐一東】