吳俊清,倪建成,魏媛媛
(曲阜師范大學 軟件學院,山東 曲阜 273100)
情感是提升人機交互和諧的重要因素,也是影響人類行為決策的內(nèi)在驅(qū)動。語音中不僅包含大量的語義信息,還蘊含著豐富的情感內(nèi)涵。語音情感識別的優(yōu)劣很大程度依賴于特征的構(gòu)建,而情感作為一種抽象的個體,很難有標準的特征表示,因此如何獲取準確的情感特征成為語音情感識別的一大難題。傳統(tǒng)的語音特征大致從韻律學特征(如基頻、能量、時長)、頻譜特征(Mel倒譜系數(shù)-MFCC、線性預測倒譜系數(shù)-LPCC)和聲音質(zhì)量特征(即人們賦予語音的主觀評價指標,用于衡量語音是否純凈、清晰、容易辨識等,如喘息、顫音、哽咽等)[1]提取關(guān)聯(lián)信息,這些特征都是手工構(gòu)建,需花費大量時間和精力,因此,人們逐漸將注意力放在自動提取特征方面。
譜圖可以捕捉語音信號間不同的情感特征,是一種流行的特征表示方式,研究表明,使用深度學習方法從譜圖圖像中自動學習情感特征可以達到甚至超過手動特征的識別效果。文獻[2-3]都構(gòu)建了一種包含靜態(tài)系數(shù)、一階系數(shù)和二階系數(shù)的三通道的log-mel譜圖,文獻[2]中使用譜圖提取的深度特征較使用韻律和MFCC特征的平均召回率提升了1.7%。文獻[4]中使用mel譜圖提取深度譜特征,發(fā)現(xiàn)利用BLSTM-FCN網(wǎng)絡(luò)模型計算出的每個頻帶的深譜特征與傳統(tǒng)的語音情感識別的聲學特征表示方法相比,在性能上是相當?shù)摹?/p>
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像識別任務(wù)中表現(xiàn)優(yōu)異[5-7],因此,利用CNN捕捉局部特征的能力實現(xiàn)自動獲取識別任務(wù)特征,從而代替?zhèn)鹘y(tǒng)手工特征構(gòu)建,簡化特征提取過程的思想逐漸流行。CNN具有局部連接、權(quán)值共享的特性,使模型對平移縮放具有一定的不變性,在各種信號和信息處理任務(wù)中的性能優(yōu)于標準的全連接神經(jīng)網(wǎng)絡(luò)[8]。由于它們高精度的識別率,因此在大規(guī)模圖像識別任務(wù)中成為最主要的方法。Mao等人[9]首次使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)學習SER的情感顯著性特征,并在幾個基準數(shù)據(jù)集上顯示出優(yōu)異的性能。文獻[10]通過預訓練的AlexNet作為特征提取器對信號生成的譜圖提取深度特征,以類似的方式,文獻[11]依據(jù)caffenet為基準結(jié)構(gòu)刪減掉原始三個連續(xù)卷積層中的兩個,并以灰度譜圖作為網(wǎng)絡(luò)輸入,減小訓練時間加速模型收斂。
CNN可以有效地獲取圖像高級特征,但受限于卷積網(wǎng)絡(luò)自身結(jié)構(gòu)特性,因此很難捕捉到時域方向的特征,近期文獻表明,研究者更傾向于構(gòu)建一種結(jié)合CNN和RNN的新型網(wǎng)絡(luò)結(jié)構(gòu),以此更好地學習譜圖時域和頻域特征。在文獻[12-13]中,研究人員將卷積層和遞歸層結(jié)合起來,以提高基于時域語音信號或原始信號的語音情感識別任務(wù)的性能。文獻[14]提出了一種結(jié)合CNN和LSTM且用于大量詞匯語音識別的卷積遞歸神經(jīng)網(wǎng)絡(luò)(Crnn)。實驗結(jié)果表明,該模型具有較高的語音識別性能。與此同時,Aharon Satt等人[15]構(gòu)建了一種三層卷積連接一層LSTM的深層網(wǎng)絡(luò)結(jié)構(gòu)用于語音情感識別,該系統(tǒng)與以前沒有延遲約束(約束≤3秒)的工作相比,在通用基準測試數(shù)據(jù)集IEMOCAP上達到最先進的識別精度。文獻[16]提出一種基于串聯(lián)CNN和RNN訓練的SER方法,該方法無需使用任何傳統(tǒng)的手工功能。將所提方法應(yīng)用于語音情感數(shù)據(jù)庫中,分類結(jié)果證明比使用常規(guī)分類方法具有更好的準確性。
雖然利用深度學習提取譜圖特征成為語音情感識別的一種趨勢,但是應(yīng)用于小數(shù)據(jù)集上的深度學習研究相對較少,為解決小數(shù)據(jù)集上存在深度學習過擬合且識別精度低的問題,提出一種基于語音和圖像雙重增強的卷積神經(jīng)網(wǎng)絡(luò)與門控循環(huán)單元網(wǎng)絡(luò)結(jié)合的深度學習模型。通過對Emo-DB德語情感語料庫進行語音和圖像增強,對增強后的Mel功率譜圖進行深度學習的模型構(gòu)建并對識別結(jié)果進行評估。
2.1.1 卷積模塊
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像識別領(lǐng)域大放異彩,得益于卷積操作強大的特征提取能力,將增強后的語音生成的Mel功率譜圖作為卷積神經(jīng)網(wǎng)絡(luò)的輸入。不同于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),在構(gòu)建前兩層卷積層時用BN層代替池化層,這樣可以盡可能多地保留局部信息特征,減少池化操作帶來的信息丟失,加入的BN層可以加速模型訓練并提高泛化性能。盡管卷積網(wǎng)絡(luò)會學習到不錯的抽象特征,但會忽略時間方向的信息,考慮到這個問題,在卷積模塊后面接入GRU模塊,以便獲取時域信息。
2.1.2 GRU模塊
圖1 GRU單元結(jié)構(gòu)
zt=σ(Wz·[ht-1,xt])
(1)
rt=σ(Wr·[ht-1,xt])
(2)
(3)
(4)
2.1.3 CGRU模型
CGRU模型由卷積模塊與GRU模塊構(gòu)成,該模型結(jié)構(gòu)如圖2所示。卷積模塊利用卷積操作提取Mel功率譜圖的抽象特征,然后經(jīng)過BN層對特征進行規(guī)范化操作,使該層數(shù)據(jù)盡量接近標準分布,再通過ReLU層將數(shù)據(jù)映射到[0,∞),由于該激活函數(shù)不存在“飽和區(qū)”,因此可有效避免梯度消失。該結(jié)構(gòu)只在最后一層卷積后加入池化層,可適當?shù)販p少特征維度,提升模型訓練速度。
圖2 CGRU結(jié)構(gòu)
卷積模塊后接Flatten層將多維輸入轉(zhuǎn)換成一維,再連接dropout層,訓練時使部分神經(jīng)元失活,可有效避免過擬合發(fā)生。最后,通過兩層GRU獲取時間序列層面所包含的信息,對特征作進一步提取,提取后的特征作為全連接層的輸入,經(jīng)過softmax計算出類別概率。
Emo-DB共有535個音頻文件,數(shù)據(jù)存在數(shù)據(jù)量小且類別不平衡的現(xiàn)象,因此并不適合直接作為深度學習的學習對象??紤]到每個音頻時長均不超過三秒,因此,在保持時長不變的前提下對音頻進行上移和下移操作以此增強語音數(shù)據(jù)的豐富性。數(shù)據(jù)原始采樣率為16 kHz,論文重采樣至22.05 Hz。音頻增強具體操作步驟如下(文中涉及到的上移/下移操作表示分別做上移和下移操作的簡稱):
(1)對“angry”類別的所有音頻分別做上移/下移1個半步、上移/下移2個半步、上移/下移2.5個半步操作;
(2)對其余六類音頻均做上移/下移1個半步、上移/下移1.5個半步、上移/下移2個半步、上移/下移2.5個半步、上移/下移3.5個半步操作;增強后的音頻數(shù)量如表1所示。
表1 EMO-DB增強前后音頻數(shù)量
Mel功率譜圖是原始信號映射到時間和頻率區(qū)域的一種二維表示方式,文中使用Python的音頻分析工具包—librosa實現(xiàn)繪制。首先對原始音頻信號yi進行分幀操作并使用漢寧窗進行加窗;然后按照式(5)逐幀進行短時傅里葉變換(STFT),STFT通過在短重疊窗口上計算離散傅里葉變換(DFT)來表示時頻域中的信號。函數(shù)中FFT窗口大小為2 048個樣本點,對應(yīng)22 050 Hz采樣率下93 ms的持續(xù)時間;重疊樣本512個,相當于22 050 Hz采樣率下23 ms的持續(xù)時間;對得到的短時傅里葉變換矩陣S(是包含幀t處頻率f大小的復值矩陣)按照式(6)計算功率譜,其中M為[m,k/2+1]大小的Mel變換矩陣,m代表Mel過濾器的個數(shù),k表示fft組件的個數(shù),將信號進行Mel變換更貼合人耳對聲音響度的聽覺特性;最終依照式(7)將功率譜圖轉(zhuǎn)化為分貝(db)單位。
S[f,t]=STFT{yi}
(5)
P=M*|S|2
(6)
Pdb=10log10(P/max(S))
(7)
該實驗在Ubuntu 16.04.5 LTS環(huán)境下運行,使用Python版本為3.6.2,在兩塊NVIDIA Tesla P100的GPU上訓練三天半。實驗使用keras框架實現(xiàn),且后端為tensorflow。
Emo-DB(柏林語料庫)是德文情感語料庫,由柏林工業(yè)大學的10位專業(yè)演員錄制而成。該數(shù)據(jù)庫包含7類常見情感(憤怒、無聊、沮喪、恐懼、愉悅、中性、悲傷)的535個音頻文件,且全部為.wav無損格式,采樣率由最初的44.1 kHz下采樣至最終的16 kHz。文中實驗時將語料庫均采樣為22.05 kHz。
通過增強后的音頻生成的Mel譜圖共5 377張,較原始的數(shù)量擴展了9倍,為進一步增強數(shù)據(jù)的豐富性,避免過擬合現(xiàn)象的發(fā)生,現(xiàn)對7類數(shù)據(jù)中的每一張譜圖做增強處理。首先,對圖像進行歸一化操作,使像素值限定在0~1之間,避免數(shù)值過大在傳播的過程中發(fā)生梯度消失;再次,對每一張圖片做逆時針剪切0.2度角、圖像放大0.2、圖像垂直偏移0.1、圖像水平偏移0.1、通道偏移10的操作,至此,每張圖片增強為原來的5倍。該操作通過keras框架的ImageDataGenerator類完成。
為對比深度譜圖特征與手工聲學特征在語音情感識別方面的表現(xiàn),提供eGeMAPS特征集用于語音情感識別任務(wù)。eGeMAPS作為語音情感識別中經(jīng)典的特征集,是GeMAPS的擴展特征集,該表示特征通過openSMILE[18]開源工具包提取,包含頻率、能量、光譜、倒譜和動態(tài)信息在內(nèi)的88個高級統(tǒng)計特征。
實驗將5 337張Mel譜圖按7∶1.5∶1.5的比例劃分為訓練集、驗證集和測試集,劃分后的數(shù)量為3 761、810和806。該文對輸入格式、卷積核數(shù)量、訓練批次大小等逐一進行設(shè)置,模型的超參數(shù)細節(jié)如下:
(1)輸入的Mel功率譜圖為128*128大小的三通道彩色圖片,且全部為.png格式。
(2)根據(jù)卷積層特征提取特點,淺層卷積層關(guān)注局部的信息特征,深層卷積層關(guān)注更加細致的整體特征,因此濾波器個數(shù)分別以32,64和256的順序遞增設(shè)置,以適應(yīng)網(wǎng)絡(luò)特性更好地提取特征。
(3)設(shè)置3*3的卷積核,步長為1,最大池的大小設(shè)為2*2。
(4)GRU共兩層,單元個數(shù)依次為126和35。
(5)Dropout系數(shù)設(shè)為0.38,使用Adam優(yōu)化器進行優(yōu)化,初始學習率為0.000 1,該值過大會導致訓練過程中發(fā)生震蕩現(xiàn)象,β1=0.9,β2=0.999。batch_size設(shè)為92,迭代次數(shù)為300次。
實驗將Mel功率譜圖作為CGRU的輸入,利用CNN學習譜圖的頻域信息并結(jié)合GRU對序列信息的捕捉特性學習譜圖的時域特征,從而加強對Mel功率譜圖的特征提取效果。對EMO-DB在CGRU上的表現(xiàn)情況如圖3所示。該數(shù)據(jù)集在提出的方法上表現(xiàn)出了不錯的性能,訓練集通過迭代訓練使精度收斂到0.9以上,損失值穩(wěn)定至0.1左右。使用驗證集對訓練模型的效果進行驗證,發(fā)現(xiàn)驗證集的精度和損失值基本與訓練集的收斂趨勢保持一致,精度由0.301 2上升至0.965 4,損失值由1.781 1減小至0.095 5,該結(jié)果顯示出了模型較好的擬合能力。最后,對該模型在測試集上的精度和損失值進行計算作為最終的評估結(jié)果,實驗發(fā)現(xiàn)該模型在測試集上也具有良好的性能,結(jié)果顯示CGRU在EMO-DB上的精度達到98.39%,損失減小到0.048。
圖3 EMO-DB損失/精度
文中在相同參數(shù)設(shè)置下對CLSTM與CGRU的時間性能做了對比,考慮到時序模型存在梯度消失問題,因此,將LSTM和GRU層設(shè)為兩層。如表2所示,在相同的模型參數(shù)下,CGRU用時3.64天完成訓練,而CLSTM用了6.22天,比前者多出近一倍時間,這也符合LSTM與GRU模型自身門的特性,由于GRU比LSTM少了一個門操作,因此在處理大量數(shù)據(jù)時時間要優(yōu)于LSTM。
表2 CLSTM 與CGRU時間對比
為了驗證傳統(tǒng)手工特征與深度譜特征在語音情感識別中的作用,在兩組特征集上做了四組對比試驗,實驗結(jié)果如表3所示??梢钥闯觯谑褂猛耆嗤挠柧毤c測試集的情況下,譜圖特征展現(xiàn)出了有競爭力的表現(xiàn),兩種方法下的譜圖特征均達到了90%以上的識別率。XGBoost作為一種強大的集成算法,相比隨機森林而言,對數(shù)據(jù)不太敏感,模型更具魯棒性,在eEeMAPS特征集上比隨機森林表現(xiàn)出更優(yōu)的性能,精度高出11.79%。實驗顯示,利用深度學習方法獲取到的譜圖特征在一定程度上接近甚至超越傳統(tǒng)手工特征的識別精度。
表3 四種方法在兩種特征下的識別精度
CGRU利用Mel功率譜圖在深度學習方法中對EMO-DB情感的識別精度達到98.39%,超過了文獻[19]中95.1%的準確率,也比方法2的精度高出了3.85%。雖然使用Mel功率譜圖特征的CLSTM識別率低于使用手工特征的XGBoost,但為了便于比較CLSTM與CGRU的模型表現(xiàn),統(tǒng)一將迭代次數(shù)設(shè)置為300,由于LSTM較GRU收斂速度較慢,因此方法3還可繼續(xù)收斂,說明了深度學習下的譜圖特征較傳統(tǒng)手工特征具有不錯的表征能力。
實驗使用混淆矩陣對柏林語料庫的Mel功率譜圖特征在CGRU模型上的效果進行評估,矩陣值為歸一化后結(jié)果,其中,橫向代表模型的“預測標簽”,縱向代表數(shù)據(jù)的“真實標簽”,對角線數(shù)值表示正確預測類別的數(shù)量占預測總類別數(shù)量的比率,深色部分表示預測效果良好,淺色部分表示預測結(jié)果欠佳,結(jié)合混淆矩陣的特性,實驗結(jié)果應(yīng)在對角線位置呈最深顏色以達到最佳效果。
由圖4可知,“neutral”的預測效果最好,而“disgust”的預測效果最差,且大部分被誤分為“fear”類,其主要原因為該兩種情感在情緒的“動機-維度”模型中均屬于高動機低效價的情感,二者在情感表達方面具有一定的相似度,因此在模型識別時會有一定程度的混淆。
圖4 EMO-DB歸一化混淆矩陣
借鑒深度學習的思想,使用深度譜特征代替手工特征,提出在小數(shù)據(jù)集上完成語音情感的深度學習建模。利用卷積神經(jīng)網(wǎng)絡(luò)強大的表征能力,將生成的Mel功率譜圖作為CNN的輸入獲取語音的頻域特征,再結(jié)合語音信號的時序特性,加入GRU模型獲取譜圖的時域特征,以此構(gòu)建一種CGRU的融合模型對小數(shù)據(jù)集進行深度學習。實驗在EMO-DB數(shù)據(jù)集上利用譜圖特征與傳統(tǒng)語音情感識別的聲學手工特征的識別結(jié)果相比具有良好的競爭力。該方法摒棄了傳統(tǒng)構(gòu)建特征的繁瑣過程,使用深度學習自動提取特征。
未來,將注意力放在融合特征方面,結(jié)合深譜特征的潛在信息和聲學特征的專業(yè)特性構(gòu)造魯棒性更加優(yōu)越的融合特征,以適應(yīng)更廣泛的數(shù)據(jù)集。