本發(fā)明屬于情感識(shí)別領(lǐng)域,具體涉及一種基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法。
背景技術(shù):
傳統(tǒng)的語音情感識(shí)別模型通常依賴于一個(gè)共同的假設(shè):訓(xùn)練數(shù)據(jù)(源域數(shù)據(jù))和測試數(shù)據(jù)(目標(biāo)域數(shù)據(jù))來自同一個(gè)數(shù)據(jù)庫,即兩個(gè)域具有相同的數(shù)據(jù)分布。但在實(shí)際情況下,這個(gè)條件很難滿足,這主要是由于從不同設(shè)備和條件下收集到的語音數(shù)據(jù)存在很大的差異,這就使得訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)具有不同的數(shù)據(jù)分布,如果還是用傳統(tǒng)的語音情感識(shí)別模型進(jìn)行訓(xùn)練和測試,將會(huì)產(chǎn)生很大的性能衰退。
域適應(yīng)方法可以很好的解決這個(gè)問題。但在特征學(xué)習(xí)過程中,大部分的域適應(yīng)方法沒有考慮到標(biāo)簽信息。同時(shí),在這些域適應(yīng)方法中,傳統(tǒng)語音情感識(shí)別的一些優(yōu)勢(如在提取特征的過程中考慮說話人、內(nèi)容、環(huán)境等與情感無關(guān)的因素)也被忽略了。本發(fā)明通過一個(gè)簡單的前向神經(jīng)網(wǎng)絡(luò)模型,提取出情感判別和域不變的特征。具體的,為了排除情感無關(guān)因素的影響,先將輸入數(shù)據(jù)分解成兩部分:情感判別特征和情感無關(guān)特征。然后情感相關(guān)特征進(jìn)行層次非線性轉(zhuǎn)換得到高層情感特征。為了使高層情感特征具有情感判別性和域不變性,將高層情感特征分別用于情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法,使得學(xué)到的特征盡可能排除情感無關(guān)因素的影響,并且具有情感判別性和域不變性。
為了解決以上問題,本發(fā)明首先對原始語音樣本進(jìn)行預(yù)處理,得到一個(gè)384維特征作為輸入數(shù)據(jù)。然后將輸入特征映射成兩種特征:情感判別特征和情感無關(guān)特征;情感判別特征是和情感相關(guān)的特征、有助于情感分類的特征;情感無關(guān)特征是體現(xiàn)說話人變化、環(huán)境噪音等一些與情感變化無關(guān)因素、不利于情感分類的特征。將情感判別特征進(jìn)行層次非線性轉(zhuǎn)換得到高層情感特征,高層情感特征分別用于情感標(biāo)簽和域標(biāo)簽的預(yù)測,并用梯度下降法進(jìn)行模型參數(shù)的更新。具體技術(shù)方案如下:
一種基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法,包括如下步驟:
S1,語音樣本預(yù)處理:按照INTERSPEECH 2009情感挑戰(zhàn)賽的要求,利用開源工具包openEAR從原始語音樣本中提取384維特征,替代原始語音樣本作為輸入數(shù)據(jù);
S2,模型訓(xùn)練:所述模型包括三部分:特征提取,情感標(biāo)簽預(yù)測,域標(biāo)簽預(yù)測;源域的有標(biāo)簽樣本和目標(biāo)域的無標(biāo)簽訓(xùn)練樣本通過S1得到相應(yīng)的384維特征作為模型的輸入數(shù)據(jù);具體實(shí)現(xiàn)包括如下:
在模型的特征提取層,輸入數(shù)據(jù)通過不同的權(quán)重映射成兩種特征:情感判別特征和情感無關(guān)特征;然后情感判別特征通過層次非線性轉(zhuǎn)換得到高層情感特征;
源域有標(biāo)簽樣本的高層情感特征用于情感標(biāo)簽的預(yù)測,源域和目標(biāo)域樣本的高層情感特征用于域標(biāo)簽的預(yù)測;
最后更新模型的參數(shù),將兩個(gè)標(biāo)簽預(yù)測器的損失進(jìn)行反向傳播,用梯度下降法進(jìn)行參數(shù)的更新;
S3,特征提?。豪肧2中訓(xùn)練好的特征提取層的參數(shù),將源域有標(biāo)簽訓(xùn)練樣本的384維特征轉(zhuǎn)換成高層情感特征;
S4,分類器訓(xùn)練:利用S3中源域有標(biāo)簽訓(xùn)練樣本的高層情感特征和相對應(yīng)的情感標(biāo)簽,進(jìn)行分類器SVM的訓(xùn)練;
S5,語音情感識(shí)別:對任意一個(gè)目標(biāo)域的語音測試樣本,首先利用步驟S1提取384維特征作為輸入數(shù)據(jù),然后通過S2中訓(xùn)練好的特征提取層得到高層情感特征,最后輸入到S4訓(xùn)練好的SVM中進(jìn)行分類。
進(jìn)一步地,所述步驟S2中所述特征提取層的實(shí)現(xiàn)包括如下:
S2.1,設(shè)有N+1層,第n層有k(n)個(gè)結(jié)點(diǎn),h(n)表示第n層的特征表示,n∈[0,1,...,N];對于第零層,假設(shè)h(0)=x,x為輸入樣本;那么第n層的特征表示為:
其中W(n)∈Rk(n)×k(n-1)表示權(quán)重矩陣,b(n)∈Rk(n)表示偏置,表示非線性激活函數(shù);
S2.2,為了消除提取到的特征摻雜一些情感無關(guān)的因素,引進(jìn)一個(gè)正交項(xiàng)來解開情感判別因素和其他無關(guān)因素;對于輸入x,把它映射成兩塊特征:一塊編碼輸入數(shù)據(jù)的判別因素,另一塊編碼輸入數(shù)據(jù)的其他因素,w是權(quán)重矩陣,c是偏置;參數(shù)分別是θe={W(1),b(1)}和θo={w,c};
S2.3,為了讓這兩塊特征可以有效地解開,讓第i個(gè)情感相關(guān)特征的敏感度向量和每個(gè)情感無關(guān)的特征的敏感度向量正交;進(jìn)一步,對這兩塊特征進(jìn)行約束的正交損失函數(shù)定義如下:
其中表示所有樣本的域標(biāo)簽集合;
S2.4,對于輸入x,經(jīng)過上述特征提取過程,得到它的高層特征表示h(N)。
進(jìn)一步地,所述步驟S2中所述情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測的實(shí)現(xiàn)包括如下:
利用得到的高層特征表示h(N)來預(yù)測情感標(biāo)簽和域標(biāo)簽:采用Softmax回歸進(jìn)行情感標(biāo)簽和域標(biāo)簽的預(yù)測,具體地,情感標(biāo)簽預(yù)測的損失函數(shù)Ly和域標(biāo)簽預(yù)測的損失函數(shù)Ld可以表示成如下形式:
其中是情感標(biāo)簽預(yù)測的參數(shù),是域標(biāo)簽預(yù)測的參數(shù);X={x|x∈Ds||x∈Dt}表示訓(xùn)練時(shí)所有可獲得的源域有標(biāo)簽樣本和目標(biāo)域無標(biāo)簽樣本集合;表示所有樣本的域標(biāo)簽集合;y表示情感標(biāo)簽;ns表示源域樣本個(gè)數(shù)。
進(jìn)一步地,所述步驟S2中所述更新模型參數(shù)的實(shí)現(xiàn)包括如下:
S2.5,結(jié)合特征提取、情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測的損失函數(shù),得到總目標(biāo)函數(shù)如下:
其中f把輸入x映射成高層特征表示,Gy和Gd分別把高層特征表示映射成情感標(biāo)簽和域標(biāo)簽,Ly和Ld分別表示情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測的損失函數(shù),α衡量域標(biāo)簽預(yù)測項(xiàng)的貢獻(xiàn)程度,β衡量正交損失函數(shù)的貢獻(xiàn)程度;
S2.6,為了得到情感判別和域不變的特征,需要尋找總目標(biāo)函數(shù)的一個(gè)鞍點(diǎn):
S2.7,為了能使用梯度下降法來尋找這個(gè)鞍點(diǎn),在特征提取層和域標(biāo)簽預(yù)測層之間加上了一個(gè)梯度反轉(zhuǎn)層;在前向傳播時(shí),梯度反轉(zhuǎn)層相對于一個(gè)恒等變換函數(shù);在反向傳播時(shí),梯度會(huì)乘以一個(gè)負(fù)數(shù)-λ;用如下的偽函數(shù)來描述梯度反轉(zhuǎn)層:
Rλ(x)=x,
其中I是單位矩陣;因此總目標(biāo)函數(shù)的偽目標(biāo)函數(shù)可以定義成如下形式:
所有的權(quán)重和偏置可以使用如下的梯度下降算法進(jìn)行更新:
其中m=2,...,N,μ是學(xué)習(xí)率,α和β分別衡量域預(yù)測損失函數(shù)和正交損失函數(shù)的貢獻(xiàn)程度,λ是梯度反轉(zhuǎn)層的參數(shù)。
本發(fā)明的有益效果:
本發(fā)明的基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法,首先將輸入特征映射成兩種特征:情感判別特征和情感無關(guān)特征。將情感判別特征進(jìn)行層次非線性轉(zhuǎn)換得到高層情感特征,高層情感特征分別用于情感標(biāo)簽和域標(biāo)簽的預(yù)測,并用梯度下降法進(jìn)行參數(shù)的更新。本發(fā)明解決了語音情感識(shí)別中訓(xùn)練樣本和測試樣本數(shù)據(jù)分布不同的問題,并且通過特征解開方法盡可能除去情感無關(guān)因素的影響。
附圖說明
圖1是基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法流程圖;
圖2是基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法框架圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明。
如圖1所示,為本發(fā)明的總體流程圖。首先對輸入的訓(xùn)練語音數(shù)據(jù)進(jìn)行預(yù)處理得到一個(gè)384維特征,作為輸入數(shù)據(jù)。然后,進(jìn)行模型的訓(xùn)練,模型訓(xùn)練時(shí)采用源域的有標(biāo)簽數(shù)據(jù)和目標(biāo)域的無標(biāo)簽數(shù)據(jù)。所提出的模型包括三個(gè)部分:特征提取,情感標(biāo)簽預(yù)測,域標(biāo)簽預(yù)測。在特征提取部分,首先將原始輸入數(shù)據(jù)分解成兩塊特征:情感判別特征和情感無關(guān)特征,然后將情感判別特征進(jìn)行層次非線性轉(zhuǎn)換得到高層情感特征。得到的高層情感特征分別用于情感標(biāo)簽和域標(biāo)簽的預(yù)測。利用梯度下降法對整個(gè)模型的參數(shù)進(jìn)行更新,最終得到特征提取層的各層權(quán)重。然后,進(jìn)行特征提取,源域有標(biāo)簽樣本通過訓(xùn)練好的特征提取層得到高層情感特征。最后,進(jìn)行分類器SVM的訓(xùn)練,將源域有標(biāo)簽樣本的高層情感特征和相對應(yīng)的情感標(biāo)簽輸入到SVM中訓(xùn)練,訓(xùn)練好的SVM可用于目標(biāo)域測試樣本的分類。對于目標(biāo)域的測試語音樣本,通過預(yù)處理提取384維特征作為輸入數(shù)據(jù),輸入到訓(xùn)練好的特征提取部分,得到高層情感特征,再輸入到訓(xùn)練好的SVM進(jìn)行分類。具體步驟如下:
1訓(xùn)練過程
1.1語音數(shù)據(jù)的預(yù)處理過程
按照INTERSPEECH 2009情感挑戰(zhàn)賽的要求,利用開源工具包openEAR從原始語音樣本中提取384維特征,替代原始語音樣本作為輸入數(shù)據(jù)。
1.2模型訓(xùn)練
假設(shè)表示源域有標(biāo)簽樣本和相對應(yīng)的情感標(biāo)簽集合,表示目標(biāo)域無標(biāo)簽樣本集合,其中ns和nt分別表示源域和目標(biāo)域樣本的個(gè)數(shù)。在這里,假設(shè)源域和目標(biāo)域具有相同的特征空間和情感標(biāo)簽空間,例如每個(gè)樣本x∈Rk及情感標(biāo)簽y∈{1,2,...,c}(c表示情感類別個(gè)數(shù)),但兩個(gè)域的數(shù)據(jù)具有不同的數(shù)據(jù)分布。假設(shè)X={x|x∈Ds||x∈Dt}表示訓(xùn)練時(shí)所有可獲得的源域有標(biāo)簽樣本和目標(biāo)域無標(biāo)簽樣本集合,表示所有樣本的域標(biāo)簽集合(如果樣本xi∈Ds,那么域標(biāo)簽di=1;如果樣本xi∈Dt,那么域標(biāo)簽di=0),Y={y|y∈Ds}表示源域樣本的情感標(biāo)簽集合。在訓(xùn)練模型時(shí),可以使用X,D,Y。我們的最終目的是預(yù)測目標(biāo)域樣本的情感標(biāo)簽。
1.2.1特征提取
首先如圖2的特征提取部分的左邊部分。假設(shè)有N+1層,第n層有k(n)個(gè)結(jié)點(diǎn),h(n)表示第n層的特征表示,n∈[0,1,...,N]。對于第零層,假設(shè)h(0)=x。那么第n層的特征表示為:
其中表示權(quán)重矩陣,b(n)∈Rk(n)表示偏置,表示非線性激活函數(shù),例如sigmoid激活函數(shù)。這部分的參數(shù)
如果只使用圖2特征提取部分的左邊部分,提取到的特征通常會(huì)摻雜一些情感無關(guān)的因素(如說話人、內(nèi)容和環(huán)境等)。這里引進(jìn)一個(gè)正交項(xiàng)來解開情感判別因素和其他無關(guān)因素(也就是加入圖2特征提取部分的右邊部分)。對于輸入x,把它映射成兩塊特征:一塊編碼輸入數(shù)據(jù)的判別因素(圖2特征提取部分的左邊部分),另一塊編碼輸入數(shù)據(jù)的其他因素(圖2特征提取部分的右邊部分),w是權(quán)重矩陣,c是偏置。參數(shù)分別是θe={W(1),b(1)}和θo={w,c}。具體地,為了讓這兩塊特征可以有效地解開,讓第i個(gè)情感相關(guān)特征的敏感度向量和每個(gè)情感無關(guān)的特征的敏感度向量正交。對這兩塊特征進(jìn)行約束的正交損失函數(shù)定義如下:
所以,對于輸入x,經(jīng)過圖2所示的特征提取部分,最終得到它的高層特征表示h(N)。
1.2.2情感標(biāo)簽和域標(biāo)簽預(yù)測
在得到輸入x的高層特征表示h(N)之后,用它來預(yù)測情感標(biāo)簽和域標(biāo)簽。在訓(xùn)練時(shí),由于缺乏目標(biāo)域有標(biāo)簽樣本,只有源域有標(biāo)簽樣本用于情感標(biāo)簽的預(yù)測;而源域有標(biāo)簽樣本和目標(biāo)域無標(biāo)簽樣本都有域標(biāo)簽,所以這些樣本都用于域標(biāo)簽的預(yù)測。這里采用Softmax回歸進(jìn)行情感標(biāo)簽和域標(biāo)簽的預(yù)測。具體來說情感標(biāo)簽預(yù)測的損失函數(shù)Ly和域標(biāo)簽預(yù)測的損失函數(shù)Ld可以表示成如下形式:
其中是進(jìn)行情感標(biāo)簽預(yù)測時(shí)的softmax分類器參數(shù),θyi是第i個(gè)情感類別的參數(shù),是θyi的轉(zhuǎn)置;是進(jìn)行域標(biāo)簽預(yù)測時(shí)的softnax分類器參數(shù),θdi是第i個(gè)域類別的參數(shù),是θdi的轉(zhuǎn)置。
1.2.3參數(shù)優(yōu)化
結(jié)合特征提取、情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測的損失函數(shù),總的目標(biāo)函數(shù)如下:
其中f把輸入x映射成高層特征表示,Gy和Gd分別把高層特征表示映射成情感標(biāo)簽和域標(biāo)簽,Ly和Ld分別表示情感標(biāo)簽預(yù)測和域標(biāo)簽預(yù)測的損失函數(shù),α衡量域標(biāo)簽預(yù)測項(xiàng)的貢獻(xiàn)程度,β衡量正交損失函數(shù)的貢獻(xiàn)程度。
為了得到情感判別和域不變的特征,需要尋找公式(5)的一個(gè)鞍點(diǎn):
為了能使用梯度下降法來尋找這個(gè)鞍點(diǎn),在特征提取層和域標(biāo)簽預(yù)測層之間加上了一個(gè)梯度反轉(zhuǎn)層。在前向傳播時(shí),梯度反轉(zhuǎn)層相對于一個(gè)恒等變換函數(shù);在反向傳播時(shí),梯度會(huì)乘以一個(gè)負(fù)數(shù)-λ。用如下的偽函數(shù)來描述梯度反轉(zhuǎn)層:
其中I是單位矩陣。因此公式(5)的偽目標(biāo)函數(shù)可以定義成如下形式:
所有的權(quán)重和偏置可以使用如下的梯度下降算法進(jìn)行更新:
其中m=2,...,N,μ是學(xué)習(xí)率,α和β分別衡量域預(yù)測損失函數(shù)和正交損失函數(shù)的貢獻(xiàn)程度,λ是梯度反轉(zhuǎn)層的參數(shù)。
1.3特征提取
經(jīng)過1.2節(jié)模型訓(xùn)練之后,得到特征提取層的參數(shù)。源域有標(biāo)簽樣本通過這個(gè)特征提取層,得到高層的情感特征表示。
1.4分類器訓(xùn)練
將源域有標(biāo)簽樣本的高層情感特征表示和相對應(yīng)的情感標(biāo)簽輸入到SVM中訓(xùn)練,訓(xùn)練好的SVM可用于目標(biāo)域測試樣本的分類。
2測試過程
對任意一個(gè)測試語音樣本,利用預(yù)處理提取的384維特征作為輸入數(shù)據(jù),輸入到訓(xùn)練好的特征提取層得到高層情感特征,然后輸入到訓(xùn)練好的SVM中進(jìn)行分類。
綜上所述,本發(fā)明公開了一種基于無監(jiān)督域適應(yīng)的語音情感識(shí)別方法。所提出的模型包括三個(gè)部分:特征提取,情感標(biāo)簽預(yù)測,域標(biāo)簽預(yù)測。在特征提取部分,首先將原始輸入數(shù)據(jù)分解成兩塊特征:情感判別特征和情感無關(guān)特征,然后將情感判別特征進(jìn)行層次非線性轉(zhuǎn)換得到高層情感特征。得到的高層情感特征分別用于情感標(biāo)簽和域標(biāo)簽的預(yù)測。利用梯度下降法對整個(gè)模型的參數(shù)進(jìn)行更新,最終得到特征提取層的各層權(quán)重。然后,進(jìn)行特征提取,源域有標(biāo)簽樣本通過訓(xùn)練好的特征提取層得到高層情感特征。最后,進(jìn)行分類器SVM的訓(xùn)練,將源域有標(biāo)簽樣本的高層情感特征和相對應(yīng)的情感標(biāo)簽輸入到SVM中訓(xùn)練,訓(xùn)練好的SVM可用于目標(biāo)域測試樣本的分類。
上文所列出的一系列的詳細(xì)說明僅僅是針對本發(fā)明的可行性實(shí)施方式的具體說明,它們并非用以限制本發(fā)明的保護(hù)范圍,凡未脫離本發(fā)明技藝精神所作的等效實(shí)施方式或變更均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。