徐華南,周曉彥,姜 萬,李大鵬
(南京信息工程大學電子與信息工程學院,江蘇南京 210044)
情感識別是情感計算的重要組成部分,目的讓計算機模擬與識別人類的情感感知和理解過程,而語音情感作為諸多情感中的最直接的部分,是實現自然人機交互中的重要前提[1-2]。近年來關于語音情感識別的研究,取得了一些令人矚目的成績,但由于情感表達的復雜性(比如說話者年齡、性別以及說話者所處的文化和環境背景),語音情感識別仍然面臨諸多挑戰[3-4]。
隨著深度神經網絡的發展,大量文獻表明深度神經網絡比如卷積神經網絡(Convolutional Neural Network, CNN)、長短期記憶網絡(Long Short-Term Memory, LSTM)等在語音情感識別中能提取更有價值的信息[5-9]。Lim等[5]主要用短時傅里葉變換將語音信號轉換為二維信息,利用卷積神經網絡和循環神經網絡(Recurrent Neural Network, RNN)作為聲學模型,在EMO-DB數據庫上的準確率分別為86.06%和78.31%,Basu等[6]利用13階梅爾頻率倒譜系數(Mel Frequency Cepstrum Coefficient, MFCC)作為輸入,依次輸入到卷積神經網絡和長短期記憶網絡中,得到了將近80%的識別率。文獻[5-6]只考慮MFCC、基頻等個性化特征,忽略了非個性化特征的影響,并且人與人之間差異較大,攜帶了大量個人情感信息,不具有通性。Zhao等[7]利用1D 卷積神經網絡和長短期記憶網絡(CNN-LTSM)中和2D CNN-LTSM 中進行語音情感識別,發現2D CNN-LTSM 比 1D CNN-LTSM 的識別率高,Chen等[8]提出基于3D 卷積-循環神經網絡 (Convolutional Recurrent Neural Network, CRNN)的語音情感識別的方法,并通過實驗證明,3D 卷積-循環神經網絡的識別率要比2D 卷積-循環神經網絡高。文獻[7-8]可以看出3D網絡能捕獲更豐富的情感特征信息,但僅提取單一特征未能完全表達情感表征,Luo等[9]提出HSF-CRNN (High Level Statistics Functions-CRNN, HSF-CRNN)框架,將手工特征和深度學習特征級聯輸入到softmax后進行情感分類,識別率比單層卷積-循環神經網絡和多層卷積-循環神經網絡分別提高了3.8個百分點和7.6個百分點。但文獻[7-9]都沒有考慮到對關鍵的時空依賴關系進行建模。于是本文為消除個性化特征的影響和降低說話者年齡、性別以及說話者所處的文化和環境背景的影響,計算語音信號的對數梅爾特征(Log-Mel)和其一階差分和二階差分特征,合并成3D Log-Mel特征集,在文獻[9]啟發下提出利用雙通道網絡級聯特征,其中一條通道采用3D 卷積-循環神經網絡網絡,并提出對稱型雙線性卷積神經網絡(Bilinear Convolutional Neural Network, BCNN)模型方案,以平移不變的方式,對局部特征交互進行建模,利用BCNN提取空間特征,LSTM-attention提取判別性強的時間特征后融合得到時空特征,輸入到原始的支持向量機(Support Vector Machines,SVM)分類器中分類,同時另外一條通道采用1D 卷積-循環神經網絡網絡,最后將3D特征和1D特征融合到一起,增加每一個特征的信息量,提高分類精度。
提出的語音情感識別系統總體框架如圖1所示。在3D部分,首先對輸入的語音進行分幀、加窗等預處理操作得到梅爾頻率倒譜系數并計算進而其一階差分、二階差分,得到3D Log-Mel特征集,隨后輸入到雙線性卷積神經網絡中提取頻域特征和短時域特征,由于網絡共享機制,在BCNN的分流的輸出再輸入到長短期記憶網絡中,提取長時域特征,隨后輸入到attention模塊中得到顯著的特征表示,最后連接BCNN的外積輸出和attention輸出得到3D特征。在1D部分,首先對輸入的語音進行分幀、加窗等預處理操作后得到等長度的語音數據,隨后輸入到一維卷積神經網絡中提取頻域特征和短時域特征,再輸入到長短期記憶網絡中得到1D特征。將3D特征和1D特征進行融合后,選擇出判別性強的情感特征輸入到全連接層中,利用softmax進行語音情感分類。圖1中c為CNN網絡最后一層卷積層的通道數,M、N為處理后的特征維度,A表示經過CNN網絡處理后的特征矩陣。

圖1 語音情感識別系統總體框架Fig.1 General framework of speech emotion recognition system
為降低說話者年齡、性別以及說話者所處的文化和環境背景的影響,本文對給出的語音信號進行如下操作:
(1) 將語音信號通過高通濾波器進行預加重處理,高通濾波器表示為

其中,μ的取值范圍為0.9~1,通常取0.97。
(2) 對預加重的信號進行零均值和單位方差處理;
(3) 對得到的語音信號進行分幀處理,漢明窗加窗,幀長為25 ms,幀移為10 ms;
(4) 對每一幀進行離散傅里葉(Discrete Fourier Transform, DFT)變換后得到各幀的頻譜,并對頻譜取模平方得到對應的功率譜,將時域信號轉換為頻域上的能量分布;
(5) 將功率譜輸入到梅爾濾波器組中得到能量值,對于第i個濾波器(0<i≤4 0),能量為pi,對pi進行對數變換后得到倒譜梅爾頻率yi=lg(pi);


其中:v=2,經過式(2)~(3)得到3D的特征表示H∈Rt×f×k,t表示時間長度,f表示梅爾濾波器的個數,k表示特征的通道數,分別為靜態特征、一階差分和二階差分特征,靜態特征結合前兩階動態信息足夠提高語音情感識別的性能。這里,t=300,f=40,k=3。
BCNN模型是一個端對端的訓練過程,具有優異的泛化能力,可以產生不同的無序的文字描述,如費希爾向量(Fisher vector)、局部特征聚合描述符(Vector of Locally Aggregated Descriptors, VLAD)和二階池化(Second-order Pooling, O2P)等,不僅在細粒度圖像分類上取得了優異效果,還被用于其他分類任務,如圖像識別、語音情感識別等[10]。在語音情感識別領域中,對于前面提到的3D Log-MEL 特征和一階、二階差分特征,通過雙通道CNN網絡后,會得到雙路情感特征表示,傳統上對于不同的情感特征的融合,常用的方法是進行串聯、求和或者最大池化等一階池化方法,假設利用平均二階池化情感特征矩陣進行池化改進,對特征圖M0中相同位置的情感特征向量與自身的轉置求外積從而直接得到兩兩特征維度之間的相關性:

其中:X=[x1x2…xM]是以空間位置F=[f1f2…fM]為中心點的局部特征向量;M為局部特征的個數。而雙線性匯合計算兩路情感特征的外積,并對不同空間位置計算平均匯合得到雙線性特征,外積捕獲了特征通道之間成對的相關關系,提供了比線性模型更強的特征表示。為了簡化計算,這里BCNN的前半部分使用相同的CNN模型,成為對稱的BCNN,因此只需要訓練一個CNN模型即可。BCNN模型的表達形式為

其中:FA為雙線性卷積神經網絡兩個分流的特征提取函數;P是池化函數;Q是分類函數。特征提取函數可看成一個函數映射:f:L×I→Rc×D,3D Log-MEL特征數據經過卷積操作后,再進行最大池化操作,有效減少了網絡的參數個數,并保存了有用的情感特征,因此將輸入語音I與位置區域L映射為一個c×D維的情感特征向量。特征向量在L位置處使用矩陣外積進行特征組合,選擇出判別性強的情感特征,即雙線性(bilinear)特征:

由式(4)、(6)可知,兩者是等價的。因此二階池化(對稱型BCNN)中的外積運算將特征圖相同位置的輸出拼接作為局部特征,然后對這個局部特征進行外積運算,將這些結果矩陣轉化為特征圖。這里bilinear特征為c×c的雙線性特征,其中c為CNN模型的通道數,利用池化函數P將所有位置的bilinear特征進行累加匯聚成一個雙線性特征xbcnn,函數表達式為


為了解決梯度消失和梯度爆炸問題,LSTM模型在循環神經網絡RNN中對循環層進行改進,是一種特殊的時間遞歸神經網絡[8],適合處理和預測時間序列。LSTM網絡使用輸入門、遺忘門和輸出門來控制記憶過程。語音信號是時間序列信號,且序列之間的信息是相互關聯的,本文選用BLSTM網絡對每一個訓練序列分別應用一個向前和向后的LSTM網絡,使網絡充分學習到序列的上下文信息。這里,BLSTM層的單元大小設置為128。
在語音情感識別中,不僅要關注具有情感信息的語音幀,也要考慮到每個情感語音幀的重要程度。因此對于LSTM輸出的情感特征,本文并沒有對其執行平均或最大池化等操作,而是利用attention機制去尋找顯著的話語情感表征特征。在語音情感分類問題上,attention機制已被大量使用在序列對序列的任務中[11]。每一步只關注特定的小區域,抽取區域表征信息,再整合到之前步驟所積累的信息中。attention的任務是對于LSTM網絡得到隱層輸出序列oi,在每個時間步,模型會根據上一時刻的隱層輸出與情感編碼序列進行逐一比較得到一個對齊權重,然后按照權重大小將編碼序列中的每個編碼向量加權求和得到最終的attention數值,即當前的情感語音向量。經過T次時間步后,模型會輸出語音數據庫中各類情感的判別概率。其中attention層的注意力權重為

其中,f(oi)是評價函數,表達式為f(oi)=WT·oi,W為訓練參數。對attention層權重求和得到最后的特征向量為
通過交替迭代訓練,attention機制更聚焦目標上細微的有區分性的部分,提取出判別性強的特征表征。
為增加特征向量的信息,對給定的語音進行1D CNN和LSTM操作[10]。首先將語音按照300幀劃分成等長度的語音片段,對于不足300幀的語音用補0的方式填充,處理后的數據格式為片段個數與維度信息,將處理好的數據輸入到CNN和LSTM網絡中提取特征。本文選用四層卷積層、四層池化層和一層雙向LSTM層,第一層卷積層有64個輸出通道,第二層卷積層輸出通道有128個,其他卷積層的輸出通道為256,卷積核的大小為5,池化層大小為2,步長為2。LSTM層的輸出單元大小設為128。
為了驗證多特征融合模型的有效性,本文選用IEMOCAP和EMO-DB情感數據庫進行實驗。IEMOCAP是由南加州大學Sail實驗室錄制的英語數據庫,由10名專業演員(5男5女)表演組成[12]。數據庫包括5節(session),分別為session1、session2、session3、session4、session5,每一節分為即興表演和劇本表演,由1男1女表演得到,即每一節包含兩位說話者。本文選擇即興表演部分,采用中性、高興、生氣、悲傷四種情感,分別有1 099,284,289和608條語音。EMO-DB數據庫是由柏林工業大學錄制的德語情感語音庫,共535條語音[13],由10名專業的演員(5男5女,數據標注分別為03、08、09、10、11、12、13、14、15、16)分別對7類情感(中性、高興、生氣、悲傷、厭惡、無聊和恐懼)表演得到,采樣率為16 kHz。
給定的語音在3D模塊中對Log-MEL特征按照300幀分段,不足300幀的通過補0填充;在1D模塊中,將語音劃分為等長度的片段。本文基于Tensorflow平臺來實現1D和3D多特征融合網絡,網絡參數中,迭代次數(epoch)為500,單次訓練用的樣本數(batch_size)為40,學習率(learning_rate)為10-4,動量(momentum)為0.99,權重衰減(decay_rate)為0.99,丟棄率(dropout)為0.1。
本文采用非加權平均召回率(Unweighted Average Recall, UAR)作為評價指標,實驗協議為“leave one subject out”[14-15],將數據庫中的8位說話者作為訓練集,一位作為驗證集,剩下一位為測試集,為了使實驗數據不具有偶然性,對每一人實驗5次,求出均值與標準差,最后將10個人的數據求均值得到最后結果。為了驗證本文提出的1D和3D融合算法的有效性,本文將本算法和其他方案進行了對比:
(1) CNN-LSTM[16]:對已經提取的特征進行歸一化后,輸入到局部卷積CNN層、全局卷積CNN層、LSTM層,然后通過反饋層進行情感分類。
(2) DCNN_DTPM[17]:先提取三個通道的梅爾頻譜圖作為深度卷積神經網絡(Deep Convolutional Neural Networks, DCNN)輸入,然后使用預先訓練的DCNN模型來學習每個片段的高級特征表示。利用判別時間金字塔匹配(Discriminant Temporal Pyramid Matching, DTPM)策略對學習到的分段級特征進行聚類。
(3) ML ELM_AE[18]:用openEAR工具提取特征[19],通過訓練ML_ELM_AE層(Multi-Layer Extreme Learning Machines based Auto-Encoder, ML ELM_AE)的級聯來學習參數的多層神經網絡,權衡系數為100。
本文對提出的1D和3D多特征融合算法進行驗證,每人實驗5次,求出均值與標準差,然后將10個人的數據求均值。表1為IEMOCAP數據庫中每個人的識別率(以session1,2,3,4為例,將數據session1,session2,session3,session4作為訓練集,session5中的女性數據作為驗證集,男性數據作為測試集時,平均識別率為55.44%,若session5中的女性數據作為測試集時,平均識別率為60.08%)。表2為EMO-DB數據庫中每個人的識別率(以驗證集為08、測試集為03為例,將08說話者作為驗證集,03說話者為測試集,其他為訓練集,平均識別率為87.02%),圖2為IEMOCAP和EMO-DB數據庫的混淆矩陣。

圖2 IEMOCAP數據庫和EMO-DB數據庫的混淆矩陣Fig.2 The confusion matrices of IEMOCAP database(left)and EMO-DB database(right)

表1 IEMOCAP數據庫中不同人的識別率Table 1 The recognition rates of different speakers in IEMOCAP database

表2 EMO-DB數據庫中不同人的識別率Table 2 The recognition rates of different speakers in EMO-DB database
由實驗結果可知,首先,在IEMOCAP數據庫上,由于數據集不平衡,會導致識別率相差很大,在將session1,session3,session4,session5作為訓練集,session2中的男性作為測試集、女性為驗證集時,識別率最高能有69.63%,而最低的識別率在session1,2,3,4作訓練集,session5中男性作為測試集時為55.14%,在 EMO-DB數據庫上,識別率最好的是09序號的說話者作為測試集時,為94.64%,而最低的識別率在10序號的說話者作為測試集時,為76.77%,將每個人作為測試集分別實驗5次,求均值和標準差后再求均值,能消除數據集不平衡的影響,IEMOCAP和EMO-DB數據庫最后的平均識別率為61.22%和85.69%。
其次,通過混淆矩陣可以看出:(1) 情感標簽為悲傷和生氣在兩個數據庫上都能獲得很高的識別率,在IEMOCAP在分別為81%和73%,在EMO-DB數據庫上,分別為95%和84%。(2) 在EMO-DB數據庫上,情感標簽為中性、恐懼、厭惡、無聊識別率很高,分為達到了96%,86%,89%和81%。而在IEMOCAP數據庫上中性情感的識別率很低,只有43%,其中有32%的情感被誤判成高興,17%的情感誤判成生氣。(3) 在兩個數據庫上,情感標簽為高興的識別率相比其他情感來說較低,分別為46%和77%。在IEMOCAP數據庫上,有20%的高興情感被誤判成悲傷,23%的高興被誤判成中性,在EMO-DB數據庫上,有12%的高興情感被誤判成生氣。
與其他方案比較,不同方案下的語音情感識別率如表3所示。

表3 不同方案下的語音情感識別率Table 3 Speech emotion recognition rate under different schemes
通過表3可知,本文提出的算法與上述方案相比,準確率有了相應的提升。在EMO-DB語音庫上,1D+3D多特征融合網絡與DCNN_LSTM網絡相比,準確率提升了5.09個百分點;與DCNN_DTPM網絡相比,準確率提升了2.16個百分點;與ML ELM_AE網絡相比,準確率提升了3.69個百分點。本文分別對1D CNN網絡和3D BCNN網絡分別做了實驗,由實驗結果可知,1D CNN網絡在IEMOCAP和EMO-DB數據庫的識別率分別為53.51%、79.56%,3D BCNN網絡的識別率分別為58.63%和82.93%。兩部分相比較可以發現,3D BCNN網絡的識別率比1D CNN網絡的識別率分別提高5.12個百分點和3.37個百分點。這是因為在3D部分,本文對語音情感進行零均值和標準差處理并且提取對數梅爾特征減少了說話者之間的差異性。而將兩種網絡并聯連接,在IEMOCAP數據庫上識別率分別提高了7.71個百分點和2.59個百分點,在EMO-DB數據庫上識別率分別提高了6.13個百分點和2.76個百分點,說明1D和3D特征融合網絡提高了整個算法的性能。
目前多特征融合算法是解決語音情感識別問題的有效途徑。本文提出的基于3D和1D多特征融合的語音情感識別算法,該算法通過將3D網絡和1D網絡輸出特征融合,使得選擇出判別性強的情感特征,相比僅提取單一特征的3D模型和1D模型,在語音情感識別中有更好的識別效果。同時也發現BCNN模型能提高語音情感識別的正確率。本文算法在訓練樣本的數量、網絡模型的訓練和1D模型的改進上還有待于進一步的理論和實驗研究。