張 衛(wèi),賈 宇,張雪英
(1.山西財(cái)經(jīng)大學(xué)信息學(xué)院,山西 太原 030006;2.太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院,山西 太原 030024)
語音是人和人進(jìn)行信息傳遞的重要方式之一,也是傳遞情感的重要媒介。因此,機(jī)器辨別語音情感變得愈加重要,同時(shí)成為人機(jī)交互研究的一個(gè)重要分支。機(jī)器分析語音情感信號,主要分為語音的預(yù)處理、特征提取、構(gòu)建識別模型三部分。在特征提取方面,現(xiàn)階段的語音特征數(shù)量不斷增加,所以需要提取出更加有效、低冗余的情感識別特征。識別模型選取方面,近些年隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)相關(guān)技術(shù)的不斷發(fā)展,帶來了更多的識別模型,如支持向量機(jī)(Support Vector Machine,SVM)[1],卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[2,3],循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)[4,5],這些模型帶來了不錯(cuò)的識別效果,都同時(shí)在語音情感分類上取得了一定的成果。不過支持向量機(jī)是通過對音頻信號分析轉(zhuǎn)化為特征向量后進(jìn)行分類,對于復(fù)雜的高維語音特征,非線性的變換能力弱的缺陷使得支持向量機(jī)無法充分利用淺層特征達(dá)到很好地分類效果。而卷積神經(jīng)網(wǎng)絡(luò)通過多層一維卷積核對淺層的語音特征進(jìn)行深度提取,在很多應(yīng)用方面展現(xiàn)出了很好地效果。但語音信號屬于一種時(shí)序信息,卷積神經(jīng)網(wǎng)絡(luò)模型一定程度上割裂了特征在時(shí)間上的聯(lián)系。循環(huán)神經(jīng)網(wǎng)絡(luò)具有一定的記憶功能,理論上可以較好地處理時(shí)序數(shù)據(jù),但是隨著數(shù)據(jù)的時(shí)間增加,會出現(xiàn)梯度消失或者梯度爆炸的問題。
混合語音情感識別是對不同語種的情感共同進(jìn)行識別,雖然人類在情感方面具有同性,但具體的情感在不同的語種表達(dá)上又會有各自的特點(diǎn)與差異性。所以使用單語種的情感識別方法進(jìn)行混合語料庫識別,識別率會有明顯的下降。鐘琪[6]在混合語料庫的實(shí)驗(yàn)中驗(yàn)證中文CASIA和德語EMO-DB的四分類混合庫識別率最高只有73.44%。文獻(xiàn)[7]中使用了i-vector、MFCC、SDC系數(shù)作為分類特征,并使用多任務(wù)框架進(jìn)行混合語中的分類,平均識別率最高只有64%。文獻(xiàn)[8]中提出了一種引入最大均值差異和特征降維算法來尋求特征的鄰近空間的方法,但在平均識別率也只有56.8%。不過可以看出,混合語種識別率低的原因就是不同語種之間特征分布相似度不同,造成特征共性不足,單語種的情感特征泛化能力弱。
文獻(xiàn)[9]中提到了使用降噪自編碼器對原始數(shù)據(jù)集提取的特征進(jìn)行加噪還原,最終提取出深度的特征進(jìn)行單語種的情感分類,取得了一定準(zhǔn)確率的提升。文獻(xiàn)[10]將語音特征輸入到長短時(shí)記憶單元(Long Short Term Memory,LSTM)中,并將輸出使用支持向量機(jī)進(jìn)行分類,進(jìn)一步提升了分類準(zhǔn)確率。針對以上的不同分類模型的問題和優(yōu)勢,本文提出了自編碼器+LSTM的模型進(jìn)行混合語音庫的情感分類識別。自編碼器是通過對稱的神經(jīng)網(wǎng)絡(luò)進(jìn)行輸入特征的壓縮還原,本文通過此原理將原始特征進(jìn)行變換,并獲取更抽象的深層次信息,利用這一特點(diǎn)可以有效的提取混合語種的深度特征,從而獲得不同語種特征之間的共性。同時(shí)將LSTM作為處理數(shù)據(jù)的模型,一方面可以充分利用時(shí)序信息,另一方面通過門函數(shù)可以改進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò)出現(xiàn)的梯度消失和爆炸的問題。最后將LSTM層輸出數(shù)據(jù)傳輸?shù)絊oftmax層進(jìn)行分類,驗(yàn)證該模型分類的有效性。
自編碼器是由Hinton提出的一種構(gòu)建對稱神經(jīng)網(wǎng)絡(luò)的方法,主要用于實(shí)現(xiàn)數(shù)據(jù)降噪、特征降維[11]和特征提取[12]。自編碼器為了學(xué)習(xí)數(shù)據(jù)的內(nèi)部特征,限制了數(shù)據(jù)內(nèi)部的表示空間的維度,迫使模型必須學(xué)習(xí)一些低維特征對輸入特征進(jìn)行表示,從而實(shí)現(xiàn)了數(shù)據(jù)的降維和特征提取。
一個(gè)完整的自編碼器結(jié)構(gòu)通常如圖1所示,包含編碼和解碼兩部分。通過對輸入的特征自監(jiān)督學(xué)習(xí),自編碼器嘗試建立一個(gè)恒等函數(shù),將輸入特征x送入編碼器壓縮到潛在空間中,得到的輸出數(shù)據(jù)編碼h。解碼器的目的是將潛在空間中的數(shù)據(jù)盡可能地解碼成原來的輸入,編碼器的輸出h作為解碼器的輸入數(shù)據(jù),通過解碼后獲得輸出數(shù)據(jù)y。再通過縮小編碼器的輸入x和解碼器的輸出y之間的誤差,反向重復(fù)調(diào)節(jié)自編碼器的參數(shù)。最終訓(xùn)練好的自編碼器的編碼h就是得到的深層次特征。
圖1 自編碼器結(jié)構(gòu)
假設(shè)原始輸入x={x1,x2,…,xn},經(jīng)編碼器f后,獲得編碼h=f(x),再輸入到解碼器g后,獲得解碼重構(gòu)信號y={y1,y2,…,yn}。訓(xùn)練自編碼器的誤差函數(shù)L使用均方誤差重構(gòu),整個(gè)訓(xùn)練過程,設(shè)置目標(biāo)的輸出y和輸入x相等。網(wǎng)絡(luò)訓(xùn)練中的編碼、解碼以及誤差函數(shù)通過式(1)表達(dá)
h=σ1(W12x+b1)
y=σ2(W23h+b2)
L(x,y)=‖x-y‖2
(1)
σ1和σ2分別是隱藏層和輸出層激活函數(shù),根據(jù)數(shù)據(jù)的具體情況,會在Tanh、Sig-moid、Relu中進(jìn)行選擇。通常隱藏層選取Sigmoid函數(shù),輸出層選取線性函數(shù)。
通過反復(fù)最小化損失函數(shù),算法完成了對自編碼器的訓(xùn)練。當(dāng)完成訓(xùn)練之后,編碼h具備了原有淺層特征不具備的更抽象的特征意義,比原始特征具備了更強(qiáng)的魯棒性,可以作為情感的分類特征。
Goller[13]提出循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)不同,RNN是一種具有記憶功能的網(wǎng)絡(luò)。RNN是將之前的信息進(jìn)行記憶,并將該信息和新輸入的特征一起作為新的輸入,可以很好的表征時(shí)序變化的數(shù)據(jù),因此應(yīng)用在語音數(shù)據(jù)分類上會有較好的效果[14]。但是RNN在面對長序列訓(xùn)練過程中,由于迭代層數(shù)逐漸增大,會出現(xiàn)梯度消失[15]的問題,所以使用RNN的變形體LSTM模型可以處理更長的序列。LSTM模型最先由HoHochreiter & Schmidhuber[16]提出,后來由Alex Graves[17]改進(jìn),梯度消失的問題通過引入門函數(shù)來解決。文獻(xiàn)[18]中使用了LSTM進(jìn)行語音情感分類。LSTM通過使用輸入門、遺忘門、輸出門三個(gè)單元完成記憶的控制過程,從而獲取一段時(shí)長的時(shí)序規(guī)律。LSTM在面對由一系列幀構(gòu)成的語音信號數(shù)據(jù)處理過程時(shí),展現(xiàn)出了比傳統(tǒng)分類更好的效果。xt指第t個(gè)輸入序列元素值;Ct指記憶單元(cell)或稱為細(xì)胞狀態(tài),是網(wǎng)絡(luò)的核心,控制信息的傳遞;i指輸入門(inputgate) 決定當(dāng)前xt保留多少信息給Ct;ft指遺忘門(forgetgate)決定能夠保留多少前一時(shí)刻的細(xì)胞狀態(tài)Ct-1至當(dāng)前的Ct;Ot指輸出門(outputgate)決定Ct傳送多少至當(dāng)前狀態(tài)的輸出ht;ht-1指在t-1 時(shí)刻的隱層狀態(tài)。其單元結(jié)構(gòu)如圖2所示,各個(gè)門的更新步驟按照式(2)進(jìn)行。
圖2 LSTM單元結(jié)構(gòu)
(2)
LSTM 通過門函數(shù),控制歷史信息的傳遞,使得前幾幀部分特征可以與當(dāng)前幀特征共同決定當(dāng)前的輸出結(jié)果,最后LSTM層得到的所有輸出送入softmax層對每一類標(biāo)簽進(jìn)行概率分類,理論上其步長越長,挖掘出的信息量越多,因此具備了一定的時(shí)間序列的處理能力和預(yù)測能力。
本文將提取原始的180維特征輸入到自編碼器當(dāng)中進(jìn)行訓(xùn)練,通過多次縮小損失函數(shù)后,提取中間隱藏層的深度特征,將隱藏的深度特征輸入到單層的LSTM中進(jìn)行識別分類。
通過對語音庫提取MFCC[19]、MEL Spect-rogram Frequency[20]、Chorma三種類型特征,共獲得180維特征。提取的特征見表1。
表1 輸入的原始特征
將180維原始特征送入自編碼器中,進(jìn)行特征還原重構(gòu),其中編碼器使用一個(gè)500維的神經(jīng)層,解碼時(shí)使用sigmoid函數(shù)完成自編碼器的結(jié)構(gòu)見圖3,具體參數(shù)見表2。
圖3 自編碼結(jié)構(gòu)
表2 自編碼器參數(shù)
通過自編碼器隱藏層提取的500維深度特征,傳輸至單LSTM層,最后連接到soft-max層,整個(gè)模型的結(jié)構(gòu)見圖4。
圖4 自編碼器+LSTM模型結(jié)構(gòu)
綜上,本文提出了一種針對混合庫語音情感分類任務(wù),利用自編碼器提取深度特征后,再將深度特征輸入到LSTM層,充分利用LSTM模型的處理時(shí)序數(shù)據(jù)的能力。該模型不僅能夠有效地將不同語種有較大差異性的原始特征進(jìn)行重構(gòu),提取出具有更多共性的深層次特征。并通過LSTM層,充分利用這些深層特征,分類準(zhǔn)確率得到較明顯的提升。
本實(shí)驗(yàn)使用德文EMO-DB語料庫和中文CASIA語料庫的語音數(shù)據(jù)進(jìn)行情感識別分類,EMO-DB由10名人員錄制,包括憤怒、高興、害怕、傷心、無聊、厭惡、中興七種情感。CASIA由2名男性和2名女性每人對憤怒、高興、害怕、自然、驚訝、悲傷六種感情進(jìn)行錄制。為了進(jìn)行混合語音探究,本次實(shí)驗(yàn)先分別使用SVM、CNN、LSTM對兩個(gè)語音庫單獨(dú)進(jìn)行識別,獲取不同模型對單語音庫的識別率。再使用兩個(gè)庫共同擁有的憤怒、高興、害怕、傷心、中興五種感情進(jìn)行分類測試。其中德語有408條數(shù)據(jù),中文有1000條數(shù)據(jù)。按照8:2的比例劃分訓(xùn)練集和測試集,訓(xùn)練集共1126條,測試集共282條。最終按照十折交叉驗(yàn)證完成實(shí)驗(yàn)。實(shí)驗(yàn)環(huán)境使用深度學(xué)習(xí)框架Keras。
首先進(jìn)行了單語言和混合語音的情感識別。將180維原始特征(見表1)分別輸入不同的分類模型進(jìn)行情感識別,識別結(jié)果如表3所示。使用加粗標(biāo)明了每一種語種識別率最高的識別模型對應(yīng)的識別率。其中CNN使用三層一維卷積層,LSTM使用單層結(jié)構(gòu),具體參數(shù)見表4和表5。
表3 單語言及混合語音庫情感識別率
表4 CNN網(wǎng)絡(luò)參數(shù)
表5 LSTM網(wǎng)絡(luò)參數(shù)
實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)德語的情感識別準(zhǔn)確率要遠(yuǎn)高于中文語音庫,且不同識別模型的識別效果差距不太大。中文語音情感識別率偏低,識別模型選用SVM識別效果會更好。另外通過對比,發(fā)現(xiàn)混合語音的識別準(zhǔn)確率會受到不同語言特征的影響,并不會很高,大致與中文數(shù)據(jù)庫識別率相似,其中混合庫使用SVM和LSTM的識別率略低于CASIA,使用CNN識別率高2.6%。
由此可知,識別模型的選擇以及找到不同語種之間的特征聯(lián)系,才可以使混合情感識別的準(zhǔn)確率得到提高。因此設(shè)計(jì)了下面的自編碼器特征訓(xùn)練進(jìn)行試驗(yàn)。
表6統(tǒng)計(jì)了原始180維特征、降維120維自編碼器特征、500維自編碼器特征、500維降噪自編碼器特征分別在SVM、CNN、LSTM的識別效果。
此次試驗(yàn)分別使用SVM、CNN和LSTM三種模型對原始180維特征、自編碼壓縮120維特征、自編碼500維特征、降噪自編碼500維特征進(jìn)行分類。
在表6顯示了當(dāng)使用原始特征直接連Softmax層進(jìn)行分類時(shí),識別率只有65.7%。但原始特征經(jīng)過自編碼器訓(xùn)練后提取出的深度特征接入Softmax層后都有明顯的提升,其中自編碼器500維特征的識別率有71.2%。SVM在自編碼120維特征效果最好,達(dá)到了78.2%。而CNN在500維的降噪自編碼器和自編碼器特征中識別率最高,達(dá)到了78%。LSTM方面,500維的自編碼器特征識別率可以提升到81.6%,較原始特征有較好的提升效果,同時(shí)也略優(yōu)于其它幾種特征和不同識別模型的組合。這說明自編碼器對混合語音的特征進(jìn)行無監(jiān)督訓(xùn)練起到了較好的效果,使混合數(shù)據(jù)之間建立了聯(lián)系。降噪自編碼器是對數(shù)據(jù)一定程度破壞再進(jìn)行重構(gòu),對比原始特征,識別率也有一定程度的提升,但是不如自編碼器直接訓(xùn)練的效果好。其主要原因是加噪聲時(shí),原始特征是否能變得更加適合情感分類有一定的隨機(jī)性,加噪后的數(shù)據(jù)對于分類更多的起到的是副作用。由此可見降噪自編碼器之所以可以提升識別率,主要依靠自編碼器對特征的深度提取的作用。
表6 自編碼器特征在混合語音庫的識別率
圖5是多次進(jìn)行不同隱藏層神經(jīng)元數(shù)量構(gòu)建模型分類的識別率圖。當(dāng)隱藏層神經(jīng)元較少時(shí),識別率不能達(dá)到最高。當(dāng)神經(jīng)元數(shù)量達(dá)到500左右時(shí),識別率基本達(dá)到最好,而且當(dāng)神經(jīng)元過多時(shí),輸出特征過大,計(jì)算速度會變慢,同時(shí)識別率也有下降趨勢。所以無論神經(jīng)元數(shù)量過大還是過小,都不利于無監(jiān)督訓(xùn)練過程特征的重構(gòu)。所以500維取得了一個(gè)較好的效果。降噪自編碼器是對數(shù)據(jù)一定程度破壞再進(jìn)行重構(gòu),對比原始特征,識別率也有一定程度的提升,但是不如自編碼器直接訓(xùn)練的效果好,可見降噪自編碼器之所以可以提升識別率,主要依靠自編碼器對特征的深度提取的作用。
圖5 隱藏層神經(jīng)元數(shù)對情感識別率的影響
在日益全球化的趨勢下,多語言的交流越來越重要。針對混合語言情感特征差異性導(dǎo)致的識別率較低的問題。本文通過對比單語言和混合語音情感識別,提出了使用自編碼器+LSTM的分類方法來提升識別效果。其中自編碼器用來對語音特征進(jìn)行變換,抽象更深層次的特征。LSTM則充分利用不同幀的時(shí)序信息進(jìn)行情感分類,實(shí)驗(yàn)證明該方法比原始特征直接分類至少提升了7.5%的準(zhǔn)確率。本研究只考慮使用MFCC,MEL Spectrogram Frequency,Chroma三種特征輸入自編碼器進(jìn)行深度提取,而且只使用了中文和德文語音庫進(jìn)行探究,對于其它語種的特點(diǎn)掌握的不夠充分。未來工作將進(jìn)一步使用更多的語音庫以及更多的特征和不同的方法對進(jìn)行處理來獲得更好的效果