李怡菲,應(yīng) 娜,楊 鵬
(杭州電子科技大學(xué)通信工程學(xué)院,浙江 杭州 310018)
語音情感識別系統(tǒng)是一種有效、準(zhǔn)確的人類情感鑒別系統(tǒng)。語音采集過程中,除了目標(biāo)人物的音頻信息,還會采集到干擾作用的冗余音頻信息,此類信息定義為噪聲[1]。在特殊應(yīng)用場景下,采集過程中的環(huán)境因素(馬路上車輛行駛帶來的噪聲、餐廳中餐具碰撞的噪聲等)、系統(tǒng)因素(音頻傳輸時的高斯噪聲、泊松噪聲等),均會使采集到的音頻信息攜帶噪聲,降低了包含情感信息的音頻質(zhì)量,影響了情感特征的提取,最終導(dǎo)致識別性能下降[2]。所以,語音情感去噪研究具有重要的研究意義。
傳統(tǒng)的語音去噪算法有譜減法、自適應(yīng)噪聲抵消法、小波變換法等。張亞峰等[3]運(yùn)用自適應(yīng)濾波器經(jīng)典算法之一的最小均方算法實現(xiàn)了語音信號的去噪處理。靳立燕等[4]提出一種基于奇異譜分析和維納濾波的語音去噪算法,解決了去噪處理后出現(xiàn)信號失真、信噪比不高的問題,更有效地去除了背景噪聲。針對傳統(tǒng)方法去除噪聲時情感特征恢復(fù)不明顯的問題,本文提出一種基于矩陣條件生成對抗網(wǎng)絡(luò)(Matrix Distance-Conditional Generative Adversarial Networks,MD-CGAN)的情感語音去噪算法,有效提升了語音情感識別率。
基于MD-CGAN的情感語音去噪算法在去除噪聲的同時還能有效保護(hù)情感特征。模型為了避免反卷積帶來的棋盤化效應(yīng)和情感信息損失,生成器網(wǎng)絡(luò)采用維度保持結(jié)構(gòu);為了減少異常語音數(shù)據(jù)的影響,在生成器網(wǎng)絡(luò)中加入殘差結(jié)構(gòu);在損失函數(shù)中加入矩陣距離損失,并針對矩陣距離損失的權(quán)重設(shè)定進(jìn)行探究,設(shè)定適用于情感特征恢復(fù)的最佳權(quán)重。
原始生成對抗網(wǎng)絡(luò)(Generative Adversarial Nets,GAN)是由生成器(Generator, G)和判決器(Discriminator, D)組成的訓(xùn)練生成式模型,將隨機(jī)噪聲和真實圖像輸入到GAN中,通過生成器和判決器之間不斷對抗學(xué)習(xí),生成近似真實數(shù)據(jù)的圖像[5]。在對抗訓(xùn)練中,生成器通過不斷迭代學(xué)習(xí)生成圖像,企圖“欺騙”判決器;判決器通過不斷學(xué)習(xí),盡可能“不受欺騙”,判決器和生成器通過不斷的對抗訓(xùn)練,尋求最優(yōu)解。
由于GAN過于自由,較大的圖片出現(xiàn)超高維,影響生成器的訓(xùn)練結(jié)果。為了解決這個問題,Mirza等[6]提出了條件生成對抗網(wǎng)絡(luò)(Conditional Generative Adversarial Networks,CGAN),在生成器和判決器的模型中都引入了約束條件Iy,通過約束條件指導(dǎo)生成器生成正確的數(shù)據(jù)。因此,CGAN將無監(jiān)督的模型轉(zhuǎn)換為有監(jiān)督的模型。
基于CGAN的語音去噪模型如圖1所示,Iz表示有噪聲的語譜圖,Ix表示干凈語譜圖,Ig表示去噪后的語譜圖,Iy表示語音情感類別標(biāo)簽。生成器網(wǎng)絡(luò)G的輸入是Iz和標(biāo)簽Iy,輸出是Ig,判決器網(wǎng)絡(luò)D的輸入是Ix和Ig,輸出為1或0。D需要將Ix判定為真,將Ig判定為假,從而使得G為了通過D的判定,將改變它的參數(shù)讓Ig更加接近Ix,而D通過反向傳播,在判定Ig和Ix方面變得更加優(yōu)秀。Iy作為整個網(wǎng)絡(luò)的約束來指導(dǎo)語譜圖去噪過程。最后,訓(xùn)練出適合去除語譜圖噪聲的生成器模型。
圖1 基于CGAN的語音去噪模型
攜帶噪聲情感譜圖去噪的目的是將含噪圖像投影到干凈的圖像空間中,盡可能保留情感表征。本文的生成器網(wǎng)絡(luò)結(jié)構(gòu)采用特征維度保持的結(jié)構(gòu),保證了情感表征的成功恢復(fù)。同時,加入殘差結(jié)構(gòu),將輸入Iz添加到最后1個卷積層的輸出,并連接到反卷積層[7]。卷積中感受野的范圍與學(xué)習(xí)結(jié)果有關(guān),為了進(jìn)一步提高情感表征的恢復(fù)效果,卷積核的大小隨通道數(shù)的變化而變化,從而學(xué)習(xí)不同感受野下的細(xì)節(jié)信息[8]。本文提出的生成器網(wǎng)絡(luò)的結(jié)構(gòu)如圖2所示。
圖2 本文生成器網(wǎng)絡(luò)結(jié)構(gòu)
判決器網(wǎng)絡(luò)實際是二分類網(wǎng)絡(luò),對去噪的結(jié)果進(jìn)行評價,0代表去噪失敗,1代表去噪成功,判決器網(wǎng)絡(luò)評價的準(zhǔn)確性影響模型的去噪性能。判決器網(wǎng)絡(luò)結(jié)構(gòu)需要結(jié)合生成器網(wǎng)絡(luò)模型進(jìn)行設(shè)計[9],判決器過強(qiáng)會導(dǎo)致生成器競爭失敗,無法進(jìn)行正常去噪;判決器過弱會導(dǎo)致判決器的評價指標(biāo)失去參考意義,最終得到的去噪模型去噪能力過弱。根據(jù)1.2小節(jié)中的生成器網(wǎng)絡(luò)來設(shè)計判決器網(wǎng)絡(luò),網(wǎng)絡(luò)結(jié)構(gòu)由5層卷積層組成,采用sigmoid函數(shù)將數(shù)值映射到0~1之間的概率,具體結(jié)構(gòu)如圖3所示。
圖3 本文判決器網(wǎng)絡(luò)結(jié)構(gòu)
對于有噪聲語譜圖的CGAN的訓(xùn)練目標(biāo)如下:
minGmaxDV(D,G)=Ex~Pdata(x)[log2D(x|y)]+Ez~Pz(z)[log2(1-D(G(z|y)))]
(1)
(1)給定生成器模型,優(yōu)化判決器,判決器的損失函數(shù)如下:
L(D)=Ex~Pdata(x)[log2D(x|y)]+Ez~Pz(z)[log2(1-D(G(z|y)))]=
(2)
式中,Pdata(x)表示干凈的語譜圖概率分布,PG(x)表示通過生成器去噪之后的語譜圖概率分布。當(dāng)輸入干凈的語譜圖時,D(x|y)輸出的概率值較大;當(dāng)輸入去噪之后的語譜圖G(z|y)時,D(G(z|y))輸出的概率值較小,則1-D(G(z|y))的值較大;即判決器的訓(xùn)練目標(biāo)是使損失函數(shù)L(D)取得最大值[10]。當(dāng)生成器G中的參數(shù)已給定時,Pdata(x)與PG(x)都可以看作是常數(shù),通過對式(2)求導(dǎo)可得:
(3)
此時,判決器取得最優(yōu)值。
(2)在判決器取得優(yōu)的情況下,訓(xùn)練生成器。生成器的訓(xùn)練目標(biāo)是輸出的去噪語譜圖能混淆判定器,使得判定器將去噪之后的語譜圖判定為1,即干凈的語譜圖。生成的損失函數(shù)如下:
L(G)=Ex~Pdata(x)[log2D(x|y)]+Ez~Pz(z)[log2(1-D(G(z|y)))]=
(4)
式中:
(5)
綜上所述,去噪之后的語譜圖當(dāng)且僅當(dāng)?shù)扔诟蓛舻恼Z譜圖時,生成器的損失函數(shù)取得最優(yōu)值。
由于噪聲環(huán)境下提取的語譜圖與對應(yīng)干凈語譜圖的矩陣距離差異過大,通過原始生成器的損失函數(shù)很難完全學(xué)習(xí)到2幅圖像間的映射關(guān)系。為此,本文提出矩陣條件生成對抗網(wǎng)絡(luò)(Matrix Distance-Conditional Generative Adversarial Networks,MD-CGAN),通過在生成器的損失函數(shù)L(G)中加入譜圖的矩陣距離參數(shù)來對譜圖的生成過程進(jìn)行約束。該矩陣距離參數(shù)通過計算2個譜圖整體的歐氏距離得到,將譜圖損失和對抗損失結(jié)合起來共同作為損失方程。根據(jù)式(5)結(jié)合譜圖損失,得到改進(jìn)后的損失方程如下:
(6)
式中,λ表示矩陣距離參數(shù),權(quán)重Ig表示生成器的輸出,即去噪之后的語譜圖,Ix表示干凈的語譜圖,w,h,c分別表示語譜圖的寬度、高度和通道數(shù)。式(6)根據(jù)矩陣距離防止過擬合現(xiàn)象的發(fā)生,防止語譜圖去噪之后情感特征質(zhì)量下降,使得去噪之后的語譜圖質(zhì)量得到提升。
(3)返回步驟1,直到訓(xùn)練達(dá)到最優(yōu)值,即判決器的損失函數(shù)取得最大值,生成器的損失函數(shù)取得最小值。
當(dāng)環(huán)境噪聲為白噪聲,信噪比為0 dB時,不同階段的語譜圖如圖4所示。
圖4 采用本文算法去噪前后語譜圖
圖4中,顏色的深淺表示能量的大小,顏色越淺表示能量越大,顏色越深表示能量越小。一條條橫向的條紋稱為“聲紋”,代表元音的基頻以及各次諧波,其中曲折、升降變化表示音高的變化[11]。對比3張圖可以看出,噪聲對語譜圖的“聲紋”和語音能量信息影響較大,而通過MD-CGAN去噪模型得到的語譜圖能夠較好的回復(fù)“條紋”和能量信息,與干凈的語譜圖較為相似。
生成器的損失函數(shù)中,矩陣距離權(quán)重λ影響去噪模型的整體性能。為了探究矩陣距離權(quán)重λ對本文算法去噪性能的影響,隨機(jī)選取100張攜帶噪聲的語音(包含馬路噪聲、餐廳噪聲、高斯噪聲等),設(shè)定不同矩陣距離權(quán)重λ,采用本文算法去噪后進(jìn)行情感分類,分類結(jié)果如圖5所示。
圖5 不同矩陣距離權(quán)重下的識別性能比較
從圖5的結(jié)果可以看出,矩陣距離權(quán)重λ為0.76時,本文算法的去噪性能最優(yōu)。
在不同噪聲環(huán)境下,通過實驗來驗證本文提出的基于MD-CGAN的語音情感去噪算法的語音情感特征恢復(fù)效果。分別采用無去噪的情感識別算法、基于最小均方誤差(Least Mean Square,LMS)的經(jīng)典語音去噪方法[12]和本文算法進(jìn)行實驗,比較分析3種算法的情感識別率。
實驗采用語音情感CASIA數(shù)據(jù)庫和噪聲Noise-92數(shù)據(jù)庫。CASIA數(shù)據(jù)集是由中科院自動化研究所錄制的漢語語音情感數(shù)據(jù)庫,由4位專業(yè)人員(2位男生,2位女生),在沒有噪聲污染的錄音環(huán)境下錄制,包括6種情感:生氣(angry)、害怕(fear)、高興(happy)、中性(neutral)、傷心(sad)、驚奇(surprise)。整個語料庫的樣本語音采用16 kHz采樣,16 bit量化,選取相同文本50句的6種情感語音共1 200條構(gòu)成實驗語音庫,每種情感有200個音頻[13]。Noise-92數(shù)據(jù)庫由荷蘭語音研究所測量的噪聲數(shù)據(jù)庫,包含100種不同的噪聲,樣本采樣率為19.98 kHz,16 bit量化,本文選取其中4種常見的噪聲,即白噪聲、餐廳噪聲、工廠噪聲和馬路上的噪聲。
針對信噪比的選擇問題,實驗選取較為典型的0 dB情況作為主要研究對象。實驗將2個語音按信噪比為0 dB進(jìn)行混合,組成有噪聲的語音情感和干凈的語音情感。
實驗服務(wù)器GPU為NVIDIA TITAN RTX,訓(xùn)練使用的深度學(xué)習(xí)框架為Pytorch,在MD-CGAN網(wǎng)絡(luò)中批次大小為32,迭代次數(shù)為100 000次,全局學(xué)習(xí)率為0.004,通過適應(yīng)性矩估計(Adaptive moment estimation,Adam)優(yōu)化器進(jìn)行優(yōu)化。經(jīng)過MD-CGAN去噪后的語譜圖通過ResNet網(wǎng)絡(luò)進(jìn)行情感分類,學(xué)習(xí)率為0.001,迭代次數(shù)為500次。實驗結(jié)果以識別率的形式呈現(xiàn)。
在4種噪音環(huán)境下,采用不去噪算法、LMS去噪算法和MD-CGAN去噪算法,經(jīng)過ResNet識別網(wǎng)絡(luò),得到的識別率如表1所示。
表1 不同噪聲環(huán)境下,不同去噪算法的情感語音識別率 單位:%
從表1可以看出,在4種噪聲環(huán)境下的情感語音識別效果較差,平均識別率為28.13%;經(jīng)過傳統(tǒng)的LMS去噪算法去噪之后,平均情感語音識別率達(dá)到74.27%,去噪效果較好;經(jīng)過本文提出的MD-CGAN去噪算法去噪后,平均情感語音識別率達(dá)到80.96%,去噪效果更加明顯,相較于不去噪識別率提升了52.83%,相較于傳統(tǒng)的LMS去噪算法,識別率提升了6.69%。所以,本文提出的語音去噪算法對情感語音有更好地去噪效果,有效提升情感語音識別率。
情感語音識別系統(tǒng)中常常面臨噪聲干擾,本文對此展開相關(guān)研究,分析噪聲給情感語音識別系統(tǒng)帶來的識別率下降等問題的原因,提出一種基于MD-CGAN去噪算法,有效提高了語音情感在噪聲環(huán)境下的識別率。但是,本文實驗所采用的數(shù)據(jù)庫是在實驗室環(huán)境下錄制的,缺少自然語音數(shù)據(jù)庫的實驗結(jié)果。在以后的研究中,會更加注重實際生活中的語音情感信息,加快語音情感識別系統(tǒng)在生活中的應(yīng)用。