鄭 艷,陳家楠,吳 凡,付 彬
(東北大學(xué) 信息科學(xué)與工程學(xué)院,遼寧 沈陽(yáng) 110819)
MIT媒體與科學(xué)教授Rosalind Picard傳遞了這樣一種思想:如果人類想讓計(jì)算機(jī)擁有真正的智能,并且與之自然地互動(dòng),那么必須賦予計(jì)算機(jī)識(shí)別、理解,甚至表達(dá)情感的能力[1].語(yǔ)音情感識(shí)別正是賦予計(jì)算機(jī)智慧的重要組成部分,近年來(lái),隨著深度學(xué)習(xí)的不斷發(fā)展,越來(lái)越多的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被用于語(yǔ)音情感特征的提取.
Kim等使用深度信念網(wǎng)絡(luò)用來(lái)提取語(yǔ)音情感的非線性特征[2].Deng等提出了一種使用自編碼來(lái)重構(gòu)訓(xùn)練數(shù)據(jù)的方法,提高了系統(tǒng)的魯棒性[3].Lee等提出了一種基于高效學(xué)習(xí)算法訓(xùn)練的遞歸神經(jīng)網(wǎng)絡(luò)語(yǔ)音情感識(shí)別系統(tǒng),為了提取情感在時(shí)間維度上的高層次表達(dá),采用了雙向長(zhǎng)短期記憶網(wǎng)絡(luò)[4].目前最常用的研究方法是卷積神經(jīng)網(wǎng)絡(luò)(CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN).先前的研究發(fā)現(xiàn),這兩種方法各有優(yōu)缺點(diǎn).卷積能夠從時(shí)域以及頻域兩個(gè)方向提取語(yǔ)音的局部情感特征,具有良好的泛化性能.循環(huán)神經(jīng)網(wǎng)絡(luò)善于對(duì)序列數(shù)據(jù)建模.但是基于語(yǔ)譜圖和CNN進(jìn)行語(yǔ)音情感識(shí)別的方式有兩大缺陷:第一,這種研究方式相當(dāng)于將問題轉(zhuǎn)化成一個(gè)圖片分類的問題,而語(yǔ)譜圖和普通圖片相比沒有很好的區(qū)分度;第二,語(yǔ)音和圖片數(shù)據(jù)有本質(zhì)的區(qū)別, 對(duì)于語(yǔ)音這種時(shí)序數(shù)據(jù)會(huì)丟失很多時(shí)間維度上的信息.使用RNN模型進(jìn)行語(yǔ)音情感識(shí)別也有兩個(gè)缺點(diǎn):第一,輸入的是低層次的特征,模型的識(shí)別率很大程度上取決于這些輸入的特征,這違背了特征自動(dòng)提取的原則;第二,語(yǔ)音情感識(shí)別有別于語(yǔ)音識(shí)別,盡管語(yǔ)音是序列數(shù)據(jù),但是本文研究的任務(wù)是情感識(shí)別.在前人研究的基礎(chǔ)上,本文提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu),將一維CNN與GRU進(jìn)行結(jié)合,簡(jiǎn)稱為CGRU模型,用于提取語(yǔ)音中的高階情感特征.針對(duì)所提取的特征維度較大而造成過(guò)擬合的問題,使用隨機(jī)森林對(duì)特征進(jìn)行特征選擇,減少特征的冗余,從而提高特征的識(shí)別率.并引入數(shù)據(jù)擴(kuò)充技術(shù),通過(guò)添加高斯噪聲以及改變速度等方法來(lái)增加樣本量,進(jìn)一步提高了識(shí)別精度.
基于CGRU模型的語(yǔ)音情感識(shí)別框架如圖1所示,首先對(duì)語(yǔ)音樣本進(jìn)行預(yù)加重、分幀加窗等預(yù)處理,然后通過(guò)特征提取得到40維梅爾頻率倒譜系數(shù)(MFCC),接著將40維MFCC特征輸入一維CNN[5-6]中沿著時(shí)間軸方向進(jìn)行特征提取,所提取出的局部情感特征沿著時(shí)間步輸入GRU中,得到一段語(yǔ)音中的全局情感特征,最后通過(guò)全連接層實(shí)現(xiàn)情感的分類.
圖1 CGRU模型語(yǔ)音情感識(shí)別框架
語(yǔ)音情感識(shí)別的關(guān)鍵一步是特征提取,特征提取是提取語(yǔ)音中對(duì)于分類有益的成分,丟棄其他成分.其中對(duì)于分類有益的特征通常包含譜特征,也就是和頻率相關(guān)的特征.MFCC可以用來(lái)準(zhǔn)確地反映聲道的形狀,而聲音的產(chǎn)生和聲道的形狀有很大關(guān)聯(lián),因此MFCC特征是語(yǔ)音情感識(shí)別中最常用的特征[7].
數(shù)據(jù)經(jīng)過(guò)一維卷積以及GRU所提取出的特征經(jīng)過(guò)全連接層完成分類,全連接層的作用主要是將學(xué)到的“分布式特征表示”映射到樣本標(biāo)記空間,但是同時(shí)全連接層的參數(shù)占據(jù)了所有參數(shù)中的大部分,如果直接使用全連接層配合SoftMax激活函數(shù)進(jìn)行分類,過(guò)多的參數(shù)會(huì)增加過(guò)擬合的風(fēng)險(xiǎn).因此提出一種設(shè)想:將CGRU模型作為特征提取工具,使用隨機(jī)森林進(jìn)行特征選擇.
傳統(tǒng)標(biāo)準(zhǔn)算法的MFCC只反映了語(yǔ)音參數(shù)的靜態(tài)特性,而人耳對(duì)語(yǔ)音的動(dòng)態(tài)特性更為敏感.而隨機(jī)森林具有準(zhǔn)確率高、魯棒性好、易于使用等優(yōu)點(diǎn).具體的操作是,訓(xùn)練一個(gè)CGRU模型,然后在模型的GRU層的輸出斷開,重新輸入樣本,得到每個(gè)樣本的預(yù)測(cè)值,這里的預(yù)測(cè)值就是每個(gè)樣本的向量表示,向量即為語(yǔ)音樣本的特征表示,再通過(guò)隨機(jī)森林對(duì)特征向量進(jìn)行特征選擇,減少冗余的特征,最后通過(guò)支持向量機(jī)對(duì)降維后的特征矩陣進(jìn)行訓(xùn)練得到一個(gè)模型,用支持向量機(jī)模型進(jìn)行情感的識(shí)別.相對(duì)于直接通過(guò)多個(gè)全連接層連接SoftMax的分類方式,支持向量機(jī)的預(yù)測(cè)往往更準(zhǔn)確.
合適的情感語(yǔ)料庫(kù)是正確識(shí)別情感的前提條件,在評(píng)價(jià)一個(gè)語(yǔ)音情感識(shí)別系統(tǒng)時(shí),其中一個(gè)重要標(biāo)準(zhǔn)是語(yǔ)料庫(kù)的質(zhì)量,語(yǔ)料庫(kù)的質(zhì)量直接關(guān)系著后續(xù)提取的特征,關(guān)系著整個(gè)系統(tǒng)的可靠性.
本文采用三種最常用的表演型情感語(yǔ)料庫(kù):EMODB[8],SAVEE[9]和RAVDESS[10]語(yǔ)料庫(kù).EMODB是柏林工業(yè)大學(xué)錄制的德語(yǔ)情感語(yǔ)料庫(kù),一共有535個(gè)語(yǔ)音樣本;SAVEE是由4名男演員演繹的7種不同情感的錄音,共計(jì)480句英式英語(yǔ).RAVDESS包含7356個(gè)文件,由24名專業(yè)演員以中性的北美口音說(shuō)出包含中性、快樂、悲傷、憤怒、害怕、驚訝和厭惡等7種情感.
1)基于MFCC特征的語(yǔ)音情感識(shí)別分析.通過(guò)Python工具包librosa提取語(yǔ)音中的MFCC特征,默認(rèn)的采樣頻率為22 050 Hz,提取出MFCC特征可以用(維數(shù),幀數(shù))來(lái)表示,這里對(duì)幀數(shù)取平均,這樣就得到了一個(gè)長(zhǎng)度為MFCC維度的特征向量,多個(gè)樣本的特征向量組成一個(gè)特征數(shù)組,按照9∶1劃分訓(xùn)練集和測(cè)試集,三個(gè)語(yǔ)料庫(kù)分別有472,427,1 296個(gè)樣本作為訓(xùn)練集,通過(guò)分類器對(duì)訓(xùn)練集的特征數(shù)組進(jìn)行訓(xùn)練.這里使用sklearn中的網(wǎng)格搜索得到分類器的最佳參數(shù),同時(shí)得到最佳參數(shù)下10折交叉驗(yàn)證的平均準(zhǔn)確率作為模型最終的準(zhǔn)確率,10 折交叉的劃分標(biāo)準(zhǔn)是完全隨機(jī)劃分.為了確認(rèn)MFCC維度對(duì)模型性能的影響,提取13維到100維的MFCC特征(每隔10維)做出如圖2所示的折線圖.由圖2可知,并不是維度越高識(shí)別效果越好,維度越高計(jì)算量就越大,而且容易造成過(guò)擬合,因此這里選擇MFCC的維度為50.
圖2 最佳MFCC維度
這里使用的分類器是支持向量機(jī),在網(wǎng)格搜索到最佳參數(shù)下的10折交叉驗(yàn)證平均準(zhǔn)確率為68.1%,模型在EMODB上的情感識(shí)別率可以用圖3表示.
圖3 50維MFCC特征識(shí)別結(jié)果混淆矩陣
從混淆矩陣可以看出,以50維MFCC特征的模型對(duì)于“生氣”、“傷心”和“中性”的識(shí)別率較高,對(duì)于“厭惡”這種情感識(shí)別率較低,容易與“害怕”這種情感混淆.
2)隨機(jī)森林特征選擇.使用隨機(jī)森林對(duì)特征進(jìn)行篩選后再次進(jìn)行模型訓(xùn)練,訓(xùn)練得到的模型識(shí)別結(jié)果混淆矩陣如圖4所示.使用隨機(jī)森林對(duì)180維特征進(jìn)行訓(xùn)練,訓(xùn)練后會(huì)根據(jù)袋外錯(cuò)誤率得到每個(gè)特征的重要程度,對(duì)每個(gè)特征按照重要性排序,設(shè)置一個(gè)閾值,將閾值外的特征篩去,留下41維特征作為數(shù)據(jù)集新的特征,再使用支持向量對(duì)特征數(shù)據(jù)集重新進(jìn)行訓(xùn)練,得到了70.6%的10折交叉驗(yàn)證平均識(shí)別率,比單純的50維MFCC特征68.1%的識(shí)別率提高了2.5%,這說(shuō)明使用隨機(jī)森林進(jìn)行聲學(xué)特征選擇的方法有效地提高了EMODB中的情感識(shí)別率.
圖4 特征選擇后模型識(shí)別結(jié)果混淆矩陣
為了進(jìn)一步驗(yàn)證這一方法的有效性,對(duì)另外兩個(gè)數(shù)據(jù)庫(kù)SAVEE和RAVDESS進(jìn)行相同的實(shí)驗(yàn)流程,得到的實(shí)驗(yàn)結(jié)果如表1所示.
表1 不同數(shù)據(jù)集上不同模型的10折交叉驗(yàn)證平均準(zhǔn)確率
1)CGRU模型驗(yàn)證.為了驗(yàn)證本文所提出的CGRU模型的實(shí)際效果,分別在EMODB,SAVEE,RAVDESS上進(jìn)行訓(xùn)練.通過(guò)留出法將80%的樣本用于訓(xùn)練,20%的樣本用于驗(yàn)證.模型的訓(xùn)練曲線如圖5~7所示.
圖5 CGRU模型在EMODB數(shù)據(jù)集上的訓(xùn)練曲線
圖6 CGRU模型在SAVEE上的訓(xùn)練曲線
圖7 CGRU模型在RAVDESS上的訓(xùn)練曲線
從上述訓(xùn)練曲線可見,訓(xùn)練集精度在多次迭代后準(zhǔn)確率接近1,驗(yàn)證集精度與訓(xùn)練集精度存在一定的差值,說(shuō)明CGRU模型存在一定程度的過(guò)擬合.
2)隨機(jī)森林進(jìn)行降維處理.分析CGRU模型存在一定程度的過(guò)擬合原因可能是全連接層存在大量參數(shù)造成的,因此使用隨機(jī)森林的方式對(duì)CGRU模型中GRU模塊的輸出特征進(jìn)行特征選擇(降維處理).具體方法式是使用訓(xùn)練好的CGRU模型提取訓(xùn)練集以及測(cè)試集中的樣本特征,然后通過(guò)隨機(jī)森林對(duì)樣本特征再次訓(xùn)練得到每一維特征的重要程度,根據(jù)設(shè)定的閾值,篩選出不重要的特征,留下的特征通過(guò)支持向量機(jī)訓(xùn)練,模型在三種數(shù)據(jù)集上的識(shí)別結(jié)果如表2所示.
表2 CGRU模型與CGRU結(jié)合隨機(jī)森林對(duì)比結(jié)果
由表1可知,使用隨機(jī)森林進(jìn)行降維后的CGRU模型相對(duì)于普通的CGRU模型的識(shí)別率平均提高了1.7%.這說(shuō)明隨機(jī)森林能夠有效地篩選出冗余特征,提高模型的識(shí)別效果.但是過(guò)擬合的情況仍未有效改善,為此進(jìn)一步引入了數(shù)據(jù)擴(kuò)充技術(shù).
3)基于數(shù)據(jù)擴(kuò)充的語(yǔ)音情感識(shí)別分析.使用了數(shù)據(jù)擴(kuò)充技術(shù),通過(guò)添加高斯噪聲、變速拉伸以及壓縮等方法來(lái)增加樣本量.在全部數(shù)據(jù)集上進(jìn)行擴(kuò)充,數(shù)據(jù)集按照holdout方式,分為訓(xùn)練集和測(cè)試集,測(cè)試集占數(shù)據(jù)集的30%,在訓(xùn)練集上使用擴(kuò)充.使用的數(shù)據(jù)庫(kù)仍然是EMODB,SAVEE和RAVDESS三種數(shù)據(jù)庫(kù).EMODB數(shù)據(jù)庫(kù)一共有525個(gè)樣本,通過(guò)對(duì)每個(gè)樣本分別單獨(dú)使用添加噪聲、改變速度等方式擴(kuò)大一倍的樣本量,這樣數(shù)據(jù)就被擴(kuò)充到1 050個(gè),同理SAVEE被擴(kuò)充到950個(gè),RAVDESS被擴(kuò)充至2 880個(gè),得到735,665和2 016個(gè)樣本作為訓(xùn)練集.分別對(duì)擴(kuò)充后的數(shù)據(jù)集進(jìn)行三種模型的訓(xùn)練.識(shí)別結(jié)果如表3所示.
表3 加高斯白噪聲擴(kuò)充樣本后識(shí)別結(jié)果
表3為通過(guò)添加高斯白噪聲的方式對(duì)樣本量進(jìn)行一倍擴(kuò)充后的識(shí)別結(jié)果,通過(guò)和不使用樣本擴(kuò)充對(duì)比,使用添加噪聲的方式在EMODB數(shù)據(jù)集上的識(shí)別率平均提高了9%,在SAVEE數(shù)據(jù)集上的識(shí)別率平均提高了7%,在RAVDESS數(shù)據(jù)集上的識(shí)別率平均提高了11%.表4表示混合加噪聲、變速、拉伸等三種方式擴(kuò)充一倍樣本后的識(shí)別結(jié)果,從中可以發(fā)現(xiàn),混合多種方式樣本擴(kuò)充相比單一添加噪聲的方式對(duì)模型識(shí)別效果又有了進(jìn)一步提高.
表4 多種方式混合擴(kuò)充樣本后識(shí)別結(jié)果
從表3和表4可以看出,經(jīng)過(guò)數(shù)據(jù)擴(kuò)充后,每一種模型的識(shí)別效果都有了很大提高,其中CGRU模型提升的幅度最大,這說(shuō)明數(shù)據(jù)擴(kuò)充后,CGRU模型的性能得到了很大提高,過(guò)擬合的情況有了很大改善.這一點(diǎn)可以從CGRU模型在三種數(shù)據(jù)集中的訓(xùn)練曲線看出,以CGRU模型在RAVDESS上訓(xùn)練曲線為例說(shuō)明,如圖8所示.
圖8 CGRU模型在RAVDESS上訓(xùn)練曲線
由圖8可知,CGRU模型在擴(kuò)充后的樣本上的訓(xùn)練曲線相對(duì)于不使用樣本擴(kuò)充而言,訓(xùn)練集和測(cè)試集曲線之間的距離相差比較小.模型的驗(yàn)證集精度比之前有了很大提高,這說(shuō)明類似于CGRU這樣的深度神經(jīng)網(wǎng)絡(luò)需要大量數(shù)據(jù)才能發(fā)揮網(wǎng)絡(luò)的性能.當(dāng)缺乏數(shù)據(jù)時(shí),模型會(huì)陷入“過(guò)度學(xué)習(xí)”,表現(xiàn)在訓(xùn)練集精度非常高,但是在驗(yàn)證集中的精度相對(duì)而言不是很高.同時(shí)模型參數(shù)過(guò)多表示模型的搜索空間就越大,必須有足夠的數(shù)據(jù)才能更好地刻畫出模型在空間中的分布.數(shù)據(jù)擴(kuò)充可以有效地防止神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到不相關(guān)的模式,從根本上提高模型的性能.在語(yǔ)音情感識(shí)別研究過(guò)程中,通過(guò)適當(dāng)添加噪聲、改變音速、拉伸音高等方式,在原有基礎(chǔ)上,相當(dāng)于重新獲取了一批新樣本,這對(duì)于深度神經(jīng)網(wǎng)絡(luò)搭建的模型提升效果顯著.
從以上兩組實(shí)驗(yàn)中可以得到結(jié)論:
1)加噪聲、變速、拉伸的數(shù)據(jù)擴(kuò)充方式應(yīng)用于基于CGRU模型的語(yǔ)音情感識(shí)別系統(tǒng)模型時(shí),數(shù)據(jù)擴(kuò)充帶來(lái)的正面效益大于噪聲等帶來(lái)的負(fù)面影響,有效提高了系統(tǒng)的性能.
2)加噪聲、變速、拉伸的數(shù)據(jù)擴(kuò)充方式相比于僅僅添加高斯白噪聲的方式,能更好地提高識(shí)別率.
3)加噪聲、變速、拉伸的數(shù)據(jù)擴(kuò)充方式并非增加的越多,使數(shù)據(jù)量越大越好.最佳的添加比例隨著數(shù)據(jù)集不同而變化,整體隨著添加比例增加,模型性能先提高后降低.原因是適度增加噪聲能夠增加數(shù)據(jù)量,但若增加噪聲過(guò)量反而會(huì)使深度學(xué)習(xí)過(guò)程中將其作為情感分類的重要特征,使得在干凈的訓(xùn)練集上表現(xiàn)不好,噪聲的負(fù)面影響就會(huì)大于數(shù)據(jù)擴(kuò)充的正面增益.
為了驗(yàn)證CGRU模型在實(shí)際環(huán)境中的表現(xiàn),本文通過(guò)python中的GUI模塊設(shè)計(jì)了一個(gè)簡(jiǎn)易的語(yǔ)音情感在線識(shí)別系統(tǒng),如圖9所示.
圖9 語(yǔ)音情感在線識(shí)別系統(tǒng)
系統(tǒng)可以通過(guò)點(diǎn)擊“在線錄制音頻”進(jìn)行音頻錄制,然后通過(guò)點(diǎn)擊不同的模型進(jìn)行實(shí)時(shí)情感預(yù)測(cè).在這一簡(jiǎn)易的系統(tǒng)上進(jìn)行說(shuō)話人測(cè)試,內(nèi)容包括同一語(yǔ)種測(cè)試以及不同語(yǔ)種測(cè)試,同一語(yǔ)種是指模型訓(xùn)練使用的語(yǔ)音和錄制使用的語(yǔ)種一致.這里使用了一位作者自己錄制的音頻,語(yǔ)言為中文,選取了5種具有代表性的情感:中性、高興、生氣、傷心以及害怕,每一種15個(gè)樣本,識(shí)別結(jié)果如表5和表6所示.
表5 同一語(yǔ)種在線識(shí)別結(jié)果
表6 不同語(yǔ)種在線識(shí)別結(jié)果
從表5及表6可以看出,在同一語(yǔ)種下進(jìn)行測(cè)試,測(cè)試平均識(shí)別率達(dá)到了67%,在不同語(yǔ)種下進(jìn)行測(cè)試,平均識(shí)別率下降到了43%,這說(shuō)明在同一語(yǔ)種下模型有較好的性能,但同時(shí)模型還是會(huì)受到語(yǔ)種的影響.相對(duì)于目前匱乏的情感識(shí)別系統(tǒng),本文設(shè)計(jì)的CGRU情感在線識(shí)別系統(tǒng)是當(dāng)前研究的一個(gè)很好補(bǔ)充.文獻(xiàn)[11]中使用的CNN+BLSTM的方法在EMODB上獲得了最高82.35%的識(shí)別率,而本文則達(dá)到了最高89%的識(shí)別率.
本文以語(yǔ)音情感識(shí)別為研究背景,結(jié)合一維CNN與GRU提取語(yǔ)音中的局部和全局情感特征,并通過(guò)隨機(jī)森林對(duì)提取后的特征進(jìn)行特征選擇.實(shí)驗(yàn)結(jié)果表明CGRU模型提取的局部特征和全局特征在情感識(shí)別中更加接近真實(shí)的情感特征.使用隨機(jī)森林進(jìn)行降維后的CGRU模型相對(duì)于普通CGRU模型識(shí)別率平均提高了1.7%.說(shuō)明隨機(jī)森林能有效地篩選出冗余特征,提高模型的識(shí)別效果.使用數(shù)據(jù)擴(kuò)充技術(shù)進(jìn)一步改善了過(guò)擬合的情況,使用添加噪聲的方式在3個(gè)數(shù)據(jù)集上的識(shí)別率平均提高了9%,7%和11%,因此,數(shù)據(jù)擴(kuò)充能夠顯著提高語(yǔ)音情感識(shí)別效果.