本發(fā)明涉及語音情感識別的技術領域,尤其是指一種基于深度神經網絡模型以及特征模糊優(yōu)化的語音情感識別方法。
背景技術:
人類可以通過很多信號表達情感,如心跳頻率、語音、人臉、行為動作等。計算機可以通過分析這些信號中的一個或者多個來識別和獲取人類的情感狀態(tài),其中語音是日常生活中最重要同時也是最便捷的交流方式。隨著計算機多媒體信息處理技術領域以及人工智能領域的快速發(fā)展,各研究機構越來越關注如何使計算機識別人的語音情感。
語音的情感識別,屬于模式識別領域,但是它又稍微有些不同。例如對于普通的圖像識別,給出很多小動物,貓、狗、羊等,進行分類識別,對于特定給出的一張動物圖像,我們是可以確定它到底是貓還是狗的,這是精確的。但是,對于語音情感識別方面,很多時候給出一段語音,我們并不能明確地指出這段語音蘊含的情感是高興的還是驚喜的,它也可能是夾雜多種情感的,從這個角度上來看,語音的情感信息是模糊性質的。
語音情感識別,要獲得好的識別效果,最重要的是能夠提取出顯著的情感特征。近年來在提取特征方面,深度神經網絡模型發(fā)展十分迅猛,并且提取特征的效果非常好,這主要體現在特征的分類準確率高以及無需人為選擇提取哪些特征,具有自動化的特性。鑒于深度神經網絡模型的上述優(yōu)點,近年來語音情感識別方面的技術也是偏向于使用深度神經網絡模型,例如深度卷積神經網絡模型(Deep Convolutional Neural Networks,簡稱DCCNs),深度循環(huán)神經網絡模型(Deep Recurrent Neural Networks,簡稱DRNNs)等,取得的效果也是相當的好。但是,有一點不足的是,僅僅使用這些深度神經網絡模型來提取特征然后進行分類識別,并沒有充分考慮和利用語音情感信息的模糊特性,而這一性質在語音情感特征方面是相當重要的。
技術實現要素:
本發(fā)明的目的在于克服現有技術的不足,提供一種基于深度神經網絡模型以及特征模糊優(yōu)化的語音情感識別方法,該方法使用深度神經網絡模型進行情感特征提取,并且針對語音情感信息具有模糊性這一特點,使用模糊優(yōu)化理論對提取的特征進行優(yōu)化,并且在模糊理論方面,借鑒深度學習的訓練模式來自動構造相應的隸屬函數,創(chuàng)新地解決模糊理論中隸屬函數在選擇上主觀性強并且難以確定的問題。
為實現上述目的,本發(fā)明所提供的技術方案為:一種語音情感識別方法,包括以下步驟:
1)將語音信號轉換成語譜圖作為原始輸入;
2)訓練深度卷積神經網絡(DCNNs)來自動提取情感特征;
3)針對每一類情感訓練一個棧式自編碼器(SAE)并融合所有棧式自編碼器自動構造出情感模糊集的隸屬函數;
4)對步驟2)中得到的特征使用步驟3)中的模糊優(yōu)化理論進行特征優(yōu)化;
5)使用Softmax分類器進行情感分類識別。
在步驟1)中,使用快速傅里葉變換獲得語音信號的語譜圖,語譜圖是一種三維頻譜,它是表示語音頻譜隨時間變化的圖形,其縱軸為頻率,橫軸為時間,任意一個給定頻率成分在給定時刻的能量強弱用相應點的色調的深淺來表示。之所以要將語音信號轉換成語譜圖作為輸入,是為了充分利用深度卷積神經網絡對于圖像特征自動提取的強大特性,而不需要像傳統(tǒng)方法那樣人為地使用濾波器對語音信號進行特征提取。
在步驟2)中,訓練深度卷積神經網絡來自動提取情感特征,具體如下:
使用步驟1)得到的語譜圖作為訓練輸入樣本,訓練一個深度卷積神經網絡模型,該模型具有兩個卷積層,以及兩個池化層,框架結構為:輸入層(圖像)→第一個卷積層→第一個池化層→第二個卷積層→第二個池化層→特征輸出層→Softmax全連接層,其中訓練該深度卷積神經網絡模型,使用的是有監(jiān)督的訓練方式。
數據在卷積層的輸入輸出過程如下:所有的語譜圖構成一個三維的輸入數據,記為其中N代表樣本數據總數,n1×n2是每一張輸入語譜圖的大小,第i張輸入圖像記為xi,卷積層使用的第j個卷積核記為kij,是一個系數矩陣,大小為l1×l2,經過卷積運算后,輸出的圖像構成的三維數據記為其中,M是輸出的特征圖的總數,m1×m2是輸出特征圖的大小,記第j張輸出特征圖為yj,卷積計算公式如下:其中bj是一個偏置參數,是二維的卷積運算。
數據在池化層的輸入輸出過程如下:卷積層中獲得的輸出特征圖y作為池化層的輸入,記為x,那么對于池化層中第i個輸入xi,經過池化運算后得到的輸出為yi=sig(pool(xi)),其中,pool(·)是進行池化操作,這里采用的是最大化池化方式,池化窗口大小為m×n,最大化池化操作pool(·)的定義是:對于給定的池化窗口,取里面所有元素中值最大的那個元素來代表這一個窗口區(qū)域,sig(·)是sigmoid函數,定義為:sig(x)=1/(1+e(-x))。
在步驟3)中,針對每一類情感訓練一個棧式自編碼器(SAE)并融合所有棧式自編碼器自動構造出情感模糊集的隸屬函數。在這一步驟中,首先確定所使用的語音數據集的情感類別N,并將情感作為一個模糊集。運用模糊理論進行特征的模糊優(yōu)化,最重要的是對模糊集構造出相應的模糊隸屬函數來衡量待優(yōu)化的特征對于每類情感的隸屬程度,并使用隸屬度最高的那一類情感的模糊規(guī)則對特征進行優(yōu)化,具有選擇性優(yōu)化的特點。對于每一類情感,訓練一個相應的棧式自編碼器,一共訓練N個棧式自編碼器。棧式自編碼器是一個由多層稀疏自編碼器組成的多層神經網絡,其前一層自編碼器的輸出作為其后一層自編碼器的輸入,進行無監(jiān)督訓練。最后將訓練得到的N個棧式自編碼器結合起來,構建一個softmax全連接層??紤]到多層神經網絡能夠逼近任意的非線性函數,將softmax全連接層中連接輸入輸出層的權值矩陣作為情感模糊集的隸屬函數;使用每個棧式自編碼器的最后一層稀疏自編碼器的連接輸入層與隱含層的權值矩陣作為相應類情感選擇性特征優(yōu)化的模糊優(yōu)化規(guī)則。
在步驟4)中,對步驟2)中得到的特征使用步驟3)中的模糊優(yōu)化理論進行特征優(yōu)化,具體為:步驟2)得到的每一個樣本點的特征,都是一個n×1的一維向量,記為XT(x1,x2......xn),上標T代表向量的轉置,步驟3)中得到的每一個棧式自編碼器的最后一層稀疏自編碼器的連接輸入層與隱含層的權值矩陣Wi(m×n)作為特征優(yōu)化規(guī)則,i代表N個棧式自編碼器中的第i個;softmax全連接層的權值矩陣W(N×m)作為情感模糊集的隸屬函數。對于每一個特征樣本點X,都分別使用N類情感的特征優(yōu)化規(guī)則進行Wi(m×n)·X運算,得到N個優(yōu)化后的特征向量再根據求得相應的N個隸屬度μi,最后根據所得的每一類情感隸屬度大小來確定使用哪一類情感的特征優(yōu)化規(guī)則,特征優(yōu)化規(guī)則為上述的Wi(m×n)·X,得到最終的用來訓練分類器的特征,其中這里的sig是sigmoid函數,定義為:sig(x)=1/(1+e(-x))。
在步驟5)中,使用步驟4)得到的優(yōu)化后的情感特征來訓練一個Softmax分類器來進行語音情感的分類識別,具體如下:
這里的Softmax分類器,包含一個特征輸入層,一個類別輸出層,是一個兩層的模型,記輸入為x,輸出類別為y,則有計算公式如下:y=softmax(x),其中softmax(·)函數為
其中,xi為第i個輸入樣本,k為類別數量,p(yi=1|xi;θ)代表的是在當參數矩陣為θ時,輸入樣本xi屬于第1類的概率;θ為待優(yōu)化的矩陣參數,θ的求解方法為最小化如下的代價函數:
其中,m是輸入樣本的總數,表達式1{yi=j}的運算規(guī)則是:1{值為真的表達式}=1,1{值為假的表達式}=0;yi=j代表的含義是:對于輸入樣本xi,它的分類類別記為yi,如果yi是第j類,則yi=j的值為真,否則yi=j的值為假;log(·)是指對括號內容取自然對數,最小化J(θ)使用的是隨機梯度下降算法。
本發(fā)明與現有技術相比,具有如下優(yōu)點與有益效果:
1、將語音轉換成語譜圖作為原始輸入,借助深度神經網絡模型強大的自動提取特征的特性,可以獲得魯棒性強的特征。
2、充分考慮了語音情感的模糊性質,對提取后的情感特征進行選擇性的模糊優(yōu)化,提升特征的顯著性。
3、在模糊優(yōu)化理論方面,創(chuàng)新地模仿深度學習理論的樣本訓練方式,使用棧式自編碼器自動構造情感模糊集的隸屬函數,解決了隸屬函數難以選擇和確定的問題。
附圖說明
圖1是本發(fā)明方法的流程圖。
圖2是深度卷積神經網絡模型的流程圖。
圖3是稀疏自編碼器模型圖。
圖4是棧式自編碼器模型圖。
圖5是構造隸屬函數的流程圖。
具體實施方式
下面結合具體實施例對本發(fā)明作進一步說明。
本實施例所提供的語音情感識別方法,具體是基于深度神經網絡模型以及特征模糊優(yōu)化,如圖1所示,該語音情感識別方法包括以下步驟:
1)將語音信號轉換成語譜圖作為原始輸入;
2)訓練深度卷積神經網絡(DCNNs)來自動提取情感特征;
3)針對每一類情感訓練一個棧式自編碼器(SAE)并融合所有棧式自編碼器自動構造出情感模糊集的隸屬函數;
4)對步驟2)中得到的特征使用步驟3)中的模糊優(yōu)化理論進行特征優(yōu)化;
5)使用Softmax分類器進行情感分類識別。
在步驟1)中,所述的將語音信號轉換成語譜圖作為原始輸入,具體如下:
本實施所使用的語音數據集具有六類情感,分別是:憤怒,恐懼,高興,平靜,悲傷,驚喜,每段語音是wav的格式,對語音使用快速傅里葉變換獲得語音信號的語譜圖,語譜圖是一種三維頻譜,它是表示語音頻譜隨時間變化的圖形,其縱軸為頻率,橫軸為時間,任意一個給定頻率成分在給定時刻的能量強弱用相應點的色調的深淺來表示。獲得語譜圖的流程為:
1.1)對語音信號進行加窗分幀處理
語音信號具有短時平穩(wěn)性,一般是10--30ms內可以認為語音信號近似不變,這樣就可以把語音信號分為一些短段來來進行處理,這就是分幀。語音信號的分幀是采用可移動的有限長度的窗口進行加權的方法來實現。在分幀時,使用的是交疊分段的方法,前一幀和后一幀之間會有重疊,交疊部分稱為幀移。在本實施里面,對每段語音使用漢明窗函數進行分幀,每幀為25ms,幀移為10ms。漢明窗函數如下:
其中,N為漢明窗的窗長,α一般取值為0.46。
1.2)對分幀后的語音片段使用快速傅里葉變換來獲得語譜圖
快速傅里葉變換(fft)可以將語音的時域信號轉換成頻域信號,將一段語音信號記為x,則根據y=fft(x)得到轉換后的頻域信號y,這里得到的y是一個二維向量,值為復數,要獲得語譜圖中頻率的能量表示,對y進行共軛運算并進行對數能量轉換(log-power),最后使用matlab畫圖顯示出語音信號的語譜圖。對數能量轉換公式為convert_p=10*log10(abs(p)),其中,p為轉換前的能量值,convert_p為轉換后的對數能量值,abs()代表取絕對值。
之所以要將語音信號轉換成語譜圖作為輸入,是為了充分利用深度卷積神經網絡對于圖像特征自動提取的強大特性,而不需要像傳統(tǒng)方法那樣人為地使用濾波器對語音信號進行特征提取,如使用的比較多的傳統(tǒng)的MFCC(Mel頻率倒譜系數的縮寫)特征,它就是將經過加窗預處理的語音信號進行快速傅里葉變換,將時域信號變成頻域信號,從而得到了信號的功率譜;然后進行濾波,濾波器通過的區(qū)域大概是人類聽力的區(qū)域;最后再通過離散余弦變換去除各維信號之間的相關性,將信號映射到低維空間,最后得到相關特征。而使用頻譜圖的方式后續(xù)再提特征,就可以避免了人為選擇濾波器等相關操作,盡量保持了樣本數據的原始性。
在步驟2)中,所述的訓練深度卷積神經網絡(DCNNs)來自動提取情感特征,具體如下:
使用步驟1)得到的語譜圖作為訓練輸入樣本,訓練一個深度卷積神經網絡模型,如圖2所示,該模型具有兩個卷積層以及兩個池化層,框架結構為:輸入層(圖像)→第一個卷積層→第一個池化層→第二個卷積層→第二個池化層→特征輸出層→Softmax全連接層。訓練該深度卷積神經網絡模型,使用的是有監(jiān)督的訓練方式。
數據在卷積層的輸入輸出過程如下:所有的語譜圖構成一個三維的輸入數據,記為其中N代表樣本數據總數,n1×n2是每一張輸入語譜圖的大小,在這里是80x60像素,第i張輸入圖像記為xi,卷積層使用的第j個卷積核記為kij,大小記為l1×l2,是一個系數矩陣,在本實施中第一個卷積層使用20個卷積核,大小是9x9,第二個卷積層使用40個卷積核,大小是7x7。經過卷積運算后,輸出的圖像構成的三維數據記為其中,M是輸出的特征圖的總數,m1×m2是輸出特征圖的大小,記第j張輸出特征圖為yj,卷積計算公式如下:其中bj是一個偏置參數,是二維的卷積運算。
數據在池化層的輸入輸出過程如下:卷積層中獲得的輸出特征圖y作為池化層的輸入,記為x,那么對于池化層中第i個輸入xi,經過池化運算后得到的輸出為yi=sig(pool(xi)),其中,pool(·)是進行池化操作,這里采用的是最大化池化方式,池化窗口大小選擇為(2x2)和(3x2)。sig(·)是sigmoid函數,定義為:sig(x)=1/(1+e(-x))。
在步驟3)中,所述的針對每一類情感訓練一個棧式自編碼器(SAE)并融合所有棧式自編碼器自動構造出情感模糊集的隸屬函數,具體如下:
在本識別方法里面,所使用語音情感識別數據集有六類情感,分別是:憤怒,恐懼,高興,平靜,悲傷,驚喜,在這一步驟中,將情感作為一個模糊集,然后構造出該模糊集相應的模糊隸屬函數來衡量待優(yōu)化的特征對于每類情感的隸屬程度,并使用隸屬度最高的那一類情感的模糊規(guī)則對特征進行選擇性優(yōu)化。如圖5所示,自動構造隸屬函數如下:對于每一類情感,訓練一個相應的棧式自編碼器,一共訓練六個棧式自編碼器;棧式自編碼器一個由多層稀疏自編碼器組成的多層神經網絡,如圖4所示,其前一層自編碼器的輸出作為其后一層自編碼器的輸入,進行無監(jiān)督訓練;稀疏自編碼器如圖3所示,是一個三層的神經網絡,一個輸入層,一個隱含層以及一個輸出層,對于一個輸入樣本,自編碼器神經網絡嘗試學習一個h(W,b)(x)≈x的函數,其中W是權值矩陣,b是偏置參數。最后將訓練得到的六個棧式自編碼器結合起來,構建一個softmax全連接層??紤]到多層神經網絡能夠逼近任意的非線性函數,將softmax全連接層中連接輸入輸出層的權值矩陣作為情感模糊集的隸屬函數;使用每個棧式自編碼器的最后一層稀疏自編碼器的連接輸入層與隱含層的權值矩陣作為相應類情感選擇性特征優(yōu)化的模糊優(yōu)化規(guī)則。每個棧式自編碼器都是使用相應類情感的數據訓練出來的,其后融合在一起構造出的模糊隸屬函數對于不同類情感之間具有良好的區(qū)分度,用來對特征進行模糊優(yōu)化具有良好效果。
在步驟4)中,所述的對步驟2)中得到的特征使用步驟3)中的模糊優(yōu)化理論進行特征優(yōu)化,具體如下:
步驟2)得到的每一個樣本點的特征,都是一個600×1的一維向量,記為XT(x1,x2......x600),步驟3)中得到的第i個棧式自編碼器的最后一層稀疏自編碼器的連接輸入層與隱含層的權值矩陣Wi(300×600)作為特征優(yōu)化規(guī)則,softmax全連接層的權值矩陣W(6×300)作為情感模糊集的隸屬函數,對于每一個特征向量X,使用每一個Wi(300×600)進行運算,得到每一類情感優(yōu)化后的特征向量i的取值為1--6,從而再根據求得相應的隸屬度μi,最后根據所得的六類情感隸屬度大小來確定使用哪一類情感的特征優(yōu)化規(guī)則,特征優(yōu)化計算為得到最終的用來訓練分類器的特征。
在步驟5)中,所述的使用Softmax分類器進行情感分類識別,具體如下:
這里的Softmax分類器,包含一個特征輸入層,輸入層的每個輸入特征向量大小是300x1;一個類別輸出層,有6類,是一個兩層的模型。記輸入為x,輸出類別為y,則有計算公式如下:y=softmax(x),其中softmax(·)函數為
其中,xi為第i個輸入樣本;k為類別數量,這里取值為6;p(yi=1|xi;θ)代表的是在當參數矩陣為θ時,輸入樣本xi屬于第1類的概率;θ為待優(yōu)化的矩陣參數,θ的求解方法為最小化如下的代價函數:
其中,m是輸入樣本的總數,表達式1{yi=j}的運算規(guī)則是:1{值為真的表達式}=1,1{值為假的表達式}=0;yi=j代表的含義是:對于輸入樣本xi,它的分類類別記為yi,如果yi是第j類,則yi=j的值為真,否則yi=j的值為假;log(·)是指對括號內容取自然對數,最小化J(θ)使用的是隨機梯度下降算法。
綜上所述,本發(fā)明方法為語音情感識別在特征提取和優(yōu)化方面提供了新的方法,充分利用了語音情感信息本身所具有的模糊特性,對提取的特征進行優(yōu)化,獲得顯著性更好的情感特征,提高語音情感分類識別的準確率,值得推廣。
以上所述實施例只為本發(fā)明之較佳實施例,并非以此限制本發(fā)明的實施范圍,故凡依本發(fā)明之形狀、原理所作的變化,均應涵蓋在本發(fā)明的保護范圍內。