江官星,付 悅
(南昌航空大學(xué)科技學(xué)院,江西 南昌 332020)
語音交流已經(jīng)成為當(dāng)下較為流行的溝通方式,語音化服務(wù)目前已經(jīng)廣泛應(yīng)用于智能家居系統(tǒng)、電話撥號、智能查詢服務(wù)等領(lǐng)域。語音識別任務(wù)是將語音信號輸入語音特征識別模型并完成語音的訓(xùn)練分類,依據(jù)一定標(biāo)準(zhǔn)輸出所需信息。在智能家居用戶登錄語音識別中,通常存在語音信號噪聲干擾大、語音信號波動較大問題時,語音識別技術(shù)的適應(yīng)性仍不夠理想。
因此用戶登入語音識別也逐漸成為相關(guān)學(xué)者的重點研究課題。如于重重等人研究了基于動態(tài)BLSTM的語音識別方法。該方法通過端到端語音識別模型實現(xiàn)識別,但其模型構(gòu)建過程過于復(fù)雜,導(dǎo)致語音識別效率低;李業(yè)良等人提出了基于混合式注意力機制的語音識別方法,該方法通過平均池化識別語音特征,但該方法存在泛化誤差,直接影響語音識別效果。
為解決以上方法存在的弊端,將多任務(wù)訓(xùn)練方法應(yīng)用在語音識別中,提出基于多任務(wù)訓(xùn)練的用戶登入語音識別模型,提高任務(wù)學(xué)習(xí)效果和用戶登入語音識別的效率。多任務(wù)訓(xùn)練是結(jié)合多個任務(wù)目標(biāo)共同建模訓(xùn)練學(xué)習(xí)的方法,能夠增強模型的泛化性能,即對多個任務(wù)的目標(biāo)一起聯(lián)合建模并訓(xùn)練。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)具備較好的網(wǎng)絡(luò)數(shù)據(jù)處理能力,在語音識別方面發(fā)揮重要作用。針對連續(xù)語音信號識別,通過構(gòu)建輸出全反饋模型實現(xiàn)識別,RNN網(wǎng)絡(luò)結(jié)構(gòu)包括輸出層與輸入層,RNN訓(xùn)練過程中將I層引入輸入層,可解決語音數(shù)據(jù)量導(dǎo)致的訓(xùn)練樣本長度過長以及初始反饋不及時引起訓(xùn)練樣本的誤差等問題。設(shè)置I層各神經(jīng)元與輸出恒定為1的神經(jīng)元彼此相連,則輸出值等于兩個神經(jīng)元相連權(quán)值。通過權(quán)值可糾正誤差向量,提高該網(wǎng)絡(luò)訓(xùn)練性能。
選取時間的反向傳播算法設(shè)定為RNN網(wǎng)絡(luò)訓(xùn)練算法,該算法依據(jù)時間將網(wǎng)絡(luò)展開為擁有共享權(quán)值的網(wǎng)絡(luò),為得出L層初始反饋信號需要添加I層實現(xiàn),針對輸入輸出序列的長度為N,RNN網(wǎng)絡(luò)訓(xùn)練圖見圖1。
圖1 RNN網(wǎng)絡(luò)訓(xùn)練圖
由圖1可知,RNN網(wǎng)絡(luò)訓(xùn)練流程如下:
Step 1:設(shè)置第一個輸入為(0),層輸出的初始狀態(tài)用(0)描述,通過向前傳播求解出(1)與(0)。
Step 2:設(shè)置反饋向量為(),將其作為前時刻狀態(tài)輸出,當(dāng)>0,當(dāng)前時刻的輸入為(),通過向前傳播求解出輸出向量()與(+1)。訓(xùn)練公式如式(1)~式(2)所示
(1)
(+1)=(())
(2)
為得到最后1幀信號輸入=-1,需要循環(huán)每個時間值輸出。
Step 3:最后1個時間輸出誤差向量用(-1)描述,為計算(-1)需要比較目標(biāo)函數(shù)取值與輸出目標(biāo)值,把誤差反傳到(-1),其過程如式(3)所示
(-1)=
(3)
式中:()為目標(biāo)值,為待識別種類用。
Step 4:針對全部0≤≤-2,為求解輸出向量()誤差向量,需要與目標(biāo)輸出進行比較,同時加載+1反向傳播,再通過反向傳播求解()誤差向量,其過程如式(4)所示
()=
(4)
Step 5:當(dāng)時刻為零時,將誤差層反向傳播至層,其過程如式(5)所示
(5)
Step 6:為求解目標(biāo)函數(shù)對權(quán)值梯度,通過累加全部時間值,再更新權(quán)值,其過程如式(6)~式(7)所示
(6)
(7)
為提高神經(jīng)網(wǎng)絡(luò)泛化性能,通過將多任務(wù)學(xué)習(xí)()應(yīng)用在神經(jīng)網(wǎng)絡(luò)中,采用共享并行訓(xùn)練多任務(wù)完成多任務(wù)學(xué)習(xí),通過共享隱層學(xué)習(xí)的方式獲取更多共享特征,并挖掘相關(guān)任務(wù)的隱含特性。
(8)
式中:內(nèi)的一列為模型向量,模型參數(shù)矩陣即為多任務(wù)模型參數(shù)。
構(gòu)建基于MTL-RNN的語音識別模型,通過RNN處理用戶登入連貫語音信息,融合多任務(wù)學(xué)習(xí)結(jié)構(gòu),通過用戶身份、情感和性別識別實現(xiàn)語音分類,該算法流程見圖2。
圖2 MTL-RNN算法流程
由圖2可知,語音輸入后進行數(shù)據(jù)預(yù)處理并提取特征。該操作先通過檢測器過濾測試語音內(nèi)無用靜音數(shù)據(jù);然后分幀處理語音信號,語音信號的幀疊和幀長分別是256點、512節(jié)點;再將各幀與漢明窗相乘,同時進行傅立葉變換,為求解13階梅爾倒譜系數(shù)(Mel-Frequency Cepstral Coefficients,MFCC)利用mel濾波器組實現(xiàn)求解;最后得出MFCC特征幀能量、13維MFCC的1、2階差分。在共享層包括3層RNN,依據(jù)時間先后,輸入MFCC特征向量,并均勻分布各層節(jié)點。第3層接收前2層輸出數(shù)據(jù)后轉(zhuǎn)換為輸入至由3個全連接層構(gòu)成屬性依賴層中,并將結(jié)果發(fā)送至softmax輸出層,得出3個任務(wù)的分類識別結(jié)果。在訓(xùn)練過程中,需要將神經(jīng)網(wǎng)絡(luò)中分批輸入訓(xùn)練集進行訓(xùn)練,求解計算損失函數(shù),并通過優(yōu)化器對該函數(shù)優(yōu)化,在網(wǎng)絡(luò)權(quán)重更新前提下,進行下步訓(xùn)練。
損失函數(shù)為交叉熵函數(shù),總損失函數(shù)如式(9)所示
=++
(9)
式中:損失函數(shù)包括性別識別用loss描述;說話人識別用loss描述。權(quán)重系數(shù)分別用χ、δ、γ描述;語音情感識別用loss描述;通過式(9)計算得出式(10)
(10)
算法測試過程與訓(xùn)練過程流程一致。
仿真數(shù)據(jù)為TIMIT聲學(xué)-音素連續(xù)語音語料庫的數(shù)據(jù)集,實驗數(shù)據(jù)集包括650名說話人,其中每個人說10個句子。在數(shù)據(jù)集內(nèi)測試集與訓(xùn)練集的比例3:7。
為了驗證本文模型的識別性能,選取音素識別錯誤率作為評價指標(biāo),因錯誤率與識別率呈反比關(guān)系。實驗設(shè)置:學(xué)習(xí)率為0.01、隱含層節(jié)點數(shù)量為130個、epoch的數(shù)量為19、批量處理次數(shù)分別是17次和34次時,測試本文模型的識別錯誤率,結(jié)果見圖3,圖中epoch指全部訓(xùn)練樣本訓(xùn)練一次的過程。
圖3 本文模型在不同批量處理次數(shù)時的識別錯誤率
由圖3可知,在批量處理次數(shù)是17時,兩個實驗數(shù)據(jù)集識別錯誤率曲線呈平穩(wěn)態(tài)勢,且識別錯誤率在0.4上下浮動;而在批量處理次數(shù)是34時,兩個實驗數(shù)據(jù)集在epoch為15時,識別錯誤率開始出現(xiàn)波動,說明在批量處理次數(shù)為17時,本文模型語音識別效果最好。
考慮錯誤率受學(xué)習(xí)率因素的影響,實驗設(shè)置:批量處理次數(shù)是17、隱含層節(jié)點數(shù)量是110個、epoch數(shù)量是19時,測試本文模型在不同學(xué)習(xí)率下的識別錯誤率,結(jié)果見圖4。
圖4 學(xué)習(xí)率對錯誤率的影響
由圖4可知,當(dāng)學(xué)習(xí)率為0.01時,本文模型識別錯誤率較高,且存在顯著波動,說明學(xué)習(xí)率對模型識別錯誤率影響表現(xiàn)為:損失變化隨學(xué)習(xí)率高低影響較大,學(xué)習(xí)率越低,兩個實驗數(shù)據(jù)集錯誤率曲線越趨于穩(wěn)定態(tài)勢。
考慮錯誤率受隱含層節(jié)點的影響,實驗設(shè)置:批處理數(shù)量為34個、學(xué)習(xí)率為0.01,epoch的數(shù)量為15,在隱含層節(jié)點分別為130個、260個時,測試本文模型的識別錯誤率,見圖5。
圖5 隱含層節(jié)點數(shù)量對識別錯誤率的影響
由圖5可知,隱含層節(jié)點數(shù)量是130時,兩個實驗數(shù)據(jù)集的錯誤率差別較大,其中因過擬合導(dǎo)致訓(xùn)練集錯誤率不高,在隱含層節(jié)點數(shù)量是260時,兩個實驗數(shù)據(jù)集的錯誤率差別不大,收斂性能較好。因此隱含節(jié)點數(shù)量為260時模型的識別效果較好。
在實驗數(shù)據(jù)集中選取4個數(shù)據(jù)集作為4個任務(wù),并且任務(wù)間存在關(guān)聯(lián)性。將其中數(shù)據(jù)集1作為主要任務(wù),剩余3個為輔助任務(wù)。實驗權(quán)重系數(shù)初始值分別為0.6,0.2,0.2時進行網(wǎng)絡(luò)訓(xùn)練,調(diào)整權(quán)重值進行測試,得出本文模型最佳權(quán)重系數(shù)χ、δ、γ的值分別為0.5,0.16,0.34。
在不同訓(xùn)練集下,得出本文模型的損失函數(shù)值和迭代次數(shù)關(guān)系圖,如圖6所示。
圖6 本文模型的損失函數(shù)-迭代關(guān)系
由圖6可知,因數(shù)據(jù)集1為多任務(wù)中的主要任務(wù),本文模型在迭代次數(shù)200次就達到收斂,且損失函數(shù)值較低,而其余3個數(shù)據(jù)集作為輔助任務(wù)在迭代次數(shù)300次均達到收斂,說明本文模型的訓(xùn)練能力和應(yīng)用性較強,可快速實現(xiàn)多任務(wù)分類的語音識別。
為了評價本文模型在用戶登入語音情感識別中的應(yīng)用的性能,將非加權(quán)平均召回率UAR作為評價指標(biāo),UAR求解如式(11)所示。
(11)
其中:召回率用描述;正類數(shù)用描述;類別數(shù)用描述;負類數(shù)用描述。
將數(shù)據(jù)集1中設(shè)置語言種類識別是輔助任務(wù),情感維度屬性的A與B識別設(shè)置為主任務(wù),其中A代表登入用戶開心情感語音,B代表登入用戶悲傷情感語音,在沒有引入多任務(wù)學(xué)習(xí)之前的任務(wù)A的平均識別UAR值為55%,任務(wù)B的平均識別UAR值為63%,通過仿真測試得出本文模型的UAR值,如表1所示。
表1 本文模型的UAR值(%)
通過分析表1可知,本文模型對任務(wù)A的平均識別UAR值為68.24%;任務(wù)B的平均識別UAR值為58.67%,相比沒有引入多任務(wù)學(xué)習(xí)的任務(wù)A、B平均UAR值分別提高3.67%、5.24%。因此,引入多任務(wù)學(xué)習(xí)的本文模型可增強語音情感識別的泛化能力,提高情感識別精度。
針對以往用戶登入語音識別方法局限性,導(dǎo)致對多語言的識別效果不佳等問題,研究基于多任務(wù)訓(xùn)練的用戶登入語音識別模型。通過將循環(huán)神經(jīng)網(wǎng)絡(luò)與多任務(wù)學(xué)習(xí)算法相結(jié)合構(gòu)建多任務(wù)訓(xùn)練的用戶登入語音識別模型,增強識別泛化能力。通過仿真可知,當(dāng)學(xué)習(xí)率為0.001,批量處理次數(shù)是17,epoch數(shù)量為19個,隱含層節(jié)點數(shù)量為260時,兩個實驗數(shù)據(jù)集的收斂性能優(yōu)良,識別錯誤率曲線比較平穩(wěn),說明本文模型可提高語音識別正確率。
因本人時間與精力有限,文中仍有不足,希望在以后的實踐中逐步完善,下一步有待改進的方向如下:
1)本文仿真中所使用的數(shù)據(jù)集,均經(jīng)過降噪處理后的語音數(shù)據(jù),但現(xiàn)實中語音數(shù)據(jù)都會摻雜著少許噪音,因此本文模型應(yīng)添加一些先進的方法,例如小波降噪方法在語音識別之前進行降噪工作,提高本文模型的實際應(yīng)用效果與識別精度。
2)在用戶登入語音識別中語種的識別也比較重要,本文研究并未涉及,以后會加強對語音信道對語種識別影響方面的研究,擴大本文模型研究范圍。
3)將本文模型應(yīng)用在語音識別系統(tǒng)中,通過識別系統(tǒng)的開發(fā),進一步提高用戶登入語音識別效率,有利于用戶登入的管理工作順利進行。
4)提高與本文模型相匹配的模型,語音信號波動比較大,在語音信號分析中對特征提取方面不太理想,因此在本文模型的基礎(chǔ)上加入與之匹配語音信號分析的模型,能夠更好地提高戶登入語音識別的效果。