?

基于WGAN的語音增強算法研究

2019-02-25 06:33王怡斐韓俊剛樊良輝
關鍵詞:信噪比噪音卷積

王怡斐,韓俊剛,樊良輝

(西安郵電大學,西安 710121)

0 引 言

語音增強是信號處理領域一個重要的研究問題。在實際聲學場景中,語音信號都會受到不同程度的噪音污染,在嚴重情況下,語音會完全淹沒到噪聲中,導致無法辨別原始語義。語音增強是指從帶噪語音中盡可能提取純凈的語音信號,以提高語音質量和語音可懂度[1]。目前,語音增強在移動通信、語音識別、安全監聽、人機對話、人工電子耳蝸等領域有著廣泛的應用[1-4]。

近年來,語音增強方法得到快速發展。譜減法[5]通過減去估計的短時噪聲譜,得到估計的干凈語音。在文獻[5]中,提出了用基于全極點模型的迭代維納濾波方法進行增強,然而通過這些傳統方法[5-6]增強后的語音有“音樂噪聲”殘留問題[7]。噪聲與干凈語音呈非線性關系,使用神經網絡建模的方法被提出,使用降噪自編碼進行語音增強被廣泛采納[8]。文獻[7-9]提出用淺層神經網絡作為非線性濾波器,但訓練出的模型在數據量較小、網絡規模小的情況下性能較差。此外,淺層神經網絡的隨機初始化經常出現陷入局部極小值或停滯問題[10],特別是包含多隱藏層的架構。Hinton在文獻[11]中開始深層網絡的訓練,提出了一種基于貪婪的分層無監督學習算法,每一層都經過無監督的預訓練來學習輸入的抽象特征,該算法被成功應用于自動語音識別(automatic speech recognition, ASR)和語音增強任務[11]中。文獻[12]提出了一種基于回歸深層神經網絡(deep neural networks, DNN) 模型的語音增強框架,利用多條件訓練數據對關鍵特征進行分析,可以去除音樂噪聲殘留。但基于DNN的語音增強系統存在需要預訓練、需要手工提取語音信號特征值,且存在無法處理看不見的噪聲等缺陷。文獻[13]提出使用最小二乘生成對抗網絡到語音增強任務中,成功為語音去噪。卻依然存在原始生成對抗網絡模式崩潰、訓練緩慢等問題。

生成對抗網絡[14](generative adversarial nets, GAN)理論上具有“無限”的生成能力,被廣泛應用到圖像、視頻以及語音領域[15-16]。本研究使用了生成對抗網絡來做加性噪聲的語音增強任務,應用WGAN[17]來學習帶噪語音與干凈語音信號之間的復雜映射,基本解決了 GAN訓練不穩定、生成模型和判別模型難以平衡、GAN模式崩潰等問題[17],確保了生成語音信號的質量。進一步探索了生成對抗網絡在語音和語言處理方面的應用。

1 網絡介紹

在語音增強過程中,要預估出帶噪語音中噪聲的分布特性,再結合加性噪聲的特點進行去噪還原。為模擬出噪聲信號和語音信號之間復雜的非線性關系,構建基于WGAN的語音增強生成對抗網絡模型,實現帶噪語音到干凈語音信號的映射。

1.1 語音增強生成對抗網絡

WGAN算法是一種改進的生成模型架構,通過深層神經網絡映射得到噪聲分布特性。WGAN用對抗的過程來估計生成模型,它由生成模型G(generative model)和判別模型D(discriminative model)2部分組成。生成模型用來捕獲噪聲數據的真實分布,學習帶噪語音到干凈語音的映射。判別模型用來區分干凈語音和生成模型生成的增強語音。與原始的生成對抗網絡相比,WGAN理論上給出了GAN訓練不穩定的原因,即交叉熵[17](Jensen-Shannon divergence,JS散度)不合適用來衡量生成數據分布和真實數據分布的距離,故使用Wasserstein[16]距離替代JS散度。在語音增強任務中,能否準確衡量真實語音數據分布和生成語音數據分布之間的的距離,決定了增強效果的好壞。Wasserstein距離能夠更好地衡量語音信號之間的差異,指導網絡的訓練過程,故本文使用WGAN代替原始的GAN。同時,相比GAN,WGAN可以生成更多樣的語音,避免了模式崩潰造成的增強語音信號失真的問題。文獻[1]使用最小二乘生成對抗網絡(least squares GAN, LSGAN)進行語音增強,同樣存在原始生成對抗網絡的缺點,本文方法應用WGAN,在網絡結構上進行優化。結合語音增強這個具體任務設計網絡,配置網絡參數,并使用Wasserstein距離作為優化方式訓練GAN,下節詳細介紹網絡配置。語音增強模型中,生成模型和判別模型滿足以下關系

(1)

(1)式中:G=gθD=fw;z為帶噪語音與語音信號之間的關系,服從分布p(z);x為干凈語音特性,服從分布Pr。生成模型的目標是最大化D(G(z)),令判別模型無法正確判別生成語音。而判別模型的目的是最大化式L,以此開展網絡對抗訓練,達到增強語音的目的。

1.2 生成模型

生成模型的網絡結構如圖1所示,分為編碼和解碼2個過程。它的功能是輸入帶噪語音,生成增強語音。實際聲學場景中,噪音大多數來自隨機的噪音源,與干凈語音呈現非線性關系,故采用卷積網絡提取它們的關系特征,并利用激活函數線性整流函數(rectified linear unit, ReLU)對關系特征進行融合,得到抽象的噪音分布特征。該激活函數也解決了因網絡層數增加,訓練過程中出現梯度彌散,導致訓練無法繼續的問題。根據提取出的特征就可以進行對語音去噪還原。為了提高增強效果,將生成模型設計成全卷積U-Net結構[18],無全連接層。當編碼/解碼部分沒有被使用時,網絡將通過跳過連接方式,即直接連接編碼層和對應的解碼層跳過該部分。此外,跳過連接減少了訓練的參數數量和訓練時間。同時在生成模型中加入批標準化層(batch normalization, BN)加快收斂速度并提高模型去噪泛化能力、加入池化層對提取出的特征進行選擇和稀疏處理,以保證模型性能。編碼層的濾波器個數分別為1,16,32,32,64,64,128,128,256,256,512。卷積核大小為30,步長為1。在編碼過程,數據分別流經卷積層、批標準化層、池化層,共十一次迭代。解碼過程是編碼階段的鏡像過程,即與編碼過程參數配置保持一致的反卷積過程。

圖1 生成模型網絡結構Fig.1 Network structure of generative model

圖2 判別模型網絡結構Fig.2 Network structure of discriminative model

1.3 判別模型

判別模型網絡結構如圖2所示。它的功能是判別輸入語音,得到判別概率。不同噪音的分布特征不同,由帶噪語音獲得的增強語音和干凈語音分布存在偏差,無法準確模擬干凈語音。通過卷積神經網絡提取該特征上的差異作為判別依據,區分干凈語音和生成語音。判別模型與生成模型的卷積設計類似,濾波器個數分別為16,32,32,64,64,128,128,256,256,512。卷積核大小為30,步長為1。在網絡中加入批標準化層,降低初始化參數對訓練結果的影響、加快訓練速度,使用Leaky ReLU作為激活函數,其數學表達式為(2)式,最后加入全連接層輸出判別結果。在判別模型中,數據首先經過合并層,然后依次流經卷積層、批標準化層,共10次迭代。最后經過全連接層輸出結果。

(2)

(2)式中,α是一個很小的常數,可以修正數據分布。

1.4 訓練過程

首先輸入帶噪語音來訓練生成模型,帶噪語音經過生成模型編碼和解碼,產生增強語音,然后將它和帶噪語音一起輸入到判別模型,并和干凈語音進行比較,應用WGAN定義的損失函數更新網絡參數。生成模型與判別模型競爭對抗,不斷迭代,使生成語音逐步接近干凈語音,從而實現語音增強。

實驗中,生成模型G直接處理采樣率為16 kHz的帶噪語音信號,輸出是增強語音信號。數據首先經過卷積操作,輸入到批標準化層中進行歸一化操作,之后經過ReLU激活函數進入下一層網絡。在解碼時,輸入反卷積層和批標準化層,同樣使用ReLU作為激活函數。生成模型的優化過程如圖3所示。根據判別模型的輸出以及生成語音和干凈語音的差距,調整權重參數。

判別模型D的輸入來源于2部分:①帶噪語音信號;②生成模型的輸出或干凈語音信號,對數據合并后,進行一系列卷積操作和歸一化操作,使用Leaky ReLU非線性激活函數,最后經過全連接層輸出判別結果。

圖3 生成模型的優化過程Fig.3 Tuning process of generative model

判決模型的優化過程如圖4所示。生成模型生成增強信號,判別模型對帶噪語音/干凈語音和帶噪語音/生成語音進行對比并做出分類,在迭代過程中不斷調整權重參數。

實驗中網絡使用RMSprop (root mean square prop)算法[19]更新參數,迭代次數為200次。學習率為0.001,batch大小為100。在訓練時,采用生成模型和判別網絡模型交替訓練的策略。在語音增強生成對抗網絡的訓練中,每訓練完一次生成模型之后,就去訓練判別模型非常耗時,而且容易造成過擬合的問題。因此,在實際訓練中,每更新一次生成網絡,更新5次判別網絡。

圖4 判決模型的優化過程Fig.4 Tuning process of discriminative model

實驗中語音信號處理為二進制格式。為了增加數據量,使網絡能學習到更多語音信號的細節,對信號加重疊矩形窗。同時因為語音信號的短時平穩性,加窗處理之后數據會呈現一定的周期性,有利于網絡的學習。一條語音長度為58 720,大約3 s。窗寬為8 192,大約為0.5 s,重疊200 ms。測試數據采用相同的處理,網絡輸出之后對波形進行重構。

本文使用的語音增強生成對抗網絡具有以下優點:當前大多數生成模型都要使用馬爾科夫鏈,該網絡只用到了反向傳播,不需要馬爾科夫鏈。而且從實際結果看,GAN能產生更好的語音信號。同時在訓練過程中無需手工提取語音信號特征值,可以直接使用原始音頻進行端對端的語音增強。也無需對噪聲信號和干凈語音之間的獨立性做不精確假設,不必對噪聲頻譜進行估計。該網絡學習了多說話人、多種噪音類型、多類型信噪比的語音信號,能夠模擬出噪聲和語音復雜的非線性關系。訓練好的網絡具有泛化能力,可以對常見的多種噪聲進行增強。

2 實驗結果分析

2.1 實驗環境

本次實驗的配置如表1所示。

表1 實驗環境

2.2 數據集介紹

本實驗干凈語音采用的是TIMIT數據集[20],該數據集的語音采樣頻率是16 kHz,來自美國630個說話人,每人說出10個給定的句子,一共包含6 300個句子。將每個句子分段處理,段長為3 s。噪聲集采用NOISEX-92數據集[20]的15種噪音和俄亥俄州立大學認知神經動力學實驗室提供的100種噪音數據[22]。為了包含實際聲學場景中常見的信噪比種類,用-5,0,5,10,15,20 dB 6種信噪比來構建加性噪聲集。本實驗中使用的噪聲隨機在115種噪聲中選取100種作為匹配噪聲集,剩余作為不匹配噪聲。將分段后的句子隨機與600種不同信噪比的噪音進行疊加,構成300 h數據集。將數據集按照9∶1隨機分為訓練集和測試集,測試集則與訓練集不重疊。

2.3 實驗結果

語音增強的衡量指標:感知語音質量評價PESQ(-0.5 到4.5),PESQ是國際電信聯盟推薦的P.862標準,它是被認為和人主觀測聽的打分(mean opinion score, MOS)一致度較高的客觀指標。首先經過電壓時間的規整,再進行聽覺轉換,然后轉換到頻譜上,接著認知建模和最終的距離度量,對語音質量進行衡量。它也是語音增強的一個最重要的目標之一。

當網絡收斂后,G網絡模型就可以實現增強任務。實驗中網絡結構由tensorflow框架實現,使用4塊GTX1080并行計算,訓練時間為36 h 23 min。平均一次迭代用時10.9 min。本文使用的網絡包含97 473 130個可訓練變量。網絡中可訓練的變量、參數配置以及輸入到網絡中的數據量都與網絡的時間復雜性相關,與深度學習大規模網絡相比,如深度殘差網絡,本文網絡的時間復雜性較低。實驗結果表明,帶噪語音使用該網絡模型,PESQ平均提升23.97%。匹配噪聲集是訓練集包含的噪聲類型,否則為不匹配噪聲集。圖5展示了在匹配噪聲集上的增強頻譜圖,不同強度的餐廳內嘈雜噪聲和車內噪聲被用來構建加性噪聲,相加信噪比為-5,0,5,10,15,20 dB。圖5中分別給出了干凈語音、增加了2種噪音后的語音以及對應增強后語音的頻譜圖。在餐廳噪聲中,低信噪比下基本淹沒了干凈語音信號,本文方法增強后的語音頻譜并沒有失真,并且增強效果明顯。2種匹配噪聲,在5種不同信噪比情況下,2種噪音增強后的語音頻譜與干凈語音頻譜均有很高的相似度。圖6展示了在不匹配噪聲集上的增強效果。和匹配噪聲集增強相似,用不同強度的高斯白噪聲構建加性噪聲。在不匹配噪聲下,各種不同信噪比的語音增強后的頻譜和干凈語音頻譜也具有很高的相似度。在匹配噪聲和不匹配噪聲中,本文方法均可以達到增強的目的。

圖5 含有不同強度的餐廳噪聲和車內噪聲的帶噪語音增強結果Fig.5 Speech enhancement result with different intensity of babble and volvo noise

圖6 含有不同強度高斯白噪聲的帶噪語音增強結果Fig.6 Speech enhancement result with differentintensity of Gaussian white noise

為了驗證本文方法的有效性,從測試語音中隨機抽取一條語音與人群嘈雜聲、餐廳噪聲、街道噪聲以及展廳噪聲4種噪音類型進行疊加測試,表2將本文所使用算法與徐勇等提出的深層神經網絡DNN[12]在不同信噪比下的增強效果進行了對比,DNN3指3層神經網絡。表2中數據為平均結果。在信噪比分別為20,15,5 dB時,本文算法對語音質量的提升百分比高于文獻[12],表明語音增強生成對抗網絡在信噪比較高的情況下,語音增強任務中性能較好。此外,在多種信噪比下PESQ平均提升23.97%,高于文獻[12]的21.97%。本文測試語音與DNN中測試使用的語音和噪音不同,所以,表2中DNN和GAN使用Noisy的PESQ不同,但是可以根據提升的百分比驗證本文方法的有效性。

表2 GAN與DNN在加性噪聲上性能對比

表3將本文方法與降噪自編碼進行對比,使用測試數據與表2相同,表3中數據為平均結果。在信噪比較高時,降噪自編碼與生成對抗網絡具有基本一致的增強效果,但是當信噪比低時,生成對抗網絡具有更好的增強效果。平均PESQ也高于降噪自編碼。

3 結 論

本研究使用GAN來完成端到端的語音增強任務,對生成模型和判別模型進行對抗訓練,學習噪音與干凈語音間復雜的作用關系。該網絡對生成的噪聲不斷調整,以學習到真實的數據分布。在TIMIT和NOISEX-92、俄亥俄州立大學認知神經動力學實驗室提供的100種噪音數據構建的數據上的實驗表明,該方法在高信噪比下相對于DNN具有更好的增強效果。與降噪自編碼相比,低信噪比表現更好。我們將進一步研究多噪音條件下如何利用對抗網絡進行語音增強。

猜你喜歡
信噪比噪音卷積
兩種64排GE CT冠脈成像信噪比與劑量對比分析研究
基于3D-Winograd的快速卷積算法設計及FPGA實現
噪音,總是有噪音!
卷積神經網絡的分析與設計
無法逃避的噪音
基于深度學習的無人機數據鏈信噪比估計算法
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
低信噪比下基于Hough變換的前視陣列SAR稀疏三維成像
噪音的小把戲
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合