劉方如,王 亮
(沈陽化工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,遼寧 沈陽 110142)
在語音中包含著說話人所表達的文本和情感的信息。語音情感識別(Speech Emotion Recognition,SER)在人機交互領(lǐng)域中是一個熱點研究方向[1-2]。SER 通常是指通過機器處理,從語音信號中模擬人類感知并識別人類情感的一種技術(shù)。研究者們就SER 做了大量的研究,使得SER 在教育、醫(yī)學(xué)、服務(wù)等領(lǐng)域發(fā)展得非常迅速。因此,積極開展SER 領(lǐng)域的研究具有很大的發(fā)展?jié)摿蛻?yīng)用價值。
完整的語音情感識別流程包括采集語音信號、預(yù)處理、特征提取、情感識別等流程,如圖1所示。
圖1 語音情感識別流程
在語音情感識別中,提取的語音特征需要有效并且富有各類的情感,對于研究來說才有重要作用。其中,梅爾頻率倒譜系數(shù)(Mel-Frequency Cepstral Coefficients,MFCC)是使用最為廣泛的聲學(xué)特征。MFCC 特征可以有效反映人耳的聽覺特性。文獻[3]利用MFCC 技術(shù)對快樂、悲傷和憤怒這三種情感進行測試,測試結(jié)果為80%。此外,還有許多研究者喜歡采用多種特征相互結(jié)合的方式,即融合特征進行實驗的研究。
在情感識別算法方面,高斯混合模型[4]、支持向量機[5]以及K 最近鄰分類器分類算法[6]等機器學(xué)習(xí)算法對于語音情感分類而言都是最基本的模型。盡管這些分類模型在語音情感識別領(lǐng)域做了很多貢獻,但是上述分類模型的準(zhǔn)確性仍有待提高,需要研究者繼續(xù)探索。
近年來,深度學(xué)習(xí)極大地促進了語音情感識別的進展。深度信念網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)和長短期記憶等深度學(xué)習(xí)分類器的研究越來越多[7]。在多類的應(yīng)用中,卷積神經(jīng)網(wǎng)絡(luò)取得了顯著的成功。He 等[8]提出的深度殘差網(wǎng)絡(luò)取得了重要的成果,刷新了CNN 模型的多項歷史。在深度殘差網(wǎng)絡(luò)中,其中的殘差塊使用了跳躍連接,主要作用是當(dāng)深度增加時,緩解了梯度的消失問題。2017年,谷歌提出了Transformer 模型[9],該模型不僅在速度性能上最優(yōu),而且效果也是最佳的。Transformer 模型的多頭注意力機制結(jié)構(gòu)可以更好地捕獲長期的上下文依賴,提取到遠距離特征,有效提升了分類的準(zhǔn)確率。文獻[10]逐漸使用多頭注意力機制在處理時序特征上取代RNN 模型。如今,將深度學(xué)習(xí)和注意力機制結(jié)合的方法使得語音情感識別的效果更好。
因此,針對語音情感識別中數(shù)據(jù)樣本不足、識別準(zhǔn)確率不高的問題,本文的主要貢獻如下:提出將Resnet 結(jié)構(gòu)與Transformer 編碼器結(jié)構(gòu)相結(jié)合,提出了Res-Transformer 模型對語音中的情感信息進行提取,Res-Transformer 模型不僅可提取到較豐富的深層情感特征,還提高了識別精度。針對數(shù)據(jù)樣本不足而造成的過擬合問題,使用加法高斯白噪聲(AWGN)來擴大數(shù)據(jù)集以增強數(shù)據(jù)。采用中心損失函數(shù)和SoftMax 交叉熵損失函數(shù)聯(lián)合決策的方式,增加了類間的距離,提高了分類的準(zhǔn)確度。
本文提出的Res-Transformer 模型主要是由Resnet 結(jié)構(gòu)和Transformer 編碼器結(jié)構(gòu)所組成,該模型整體結(jié)構(gòu)如圖2所示。首先將MFCC 特征作為模型的輸入獲取語音信號中的情感特征,使用兩個并行的Resnet 層和一個Transformer編碼器層來獲得更深層的特征,利用Transformer 編碼器結(jié)構(gòu)處理時間信息,Resnet 結(jié)構(gòu)處理時間信息,其中Resnet結(jié)構(gòu)中引入的殘差單元主要處理隨著網(wǎng)絡(luò)層數(shù)加深而產(chǎn)生的梯度爆炸或梯度消失問題。最后,將提取后的特征作為全連接層的輸入,通過中心損失函數(shù)和SoftMax 交叉熵損失函數(shù)聯(lián)合決策的方式進行情感識別,得到最終的八分類情感。
圖2 Res-Transformer 編碼器結(jié)構(gòu)
網(wǎng)絡(luò)深度適當(dāng)加深會導(dǎo)致系統(tǒng)的性能有所提升,但是網(wǎng)絡(luò)深度過度加深系統(tǒng)性能就會下降,由于在訓(xùn)練過程中的難度太大,因此導(dǎo)致了梯度消失和梯度爆炸的問題。深度殘差網(wǎng)絡(luò)中引入了殘差塊,由此構(gòu)建更深層的網(wǎng)絡(luò),很好地解決了此問題,殘差塊結(jié)構(gòu)如圖3所示。圖中:x表示輸入;H(x)表示輸出;F(x)表示殘差映射;weight layer表示卷積層;ReLu 表示激活函數(shù)。
圖3 殘差塊結(jié)構(gòu)
Transformer模型可以很好地解決序列到序列的問題。自注意力機制計算的是序列對注意力,并將每一幀上的頻域特征向量a1,a2,...,ai與訓(xùn)練好的權(quán)重WQ、WK、WV分別相乘創(chuàng)建出了3 個向量,即 query、key、value,如式(1)所示:
計算所有的query 向量和key 向量,經(jīng)過縮放點乘最后得到每一個向量與其他向量之間的關(guān)聯(lián)性,并對計算結(jié)果進行歸一化以保證梯度的穩(wěn)定性,關(guān)聯(lián)矩陣A如式(2)所示:
將矩陣A進行SoftMax 標(biāo)準(zhǔn)化,然后和value 向量相互點乘,得到具有相關(guān)性的特征向量Head 如式(3)所示:
多頭注意力機制通過計算query、key、value 向量進行注意力計算。使用多頭注意力機制可以學(xué)習(xí)到獨立的相關(guān)信息,并且將多頭注意力機制與子空間中的信息合在一起,最后可令得到的特征信息更加全面和豐富。在子空間上對自注意力進行多次計算最終可得到注意力矩陣的輸出為Headn,n為頭數(shù),將Headn進行拼接可以得到特征矩陣MultiHead,如式(4)所示:
SoftMax 主要用于解決多分類的問題,并且通過使用梯度下降的方法完成網(wǎng)絡(luò)訓(xùn)練,使其結(jié)果得到最小值。中心損失函數(shù)是一種典型的聚類算法,其損失函數(shù)是由特征值和對應(yīng)中心的距離計算所得出。因為類別不平衡,所以在實驗中將權(quán)重分配給中心損失和SoftMax 交叉熵損失函數(shù),其損失為:
式中:Ls為SoftMax 交叉熵損失;Lc為中心損失;wyi是反比于第j種類別在總訓(xùn)練集中的占比。神經(jīng)網(wǎng)絡(luò)通過使用聯(lián)合的損失來進行訓(xùn)練,則聯(lián)合損失為:
式中:λ用來平衡中心損失和SoftMax交叉熵損失。當(dāng)λ=0時,可以認為是僅有SoftMax 損失的結(jié)果。
數(shù)據(jù)集的自然程度對評價語音情感識別方法的效果非常有效,數(shù)據(jù)集的質(zhì)量比較差的情況下可能會得到錯誤的結(jié)果。本文選用RAVDESS 數(shù)據(jù)集進行實驗,RAVDESS 數(shù)據(jù)集[11]是通過驗證后得到的情感語音和歌曲的數(shù)據(jù)集,本文主要使用它的語音部分。此數(shù)據(jù)集一共有1 440 個樣本,由24 名專業(yè)的演員(12 男,12 女)組成,其中包含8 類情感(平靜、快樂、悲傷、憤怒、恐懼、驚訝、厭惡和中性)。RAVDESS數(shù)據(jù)集的平衡性較好,所以使用RAVDESS 數(shù)據(jù)集對這八類情感進行研究。
本文使用Librosa 音頻處理庫來實現(xiàn)MFCC 的提取。首先使用長度為1 024、跳長為512 的漢明窗口對音頻信號進行短時傅里葉變換(STFT),得到音頻信號的功率譜圖。然后利用梅爾濾波器將譜圖映射到梅爾尺度,取對數(shù)得到Mel譜圖。最后,使用離散余弦變換(DCT)來獲得MFCC。采用MFCC 作為輸入,將MFCC 視為灰度圖像,寬度是時間尺度,高度是頻率尺度,MFCC 中每個像素的值是在一個時間步長的特定梅爾頻率范圍內(nèi)的音頻信號強度。
由于本文網(wǎng)絡(luò)層次較深,使用的訓(xùn)練數(shù)據(jù)量過小會出現(xiàn)過擬合問題,導(dǎo)致模型泛化性差。為了提高識別精度,在RAVDESS 數(shù)據(jù)集上對原有的1 440 條語音數(shù)據(jù)進行數(shù)據(jù)增強。使用高斯白噪聲(AWGN)將數(shù)據(jù)集擴大到原來的二倍,對數(shù)據(jù)添加信噪比15~30 dB 的噪聲,使得訓(xùn)練出的模型具有一定抗噪性,可以很好地解決過擬合問題。語音樣本采樣率為48 kHz,原始語音數(shù)據(jù)和高斯白噪聲增強數(shù)據(jù)分別如圖4和圖5所示。
圖4 原始語音數(shù)據(jù)
圖5 高斯白噪聲語音數(shù)據(jù)
本實驗在Ubuntu 環(huán)境下運行,內(nèi)存大小為8 GB,CPU為i5-1035G1,GPU 為MX350,使用Python 版本為3.9.7,使用PyTorch 框架實現(xiàn)。語音情感數(shù)據(jù)中訓(xùn)練集、驗證集和測試集所占比例為8 ∶1 ∶1。在RAVDESS 數(shù)據(jù)集上有1 440 條語音數(shù)據(jù),使用高斯白噪聲增強后的語音數(shù)據(jù)有2 880 條,最終語音數(shù)據(jù)總計4 320 條,劃分后的數(shù)量為3 441、429 和450。
每次卷積和池化后都采用0.1的Dropout來緩解過擬合,使用中心損失函數(shù)和SoftMax 交叉熵損失函數(shù)聯(lián)合決策。使用SGD 優(yōu)化器,學(xué)習(xí)率為0.001,動量設(shè)置為0.8,權(quán)重衰減設(shè)置為1×10-3,批處理(mini-batch)設(shè)置為8,迭代周期(Epoch)設(shè)置為500。
本文采用準(zhǔn)確率(Accuracy)、精確率(Precision)和召回率(Recall)來評估模型的性能。
(1)準(zhǔn)確率是指在全部樣本中,預(yù)測為正確的樣本所占有的比例,其公式為:
式中:TN 表示負樣本被成功識別樣本數(shù);TP 表示正樣本被成功識別樣本數(shù);FN 表示負樣本被錯誤識別樣本數(shù);FP 表示正樣本被錯誤識別樣本數(shù)。
(2)精確率是指正樣本被正確識別出來的比例,其公式為:
(3)召回率是指被正確識別的正樣本占所有被識別為正樣本的比例,其公式為:
實驗將MFCC 作為Res-Transformer 模型的輸入,提取了語音的情感特征。使用SoftMax 交叉熵損失和中心損失函數(shù)聯(lián)合決策的方式增大了分類的準(zhǔn)確率。在RAVDESS 數(shù)據(jù)集上的Res-Transformer 模型經(jīng)過訓(xùn)練和驗證的損失結(jié)果如圖6所示。在RAVDESS 數(shù)據(jù)集上,本文提出的Res-Transformer 模型性能表現(xiàn)良好,通過不斷地迭代訓(xùn)練,其訓(xùn)練集中的損失值達到0.35 左右,其驗證集中的損失值達到0.99 左右。在訓(xùn)練集和驗證集中,其精度與損失值收斂的方向大體相同,模型表現(xiàn)出非常優(yōu)秀的擬合能力。最后,評估結(jié)果是對Res-Transformer模型在測試集上的精度與其損失值進行計算。實驗結(jié)果表明,測試集上的Res-Transformer 模型有優(yōu)秀的性能,顯示出該模型在RAVDESS 數(shù)據(jù)集上的準(zhǔn)確率為84.89%。
圖6 Res-Transformer 模型在RAVDESS數(shù)據(jù)集上進行訓(xùn)練和驗證的損失
實驗利用Resnet 處理空間信息,Transformer 編碼器結(jié)構(gòu)處理時間信息。表1展示了Res-Transformer 模型在RAVDESS 數(shù)據(jù)集上的八分類情感數(shù)據(jù),該模型的語音情感識別準(zhǔn)確率為84.89%,召回率分別為84.75%、83.87%、84.06%、86.67%、87.04%、84.62%、85.25%和83.33%。其中,平靜的情感預(yù)測效果最好,高達96.67%,即在60 個情感樣本中有58 個樣本預(yù)測正確,僅有2 個樣本被預(yù)測為其他類情感,說明模型可以很好地識別該情感的特征。但快樂的情感模型識別率有一部分被誤分為驚訝,說明模型不能很好地區(qū)分相似情感特征,模型識別時會有一定程度的混淆。最后,某類樣本可能容易預(yù)測為另一類,但反過來不一定成立。在本文的實驗條件下該結(jié)果符合預(yù)期。
表1 Res-Transformer 在RAVDESS 數(shù)據(jù)集下的八分類情感
由表2可以看出,本文的方法與DCNN 模型相比,準(zhǔn)確率提高了3.89%;與文獻[13]中的模型相比,準(zhǔn)確率提高了2.68%。在訓(xùn)練過程中,CNN-Transformer 模型獲得80%的準(zhǔn)確率,Res-Transformer 模型獲得了84.89%的準(zhǔn)確率,改進后的Res-Transformer 模型在RAVDESS 數(shù)據(jù)集下八種情感的識別率提高了4.89%,同一數(shù)據(jù)庫的不同模型下改進后的Res-Transformer 模型語音情感識別準(zhǔn)確率得到顯著提升。
表2 與其他在RAVDESS 數(shù)據(jù)集上的研究結(jié)果對比
本文將Resnet 和Transformer 編碼器結(jié)構(gòu)組合,利用Resnet處理空間信息,Transformer編碼器結(jié)構(gòu)處理時間信息,結(jié)合高斯白噪聲(AWGN)增強數(shù)據(jù),以減少過度擬合。使用中心損失函數(shù)和SoftMax 交叉熵損失函數(shù)聯(lián)合決策的方式進一步提高分類準(zhǔn)確率。
在今后的工作中,可以對數(shù)據(jù)進行更加有效的預(yù)處理并且使用特征融合的方式來保證提取最優(yōu)特征,對Transformer模型做進一步研究以構(gòu)建更優(yōu)秀的模型,從而能更好地提高語音情感識別的準(zhǔn)確率。