代巧利,張朝亮
(1.武警湖北省總隊(duì)參謀部,湖北 武漢 430000;2.海軍工程大學(xué)電氣工程學(xué)院,湖北 武漢 430033)
隨著機(jī)器學(xué)習(xí)與人工智能技術(shù)的飛速發(fā)展,語(yǔ)音識(shí)別在通信、智能家居、醫(yī)療、軍事等方面逐漸得到了廣泛運(yùn)用。在語(yǔ)音信號(hào)識(shí)別中應(yīng)用非常廣泛的一種方法是梅爾倒譜系數(shù)[1]。它基于一組非線(xiàn)性的特征參數(shù),能有效結(jié)合語(yǔ)音機(jī)理,通過(guò)計(jì)算分析語(yǔ)音波形及行為特征的語(yǔ)音參數(shù)進(jìn)行有效的判斷。而識(shí)別方法應(yīng)用比較廣泛的有隱馬爾可夫模型、高斯混合模型、支持向量機(jī)模型和神經(jīng)網(wǎng)絡(luò)等。人工神經(jīng)網(wǎng)絡(luò)通過(guò)模仿生物神經(jīng)網(wǎng)絡(luò)的行為特征原理,以類(lèi)似大腦處理信息的方式建立數(shù)學(xué)模型[2],輸出值能夠相當(dāng)逼近真實(shí)值或給出邏輯判斷。
深度學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)研究的熱點(diǎn),包含多種有效的方法,如深度置信網(wǎng)絡(luò)DBN、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN、卷積神經(jīng)網(wǎng)絡(luò)CNN等。而長(zhǎng)短期記憶模型循環(huán)神經(jīng)網(wǎng)絡(luò)LSTM[3]可以算是RNN網(wǎng)絡(luò)的代表,在處理像序列語(yǔ)音信號(hào)數(shù)據(jù)[4-5]時(shí)能夠取得非常好的效果。在深度學(xué)習(xí)算法實(shí)驗(yàn)時(shí)需要編寫(xiě)大量的代碼,為避免重復(fù)、提高研究效率,優(yōu)秀的研究者們將代碼整合成框架發(fā)布,其中比較優(yōu)秀的有Tensorflow、Caffe、Torch和PyTorch等。
本文基于Tensorflow框架,采用LSTM網(wǎng)絡(luò),開(kāi)展了語(yǔ)音特征信號(hào)分類(lèi)研究。
語(yǔ)音識(shí)別分類(lèi)過(guò)程主要包括,信號(hào)采集與預(yù)處理、特征提取、識(shí)別與分類(lèi)等步驟。
語(yǔ)音信號(hào)采集是將聲音通過(guò)麥克風(fēng)等設(shè)備輸入計(jì)算機(jī),預(yù)處理對(duì)信號(hào)進(jìn)行濾波進(jìn)而濾除噪聲。語(yǔ)音信號(hào)特征參數(shù)提取,常采用線(xiàn)性預(yù)測(cè)系數(shù)、感知線(xiàn)性預(yù)測(cè)、梅爾頻率倒譜系數(shù)(MFCC)等[6]。兩種線(xiàn)性預(yù)測(cè)的特征參數(shù)反映聲道的響應(yīng)特性。而梅爾頻率倒譜系數(shù)的特征參數(shù)反映人的聽(tīng)覺(jué)特性,具有廣泛的應(yīng)用。
根據(jù)人耳聽(tīng)覺(jué)機(jī)理的研究發(fā)現(xiàn),人耳對(duì)不同頻率的聲波有不同的聽(tīng)覺(jué)敏感度。所以,從低頻到高頻這一段頻帶內(nèi)按臨界帶寬的大小由密到疏安排一組帶通濾波器,對(duì)輸入信號(hào)進(jìn)行濾波,將每個(gè)帶通濾波器輸出的信號(hào)能量作為信號(hào)的基本特征,進(jìn)一步處理后就可以作為語(yǔ)音的輸入特征。由于其不依賴(lài)于信號(hào)的性質(zhì),對(duì)輸入信號(hào)不做任何的假設(shè)和限制,又利用了聽(tīng)覺(jué)模型的特點(diǎn),所以更符合人耳的聽(tīng)覺(jué)特性,且當(dāng)信噪比降低時(shí)仍具有較好的識(shí)別性能。
梅爾倒譜系數(shù)是在Mel標(biāo)度頻率域提取出來(lái)的倒譜參數(shù),Mel標(biāo)度描述了人耳頻率的非線(xiàn)性特性,它與頻率的關(guān)系可用公式1近似表示:
式中f為頻率,單位為Hz。
在傳統(tǒng)語(yǔ)音識(shí)別模型中,基于參數(shù)模型的隱馬爾可夫模型能夠根據(jù)觀(guān)測(cè)的序列估計(jì)出想要得到的目標(biāo)序列,數(shù)據(jù)量大時(shí)能夠取得較好的效果。現(xiàn)代的神經(jīng)網(wǎng)絡(luò)模型類(lèi)似人腦,可以通過(guò)訓(xùn)練學(xué)習(xí)來(lái)達(dá)到較高的識(shí)別準(zhǔn)確率。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)是一種用于處理序列數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。相比一般的神經(jīng)網(wǎng)絡(luò)來(lái)說(shuō),他能夠處理序列變化的數(shù)據(jù)。比如某個(gè)單詞的意思會(huì)因?yàn)樯衔奶岬降膬?nèi)容不同而有不同的含義,RNN就能夠很好地解決這類(lèi)問(wèn)題。
長(zhǎng)短期記憶(Long short-term memory,LSTM)是一種特殊的RNN,主要是為了解決長(zhǎng)序列訓(xùn)練過(guò)程中的梯度消失和梯度爆炸問(wèn)題。簡(jiǎn)單來(lái)說(shuō)就是相比普通的RNN,LSTM能夠在更長(zhǎng)的序列中有更好地表現(xiàn)[7-9]。
人工智能對(duì)互聯(lián)網(wǎng)期刊等數(shù)字出版領(lǐng)域的各個(gè)環(huán)節(jié)都會(huì)具有極大的推動(dòng)作用。王曉光等學(xué)者認(rèn)為,未來(lái)人工智能在內(nèi)容生產(chǎn)方面,甚至于發(fā)展到根據(jù)用戶(hù)特征實(shí)時(shí)生產(chǎn)個(gè)性化內(nèi)容。在內(nèi)容編輯方面,要充分發(fā)揮人工智能采集信息和組織內(nèi)容的作用以及對(duì)文字進(jìn)行規(guī)范化處理的能力,減少繁瑣、簡(jiǎn)單的工作任務(wù)壓力,提升期刊社對(duì)內(nèi)容質(zhì)量把控的能力等。在內(nèi)容發(fā)行傳播方面,要利用人工智能實(shí)現(xiàn)對(duì)用戶(hù)進(jìn)行個(gè)性化定制與推送服務(wù)。
圖1 LSTM 結(jié)構(gòu)
Tensorflow是由Google開(kāi)發(fā)的開(kāi)源數(shù)學(xué)計(jì)算軟件,使用數(shù)據(jù)流圖(Data Flow Graph)的形式進(jìn)行計(jì)算[10-11]。Tensorflow目前支持Python、C++、Java、Go、R等,使用C++ Eigen庫(kù),可在A(yíng)RM架構(gòu)上編譯和優(yōu)化,所以其靈活的架構(gòu)能讓用戶(hù)在一個(gè)或多個(gè)CPU、GPU的單機(jī)及服務(wù)器、移動(dòng)設(shè)備上部署自己的訓(xùn)練模型[12-13]。因此本實(shí)驗(yàn)選擇Python語(yǔ)言和Tensorflow框架進(jìn)行識(shí)別分類(lèi)的實(shí)現(xiàn)。
為了驗(yàn)證驗(yàn)算法的有效性,實(shí)驗(yàn)數(shù)據(jù)是從某通信工程項(xiàng)目子系統(tǒng)中選取的四組不同類(lèi)型的語(yǔ)音通信數(shù)據(jù)。采用python開(kāi)發(fā)實(shí)現(xiàn),進(jìn)行仿真實(shí)驗(yàn),仿真電腦配置參數(shù):操作系統(tǒng)為win10,顯卡為Nvidia Geforce RTX2080,內(nèi)存為32GB,處理器為intel Core i9 2.3GHz。
根據(jù)前面的理論分析,本文采用的通信特征識(shí)別算法結(jié)構(gòu)如圖2,
圖2 通信特征識(shí)別算法結(jié)構(gòu)
對(duì)于獲取到的4類(lèi)通信語(yǔ)音,用倒譜系數(shù)法將每類(lèi)語(yǔ)音各提取400組24維的MFCC特征信號(hào),共2000組數(shù)據(jù)。將提取出的4類(lèi)語(yǔ)音的信號(hào)特征繪制成曲線(xiàn),如圖3所示。
圖3 MFCC 特征信號(hào)
實(shí)現(xiàn)過(guò)程中,將四類(lèi)2000組特征信號(hào)合并之后,從中隨機(jī)選取1500組作為訓(xùn)練數(shù)據(jù),500組作為測(cè)試數(shù)據(jù),并進(jìn)行了歸一化處理。語(yǔ)音類(lèi)別標(biāo)識(shí)采用onehot方式。
為了對(duì)比實(shí)驗(yàn)效果,本文首先采用了BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了識(shí)別,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為24-25-4,對(duì)神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值采用隨機(jī)初始化。
如圖4為其中一次實(shí)驗(yàn)的識(shí)別錯(cuò)誤分布圖,橫坐標(biāo)為測(cè)試的數(shù)據(jù)順序,范圍從0~500;縱坐標(biāo)為分類(lèi)結(jié)果,1為本次數(shù)據(jù)分類(lèi)正確,0為本次數(shù)據(jù)分類(lèi)錯(cuò)誤。
圖4 BP 神經(jīng)網(wǎng)絡(luò)識(shí)別結(jié)果
接下來(lái)采用LSTM算法進(jìn)行識(shí)別,基本參數(shù)如表1所示,包括學(xué)習(xí)樣本、測(cè)試樣本個(gè)數(shù)、學(xué)習(xí)率設(shè)置,dropout設(shè)置等。
表1 基本實(shí)驗(yàn)參數(shù)
表2中顯示了12輪實(shí)驗(yàn)所選取的參數(shù)、學(xué)習(xí)準(zhǔn)確率(Learning accuracy,LA)和結(jié)果測(cè)試準(zhǔn)確率(Test accuracy,TA)。
表2 主要實(shí)驗(yàn)數(shù)據(jù)
由于LSTM網(wǎng)絡(luò)在使用時(shí)涵蓋了序列步數(shù)的概念,因此在本輪實(shí)驗(yàn)中,選取了不同的序列步數(shù)值,以觀(guān)察分類(lèi)效果。其中單步數(shù)據(jù)個(gè)數(shù)乘以序列步數(shù)為24,即MFCC特征的維數(shù)。在12輪測(cè)試中,學(xué)習(xí)準(zhǔn)確率基本維持在1或接近1,即表示網(wǎng)絡(luò)已完成了對(duì)樣本的學(xué)習(xí)。小批量長(zhǎng)度也選取了3種數(shù)值,由于樣本數(shù)據(jù)量不大,此時(shí)的小批量長(zhǎng)度對(duì)最后的分類(lèi)結(jié)果和學(xué)習(xí)速度影響不是特別明顯。而epoch也根據(jù)小批量長(zhǎng)度的不同,進(jìn)行了相應(yīng)的修正。從多次測(cè)試結(jié)果值看,測(cè)試準(zhǔn)確率平均在0.927。通過(guò)改變相關(guān)的參數(shù),在第6次識(shí)別中準(zhǔn)確率達(dá)到了最高0.952。
如圖5為其中一次實(shí)驗(yàn)的識(shí)別錯(cuò)誤分布圖,橫坐標(biāo)為測(cè)試的數(shù)據(jù)順序,范圍從0~500;縱坐標(biāo)為分類(lèi)結(jié)果,1為本次數(shù)據(jù)分類(lèi)正確,0為本次數(shù)據(jù)分類(lèi)錯(cuò)誤。
圖5 LSTM 網(wǎng)絡(luò)識(shí)別結(jié)果
通過(guò)多次實(shí)驗(yàn)的參數(shù)對(duì)比發(fā)現(xiàn),適當(dāng)選取參數(shù)對(duì)識(shí)別準(zhǔn)確率有較大的影響,但LSTM網(wǎng)絡(luò)的識(shí)別效果優(yōu)于BP神經(jīng)網(wǎng)絡(luò),且通過(guò)適當(dāng)調(diào)整參數(shù),仍可以使得LSTM準(zhǔn)確率有所提高。
如圖6是在小批量長(zhǎng)度150,序列步數(shù)為6的情況下,選取不同的epoch對(duì)識(shí)別準(zhǔn)確率的影響曲線(xiàn)??梢?jiàn)在其他參數(shù)確定的情況下,增加epoch可以使得準(zhǔn)確率有所提高,但到達(dá)一定程度之后,再增加epoch時(shí)對(duì)準(zhǔn)確率的提高有限,而此時(shí)要防止過(guò)度擬合。
圖6 不同的epoch 對(duì)識(shí)別準(zhǔn)確率的影響
如圖7是在選取小批量長(zhǎng)度為15,epoch為80時(shí),多次測(cè)試中,LSTM網(wǎng)絡(luò)參數(shù)序列步數(shù)的選取對(duì)識(shí)別準(zhǔn)確率的影響曲線(xiàn)。
圖7 不同的序列步數(shù)對(duì)識(shí)別準(zhǔn)確率的影響
可見(jiàn),在其他參數(shù)確定后,根據(jù)原始數(shù)據(jù)維數(shù)的不同,應(yīng)適當(dāng)選取LSTM序列步數(shù)參數(shù),使得識(shí)別準(zhǔn)確率具有較大提高。
本文針對(duì)語(yǔ)音通信數(shù)據(jù)的序列特點(diǎn),選取LSTM網(wǎng)絡(luò)進(jìn)行了特征識(shí)別與分類(lèi)。深入分析了參數(shù)選擇對(duì)分類(lèi)準(zhǔn)確率的影響,并與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)分類(lèi)效果進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果表明,本文所設(shè)計(jì)的方法具有良好的識(shí)別準(zhǔn)確率和穩(wěn)定性,對(duì)于語(yǔ)音通信識(shí)別具有較好應(yīng)用價(jià)值。在實(shí)際應(yīng)用中,有些語(yǔ)音的通信數(shù)據(jù)量較小,如何結(jié)合本文方法,在學(xué)習(xí)數(shù)據(jù)量更小的情況下獲得較高的識(shí)別率是一個(gè)較好的研究方向。