王繼東,李慧琪
(湖州師范學(xué)院教師教育學(xué)院,浙江湖州 313000)
近年來,人工智能技術(shù)飛速發(fā)展,在眾多領(lǐng)域中應(yīng)用廣泛。其中,情感計(jì)算作為計(jì)算機(jī)科學(xué)、心理學(xué)、神經(jīng)科學(xué)等多學(xué)科交叉的新興研究領(lǐng)域,已成為人工智能發(fā)展的重要方向。而語(yǔ)音情感識(shí)別作為情感計(jì)算的重要分支是當(dāng)前人工智能應(yīng)用研究的熱點(diǎn)。
語(yǔ)音情感識(shí)別是指利用計(jì)算機(jī)分析情感,提取其表達(dá)情感的聲學(xué)特征,利用該特征進(jìn)行建模并識(shí)別,尋找情感與特征之間的映射關(guān)系,實(shí)現(xiàn)情感分類。早在21 世紀(jì)初,Nwe 等使用隱馬爾科夫鏈模型對(duì)語(yǔ)音進(jìn)行情感分類,實(shí)驗(yàn)表明在語(yǔ)音情感分類上LFPC(Log Frequency Power Coefficients)特征優(yōu)于MFCC(Mel Frequency Cepstrum Coefficient)特征,但隱馬爾科夫鏈未能考慮音頻特征的前后關(guān)系,導(dǎo)致可參考數(shù)據(jù)較少,預(yù)測(cè)準(zhǔn)確率較低。Jain 等使用支持向量機(jī)劃分語(yǔ)音情感,降低無關(guān)維度的影響,提高了情感識(shí)別率,然而該方法無法大規(guī)模處理訓(xùn)練樣本,對(duì)核函數(shù)及相關(guān)參數(shù)的敏感性使得劃分結(jié)果隨機(jī)性較大。Mirsamadi 等構(gòu)建了基于注意力機(jī)制的雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory,BLSTM)模型用于語(yǔ)音情感分類,該模型通過分析音頻特征的前后關(guān)系以提高準(zhǔn)確率,但模型較為復(fù)雜,訓(xùn)練時(shí)間較長(zhǎng)。
由于人類在語(yǔ)音情感表現(xiàn)及主觀判斷上的個(gè)體差異性較大,傳統(tǒng)識(shí)別分類算法通常需要足夠量級(jí)的數(shù)據(jù)才能較為準(zhǔn)確提取語(yǔ)音情感的共同特征。目前,缺少大型語(yǔ)音情感訓(xùn)練數(shù)據(jù)集是語(yǔ)音情感識(shí)別的瓶頸。鑒于此,文獻(xiàn)[7-9]嘗試將遷移學(xué)習(xí)技術(shù)與神經(jīng)網(wǎng)絡(luò)相結(jié)合以解決該問題。其中,利用遷移學(xué)習(xí)將源域資源作為先驗(yàn)信息遷移至目標(biāo)域任務(wù)中,以提高資源利用率,解決資源不足的問題。當(dāng)前,遷移學(xué)習(xí)方法在計(jì)算機(jī)科學(xué)領(lǐng)域引起了廣泛的研究和探討。在語(yǔ)音情感識(shí)別方面,Badshah 等使用CNN 卷積神經(jīng)網(wǎng)絡(luò)對(duì)語(yǔ)音進(jìn)行情感分類,先將語(yǔ)音轉(zhuǎn)化為語(yǔ)譜圖的二維形式,然后使用預(yù)訓(xùn)練的Alexnet 網(wǎng)絡(luò)對(duì)自身進(jìn)行遷移學(xué)習(xí),以避免發(fā)生過擬合。Liu 等將FaceNet 模型改進(jìn)后用于語(yǔ)音情感識(shí)別,先將語(yǔ)音信號(hào)轉(zhuǎn)化為波形圖和頻譜圖,隨后將其分別送入FaceNet 模型進(jìn)行端到端訓(xùn)練,以獲得較高的識(shí)別準(zhǔn)確率。宋鵬等提出一種結(jié)合最大均值差異法與半監(jiān)督判別法算法。文獻(xiàn)[16-17]則使用了遷移學(xué)習(xí)技術(shù)對(duì)前人提出的語(yǔ)音情感識(shí)別算法進(jìn)行改進(jìn),取得了一定的效果。然而,以上遷移學(xué)習(xí)算法大多只在測(cè)試集上表現(xiàn)良好,在具體實(shí)踐中泛化能力較低。
針對(duì)上述問題,本文提出了一種語(yǔ)音情感深度遷移識(shí)別算法。首先利用手工提取特征的CNN 模型在源域中較大的語(yǔ)音情感數(shù)據(jù)集上進(jìn)行訓(xùn)練擬合,得到預(yù)訓(xùn)練模型;然后,基于遷移學(xué)習(xí)技術(shù)凍結(jié)預(yù)訓(xùn)練模型的卷積層,同時(shí)動(dòng)態(tài)增減輸出層語(yǔ)音情感分類數(shù)量以形成新的分類模型;最后,將新模型在目標(biāo)域中較小的語(yǔ)音情感數(shù)據(jù)集上進(jìn)行測(cè)試,以實(shí)現(xiàn)低資源數(shù)據(jù)集條件下的語(yǔ)音情感識(shí)別。
本文基于卷積層特征相關(guān)性提取功能和遷移學(xué)習(xí)方法,以下將按照算法運(yùn)行步驟詳細(xì)介紹其中的關(guān)鍵處理環(huán)節(jié)。
算法主要包括確定源域數(shù)據(jù)集和構(gòu)建語(yǔ)音情感分類模型兩步,如圖1 所示。首先,確定源域數(shù)據(jù)集,以目標(biāo)域D
中的語(yǔ)音情感數(shù)據(jù)集C
為參考,通過分析數(shù)據(jù)集屬性,選擇備選數(shù)據(jù)集C
。之后,計(jì)算C
與C
的相關(guān)性,若相關(guān)性較高則令C
為源域D
中的數(shù)據(jù)集C
,否則重新選擇C
。在確定源域數(shù)據(jù)集C
后,進(jìn)行語(yǔ)音情感分類模型構(gòu)建。接下來,建立一個(gè)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練擬合C
中提取的特征,以獲取預(yù)訓(xùn)練模型N
。最后,在目標(biāo)域D
中修改N
形成最終的遷移學(xué)習(xí)模型N
。C
,具體如下:1.1.1 構(gòu)建屬性分析表
構(gòu)建屬性分析表是確定源域數(shù)據(jù)集的前提。本文基于語(yǔ)音情感分類的群體特異性、表現(xiàn)特異性和環(huán)境特異性,構(gòu)建數(shù)據(jù)集屬性集Attr
,如式(1)所示。Fig.1 Algorithm steps圖1 算法步驟
At
tr={語(yǔ)言,語(yǔ)音長(zhǎng)度,錄制環(huán)境,性別比例,D
中語(yǔ)音情感數(shù)據(jù)集C
與備選數(shù)據(jù)集C
的屬性,并最終確定源域D
中語(yǔ)音情感數(shù)據(jù)集C
。1.1.2 特征提取
為了多角度提取語(yǔ)音情感特征,借鑒文獻(xiàn)[18]的語(yǔ)音情感特征歸納方法,分別從數(shù)據(jù)集C
和C
中提取每條語(yǔ)音的1 582個(gè)情感特征形成特征集,如表1 所示。其中,“基頻個(gè)數(shù)”和“持續(xù)時(shí)長(zhǎng)”為全局基本特征描述,直接作為新特征;局部基本特征描述則通過特征統(tǒng)計(jì)函數(shù)處理而成。為了保證源域D
和目標(biāo)域D
中提取特征的相關(guān)性,使用式(2)將語(yǔ)音情感的特征向量v
進(jìn)行歸一化處理。Table 1 Speech emotion feature set表1 語(yǔ)音情感特征集
1.1.3 相關(guān)性計(jì)算
C
后,利用遷移學(xué)習(xí)和CNN 構(gòu)建語(yǔ)音情感分類模型,具體包括構(gòu)建預(yù)訓(xùn)練模型和遷移學(xué)習(xí)訓(xùn)練兩部分。1.2.1 構(gòu)建預(yù)訓(xùn)練模型
參照LeNet5設(shè)計(jì)一個(gè)深度可滿足數(shù)據(jù)集擬合且便于遷移的CNN,如圖2 所示。先通過卷積層處理輸入特征,然后經(jīng)過全連接層進(jìn)行特征擬合。由于語(yǔ)音情感信息較稀疏,在卷積層之間使用了Maxpool 層以突顯優(yōu)勢(shì)特征,并且在全連接層間加入Dropout 層,通過隨機(jī)丟棄一半特征以避免發(fā)生過擬合現(xiàn)象,增強(qiáng)網(wǎng)絡(luò)的泛化能力。在網(wǎng)絡(luò)末端插入6 分類的Softmax 層,通過式(4)交叉熵?fù)p失函數(shù)的計(jì)算結(jié)果進(jìn)行反向傳播訓(xùn)練。
C
為損失值、n
為樣本數(shù)量、y
為樣本標(biāo)簽、a
為樣本正確的概率。在訓(xùn)練網(wǎng)絡(luò)構(gòu)建完成后,使用C
提取的特征向量進(jìn)行擬合訓(xùn)練。當(dāng)訓(xùn)練準(zhǔn)確率開始震蕩且與測(cè)試準(zhǔn)確率相接近時(shí),將分類層Softmax 之外的擬合參數(shù)和訓(xùn)練網(wǎng)絡(luò)以文件形式分開保存,形成預(yù)訓(xùn)練模型N
。Fig.2 Training network and hyperparameters圖2 訓(xùn)練網(wǎng)絡(luò)與超參數(shù)
1.2.2 遷移學(xué)習(xí)訓(xùn)練
將預(yù)訓(xùn)練模型用于遷移學(xué)習(xí)訓(xùn)練時(shí),若源域與目標(biāo)域相關(guān)性較高,則預(yù)訓(xùn)練模型中卷積層的特征相關(guān)性提取可在不改變?cè)搶訑M合參數(shù)的條件下,將卷積層直接應(yīng)用于目標(biāo)域。為此,構(gòu)建了遷移學(xué)習(xí)訓(xùn)練模型N
,如圖3 所示。其中,預(yù)訓(xùn)練模型N
的具體組成見圖2;遷移學(xué)習(xí)模型N
基于N
改造而成。具體修改操作包括:①凍結(jié)N
中卷積層Conv_1 和Conv_2 的擬合參數(shù),使其在遷移學(xué)習(xí)訓(xùn)練過程中始終保持不變;②動(dòng)態(tài)增減分類層Softmax 的超參數(shù),以滿足語(yǔ)音情感分類要求。在遷移學(xué)習(xí)訓(xùn)練模型N
構(gòu)建完成后,使用目標(biāo)域數(shù)據(jù)集C
提取的特征進(jìn)行訓(xùn)練,以實(shí)現(xiàn)語(yǔ)音情感分類。1.2.3 復(fù)雜度分析
卷積神經(jīng)網(wǎng)絡(luò)包含多個(gè)隱藏層,其計(jì)算主要是矩陣乘法,時(shí)間復(fù)雜度為O
(d
d
),其中d
表示第l 層的維度。因此,CNN 的時(shí)間復(fù)雜度可表示為:t
為模型訓(xùn)練的迭代次數(shù),L
為卷積層數(shù)。本文語(yǔ)音情感分類識(shí)別算法中預(yù)訓(xùn)練和遷移訓(xùn)練都基于CNN,因此時(shí)間復(fù)雜度可表示為:n
和n
分別為預(yù)訓(xùn)練和遷移訓(xùn)練的迭代次數(shù)。Fig.3 Construction of transfer learning training network圖3 遷移學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)構(gòu)建
實(shí)驗(yàn)環(huán)境為Intel Core i3-8145U 2.3GHz,4GB RAM,Window 10 操作系統(tǒng),基于Pytorch 框架實(shí)現(xiàn)本文算法,并進(jìn)行相關(guān)實(shí)驗(yàn)和分析。由于語(yǔ)音情感在自然狀態(tài)和表演狀態(tài)下的表現(xiàn)存在差異,因此選擇2個(gè)表演數(shù)據(jù)集CASIA和EMO-DB作為研究對(duì)象。其中,CASIA 庫(kù)是普通話語(yǔ)音情感數(shù)據(jù)庫(kù),包括4 名演員憤怒、驚訝、恐懼、快樂、嫉妒和悲傷6 種情緒,共1 200 條數(shù)據(jù);EMO-DB 庫(kù)為德語(yǔ)語(yǔ)音情感數(shù)據(jù)庫(kù),包括10 名演員生氣、高興、害怕、悲傷、厭惡、無聊和中性7 種情緒,共535 條數(shù)據(jù),但由于厭惡語(yǔ)句過少無法進(jìn)行訓(xùn)練,本文予以剔除,僅使用剩下的6 種情感,共489條數(shù)據(jù)進(jìn)行訓(xùn)練。
選擇CASIA 庫(kù)1 200 條數(shù)據(jù)作為源域數(shù)據(jù)集,選擇EMO-DB 庫(kù)106 條數(shù)據(jù)作為目標(biāo)域數(shù)據(jù)集。根據(jù)式(3),從源域數(shù)據(jù)集中隨機(jī)抽取兩批106 條數(shù)據(jù),計(jì)算的距離值為0.458 3;從源域數(shù)據(jù)集中隨機(jī)抽取106 條數(shù)據(jù),計(jì)算其與目標(biāo)域數(shù)據(jù)集的距離值為0.480 3;從源域數(shù)據(jù)集中隨機(jī)抽取106 條數(shù)據(jù),計(jì)算其與同等規(guī)模的全1 分布距離為1.508 1??勺C明源域與目標(biāo)域之間的距離較短,適合語(yǔ)音情感遷移學(xué)習(xí)。
本文從CASIA 庫(kù)中隨機(jī)抽取的方法是將數(shù)據(jù)按大小升序排列后進(jìn)行編號(hào),以系統(tǒng)時(shí)間為隨機(jī)種子,使用隨機(jī)函數(shù)從[1,1 200]范圍內(nèi)產(chǎn)生所需數(shù)量的數(shù)據(jù)。為取得預(yù)訓(xùn)練模型,本文將CASIA 中抽取的1 200 條數(shù)據(jù),隨機(jī)選擇1 080 條數(shù)據(jù)作為訓(xùn)練集,其余數(shù)據(jù)作為測(cè)試集。采用Adam 優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001,批尺寸為50。
圖4 是預(yù)訓(xùn)練模型混淆矩陣,可見模型在預(yù)判“生氣”情緒時(shí)效果較好,在預(yù)判“驚訝”情緒時(shí)效果一般,模型的總體效果較好。
Fig.4 Pre training model confusion matrix圖4 預(yù)訓(xùn)練模型混淆矩陣
在遷移學(xué)習(xí)訓(xùn)練時(shí),選擇EMO-DB 庫(kù)中106 條數(shù)據(jù)模擬日??墒占臄?shù)據(jù)量進(jìn)行訓(xùn)練,從中隨機(jī)選擇74 條數(shù)據(jù)作為訓(xùn)練集,剩余32 條作為測(cè)試集。采用Adam 優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001,批尺寸為20。訓(xùn)練混淆矩陣如圖5 所示,可見當(dāng)改變情感位置與種類時(shí),預(yù)訓(xùn)練對(duì)遷移學(xué)習(xí)訓(xùn)練會(huì)造成較大影響,例如在本次預(yù)訓(xùn)練過程中,預(yù)判正確率較高的傷心情感準(zhǔn)確率為100%,而其中不存在的無聊情感,則大部分被模型誤判為中性情感。
由圖4-圖5 可見,當(dāng)源域與目標(biāo)域較接近時(shí),遷移學(xué)習(xí)對(duì)提高語(yǔ)音情感識(shí)別訓(xùn)練準(zhǔn)確率存在較大的正向影響。
Fig.5 Transfer learning model confusion matrix圖5 遷移學(xué)習(xí)模型混淆矩陣
為了檢驗(yàn)遷移學(xué)習(xí)提升準(zhǔn)確率的效果,在設(shè)置相同優(yōu)化器、學(xué)習(xí)率等參數(shù)條件下,使用BLSTM 和CNN 模型與本文算法進(jìn)行了比較實(shí)驗(yàn)。實(shí)驗(yàn)輸入數(shù)據(jù)分別為EMO-DB中1 男1 女共106 條數(shù)據(jù)與CASIA 中120 條數(shù)據(jù),以模擬低資源數(shù)據(jù)集。如圖6 所示,當(dāng)BLSTM 和CNN 僅訓(xùn)練EMODB 的106 條和CASIA 的120 條數(shù)據(jù)時(shí),容易發(fā)生過擬合現(xiàn)象。而本文算法可有效提升低資源數(shù)據(jù)集的泛化能力,以獲取更高準(zhǔn)確率。
Fig.6 Comparison of recognition rate圖6 識(shí)別率比較
本文基于CNN 和遷移學(xué)習(xí)提出了一種語(yǔ)音情感識(shí)別算法。該算法在目標(biāo)域數(shù)據(jù)集不足的限制條件下,通過確定源域數(shù)據(jù)集和構(gòu)建語(yǔ)音情感分類模型兩個(gè)步驟實(shí)現(xiàn)了對(duì)低資源數(shù)據(jù)集的語(yǔ)音情感分類。對(duì)比現(xiàn)有傳統(tǒng)算法,本文算法識(shí)別率達(dá)到60%以上。未來工作中,將尋找適用于語(yǔ)音情感識(shí)別的預(yù)訓(xùn)練模型對(duì)其進(jìn)行遷移學(xué)習(xí),以進(jìn)一步提升語(yǔ)音情感識(shí)別的精度。