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