喬 棟,陳章進(jìn),2,鄧 良,屠程力
(1.上海大學(xué) 微電子研究與開發(fā)中心,上海 200444;2.上海大學(xué) 計(jì)算中心,上海 200444)
語音情感識別作為人機(jī)交互領(lǐng)域的重要技術(shù),能使機(jī)器理解人類的情感狀態(tài),并使智能機(jī)器具有感知情感的能力。目前,語音情感識別越來越受到重視[1-3],語音信號中用于情感識別的特征包括能量、音高、過零率、共振峰、語譜圖[4-5]、梅爾倒譜系數(shù)等[6]。將這些低層特征以語音幀為單位進(jìn)行提取,并把它們在語音段的全局統(tǒng)計(jì)特征值輸入到分類器中進(jìn)行情感識別。傳統(tǒng)的語音情感識別方法通常使用人工選取的特征輸入淺層機(jī)器學(xué)習(xí)模型進(jìn)行分類識別,例如高斯混合模型[7]、支持向量機(jī)[8]、隱馬爾科夫模型[9]等。支持向量機(jī)和隱馬爾科夫方法在機(jī)器學(xué)習(xí)中經(jīng)常被使用,具有較高的確定性。而人的情感具有較強(qiáng)的復(fù)雜性和不確定性,因此在語音情感識別中表現(xiàn)較差。隨著機(jī)器學(xué)習(xí)技術(shù)的應(yīng)用和發(fā)展,研究人員開始使用神經(jīng)網(wǎng)絡(luò)分類器來執(zhí)行各種語音情感識別任務(wù),神經(jīng)網(wǎng)絡(luò)在處理不確定和非線性映射問題方面具有獨(dú)特的優(yōu)勢,并且可以檢測其他分類技術(shù)無法檢測到的規(guī)律和趨勢,是模式識別中使用最廣泛且最成功的多層前饋網(wǎng)絡(luò)。由于語料庫中沒有統(tǒng)一的標(biāo)準(zhǔn),因此識別效果差異很大[10-12],人類情感信息的復(fù)雜性和不確定性導(dǎo)致卷積神經(jīng)網(wǎng)絡(luò)識別中文語音情感的準(zhǔn)確率仍然不高。
對標(biāo)準(zhǔn)的中文語音情感庫CASIA 而言,僅對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)的方法,其識別準(zhǔn)確率不足60%[13]。在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,為緩解過擬合,有研究人員使用參數(shù)遷移的方法,并加入了數(shù)據(jù)增強(qiáng)[14],使其在CASIA 數(shù)據(jù)集上的識別準(zhǔn)確率提高到了72.8%。文 獻(xiàn)[15]通過改進(jìn)Lenet-5網(wǎng)絡(luò),在CASIA 數(shù)據(jù)集上取得 了85.7% 的識別率[15]。文獻(xiàn)[16]在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上加入循環(huán)神經(jīng)網(wǎng)絡(luò)層,將CASIA 數(shù)據(jù)集上的識別準(zhǔn)確率提升至90%左右[16]。
為進(jìn)一步提高中文語音情感的識別效果,本文提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的中文語音情感識別方法。通過改進(jìn)MFCC 特征提取方法以及加入高斯白噪聲進(jìn)行數(shù)據(jù)增強(qiáng),提高識別效率。同時(shí),建立一種輕量化的Trumpet-6 卷積神經(jīng)網(wǎng)絡(luò)模型用于中文語音情感識別,提高識別準(zhǔn)確率。
在語音識別領(lǐng)域,MFCC 是最常用的語音特征之一。通過對人類聽覺機(jī)制的研究發(fā)現(xiàn),人耳對不同頻率的聲波具有不同的聽覺敏感性,低頻率的聲音往往會掩蓋高頻率的聲音,低頻段聲音掩蔽的臨界帶寬小于高頻段。因此,根據(jù)從密集到稀疏的臨界帶寬,從低頻到高頻設(shè)置一組梅爾帶通濾波器對輸入信號進(jìn)行濾波[17],以梅爾帶通濾波器輸出的信號能量作為信號的基本特征,對語音的輸入特征進(jìn)行處理。由于MFCC 特征不依賴信號的性質(zhì),對輸入信號沒有任何假設(shè)和限制,因此,該參數(shù)具有更好的魯棒性[18],更符合人耳的聽覺特性,在信噪比(Signal-to-Noise Ratio,SNR)降低的情況下仍具有良好的識別性能[17]。
MFCC 特征與頻率的關(guān)系可用式(1)近似表示:
MFCC 特征的提取過程如圖1 所示。
圖1 MFCC 特征提取過程Fig.1 MFCC feature extraction process
分幀操作把N個(gè)采樣點(diǎn)壓縮為1 個(gè)單位,即1 幀,對這1 幀加窗(漢明窗等)計(jì)算后,再進(jìn)行后續(xù)處理。幀與幀之間有重疊部分,是為了使幀與幀之間平滑過渡,保持其連續(xù)性。由于預(yù)加重操作實(shí)際相當(dāng)于高通濾波,因此分幀加窗后得到的數(shù)據(jù)能夠?yàn)楹罄m(xù)時(shí)頻變換初始化數(shù)據(jù)。
如果一個(gè)噪聲的功率譜密度為常數(shù),即功率譜均勻分布,則稱其為白噪聲;若此白噪聲的幅度分布服從高斯分布,則稱其為高斯白噪聲。本文采用高斯噪音,是為了更好地模擬未知的真實(shí)噪音,因?yàn)樵谡鎸?shí)環(huán)境中,噪音往往不是由單一源頭造成,而是很多不同來源的噪音復(fù)合體[19]。假設(shè)把真實(shí)噪音看成非常多不同概率分布的隨機(jī)變量加合,并且每一個(gè)隨機(jī)變量均獨(dú)立,那么根據(jù)中心極限定理,其歸一化和則隨著噪音源數(shù)量的上升,呈現(xiàn)高斯分布[20]形態(tài)。因此,使用合成的高斯白噪聲為合理的近似仿真。
在深度學(xué)習(xí)中,數(shù)據(jù)與模型均為影響最終訓(xùn)練結(jié)果的重要方面。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練之前對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng),是有效緩解模型過擬合的方式。通過對輸入特征圖進(jìn)行數(shù)據(jù)增強(qiáng),可以讓網(wǎng)絡(luò)模型將經(jīng)過處理后的同一幅圖片當(dāng)成多幅圖片,擴(kuò)充數(shù)據(jù)集的樣本數(shù)量[21-23]。通過給神經(jīng)網(wǎng)絡(luò)模型輸入足夠的圖片,可以保證神經(jīng)網(wǎng)絡(luò)模型能夠提取足夠多的有效信息。
數(shù)據(jù)增強(qiáng)的傳統(tǒng)方法包括對圖片進(jìn)行旋轉(zhuǎn)、平移、翻轉(zhuǎn)等。由于在語音識別領(lǐng)域,圖片是提取語音信息后所得數(shù)值矩陣產(chǎn)生的圖像,因而具有一定的聲音特性。例如,對于圖像來說,橫軸和縱軸沒有實(shí)際意義,而對于MFCC 特征矩陣來說,橫軸代表時(shí)間,縱軸代表通頻帶上的濾波器編號。因此,傳統(tǒng)數(shù)據(jù)增強(qiáng)方法在處理圖像時(shí)所運(yùn)用的圖像旋轉(zhuǎn)、平移、翻轉(zhuǎn)等破壞了語音信號的連續(xù)性,導(dǎo)致聲音特性出現(xiàn)混淆與丟失的現(xiàn)象,準(zhǔn)確率難以提高[14]。而現(xiàn)階段的研究較少關(guān)注中文語音情感識別數(shù)據(jù)增強(qiáng)方法的改進(jìn)。
本文使用的CASIA 數(shù)據(jù)集為短句形式,句子長度約為1~2 s,語音連續(xù)特征相對于長語音句較少,因此將語音信號轉(zhuǎn)化為圖片,并利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行語音情感識別。
本文對語音情感數(shù)據(jù)集的MFCC 特征提取以及預(yù)處理方法進(jìn)行了改進(jìn),主要包括分幀加窗的采樣點(diǎn)個(gè)數(shù)選取及高斯白噪聲數(shù)據(jù)增強(qiáng)這兩個(gè)方面。
2.1.1 分幀加窗的采樣點(diǎn)個(gè)數(shù)選取
分幀加窗對特征圖的影響如圖2 所示,將語音信號按S個(gè)采樣點(diǎn)取走分幀,經(jīng)過后續(xù)加窗(漢明窗w(s))、快速傅里葉變換等操作,最終變?yōu)镸FCC 特征圖中的一列,S的值不同,MFCC 矩陣的列數(shù)就不同。當(dāng)S=512 時(shí),橫軸L的長度為252;當(dāng)S=2 048 時(shí),L僅為63。
圖2 分幀加窗對特征圖的影響Fig.2 Influence of framing and windowing on feature map
分幀加窗直接影響特征圖大小,經(jīng)過歸納,計(jì)算公式如式(2)所示:
其中:L為特征圖橫軸長度;D為語音信號總的采樣點(diǎn)個(gè)數(shù),信號長度為2 s 時(shí)共有32 000 個(gè)采樣點(diǎn);S為幀長;T為幀移。
對于分幀加窗的采樣點(diǎn)個(gè)數(shù),以往傳統(tǒng)的方式習(xí)慣選擇2 的整數(shù)次冪,如256 或512。這種較少采樣點(diǎn)的設(shè)置會使生成的MFCC 矩陣的橫軸,即代表時(shí)間的軸過長,導(dǎo)致神經(jīng)網(wǎng)絡(luò)輸入特征圖過大,而設(shè)置過多采樣點(diǎn)又會令特征圖上每個(gè)像素點(diǎn)所代表的壓縮后聲音特征不明顯,識別準(zhǔn)確率下降。因此,本文經(jīng)過實(shí)驗(yàn)后,將采樣點(diǎn)確定為2 048,并視為單幀可容納采樣點(diǎn)的上限,將其作為幀長。同時(shí),幀移設(shè)置為1/4 幀長,即512 個(gè)采樣點(diǎn)。將幀內(nèi)語音信號y(s)與漢明窗w(s)疊加[23],得到分幀加窗后的信號y′(s),計(jì)算公式如式(3)所示:
將一段語音Y[D]分幀提取MFCC 特征的流程如算法1 所示。
算法1分幀加窗提取MFCC 流程算法
MFCC 矩陣縱軸的長度由MFCC 特征提取時(shí)設(shè)定的濾波器個(gè)數(shù)決定,一般設(shè)定為22~26 個(gè)。本文通過對比發(fā)現(xiàn),將其取整設(shè)定為20 并無明顯性能下降,故最終選擇濾波器個(gè)數(shù)為20。最終,經(jīng)過歸一化得到20 像素×63 像素的單通道特征圖。
2.1.2 高斯白噪聲數(shù)據(jù)增強(qiáng)
由于訓(xùn)練數(shù)據(jù)較少,訓(xùn)練出的模型往往泛化性差,容易過擬合,準(zhǔn)確率不高。對原有1 200 條數(shù)據(jù)進(jìn)行數(shù)據(jù)增強(qiáng)發(fā)現(xiàn),傳統(tǒng)的數(shù)據(jù)增強(qiáng)方法會破壞聲音的連續(xù)特征,而高斯白噪聲則均勻疊加在原有音頻上,因此本文采用加入高斯白噪聲作為數(shù)據(jù)增強(qiáng)方法。此外,由于模型是在有噪聲的環(huán)境下進(jìn)行訓(xùn)練,因此得到的神經(jīng)網(wǎng)絡(luò)模型具有一定的抗噪性。由于原有數(shù)據(jù)集的信噪比為35 dB,因此加入信噪比大于35 dB 的噪聲可認(rèn)為沒有噪聲。所以,在加入高斯白噪聲進(jìn)行數(shù)據(jù)增強(qiáng)時(shí),需固定噪聲的信噪比,并使其小于35 dB,如此也便于分析加入不同信噪比與樣本數(shù)量的數(shù)據(jù)增強(qiáng)實(shí)驗(yàn)效果。生成一個(gè)標(biāo)準(zhǔn)高斯隨機(jī)數(shù)較為容易,令該噪聲(設(shè)其聲音長度為N)乘以系數(shù)k即可得到一個(gè)固定信噪比的噪聲。計(jì)算語音信號的功率PS和生成的噪聲功率Pn1的計(jì)算公式如式(4)~式(5)所示:
給定固定信噪比X,求解k值,假設(shè)Pn為需要的信噪比的噪聲功率,則有:
對式(6)進(jìn)行整理可得:
繼續(xù)整理,得到k值如式(8)所示:
高斯白噪聲數(shù)據(jù)增強(qiáng)過程如圖3 所示,將求出的不同信噪比對應(yīng)的ki(i=1,2,…,N)乘以標(biāo)準(zhǔn)高斯噪聲,再和純凈音頻中提取的MFCC 特征圖進(jìn)行線性疊加。由于高斯白噪聲為隨機(jī)值,疊加后的特征圖對應(yīng)像素的值發(fā)生了非線性的隨機(jī)變化,因此可以當(dāng)作完全不同的圖片。隨后,將加過噪聲的MFCC 特征圖與純凈MFCC 特征圖一同送入數(shù)據(jù)集[24]。
圖3 高斯白噪聲數(shù)據(jù)增強(qiáng)Fig.3 Gaussian white noise data augmentation
卷積神經(jīng)網(wǎng)絡(luò)一直是研究和應(yīng)用的熱門技術(shù)。不同于傳統(tǒng)的全連接神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)在進(jìn)入全連接層進(jìn)行標(biāo)簽的配對之前要先經(jīng)過若干個(gè)卷積層和池化層,并對輸入特征進(jìn)行壓縮和提取,從而簡化訓(xùn)練過程。卷積操作可以視作濾波,而完成特征提取的卷積核即為濾波器。直接卷積的計(jì)算公式如式(9)所示:
其中:f是非線性激活函數(shù)表示偏移值;O(x,y)表示輸入特征圖坐標(biāo)(x,y)處的值;w(kx,ky)表示卷積核坐標(biāo)(kx,ky)上的權(quán)重值;ln(x+kx,y+ky)表示輸出特征圖坐標(biāo)(x+kx,y+ky)上的輸入值;kx、ky表示卷積核的尺寸;fi表示第i幅輸入特征圖;Nfi表示輸入特征圖的數(shù)目。
池化通常分為最大池化和均值池化,池化的作用是取局部區(qū)域內(nèi)的某個(gè)值,將其他值舍棄,從而達(dá)到壓縮圖像的目的。本模型采用最大池化,其計(jì)算公式如式(10)所示:
其中:fout表示輸出圖像(i,j)位置的值;fin表示輸入圖像中(i,j)位置的值;p表示池化核的尺寸。
對神經(jīng)網(wǎng)絡(luò)來說,理論上通過加深網(wǎng)絡(luò)的深度,同時(shí)選用較小的卷積核可以取得更好的訓(xùn)練效果,但隨著卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,3×3 大小的卷積核被驗(yàn)證為較合適的尺寸,因此得到廣泛使用。本模型采用的卷積方式為二維卷積,卷積核尺寸均采用3×3,池化層采用最大池化,池化核的尺寸也為3×3。但是在卷積核已經(jīng)很小的前提下,加深網(wǎng)絡(luò)深度會導(dǎo)致待訓(xùn)練參數(shù)過多,存在過擬合的風(fēng)險(xiǎn)。
本文設(shè)計(jì)一種輕量級的Trumpet-6 卷積神經(jīng)網(wǎng)絡(luò)模型,其處理流程如圖4 所示。
圖4 卷積神經(jīng)網(wǎng)絡(luò)處理流程Fig.4 Processing flow of convolution neural network
傳統(tǒng)經(jīng)典網(wǎng)絡(luò),如Alexnet、MobilenetV2 等由于其本身用于圖像處理,因此存在輸入層卷積核較多、所采用滑動步長較大等特點(diǎn)。例如,Alexnet 的輸入層有96 個(gè)卷積核,步長為4,MobilenetV2 的輸入層步長為2,這兩者由于容易造成過擬合,因此均不適用于處理語音信息。但將圖像處理領(lǐng)域的經(jīng)典神經(jīng)網(wǎng)絡(luò)遷移至語音處理領(lǐng)域已經(jīng)是常用方法。因此,有必要設(shè)計(jì)一個(gè)語音情感識別領(lǐng)域的網(wǎng)絡(luò)。根據(jù)語音的特性,在設(shè)計(jì)之初進(jìn)行如下改進(jìn):1)由于MFCC特征圖尺寸相比圖像處理領(lǐng)域來說較小,因此輸入層選用較少卷積核;2)由于聲音特征具有連續(xù)性,因此將輸入層滑動步長設(shè)定為1,而后續(xù)圖像經(jīng)過池化層壓縮后,才可以將滑動步長提高為3 來提升訓(xùn)練效率。為了平衡準(zhǔn)確率與訓(xùn)練效率,將第1 次池化的插入位置選擇在第2 個(gè)卷積層之后,并通過實(shí)驗(yàn)進(jìn)一步確定網(wǎng)絡(luò)層數(shù)與具體超參數(shù)。
將提取到的MFCC 特征圖送入輸入層,卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層一般用于提取淺層特征,將全連接層來提取目標(biāo)的深層次特征。卷積神經(jīng)網(wǎng)絡(luò)模型的卷積層數(shù)初始設(shè)置為2,第1 個(gè)卷積層作為輸入層,這2 個(gè)卷積層均為32 個(gè)卷積核,目的是作為特征圖輸入并提取淺層特征。卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行最大池化后為3 層卷積層,均使用64 個(gè)卷積核。隨后再次進(jìn)入最大池化層進(jìn)行壓縮,最后一層卷積層利用了128 個(gè)卷積核,能夠?qū)⒅暗奶卣鲌D進(jìn)行高層次提取。輸入的特征圖經(jīng)過拉直層變?yōu)橐痪S圖像后,最后輸入全連接層進(jìn)行分類,全連接層有6 個(gè)神經(jīng)元,對應(yīng)6 種情感標(biāo)簽。
卷積層感受野只與核大小和滑動步長有關(guān),三者間的關(guān)系如式(11)所示:
其中:Ri是第i層卷積層的感受野;Ri+1是(i+1)層上的感受野;si是第i層卷積的步長;Ki是第i層卷積核的大小。這樣在卷積核大小已經(jīng)確定的情況下,在第1 次池化后適當(dāng)增大滑動步長可以增大感受野和提高訓(xùn)練效率。另外,將卷積層和池化層均設(shè)置為全零填充,從而盡可能還原輸入特征圖的尺寸,保留原有信息。全連接層中所用的分類器是softmax 分類器[25-26]:
其中:oi為全連接層的輸出值;Pi是softmax 分類器的輸出值,共有i個(gè),對應(yīng)i個(gè)標(biāo)簽的概率,本文中i取6,輸出值[P1,P2,P3,P4,P5,P6]為6 種情感分別對應(yīng)的概率值,取出其中的最大值對應(yīng)的情感標(biāo)簽并輸出,便完成了一次識別。
此外,激活函數(shù)全部使用ReLU,將除輸入層外的所有卷積層均加入L2正則化,并以0.2的丟棄比例來緩解過擬合,損失函數(shù)使用交叉熵,采用Adam 優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001。經(jīng)過計(jì)算,模型共有176 550個(gè)待訓(xùn)練參數(shù)。網(wǎng)絡(luò)具體結(jié)構(gòu)如表1所示。
表1 Trumpet-6 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Table 1 Structure of Trumpet-6 convolutional neural network
本課題的硬件實(shí)驗(yàn)平臺為AMD Ryzen 7 3700x+NVDIA GeForce RTX2070 super,CPU 主頻為3.6 GHz,GPU 顯存為8 GB。使用Python 語言和TensorFlow 2.0的GPU 版本對神經(jīng)網(wǎng)絡(luò)模型進(jìn)行搭建。
本文在確定改進(jìn)方向時(shí)設(shè)計(jì)了3 組實(shí)驗(yàn):第一組研究采樣點(diǎn)大小對訓(xùn)練時(shí)間以及準(zhǔn)確率的影響;第二組研究卷積結(jié)構(gòu)對訓(xùn)練效果的影響;第三組研究添加高斯白噪聲進(jìn)行數(shù)據(jù)增強(qiáng)的方法與傳統(tǒng)方法進(jìn)行數(shù)據(jù)增強(qiáng)對測試集準(zhǔn)確率的影響。
CASIA 漢語情感語料庫由中國科學(xué)院自動化所錄制,共包括4 個(gè)專業(yè)發(fā)音人,包含生氣、高興、害怕、悲傷、驚訝和中性6 種情緒。該數(shù)據(jù)集錄制時(shí)采用16 kHz 采樣和16 bit 量化,在信噪比為35 dB 的純凈環(huán)境中錄制,本次實(shí)驗(yàn)收集到1 200 條語句,其中包含了50 句相同文本。
對1 200 條的CASIA 數(shù)據(jù)集進(jìn)行數(shù)據(jù)亂序。由于本文中所使用的CASIA 數(shù)據(jù)集數(shù)據(jù)量較小,初始為1 200 條,而加入數(shù)據(jù)增強(qiáng)后最多為4 800 條數(shù)據(jù)。因此,針對較小數(shù)據(jù)集(數(shù)據(jù)量在萬以下),主流的數(shù)據(jù)集劃分比例為訓(xùn)練集與測試集7∶3,或訓(xùn)練集、驗(yàn)證集、測試集比例為6∶2∶2,其中,驗(yàn)證集主要用于調(diào)節(jié)卷積核個(gè)數(shù)、卷積核大小等超參數(shù)。由于本文除第2 個(gè)實(shí)驗(yàn)是探究卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對測試集準(zhǔn)確率的影響外,第1 組和第3 組實(shí)驗(yàn)主要是在同一平臺上進(jìn)行縱向比較以確定最佳的改進(jìn)方向,在這個(gè)過程中使用驗(yàn)證集調(diào)節(jié)超參數(shù)無法控制單一變量,因此第1 組和第3 組實(shí)驗(yàn)把數(shù)據(jù)集劃分為訓(xùn)練集與測試集7∶3,而第2 組實(shí)驗(yàn)數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集、測試集6∶2∶2。
3.2.1 采樣點(diǎn)影響實(shí)驗(yàn)
根據(jù)采樣點(diǎn)個(gè)數(shù)為2 的整數(shù)次冪的規(guī)則,分別采用了256、512、1 024、2 048、4 096、8 192 個(gè)采樣點(diǎn)進(jìn)行分幀、加窗。僅對原有數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),得到的MFCC特征圖經(jīng)過在2.2節(jié)中提出的Trumpet-6神經(jīng)網(wǎng)絡(luò)識別,統(tǒng)計(jì)模型收斂時(shí)的迭代輪數(shù),測試集準(zhǔn)確率以及平均單個(gè)樣本的識別耗時(shí),結(jié)果如表2 所示。
表2 采樣點(diǎn)影響實(shí)驗(yàn)的結(jié)果Table 2 Result of experiment on the influence of sampling points
通過對比發(fā)現(xiàn),采用256 個(gè)采樣點(diǎn)進(jìn)行分幀的模型收斂速度最慢,約為50 輪,其他5 組相近,均在30~40 輪左右。經(jīng)過統(tǒng)計(jì),這6 次實(shí)驗(yàn)的單個(gè)樣本訓(xùn)練時(shí)間分別約 為310 μs、172 μs、101 μs、63 μs、52 μs、42 μs,可以看出,傳統(tǒng)的選用256 個(gè)和512 個(gè)采樣點(diǎn)進(jìn)行分幀的訓(xùn)練耗時(shí)遠(yuǎn)大于選用1 024 個(gè)以上采樣點(diǎn)的分幀方法。繼續(xù)增大分幀時(shí)采樣點(diǎn)大小,如將采樣點(diǎn)設(shè)置為4 096、8 192,輸入特征圖尺寸會進(jìn)一步縮小,進(jìn)而減少訓(xùn)練時(shí)間。但從表2 中可以看出,繼續(xù)增大采樣點(diǎn)個(gè)數(shù)為4 096、8 192,會使模型的準(zhǔn)確率嚴(yán)重下降,即單幀可容納的采樣點(diǎn)到達(dá)了一個(gè)上限、同時(shí)識別速度提升不大。綜合考慮,選取2 048 個(gè)采樣點(diǎn)較合適。相比于傳統(tǒng)256 個(gè)采樣點(diǎn)分幀的單個(gè)樣本平均識別約310 μs 而言,2 048 采樣點(diǎn)只需63 μs 即可完成一次訓(xùn)練或識別,處理效率提升了79.7%,準(zhǔn)確率僅下降1.1 個(gè)百分點(diǎn)。
3.2.2 模型卷積結(jié)構(gòu)實(shí)驗(yàn)
本組實(shí)驗(yàn)采用CASIA 原始數(shù)據(jù)集1 200 條,分幀采樣點(diǎn)選取2 048,特征圖尺寸為20×63,將數(shù)據(jù)集比例劃分為訓(xùn)練集、驗(yàn)證集、測試集6∶2∶2,來對比卷積層數(shù)對測試集準(zhǔn)確率的影響。具體實(shí)驗(yàn)方法為:建立3~10 層卷積結(jié)構(gòu)的網(wǎng)絡(luò)模型,并通過驗(yàn)證集調(diào)節(jié)超參數(shù),找出其中測試集準(zhǔn)確率最高的模型,統(tǒng)計(jì)測試集準(zhǔn)確率和收斂時(shí)迭代輪數(shù),模型的訓(xùn)練結(jié)果如表3 所示。
表3 模型卷積結(jié)構(gòu)實(shí)驗(yàn)的結(jié)果Table3 Result of model convolution structure experiment
由表3 可知,6 層卷積結(jié)構(gòu)的模型D 是相對而言更為優(yōu)秀的網(wǎng)絡(luò)結(jié)構(gòu),繼續(xù)增加卷積層會使網(wǎng)絡(luò)模型變復(fù)雜,泛化能力變差,從而導(dǎo)致測試集準(zhǔn)確率降低。為得到一個(gè)較為簡化的模型結(jié)構(gòu),將模型D 確定的超參數(shù),如卷積核個(gè)數(shù),向下取一個(gè)2 的整數(shù)次冪。經(jīng)過調(diào)整的模型,迭代輪數(shù)為35,測試集準(zhǔn)確率為70.2%,將其作為2.2 節(jié)提出的Trumpet-6 模型。
3.2.3 數(shù)據(jù)增強(qiáng)實(shí)驗(yàn)
不加噪聲的MFCC 特征圖與加入信噪比為5 dB高斯白噪聲后的MFCC 特征圖對比如圖5 所示。由圖5 可知,加入噪聲后的MFCC 特征圖的語音特征雖然被噪聲淹沒,但仍保留了一部分肉眼可見的特征。
圖5 無噪聲與5 dB 噪聲的MFCC 特征圖Fig.5 MFCC feature maps of non-noise and 5 dB noise
本組實(shí)驗(yàn)首先對4 種數(shù)據(jù)增強(qiáng)方法進(jìn)行了對比,S1~S3 是傳統(tǒng)數(shù)據(jù)增強(qiáng)方法,S4 為添加高斯白噪聲的數(shù)據(jù)增強(qiáng)方法。S1組實(shí)驗(yàn)對MFCC特征圖進(jìn)行旋轉(zhuǎn)(旋轉(zhuǎn)角度為順時(shí)針旋轉(zhuǎn)15°);S2 組實(shí)驗(yàn)對特征圖進(jìn)行隨機(jī)平移(水平或豎直平移圖片寬度的0~10%);S3 組實(shí)驗(yàn)對特征圖進(jìn)行隨機(jī)縮放(縮放比例為0~10%);S4 組實(shí)驗(yàn)對原音頻文件加入信噪比為5 dB 的高斯白噪聲。數(shù)據(jù)增強(qiáng)的擴(kuò)充量與初始數(shù)據(jù)集相同,為1 200 條,即總共2 400 條數(shù)據(jù),數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)集劃分方式采用了與文獻(xiàn)[24]相同的方式,即擴(kuò)充全部數(shù)據(jù)集后再將數(shù)據(jù)集劃分為訓(xùn)練集與測試集7∶3。訓(xùn)練結(jié)果如表4所示。
表4 數(shù)據(jù)增強(qiáng)方式對準(zhǔn)確率的影響Table 4 Influence of data enhancement methods on accuracy
由表4 可知,高斯白噪聲進(jìn)行數(shù)據(jù)增強(qiáng)的測試集準(zhǔn)確率明顯好于平移、縮放等傳統(tǒng)數(shù)據(jù)增強(qiáng)方法。隨后,在原有1 200 條CASIA 數(shù)據(jù)集的基礎(chǔ)上,分別設(shè)置不加高斯白噪聲的1 200 條語音,與加入信噪比為5 dB 的噪聲進(jìn)行數(shù)據(jù)增強(qiáng)的2 400 條語音、加入3 dB 和5 dB 噪聲共3 600 條語音和同時(shí)加入3 dB、5 dB、10 dB 噪聲的共4 800 條語音進(jìn)行對比,訓(xùn)練結(jié)果如表5 所示。
表5 高斯白噪聲數(shù)據(jù)擴(kuò)充量對準(zhǔn)確率的影響Table 5 Influence of Gaussian white noise data expansion on accuracy
由表5 可知,這4 組實(shí)驗(yàn)的模型收斂后,測試集準(zhǔn)確率分別約為70.2%、80.8%、90.2%和95.7%。在同時(shí)加入3 dB、5 dB、10 dB 噪聲進(jìn)行數(shù)據(jù)增強(qiáng)后達(dá)到上限,此時(shí)共有4 800 條數(shù)據(jù),繼續(xù)增強(qiáng)數(shù)據(jù)收效甚微,此時(shí)模型的測試集準(zhǔn)確率與訓(xùn)練集準(zhǔn)確率基本吻合,有效緩解了過擬合。
使用2 048 采樣點(diǎn)分幀、加窗,輸入圖尺寸大小為20像素×63像素,并對初始1 200條CASIA 數(shù)據(jù)集加入3 dB、5 dB、10 dB 噪聲進(jìn)行數(shù)據(jù)增強(qiáng),共得到4 800 條數(shù)據(jù),使用網(wǎng)絡(luò)模型Trumpet-6 作為最終的識別方法。最終在CAISA 數(shù)據(jù)集上效果如圖6 所示。
圖6 基于卷積神經(jīng)網(wǎng)絡(luò)的中文語音情感識別結(jié)果Fig.6 Chinese speech emotion recognition results based on convolutional neural network
除了與在CAISA 數(shù)據(jù)集上進(jìn)行測試外,為進(jìn)一步驗(yàn)證本文方法的有效性與泛用性,將本文方法分別在采用本小組錄制的中文語音情感庫與國際上通用的經(jīng)典語音情感庫上進(jìn)行實(shí)驗(yàn),并對比本文與其他方法在遷移至自建數(shù)據(jù)集和上經(jīng)典語音情感數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果。此外,將上述3 種庫混合,進(jìn)行方法遷移實(shí)驗(yàn)。由于混合庫的效果不易于與其他文獻(xiàn)所提方法效果直接比較,因此將本文方法與文獻(xiàn)所提方法盡量復(fù)現(xiàn)并對比,本部分的數(shù)據(jù)集劃分比例依舊為訓(xùn)練集與測試集7∶3。
3.3.1 在CASIA 中文語音情感庫下的對比結(jié)果
由于復(fù)現(xiàn)文獻(xiàn)中的方法存在一定的困難與誤差,因此本節(jié)把本文方法與近年來針對CASIA 中文語音情感庫的識別方法,包括文獻(xiàn)[13-16]的結(jié)果直接進(jìn)行對比。其中,文獻(xiàn)[13]為1 200 條數(shù)據(jù),訓(xùn)練集與測試集比例為8∶2,進(jìn)行20 輪左右收斂;文獻(xiàn)[14]為1 200 條數(shù)據(jù),經(jīng)過數(shù)據(jù)增強(qiáng)后為3 600 條,訓(xùn)練集、驗(yàn)證集、測試集比例為8∶1∶1,未給出其最優(yōu)方法模型收斂時(shí)迭代輪數(shù),但文中模型收斂均在1 000 輪左右;文獻(xiàn)[15]為1 200 條數(shù)據(jù),訓(xùn)練集與測試集比例為9∶1;文獻(xiàn)[16]為7 200 條數(shù)據(jù),訓(xùn)練集、驗(yàn)證集、測試集比例為6∶2∶2,且未給出模型收斂時(shí)迭代輪數(shù),對比結(jié)果如表6 所示。
表6 不同方法在CASIA 中文語音情感庫下的效果對比Table6 Effect comparison of different methods in CASIA Chinese speech emotion database %
由表6 可以看出,文獻(xiàn)[13]所提識別方法在模型收斂時(shí)的迭代輪數(shù)最少且速度最快,但其準(zhǔn)確率只有55.8%(文獻(xiàn)[13]中采用的指標(biāo)為錯誤識別率,為44.2%)。本文所提識別方法的模型收斂速度略低于文獻(xiàn)[13]的方法,為50 輪,高于其他3 種,且準(zhǔn)確率最高,達(dá)到了95.7%。
3.3.2 遷移至自建情感庫的對比結(jié)果
本小組成員共5 人,對中性、生氣、害怕、高興、悲傷5 種情感(CASIA 與EMO-DB 共有的5 種情感),每種錄制20 條,共500 條,建立了自建語音情感庫。錄制采樣率為44.1 kHz,在語音領(lǐng)域內(nèi),44.1 kHz的高采樣率不適宜進(jìn)行機(jī)器學(xué)習(xí)方面的識別,需要經(jīng)過采樣壓縮為16 kHz,并進(jìn)行16 bit 的量化。由于語音情感識別方面的機(jī)器學(xué)習(xí)算法和語音特征提取方法種類繁多,且多數(shù)不易復(fù)現(xiàn),因此本文在對比不同方法的實(shí)驗(yàn)結(jié)果時(shí),選用相對容易復(fù)現(xiàn)的深度學(xué)習(xí)方法,包括文獻(xiàn)[27-29]所提方法。本文方法與參考文獻(xiàn)中所提方法在自建情感庫的實(shí)驗(yàn)對比結(jié)果如表7所示。
表7 不同方法在自建數(shù)據(jù)集下的效果對比Table 7 Effect comparison of different methods in self-built data set %
由表7 可知,本文作為針對中文語音情感識別的方法,在中文自建數(shù)據(jù)集上也保持了較高的測試集準(zhǔn)確率,達(dá)到90.4%;文獻(xiàn)[28]所提方法利用了深度殘差神經(jīng)網(wǎng)絡(luò),有34 層之多,網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜度較高,準(zhǔn)確率僅次于本文方法且相差無幾,達(dá)到了90.1%;文獻(xiàn)[27]所提方法在卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上加入了循環(huán)神經(jīng)網(wǎng)絡(luò),且輸入特征圖為三維特征圖,但準(zhǔn)確率只有77.8%;文獻(xiàn)[29]基于循環(huán)神經(jīng)網(wǎng)絡(luò)加入了更為復(fù)雜的長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)算法,測試集準(zhǔn)確率為86.3%。
3.3.3 遷移至EMO-DB 情感庫的對比結(jié)果
EMO-DB 數(shù)據(jù)集是由柏林工業(yè)大學(xué)錄制的經(jīng)典開源德語情感語音庫,由10 位演員(5 男5 女)對10 個(gè)語句(5 長5 短)進(jìn)行7 種情感(中性、生氣、害怕、高興、悲傷、厭惡、無聊)的模擬得到,共包含535 句語料,采樣率為16 kHz,進(jìn)行16 bit 量化。本文方法在EMO-DB 數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果與文獻(xiàn)中的方法的結(jié)果對比如表8 所示。
表8 不同方法在EMO-DB 數(shù)據(jù)集下的效果對比Table 8 Effect comparison of different methods in EMO-DB data set %
由表8 可知,本文方法在德語的EMO-DB 數(shù)據(jù)集上的表現(xiàn)一般,測試集率為83.4%,僅高于文獻(xiàn)[27]利用三維卷積循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,與文獻(xiàn)[31]僅利用openSMILE 提取語音特征的方法相近。文獻(xiàn)[30]使用支持向量機(jī)分類器和深度卷積神經(jīng)網(wǎng)絡(luò)兩種機(jī)器學(xué)習(xí)算法融合后進(jìn)行的分類最準(zhǔn)確,測試集準(zhǔn)確率為95.1%。但由于文獻(xiàn)[30]方法為兩種機(jī)器學(xué)習(xí)算法的融合,參數(shù)眾多,尤其是支持向量機(jī)的詳細(xì)參數(shù)未給出,因此不容易進(jìn)行復(fù)現(xiàn),僅在本節(jié)利用文獻(xiàn)中的結(jié)論與本文方法在EMO-DB 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果進(jìn)行了對比。文獻(xiàn)[28]利用深度卷積神經(jīng)網(wǎng)絡(luò)ResNet34 的識別方法由于原本就是在EMO-DB 語音情感庫訓(xùn)練得到的參數(shù),因此得到了比3.3.2 節(jié)更高的識別準(zhǔn)確率,為92.4%。
3.3.4 遷移至混合語音情感數(shù)據(jù)集的對比結(jié)果
將CAISA 數(shù)據(jù)集與自建語音情感庫進(jìn)行混合,之后再加入EMO-DB 經(jīng)典庫進(jìn)行混合(混合時(shí)選取共有的中性、悲傷、害怕、高興、生氣5 種情感),分別通過實(shí)驗(yàn)驗(yàn)證本文方法在同語言下不同語料庫中的效果,和不同語言、不同語料庫中的效果,本文方法與參考文獻(xiàn)中的方法準(zhǔn)確率如表9和表10 所示。
表9 不同方法在CASIA+自建數(shù)據(jù)集下的效果對比Table 9 Effect comparison of different methods in CASIA+self-built data set %
表10 不同方法在CASIA+自建數(shù)據(jù)集+EMO-DB 數(shù)據(jù)集下的效果對比Table 10 Effect comparison of different methods in CASIA+self-built data set+EMO-DB data set %
由表9 可知,本文方法在CASIA 數(shù)據(jù)集與自建數(shù)據(jù)集進(jìn)行混合的中文跨語料庫中取得了較好的效果,但由于混合庫中包含并非專業(yè)人錄制的語音情感,因此總體結(jié)果不如在CASIA 數(shù)據(jù)集上理想,為93.3%。而通過表10 可知,加入EMO-DB 德語語音情感庫后,識別效果有了一定程度的下降,為88.7%,但因?yàn)榭缯Z言、跨語料庫實(shí)驗(yàn)的數(shù)據(jù)集中,德語樣本只占了大約1/4,所以仍舊能保持較高的識別準(zhǔn)確率。從表9 和表10 可以看出,將文獻(xiàn)[28]與文獻(xiàn)[29]所提的兩種深度學(xué)習(xí)方法直接遷移過來并沒有對混合庫進(jìn)行參數(shù)的調(diào)節(jié),所以與在EMO-DB 數(shù)據(jù)集上的結(jié)果相比有所下降。但由于模型本身較復(fù)雜,參數(shù)更多,因此針對不同情況的處理結(jié)果穩(wěn)定性較強(qiáng)。相比之下,文獻(xiàn)[27]所提方法在兩種混合庫中的效果依然較差。
3.3.5 對比實(shí)驗(yàn)總結(jié)
通過3.3.2 節(jié)~3.3.4 節(jié)的遷移實(shí)驗(yàn)可知,文獻(xiàn)[28]與文獻(xiàn)[29]的方法在整個(gè)遷移實(shí)驗(yàn)過程中結(jié)果均比較穩(wěn)定,其中文獻(xiàn)[28]方法在各個(gè)實(shí)驗(yàn)中表現(xiàn)較好,但由于其采用了ResNet34 進(jìn)行遷移訓(xùn)練,因此網(wǎng)絡(luò)模型比較復(fù)雜,參數(shù)過多,不適宜針對性地完成某些任務(wù)。而文獻(xiàn)[27]與文獻(xiàn)[29]的方法在卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上加入了循環(huán)神經(jīng)網(wǎng)絡(luò)以及LSTM 算法,并沒有取得十分理想的效果。這可能是由于本次實(shí)驗(yàn)所采用數(shù)據(jù)集的實(shí)驗(yàn)樣本均為時(shí)長2~3 s 的短語音,并沒有發(fā)揮出循環(huán)神經(jīng)網(wǎng)絡(luò)在時(shí)序預(yù)測方面的優(yōu)勢。文獻(xiàn)[28,30]以及本文方法的實(shí)驗(yàn)結(jié)果充分說明,在較短的時(shí)間跨度內(nèi)使用卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行語音情感識別可行,且效果較好。
本文方法在處理中文語音情感識別時(shí)具有較高的識別準(zhǔn)確率,但由于本小組錄制人員非專業(yè),情感不飽滿,所以導(dǎo)致由CASIA 庫預(yù)訓(xùn)練后遷移過來的Trumpet-6 模型并未達(dá)到和3.3.1 節(jié)同樣的效果,而在混合兩種中文語音情感庫后,訓(xùn)練集變大,準(zhǔn)確率有了一定的提升。此外,通過遷移至EMO-DB 庫(德語)的實(shí)驗(yàn)結(jié)果與其他文獻(xiàn)所提方法的實(shí)驗(yàn)結(jié)果對比后發(fā)現(xiàn),本文方法在處理跨語言的語音情感識別方面存在不足,在混合庫中文樣本較多的情況下,相比于純德語有一定提高。雖然本文方法不如文獻(xiàn)[28]方法在各種情況下的識別結(jié)果穩(wěn)定性強(qiáng),但作為一種基于CASIA 數(shù)據(jù)集訓(xùn)練而來的方法,針對于中文語音情感識別的方法具有一定的優(yōu)勢,具體對比結(jié)果如表11 所示。此外,相比于ResNet34 深度殘差神經(jīng)網(wǎng)絡(luò)而言,本文所改進(jìn)的語音處理方法以及所設(shè)計(jì)的Trumpet-6 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)較簡單。
表11 文獻(xiàn)[28]方法與本文方法的對比Table 11 Comparison between the method in reference[28]and in this paper
針對中文語音情感識別效率和準(zhǔn)確率低的問題,本文提出一種新型中文語音情感識別方法。通過在MFCC 特征提取過程中提高采樣點(diǎn)個(gè)數(shù),并在改進(jìn)語音處理方法的基礎(chǔ)上使用高斯白噪聲對數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)處理,從而提高處理效率及緩解訓(xùn)練過程中的過擬合現(xiàn)象。通過建立Trumpet-6 卷積神經(jīng)網(wǎng)絡(luò)模型并用于中文語音情感識別,提高識別準(zhǔn)確率。在CASIA 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法的識別準(zhǔn)確率達(dá)95.7%,優(yōu)于Lenet-5、RNN、LSTM 等傳統(tǒng)方法。本文網(wǎng)絡(luò)模型采用2 048 個(gè)采樣點(diǎn),僅176 550 個(gè)待訓(xùn)練參數(shù),與采用DCNN 的ResNet34 和循環(huán)神經(jīng)網(wǎng)絡(luò)模型相比,其結(jié)構(gòu)較為優(yōu)化,處理效率得到大幅提高。但經(jīng)過遷移至其他語料庫訓(xùn)練后發(fā)現(xiàn),本文方法在處理不同語言、跨語料庫的情感識別時(shí)準(zhǔn)確率有待提高,且網(wǎng)絡(luò)模型尚不能精確提取情感信息并舍去不必要的語言習(xí)慣。下一步將進(jìn)行跨語料庫的泛化性研究,并豐富開源語音情感庫,促進(jìn)語音情感識別領(lǐng)域的發(fā)展。