彭凱貝,孫小明,陳皓煒,王建榮,3
(1. 中國鐵道科學(xué)研究院集團(tuán)有限公司電子計(jì)算技術(shù)研究所,北京 100081;2. 山西大學(xué)數(shù)學(xué)科學(xué)學(xué)院,山西太原 030006;3. 天津大學(xué)智能與計(jì)算學(xué)部,天津 300072)
語音情感識(shí)別在人類與機(jī)器的交互中發(fā)揮著重要的作用,近年來在智能汽車、在線呼叫以及醫(yī)療緊急事故處理等多個(gè)領(lǐng)域應(yīng)用[1]。語音情感識(shí)別主要是從人的情感語音中提取出不同情感的相關(guān)特征,然后根據(jù)提取的特征辨別出不同的情感并進(jìn)行分類。語音情感識(shí)別中常用到的智能算法有:神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)和貝葉斯網(wǎng)絡(luò)等[2]。隨著人工智能的發(fā)展,深度學(xué)習(xí)在情感識(shí)別中的應(yīng)用越來越廣。Kim首次將CNN用于文本情感分類,經(jīng)過實(shí)驗(yàn)得出CNN要優(yōu)于其它傳統(tǒng)的機(jī)器學(xué)習(xí)算法[3]。趙小蕾等人將人工統(tǒng)計(jì)的特征與深度學(xué)習(xí)提取的特征輸入到支持向量機(jī)中進(jìn)行識(shí)別,該方法得到了較高的識(shí)別率[4]。吳俊清等人將CNN和GRU結(jié)合對小數(shù)據(jù)集語音進(jìn)行情感識(shí)別,該方法比傳統(tǒng)的情感識(shí)別方法更有競爭力[5]。高帆等人使用深度受限玻爾茲曼機(jī)融合語音的情感特征,使用長短期記憶網(wǎng)絡(luò)(LSTM)識(shí)別語音情感,在多情感分類方面有著較好的性能[6]。余莉萍等人將LSTM中的輸入門和遺忘門改為注意力門來識(shí)別兒童語音情感,實(shí)驗(yàn)表明該改進(jìn)算法的兒童語音情感識(shí)別識(shí)別率高于LSTM[7]。
以上方法僅考慮了語音識(shí)別在某些公共數(shù)據(jù)集中的性能,而忽視了實(shí)際應(yīng)用中數(shù)據(jù)集隨機(jī)性強(qiáng),規(guī)律性差的缺點(diǎn)。在火車站等人群密集場所中安全是不可忽視的因素之一,當(dāng)發(fā)生危險(xiǎn)時(shí)快速可靠的應(yīng)急處理有利于將損害降至最低,因此本文將情感識(shí)別技術(shù)應(yīng)用于火車站中,通過識(shí)別乘客的正負(fù)面情緒,為危險(xiǎn)情況的預(yù)警提供一定的幫助。針對此應(yīng)用場景,本文首先提取語音的MFCC特征,然后把提取的特征送到CNN中,最后輸出每個(gè)語音的所屬類別。仿真結(jié)果表明與其它深度學(xué)習(xí)算法相比本文所提出的方法有著更高的準(zhǔn)確率。
深度學(xué)習(xí)的快速發(fā)展推動(dòng)了語音情感識(shí)別技術(shù)成熟。深度學(xué)習(xí)技術(shù)可以尋找到變量間復(fù)雜的非線性關(guān)系[8],在語音情感識(shí)別中,將每一條語音賦予一個(gè)標(biāo)簽,通過深度學(xué)習(xí)技術(shù)提取每一條語音的特征,使得每一條語音的特征與其標(biāo)簽一一對應(yīng),進(jìn)而得到每一條語音所屬的標(biāo)簽,并最終完成語音情感識(shí)別的任務(wù)。
本次實(shí)驗(yàn)需要將憤怒、恐懼、高興、中性、悲傷、驚奇六種語音數(shù)據(jù)分為兩類。憤怒、恐懼、悲傷為負(fù)面語音情緒數(shù)據(jù),中性、高興、驚奇為正面情緒。因此累計(jì)獲取了由鐵科院采集的分別代表憤怒、恐懼、高興、中性、悲傷、和驚奇六種情感的4797條語音,這些語音由多名不同性別的人員錄制。
對語音數(shù)據(jù)集的研究發(fā)現(xiàn),該數(shù)據(jù)集中的大多數(shù)語音都有著不同程度的缺陷,例如:有些語音中存在空音,有些語音的音量過大,有些語音的音量過小,此外,每條語音的質(zhì)量也各有不同。為此首先對數(shù)據(jù)集中的每一條語音做了預(yù)處理。
在預(yù)處理過程中,首先仔細(xì)去除了每一條語音中的空音,使每一條語音都僅包含有用的特征,而不包含無用的特征,接著統(tǒng)一了每一條語音的音量,使每一條語音的音量都在同一范圍內(nèi),最后對每一條語音的質(zhì)量做了提升,使數(shù)據(jù)集中的每一條語音都只包含高質(zhì)量的語音特征。這些預(yù)處理工作為后續(xù)的語音情感識(shí)別做了準(zhǔn)備,有利于語音的特征提取并且利于模型分類。
該模型屬于深度學(xué)習(xí)中的監(jiān)督學(xué)習(xí)類型,因此,將預(yù)處理后的每一條語音數(shù)據(jù)都做了標(biāo)簽標(biāo)樣處理,使得最終的訓(xùn)練數(shù)據(jù)集標(biāo)簽化,即每一條語音都帶有各自的標(biāo)簽,例如第一條語音帶有“高興”的標(biāo)簽。
經(jīng)過梅爾頻率倒譜系數(shù)特征提取后,數(shù)據(jù)集中的每條語音都提取了259維的特征。將提取到的特征矩陣中的缺省值做了補(bǔ)充處理,以保持特征矩陣的完整性。接著打亂特征矩陣的順序,以降低數(shù)據(jù)間的順序關(guān)聯(lián),進(jìn)而增強(qiáng)模型的訓(xùn)練效果。提取、補(bǔ)充并打亂順序后的部分特征矩陣如圖1所示。
圖1 提取并處理后的部分特征矩陣
最后將提取并處理后的特征矩陣按8:1:1劃分為拆分成訓(xùn)練數(shù)據(jù)集,用于模型的訓(xùn)練、檢驗(yàn)數(shù)據(jù)集,主要用于模型的效果檢驗(yàn)與測試數(shù)據(jù)集,用于模型結(jié)果測試。
該任務(wù)維分類任務(wù),并且語音特征分布有明確的層級(jí)關(guān)系,因此,本文采用卷積神經(jīng)網(wǎng)絡(luò)對模型進(jìn)行訓(xùn)練[10]。本文所開發(fā)的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
如圖2所示,圖中的卷積運(yùn)算代表分級(jí)提取語音特征,最大池化運(yùn)算則是去掉前一層特征中的冗余信息,同時(shí)運(yùn)算簡化,Softmax運(yùn)算的詳細(xì)描述總結(jié)在本文2.4節(jié)部分。在每一個(gè)卷積層之后都設(shè)置了一個(gè)激活層,經(jīng)過試驗(yàn)確定的最佳的激活函數(shù)為Relu,且其公式如下
(1)
由于該任務(wù)是將憤怒、恐懼、高興、中性、悲傷、驚奇六種語音數(shù)據(jù)分為兩類。憤怒、恐懼、悲傷為負(fù)面語音情緒數(shù)據(jù),中性、高興、驚奇為正面情緒。因此在輸出層設(shè)置了兩個(gè)全連接神經(jīng)元,來將語音信號(hào)分為兩大類。
圖2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
此外,考慮到網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度,在每一個(gè)隱含層之后設(shè)置了隨機(jī)失活(Dropout)來防止網(wǎng)絡(luò)在訓(xùn)練過程中發(fā)生過擬合[11]。
*本文屬于2017年度國家社會(huì)科學(xué)基金藝術(shù)學(xué)一般項(xiàng)目《李鐵夫與中國早期油畫研究》階段性成果,項(xiàng)目編號(hào):2017BF00860。
在添加了Dropout后,每個(gè)隱含層的神經(jīng)元在訓(xùn)練過程中會(huì)有一定的概率不更新權(quán)重,并且每個(gè)神經(jīng)元不更新權(quán)重的概率都相等,這樣的設(shè)置可以在很大程度上減小網(wǎng)絡(luò)過擬合的可能性。經(jīng)過多次試驗(yàn),在本實(shí)驗(yàn)中,每個(gè)隱含層后的Dropout概率值設(shè)置為0.2。即在每一個(gè)隱含層中,所有神經(jīng)元不更新權(quán)重的概率相等,都為20%。
在訓(xùn)練過程中,經(jīng)過大量試驗(yàn)確定了模型的一些超參數(shù):使用了RMSprop作為網(wǎng)絡(luò)的優(yōu)化器,優(yōu)化器的學(xué)習(xí)率設(shè)置為0.0001,批量大小(batch size)設(shè)置為32,迭代次數(shù)設(shè)置為200,損失函數(shù)(loss function)為分類交叉熵 (categoricalcrossentropy)。
為了獲取更加精確的模型效果,本實(shí)驗(yàn)在模型輸出層添加了預(yù)警置信度的設(shè)置,來增強(qiáng)模型的實(shí)用性[12]。即數(shù)據(jù)集中的每一條語音會(huì)輸出一個(gè)概率值,這一概率值代表每一條語音屬于某個(gè)標(biāo)簽的概率,概率值越大則該條語音數(shù)據(jù)屬于某標(biāo)簽的可能性越大,反之則可能性越小。這樣的設(shè)置,在很大程度上保證了每一條語音輸出各自類別的準(zhǔn)確性。進(jìn)一步提高了模型的分類精度,并且極大地提升了模型極端情況的預(yù)警性能。
在本實(shí)驗(yàn)中,輸出層的置信度值設(shè)置為85%。通過自己錄制的120條不同情感類別的語音數(shù)據(jù)對所提出的預(yù)警置信度設(shè)置方法進(jìn)行驗(yàn)證。驗(yàn)證結(jié)果表明:預(yù)警置信度的設(shè)置可以讓網(wǎng)絡(luò)更好地識(shí)別每一條語音的特征,并且120條情感錄音數(shù)據(jù)集中,負(fù)面情緒的預(yù)測準(zhǔn)確度可以達(dá)到94%,能夠完全識(shí)別具有極端憤怒情感語音特征,很好地滿足了實(shí)際需求。可以為火車站等人員聚集場景的危險(xiǎn)情況預(yù)警提供一定的參考。
本文使用了在深度學(xué)習(xí)中廣泛使用的Softmax分類器來執(zhí)行預(yù)警置信度的設(shè)置[13]。Softmax分類器的公式表達(dá)如下所示
ai=eai
(2)
(3)
(4)
oi=aiyi
(5)
其中,為每一層中第i個(gè)神經(jīng)元的輸出,n為每一層中神經(jīng)元的個(gè)數(shù),yi為每個(gè)神經(jīng)元的權(quán)重,oi為Softmax層的輸出。
本實(shí)驗(yàn)使用卷積神經(jīng)網(wǎng)絡(luò)(CNN),對訓(xùn)練集的語音數(shù)據(jù)做了訓(xùn)練。圖3為CNN模型訓(xùn)練集與驗(yàn)證集的精度。
圖3 CNN模型精度
從圖3可以看出,隨著迭代次數(shù)的增加,訓(xùn)練集與驗(yàn)證集的精度都有升高的趨勢,尤其是訓(xùn)練集。而驗(yàn)證集的精度在第50次迭代以后逐漸趨于平穩(wěn)。最終經(jīng)過200次迭代,訓(xùn)練集的精度達(dá)到97%以上,驗(yàn)證集的精度達(dá)到80%以上。
作為對比,本實(shí)驗(yàn)使用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),多層感知器(MLP)神經(jīng)網(wǎng)絡(luò)與所提出的卷積神經(jīng)網(wǎng)絡(luò)做比較,來驗(yàn)證本實(shí)驗(yàn)所開發(fā)模型在車站語音情感識(shí)別任務(wù)中的準(zhǔn)確性。為了保證實(shí)驗(yàn)的公平性,所有實(shí)驗(yàn)的環(huán)境均相同:所用的計(jì)算機(jī)配置為:Inter(R) Core(TM) i5-9300HF CPU,主要使用的語言為Python,用到了Numpy,Pandas數(shù)據(jù)處理庫,Librosa音頻處理庫,Keras深度學(xué)習(xí)框架(Tensorflow為后端),以及Matplotlib繪圖庫等。
圖4 RNN模型精度
圖5 MLP模型精度
圖4和圖5分別展示了其它參數(shù)設(shè)置相同下,分別使用RNN模型和MLP模型時(shí)訓(xùn)練集和驗(yàn)證集的精度。從圖3,圖4和圖5中可以清晰地看出,本文所開發(fā)的CNN模型在訓(xùn)練集和驗(yàn)證集中都有著很高的精度。并且在訓(xùn)練集和驗(yàn)證集的精度中都優(yōu)于RNN和MLP兩種常用的模型。這一對比結(jié)果進(jìn)一步體現(xiàn)了本實(shí)驗(yàn)所開發(fā)的基于卷積神經(jīng)網(wǎng)絡(luò)的語音情感識(shí)別模型的準(zhǔn)確性。
為了進(jìn)一步驗(yàn)證所開發(fā)模型的泛化性,使用了不同人員錄制的累計(jì)214條語音信號(hào)(144條代表中性、高興、驚奇等正面情緒的語音,70條代表憤怒、恐懼、悲傷等負(fù)面情緒的語音)對模型的泛化性進(jìn)行測試。這些語音信號(hào)同樣包含了前文所述的憤怒、恐懼、高興、中性、悲傷、驚奇六種情感,并且由不同性別的人員錄制。
該測試語音數(shù)據(jù)集同樣經(jīng)過了語音預(yù)處理(如2.1節(jié)描述)、語音特征提取(如2.2節(jié)描述)。為了更好地驗(yàn)證模型的測試精度,將測試集的分類結(jié)果與前文所述的RNN模型,MLP模型做了對比。已知正面情緒個(gè)數(shù)為144,三種算法分類后的正面情緒個(gè)數(shù)對比結(jié)果見表1。
從表1可以看出,在代表正面情緒語音的分類中,累計(jì)有144條代表正面情緒的語音,而本實(shí)驗(yàn)所提出的CNN模型的分類結(jié)果中有133條代表正面情緒的語音,RNN模型的結(jié)果有80條,MLP模型的結(jié)果有72條。證明了本實(shí)驗(yàn)所提出的CNN模型在正面情緒的分類中有著很高的精度,并且高于RNN和MLP這兩種常用的模型。
表1 三種模型在正面情緒語音中的分類結(jié)果
三種算法分類后的負(fù)面情緒個(gè)數(shù)對比結(jié)果見表2。在代表負(fù)面情緒語音的分類中,累計(jì)有70條代表負(fù)面情緒的語音,而本實(shí)驗(yàn)所提出的CNN模型的分類結(jié)果中有66條代表正面情緒的語音,RNN模型的結(jié)果有39條,MLP模型的結(jié)果有36條。這也反映了本實(shí)驗(yàn)所提出的CNN模型在負(fù)面情緒的分類中有著很高的精度,并且高于RNN和MLP這兩種常用的模型。
表2 三種模型在負(fù)面情緒語音中的分類結(jié)果
測試集所有語音的分類中,三種模型的分類結(jié)果總結(jié)于表3。
表3 三種模型在所有情緒語音中的分類結(jié)果
在表3中可以看出,測試集總計(jì)214條語音,本文所提出的CNN模型有199條分類正確的語音,而有15條分類錯(cuò)誤的語音。對于RNN模型,分類正確的語音有119條,分類錯(cuò)誤的語音有95條。而對于MLP模型,分類正確的語音有108條,分類錯(cuò)誤的語音有106條。這一結(jié)果再一次反映了本文所提出的基于CNN的語音情感識(shí)別模型的準(zhǔn)確性。此外,本實(shí)驗(yàn)結(jié)果在負(fù)面情緒語音的分類中有著較高的準(zhǔn)確性,有利于火車站及其他人員聚集場所中危險(xiǎn)情況的預(yù)警。
為了減少火車站等人群密集場所中發(fā)生危險(xiǎn)所造成的危害,本文將語音情感分類識(shí)別技術(shù)應(yīng)用于火車站的應(yīng)急處理中,提出一種CNN情感分類模型,首先提取語音的MFCC特征,然后把提取的特征送到卷積神經(jīng)網(wǎng)絡(luò),最后輸出每個(gè)語音的類別。此外在輸出層加入預(yù)警置信度,可以讓網(wǎng)絡(luò)更好地識(shí)別每一條語音的特征。仿真結(jié)果表明,該模型準(zhǔn)確率高于RNN和MLP模型。本文所提出的方法為火車站的危險(xiǎn)預(yù)警提供一定的參考。