張會云,黃鶴鳴*,李 偉,黃志東
(1.青海師范大學計算機學院,青海 西寧 810008;2.藏文信息處理教育部重點實驗室,青海 西寧 810008;3.青海省藏文信息處理與機器翻譯重點實驗室,青海 西寧 810008)
語音包含豐富的語言、副語言和非語言信息[1],這些信息對人機交互具有非常重要的意義。僅理解語言信息并不足以使計算機能夠完全理解說話者的意圖。為了使計算機類同人類,語音識別系統需要能夠處理非語言信息,尤其是說話者的情感狀態[2]。因此,語音情感識別(Speech Emotion Recognition,SER)受到越來越多研究者的廣泛關注[3-4]。
情感語音包括語義內容和情感特征,大量SER研究主要集中于尋找最能表示情感的不同語音特征[1]。文獻[5-6]提出了關于情感的各種短期特征和長期特征,但仍不清楚哪些特征更能提供情感方面的信息。傳統方法是提取大量統計特征,并使用機器學習算法分類。很明顯,特征提取包括兩個階段。首先,從短幀中提取情感聲學特征,即低級描述符;其次,每個低級描述符用不同統計聚合函數表示成特征向量,表達了句子級不同低級描述符的時間變化和輪廓[5]。常用的低級描述符和高級統計函數如表1所示[6]。

表1 常用的低級描述符與高級統計函數
人類通過潛意識識別情感,為了實現更好的人機交互,需要考慮語音中的情感。由于人類情感界限模糊,因此,識別情感具有很大的挑戰性。首先,很難確定語音片段的開始和結束;其次,每個語音片段通常表示不同情感[5-7]。
最近深度學習自動學習SER中的情感特征受到很多研究者的關注[8-10]。對情感的識別需要考慮上下文信息,而LSTM網絡恰好用于序列輸入動態建模,且能夠解決網絡訓練中的梯度消失或爆炸問題。這是由于LSTM的輸入通常來自底層和先前時刻時間步長的輸出,且LSTM中的記憶單元和門能夠控制信息記憶、輸出或遺忘[2,10]。
SER受益于神經網絡,文獻[8,9,11]表明神經網絡更高層可獲取更多時間步長時,其網絡性能將大幅提升,但這僅針對傳統神經網絡,并未討論時間序列問題。文獻[12-14]表明語音時間信息有利于情感識別。因此,很多研究者提出了將循環神經網絡(Recurrent Neural Network,RNN)應用于SER研究,文獻[13]使用RNN在幀級學習短期聲學特征,并將傳統表示映射到句子級表示。由于Attention機制能夠選擇情感集中區域[14-15],文獻[5]提出了將其應用于LSTM網絡來提取聲學特征。在此基礎上,文獻[6]引入先進的LSTM(Advanced LSTM,A-LSTM)網絡來提取聲學特征,能更好地實現上下文建模,實驗表明,基于Attention機制的A-LSTM(Attention Advanced LSTM,AA-LSTM)網絡對情感的識別性能更優。
為了提取語音中的潛在情感,研究了AA-LSTM網絡在不同參數集對情感識別系統性能的影響。
為了評估基于AA-LSTM網絡的SER系統性能,本研究在EMO-DB語料庫上進行了大量實驗。EMO-DB語料庫由柏林工業大學在專業錄音室錄制,采樣率16kHz,16bit量化,共535句語料,由10位演員(5男5女)對10個語句(5長5短)模擬生氣W、無聊L、厭惡E、害怕A、高興F、悲傷T及中性/N等7種情感。
所提取的聲學特征包括13維MFCC、過零率、譜重心、諧波噪聲比及音高等,并對提取的特征進行歸一化處理[16-17]。
基于Attention機制的LSTM網絡依賴Attention機制學習每個步長的權重并將其表示為加權組合,多任務學習可更好地學習句子級特征[5]。其結構如圖1所示。

圖1 基于Attention機制的加權池化LSTM
該結構分為主干和分支,分支包含情感、說話者和性別分類[5],主干共享所有任務,并處理分類的輸入和特征表示,其頂部是加權池層[2],[18],計算如(1)式所示

(1)

(2)
其中,hT是T時LSTM的輸出,AT是T時相應權重的標量,計算過程如(2)式,W是學習參數,exp(W·hT)是T時的能量。若T時幀能量很高,其權重就增大,關注更高;反之,則關注較低,即模型可分配權重[19]。
本研究主干是具有256個ReLU節點的全連接層和128個節點的雙向LSTM層,隨后進入加權池層。在分支部分,每個任務均有隱含層,即包含256個ReLU神經元和Softmax層。
傳統LSTM的輸入來自底層和前一刻時間步長的輸出并將其反饋到更高層。門機制通過點乘法控制信息流動[6],記憶單元更新信息如(3)式。其中,ft和it是t時遺忘門和輸入門的輸出;Ct是新的候選單元值,計算如(4)式。其中,tanh是激活函數,WC是學習的權重集合,bC是偏置;[ht-1,xt]是先前時間步長(h值)和底層(x值)的串聯,t時h值計算如(5)式。其中,Ot是輸出門,基于ht-1和Ct-1計算Ct。
(3)

(4)
ht=ot⊙tanh(Ct)
(5)
與傳統LSTM不同,A-LSTM釋放了時間t狀態依賴于t-1狀態的假設,并使用多個狀態的加權和計算C值和H值,如圖2所示。將LSTM中的(3-4)式修改為(6-7)式,C是選定狀態的加權和,T是選定時間步長的集合,(9)式中的是標量,表示時間步長對應的權重;(10)式用于計算t時刻隱含值,與(5)式相同,但此時單元值是C′,h′通過(11-12)式進行計算,在(9)(12)式中,W是學習到的共享參數,C′和h′包含集合T中的所有狀態和隱含值。

圖2 A-LSTM的展開圖

(6)

(7)

(8)
(9)

(10)

(11)

(12)
A-LSTM具有更靈活的時間依賴建模能力,類同人類學習機制,能夠回憶起先前時刻信息,使學習變得更好。
將Attention機制與A-LSTM網絡相結合得到AA-LSTM網絡,其結構如圖3所示。與圖1不同之處在于該網絡將圖1中的LSTM網絡改為圖2中的A-LSTM網絡結構,其計算過程如式(6~12)。
本研究在EMO-DB德語情感語料庫上研究了AA-LSTM網絡中的最優參數設置和優化器選擇。首先,比較了不同批處理(Batchsize)、迭代周期(Epoch)、交叉驗證次數(K_folds)以及訓練終止條件(Patience)對AA-LSTM網絡系統性能的影響;其次,選擇不同的優化器對系統進行優化,其評價指標采用準確率、均值和方差。

圖3 基于Attention機制的A-LSTM網絡
表2給出了該模型在不同Batch size下得到的混淆矩陣、最優性能及均值和方差。為了研究不同Batchsize下模型所獲得的性能,在該系統中,使K_folds=5,Epoch=100,Patience=10,Optimiser=′Adam′。
由表2可知,在其它參數確定的情況下,不同Batch Size對系統性能影響有所差異。當Batch Size=16時,系統最佳性能達到66.39%,但均值為61.78%且偏離程度較大;Batch Size=64雖偏離程度較小,但耗時相當大。綜合來看,當Batch Size=32時不僅系統平均性能較穩定,耗時也非常小,主要是由于選取的批量大小合適,提高了訓練速度;同時,選取合適Batch Size使梯度下降方向更加準確,從而提升了網絡整體性能。

表2 不同Batch Size下的混淆矩陣與性能
表3給出了該模型在不同優化器(Adam,Rmsprop,Sgd)下得到的混淆矩陣、最優性能及均值和方差。為了研究不同優化器下模型所獲得的性能,在該系統中,使K_folds=5,Patience=10,Epoch=100,Batch size=32。
由表3可知,在其它參數確定的情況下,不同優化器對系統性能影響有所差異。綜合考慮準確率、均值及方差,與Adam,Sgd等優化器相比,選擇Rmsprop優化器優化模型時,系統最佳性能可達到67.29%,平均性能為62.26%且偏離程度較小,表明Rmsprop是該系統中的最佳優化器,Adam次之,Sgd優化器不適用于該模型結構。

表3 不同優化器下的混淆矩陣與性能
表4給出了該模型在不同訓練終止條件(Patience)下所獲得的混淆矩陣、最優性能及均值和方差。為了研究不同Patience下模型所獲得的性能,在該系統中,Batchsize=32,Optimiser=′Rmsprop′,K_folds=5,Epoch=100。
由表4可知,在其它參數確定的情況下,不同Patience對系統性能影響有所差異。綜合考慮準確率、均值及方差等因素,當Patience=10時,系統性能達到最優、整體性能穩定、偏離程度較小且耗時較小。隨著Patience值不斷增大,系統性能有所下降,這是由于過擬合現象造成的。
表5給出了該模型在不同交叉驗證次數(K_folds)下得到的混淆矩陣、最優性能及均值和方差。為了研究不同K_folds下模型所獲得的性能,在該系統中,使Batchsize=32,Optimiser=′Rmsprop′,Patience=10,Epoch=100。
由表5可知,在其它參數確定的情況下,不同K_folds對系統性能影響有所差異。綜合考慮準確率、均值及方差等因素,隨著K_folds逐漸增大,模型最佳性能可達到70.09%,且整體性能有所提升,這是一個非常可觀的結果,但系統偏離程度較大且非常耗時。

表4 不同Patience下的混淆矩陣與性能

表5 不同K-folds下的混淆矩陣與性能
表6、表7給出了該模型在不同迭代周期(Epoch)下得到的混淆矩陣、最優性能及均值和方差。為了研究不同Epoch下模型的性能,在該系統中,使Batchsize=32,Optimiser=′Rmsprop′,Patience=10,K_folds=5。
由表6、表7可知,在其它參數確定的情況下,不同Epoch對系統性能影響有所差異。綜合考慮準確率、均值及方差,當Epoch增大到100時,模型最佳性能可達到67.29%,且整體性能有所提升,但偏離程度較大;當Epoch繼續增大到200時,模型的性能有所下降且非常耗時。同時,縱觀表6,表7可得出:針對同一Epoch,K_folds越大,系統性能越好。進一步證明了K_folds對系統性能的作用。

表6 K_folds=5在不同Epoch下的混淆矩陣與性能

表7 K_folds=10在不同Epoch下的混淆矩陣與性能
本研究采用AA-LSTM網絡對SER系統中的參數進行了驗證,該實驗中涉及到的網絡參數有:模型交叉驗證次數(K_folds)、模型在訓練集上運行的周期(Epoch)、每次訓練模型時選取的批量大小(Batch size)、檢測模型終止的條件(Patience)以及模型優化器(Adam,Rmsprop,Sgd)等。實驗結果表明:網絡結構中的參數對情感識別系統性能影響較大,即選取適當參數集不僅能夠提高網絡模型的性能,還能大大減少模型的訓練時間;同時,優化器的選擇對系統性能影響也較大。本研究通過大量實驗以選擇AA-LSTM網絡性能達到最優時的參數設置,今后將利用對抗網絡生成足夠數量SER數據,并在最優參數設置下將跳躍連接引入該網絡以研究其性能,或將結合多時間步長狀態的思想擴展到門控循環單元(GRU)。