張敬敏 程倩倩 李立欣 岳曉奎
【摘? 要】在復(fù)雜環(huán)境下,傳統(tǒng)的語音增強技術(shù)存在泛化能力弱、性能表現(xiàn)不足等缺點。近年來,生成對抗網(wǎng)絡(luò)技術(shù)在語音信號處理領(lǐng)域有著重大突破。通過改進傳統(tǒng)的生成對抗網(wǎng)絡(luò)模型,提出了基于深度完全卷積生成對抗網(wǎng)絡(luò)的高噪聲環(huán)境下人機語音增強方法。該方法將語音信號語譜圖作為生成器輸入,判別器根據(jù)純凈語音信號指導(dǎo)生成器生成高質(zhì)量的語音信號,濾除噪聲信號。實驗表明,通過語譜圖和客觀質(zhì)量評分評估,可以發(fā)現(xiàn)所提方法可以明顯改善語音質(zhì)量,減少語音失真,增強系統(tǒng)的魯棒性。
【關(guān)鍵詞】生成對抗網(wǎng)絡(luò);深度全連接卷積神經(jīng)網(wǎng)絡(luò);語音增強
doi:10.3969/j.issn.1006-1010.2019.08.003? ? ? 中圖分類號:TN929.5
文獻標志碼:A? ? ? 文章編號:1006-1010(2019)08-0014-07
引用格式:張敬敏,程倩倩,李立欣,等. 高噪聲環(huán)境下的生成對抗網(wǎng)絡(luò)人機語音增強技術(shù)[J]. 移動通信, 2019,43(8): 14-20.
The traditional speech enhancement technologies have the disadvantages of weak generalization ability and insufficient performance in complex environments. In recent years, generative adversarial networks (GAN) have a very promising future in the field of speech enhancement. Therefore, this paper proposes a human-machine speech enhancement technology based on deep full convolutional generative adversarial networks (DFCNN-GAN) by significantly improving the traditional GAN model. Specifically, the proposed method uses the speech spectrum of the speech signals as an input of the generator, and the discriminator guides the generator to generate a high-quality speech signal according to clean speech signal. Through evaluating the spectrogram and objective quality score, experiments show that the proposed method can improve the speech quality significantly, reduce the speech distortion, and enhance the robustness of the system.
generative adversarial networks; deep full connected convolutional neural networks; speech enhancement
1? ?引言
人機交互語音信號會受到周圍環(huán)境的影響,從而混雜有各種各樣的干擾噪聲,尤其是在高噪聲環(huán)境下,人機語音信號的可讀性與可懂性將嚴重受到影響,大大降低了智能語音系統(tǒng)的性能。因此,需要對含噪語音信號進行增強處理,方便后續(xù)的語音識別技術(shù)處理。語音增強的目的就是最大化地去掉信號中含有的干擾噪聲,改善含噪語音質(zhì)量?,F(xiàn)如今,語音增強的應(yīng)用范圍十分廣泛,比如軍事通信、竊聽技術(shù)和語音識別等[1]。然而,由于噪聲具有隨機性、多樣性和不穩(wěn)定性,找到適用于多種環(huán)境的語音增強技術(shù)是十分困難的。如何提高語音信號增強模型的泛化能力,是現(xiàn)如今的工作重點之一。
本文提出了一種基于深度完全卷積生成對抗網(wǎng)絡(luò)
(Deep Fully Convolutional Neural Network - Generative Adversarial Networks, DFCNN-GAN)框架來增強高噪聲環(huán)境下的語音信號。具體地說,用DFCNN結(jié)構(gòu)代替卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks, CNN)作為GAN的生成器(Generator, G)結(jié)構(gòu),提高了CNN表達能力。該框架不需要任何前端處理,采用端到端結(jié)構(gòu)自動提取語音特征,可以簡化整個系統(tǒng)結(jié)構(gòu)。
2? ?研究背景
2.1? 語音增強方法
在傳統(tǒng)的語音增強方法中,通常需要對信號進行頻域或時域變換,估計噪聲信號的能量信息,然后預(yù)測有用信號的分布。經(jīng)典的語音增強方法有譜減法[2]、維納濾波[3]、小波變換[4]等。具體而言,譜減法是假設(shè)含噪語音信號中只有假性噪聲,然后從含噪語音信號的功率譜中減去估計噪聲的功率譜,從而得到純凈語音信號。然而,該方法也有著顯著的缺點,如被稱之為“音樂噪聲”的殘余噪聲存在,在功率譜上呈現(xiàn)出一個個的小尖峰,影響著語音信號的質(zhì)量。維納濾波法(Wiener Filtering)是指設(shè)計一個最優(yōu)數(shù)字濾波器,根據(jù)均方誤差最小準則,最小化輸出期望的均方誤差,濾除噪聲等無用信號。但是維納濾波法不適用于噪聲為非平穩(wěn)隨機信號的情形,因此,維納濾波法很難在實際中得到廣泛應(yīng)用。小波變換法是根據(jù)有用信號與噪聲信號對應(yīng)的小波系數(shù)的不同來達到語音增強的目的。有用信號對應(yīng)的小波系數(shù)是含有所需信息的,具有幅值大、數(shù)目少的特點,而噪聲信號具有幅值小、數(shù)目多的特點,這樣可以確定哪些是有用信號,哪些是噪聲信號,從而濾除噪聲信號,得到較為理想的語音信號。然而,小波變換的閾值選擇是一個難題,同時還存在著冗余大的缺點。
以上方法在語音信號穩(wěn)定的情況下可以取得良好的效果,然而卻都有著很大的局限性。近年來,隨著機器學(xué)習(xí)技術(shù)的迅速發(fā)展,深度網(wǎng)絡(luò)[5]、卷積網(wǎng)絡(luò)[6]和長短時記憶神經(jīng)網(wǎng)絡(luò)[7]被應(yīng)用于語音信號的增強,可以取得令人滿意的效果。
2.2? 生成對抗網(wǎng)絡(luò)
生成式對抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)[8]最初被用于計算機視覺和圖像領(lǐng)域,引起了巨大的反響。目前,GAN已經(jīng)逐漸地被用于語音合成、增強、分離和識別等方面,均取得了不錯的效果。在文獻[9]中,條件生成對抗網(wǎng)絡(luò)(Condition Generative Adversarial Networks, CGAN)[9]最早被提出用于語音領(lǐng)域,為模型加入監(jiān)督信息,指導(dǎo)生成器G生成數(shù)據(jù),但同時也存在模型結(jié)構(gòu)較為單一、訓(xùn)練困難的問題。文獻[10]在GAN的基礎(chǔ)上額外增加了聲學(xué)模型(Acoustic Model, AM)構(gòu)成的分類器,生成器G、判別器D和分類器構(gòu)成深度聯(lián)合對抗網(wǎng)絡(luò),以此來提高系統(tǒng)的魯棒性[10]。文獻[11]提出了語音增強生成對抗網(wǎng)絡(luò)(Speech Enhancement Generative Adversarial Networks, SEGAN)[10],它使用端到端結(jié)構(gòu),不需要直接處理音頻信號,但是在試驗過程中,發(fā)現(xiàn)在高噪聲環(huán)境下,SEGAN增強后的語音信號靠近純凈語音信號的能力并不高。
GAN根據(jù)二人零和博弈思想而建模,包括生成器G和判別器D這兩個部分。生成器G通過學(xué)習(xí)真實數(shù)據(jù)中的特征信息生成新的數(shù)據(jù)樣本,判別器D用來比較G生成的新數(shù)據(jù)與真實數(shù)據(jù)之間的差異,從而做出判斷。事實上,D是一個二元分類器,生成器G的任務(wù)是盡可能去“欺騙”判別器D,D則是要盡量區(qū)別出來,兩者為了達到自己的目的,會不斷優(yōu)化自己的能力,最終達到平衡。
如圖1所示,根據(jù)GAN的模型結(jié)構(gòu)可以了解到,隨機變量z經(jīng)過生成器模型G,得到生成樣本G(z)。生成樣本G(z)和真實數(shù)據(jù)樣本x作為鑒別器D的輸入,判別器D判斷輸入數(shù)據(jù)是真實樣本還是虛假樣本,將判斷結(jié)果反饋給生成器G,從而不斷優(yōu)化生成器的輸出結(jié)果,得到良好的學(xué)習(xí)效果。生成器G和判別器D之間的極小-極大博弈問題可以通過優(yōu)化以下目標函數(shù)而得到:
V(G,D)=Ex~pdata(x)[logD(x)]+Ez~pz(z)[log(1-D(G(z)))] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
其中,pdata(x)表示真實數(shù)據(jù)的概率分布表示pz(z)輸入噪聲變量z的概率分布。
但是由于在GAN訓(xùn)練過程中,容易出現(xiàn)梯度消失的問題,這嚴重影響了實驗結(jié)果。很多學(xué)者都針對此問題進行改進,如較為流行的深度卷積生成對抗網(wǎng)絡(luò)(Deep Convolutional GAN, DCGAN)[12]也只是對生成器G和判別器D的網(wǎng)絡(luò)結(jié)構(gòu)進行改進,并沒有從根本上解決問題。文獻[13]中,Wasserstein生成對抗網(wǎng)絡(luò)(Wasserstein GAN, WGAN)[13]被提出,它從理論上闡述了GAN訓(xùn)練困難的原因,并引入了Wasserstein距離,提出了解決方法。WGAN是在基礎(chǔ)模型上添加了Lipschitz限制,其優(yōu)勢是可以修復(fù)模型梯度消失問題,使得模型訓(xùn)練更穩(wěn)定,目標函數(shù)如下:
L=Ex~pdata(x)[D(x)]-Ez~pz(z)[D(G(z))]? (2)
2.3? 卷積神經(jīng)網(wǎng)絡(luò)
本文所提方法是將生成的對抗網(wǎng)絡(luò)與深度完全卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合。其中,卷積神經(jīng)網(wǎng)絡(luò)是目前使用最多且應(yīng)用最為廣泛的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之一,它是一種可以表征輸入信息潛在特征的前饋神經(jīng)網(wǎng)絡(luò),由卷積層、池化層、全連接層構(gòu)成,常用于圖像處理、語音識別等方面。如圖2所示,在語音信號處理領(lǐng)域,語音信號的語譜圖可以當(dāng)成二維圖像作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,避免傳統(tǒng)方法繁雜的特征提取等操作。下一層卷積層連接其視野內(nèi)的像素,而不是連接全部語譜圖的每個像素,進行卷積操作,提取語譜圖的局部特征,之后卷積層的濾波器選擇一定的步長滑動,直至處理完全部語譜圖的分析。卷積運算可以在一定程度上提高信號的部分特征,同時降低干擾信息。同理,之后每一層的神經(jīng)元的輸入都連接上一層的局部感受野。由于濾波器在滑動時,部分像素會重疊,因此會產(chǎn)生冗余信息,池化層的主要工作是將某個點的值轉(zhuǎn)化為相鄰區(qū)域的值,減少冗余信息,同時使得參數(shù)的數(shù)量減少,防止發(fā)生過擬合的情形。
3? ?基于深度完全卷積生成對抗網(wǎng)絡(luò)的語
音增強方法
如圖3所示,對于語音增強來說,GAN實際上是一個學(xué)習(xí)過程,其中生成器G輸入噪聲信號x~,判別器D輸入純凈的語音信息x,判別器D指導(dǎo)生成器G生成增強的語音信號。D的任務(wù)是區(qū)分干凈的語音信號和增強的語音信號之間的差異,哪些是真實樣本,哪些是虛假樣本。
本文所提方法中,生成器G網(wǎng)絡(luò)是一種編碼-譯碼器框架。在編碼階段,直接將語音轉(zhuǎn)換為圖像數(shù)據(jù)作為輸入,對每幀語音進行傅里葉變換,然后將時間和頻率作為圖像的二維輸入,通過組合許多卷積層和池化層,對語音信號自動進行特征提取來代替?zhèn)鹘y(tǒng)的人為提取語音特征方式。在多個卷積層之后添加池化層,累積大量的卷積-池化層對,通過一系列卷積層來壓縮語音信息。每個卷積層使用小卷積核而不是大卷積核,并且使用均方根誤差(Root Mean Square prop, RMSprop)激活函數(shù)用于獲得卷積結(jié)果。在編碼器編碼之后,獲得狀態(tài)向量z,然后輸入轉(zhuǎn)置的卷積(有時稱為去卷積)。解碼器階段,在多個卷積層之后添加轉(zhuǎn)置卷積層,對應(yīng)于編碼器階段。在非線性變換之后,獲得的增強語音信號如圖4所示:
在本文中,為每兩個卷積層添加一個匯聚層,導(dǎo)致卷積池層對的積累,從而有效減少信息丟失并提高系統(tǒng)模型表示能力。另外,在保證相同感知視野的條件下,使用小卷積核代替大卷積核可以提高網(wǎng)絡(luò)深度,并且在一定程度上可以提高神經(jīng)網(wǎng)絡(luò)的有效性。
GAN語音增強可以概括為最小-最大問題。使用增強的WGAN[14]可以獲得良好的結(jié)果,即基于WGAN添加懲罰項,其具有比原始WGAN更快的收斂速度,并且可以生成更高質(zhì)量的樣本。在WGAN中,判別器的損失函數(shù)是:
4? ?訓(xùn)練及仿真結(jié)果
4.1? 訓(xùn)練細節(jié)
為了系統(tǒng)地評估DFCNN-GAN模型的有效性,本文選擇開源數(shù)據(jù)集進行訓(xùn)練分析[15]。數(shù)據(jù)集中有來自語音庫的30名英語母語者,這些語音信號包含有多種類型噪音。語音庫中測試集包含兩個英語母語者,每人約有400句純凈和噪音測試語音信號,共有824個語音。訓(xùn)練集包括28名英語母語者,每人400句純凈和噪聲訓(xùn)練語音信號,共計11 572個語音。在噪聲訓(xùn)練集中,有40種不同條件,包括10種噪聲(2種人工噪聲和8種來自需求數(shù)據(jù)集[18]的噪聲),分別有4種不同的信噪比(15 dB、10 dB、5 dB和0 dB)。在測試集中,有20種不同的條件,包括5種類型的噪聲(均來自需求數(shù)據(jù)庫),其中有4種不同的信噪比(17.5 dB、12.5 dB、7.5 dB和2.5 dB)。
DFCNN-GAN模型采用RMSprop算法,在86個時期內(nèi)進行訓(xùn)練。在訓(xùn)練過程中,學(xué)習(xí)率設(shè)置為0.000 2,批量訓(xùn)練大小為256。為了滿足波形產(chǎn)生的要求,實驗時將原始聲音從48 kHz降到16 kHz。預(yù)加重系數(shù)設(shè)置為0.95。
生成器網(wǎng)絡(luò)是由卷積層和轉(zhuǎn)置卷積層實現(xiàn)的編碼器-解碼器結(jié)構(gòu)。為了在邊界處得到卷積結(jié)果,本文選擇了“same”填充方法。為了避免梯度消失,每個卷積層和反卷積層后面都有一個預(yù)激活函數(shù)。在編碼器部分,每兩個卷積層添加一個池化層,池窗口設(shè)置為2。在解碼器部分,每兩層添加一個反池化層,池窗口設(shè)置為2。
判別器D由卷積層實現(xiàn),采用“same”零填充策略。為了激活所有的神經(jīng)元,使用了帶泄露修正線性單元(Leaky ReLU)。在所有卷積層和Leaky ReLU激活層之間都有一個批處理規(guī)范化層。同時,為了確保后一層的輸入數(shù)據(jù),選擇批量規(guī)范化層。
4.2? 仿真結(jié)果
為了全面系統(tǒng)評價增強后語音信號的效果,本文將所提算法與GAN、Wiener、SEGAN以及原始的含噪語音信號相比較,對比表現(xiàn)DFCNN-GAN性能。為了評估增強語音的質(zhì)量,本文計算了以下參數(shù)。
(1)語音質(zhì)量感知評價(Perceptual Evaluation of Speech Quality, PESQ):利用語音信號客觀特性去模擬人主觀意識,從而對語音質(zhì)量進行感知評估,評分范圍是[-0.5~4.5]。
(2)平均意見分(Mean Opinion Score, MOS):對語音信號的主觀感知根據(jù)評判標準來評分,是一種主觀評價,也是使用最為廣泛的一種語音質(zhì)量評價方法。
(3)分段信噪比(Segmented Signal to Noise Ratio, SSNR):一種常用的語音信號質(zhì)量的評判標準,反映了某一段范圍內(nèi)語音信號的信噪比,評分范圍是[0~∞]。
表1顯示了不同語音增強方法的度量分數(shù),可以得出基于深度全連接卷積生成對抗網(wǎng)絡(luò)的語音增強方法具有更加優(yōu)良的去噪效果。與Wiener濾波和SEGAN相比,DFCNN-GAN各項指標都有一定程度的改進。而且,SEGAN的PESQ指標較差,但DFCNN-GAN可以在一定程度上彌補其缺陷。
為了便于直觀理解,本文分別獲得傳統(tǒng)GAN、Wiener、SEGAN和DFCNN-GAN生成的語音信號頻譜圖。圖5列出了頻譜圖的比較圖,從圖中可以發(fā)現(xiàn),傳統(tǒng)的生成對抗網(wǎng)絡(luò)的效果最為不好,這是因為它具有訓(xùn)練不穩(wěn)定、易發(fā)生梯度爆炸等缺點。DFCNN-GAN的訓(xùn)練效果最好,更為接近純凈語音信號的頻譜圖,與其他信號相比,可以有效濾除噪聲信號,提高語音質(zhì)量。
5? ?結(jié)束語
本文提出了一種新穎的DFCNN-GAN算法來增強含噪語音信號,該算法使用編碼器-解碼器作為G的結(jié)構(gòu),并將其與DFCNN結(jié)合以加深卷積層的特征提取能力。同時,本文使用增強WGAN算法在目標函數(shù)中添加梯度懲罰項以實現(xiàn)語音增強。仿真結(jié)果表明,該模型能夠有效降低噪聲,提高語音信號質(zhì)量,同時該模型更加穩(wěn)定,可以提高收斂速度,為高噪聲環(huán)境下人機語音增強技術(shù)的研究提供了新的解決思路。
參考文獻:
[1] P C Loizou. Speech Enhancement: Theory and Practice[M]. Boca Raton: CRC Press, 2007.
[2] M Berouti, R Schwartz, J Makhoul. Enhancement of Speech Corrupted by Acoustic Noise[C]//IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 1979: 208-211.
[3] J S Lim, A V Oppenheim. All-pole Modeling of Degraded Speech[J]. IEEE Transactions on Acoustics Speech and Signal Processing, 1978,26(3): 197-210.
[4] S Jaikaran, A Rajeev. Noise Reduction of Speech Signal Using Wavelet Transform with Modified Universal Threshold[J]. International Journal of Computer Applications, 2011,20(5): 14-19.
[5] J Yi, R Liu. Binaural Deep Neural Network for Robust Speech Enhancement[C]//IEEE International Conference on Signal Processing. Guilin, 2014: 692-695.
[6] P Guzewich, S Zahorian. Speech Enhancement and Speaker Verification with Convolutional Neural Networks[J]. Journal of the Acoustical Society of America, 2018(3): 1956.
[7] F Weninger, H Erdogan, S Watanabe, et al. Speech Enhancement with LSTM Recurrent Neural Networks and its Application to Noise-Robust ASR[C]//International Conference on Latent Variable Analysis and Signal Separation. Springer International Publishing. San Diego, 2015: 305-311.
[8] I J Goodfellow, J P Abadie, M Mirza, et al. Generative Adversarial Nets[C]//International Conference on Neural Information Processing Systems. MIT Press, Kuching, Malaysia, 2014.
[9] M Mirza, S Osindero. Conditional Generative Adversarial Nets[J]. Computer Science, 2014: 2672-2680.
[10] LIU B, NIE S, ZHANG Y, et al. Boosting Noise Robustness of Acoustic Model via Deep Adversarial Training[C]//IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Calgary, Alberta, Canada, 2018: 5034-5038.
[11] S Pascual, A Bonafonte, J Serrà. SEGAN: Speech Enhancement Generative Adversarial Network[C]//Interspeech, Stockholm, Sweden, 2017: 3642-3646.
[12] A Radford, L Metz, S Chintala. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks[J]. Computer Science, 2015: 1-6.
[13] M Arjovsky, S Chintala, L Bottou. Wasserstein GAN[EB/OL]. [2019-07-10]. http://arxiv.org/pdf/1701.07875.
[14] I Gulrajani, F Ahmed, M Arjovsky, et al. Improved Training of Wasserstein GANs[EB/OL]. [2019-07-10]. http://arxiv.org/pdf/1704.00028.
[15] C V Botinhao, X Wang, S Takaki, et al. Investigating RNN-based Speech Enhancement Methods for Noise-Robust Text-to-Speech[C]//ISCA Speech Synthesis Workshop. Seoul, Korea, 2016: 146-152.★