代巧利,張朝亮
(1.武警湖北省總隊參謀部,湖北 武漢 430000;2.海軍工程大學電氣工程學院,湖北 武漢 430033)
隨著機器學習與人工智能技術的飛速發展,語音識別在通信、智能家居、醫療、軍事等方面逐漸得到了廣泛運用。在語音信號識別中應用非常廣泛的一種方法是梅爾倒譜系數[1]。它基于一組非線性的特征參數,能有效結合語音機理,通過計算分析語音波形及行為特征的語音參數進行有效的判斷。而識別方法應用比較廣泛的有隱馬爾可夫模型、高斯混合模型、支持向量機模型和神經網絡等。人工神經網絡通過模仿生物神經網絡的行為特征原理,以類似大腦處理信息的方式建立數學模型[2],輸出值能夠相當逼近真實值或給出邏輯判斷。
深度學習是神經網絡研究的熱點,包含多種有效的方法,如深度置信網絡DBN、循環神經網絡RNN、卷積神經網絡CNN等。而長短期記憶模型循環神經網絡LSTM[3]可以算是RNN網絡的代表,在處理像序列語音信號數據[4-5]時能夠取得非常好的效果。在深度學習算法實驗時需要編寫大量的代碼,為避免重復、提高研究效率,優秀的研究者們將代碼整合成框架發布,其中比較優秀的有Tensorflow、Caffe、Torch和PyTorch等。
本文基于Tensorflow框架,采用LSTM網絡,開展了語音特征信號分類研究。
語音識別分類過程主要包括,信號采集與預處理、特征提取、識別與分類等步驟。
語音信號采集是將聲音通過麥克風等設備輸入計算機,預處理對信號進行濾波進而濾除噪聲。語音信號特征參數提取,常采用線性預測系數、感知線性預測、梅爾頻率倒譜系數(MFCC)等[6]。兩種線性預測的特征參數反映聲道的響應特性。而梅爾頻率倒譜系數的特征參數反映人的聽覺特性,具有廣泛的應用。
根據人耳聽覺機理的研究發現,人耳對不同頻率的聲波有不同的聽覺敏感度。所以,從低頻到高頻這一段頻帶內按臨界帶寬的大小由密到疏安排一組帶通濾波器,對輸入信號進行濾波,將每個帶通濾波器輸出的信號能量作為信號的基本特征,進一步處理后就可以作為語音的輸入特征。由于其不依賴于信號的性質,對輸入信號不做任何的假設和限制,又利用了聽覺模型的特點,所以更符合人耳的聽覺特性,且當信噪比降低時仍具有較好的識別性能。
梅爾倒譜系數是在Mel標度頻率域提取出來的倒譜參數,Mel標度描述了人耳頻率的非線性特性,它與頻率的關系可用公式1近似表示:

式中f為頻率,單位為Hz。
在傳統語音識別模型中,基于參數模型的隱馬爾可夫模型能夠根據觀測的序列估計出想要得到的目標序列,數據量大時能夠取得較好的效果。現代的神經網絡模型類似人腦,可以通過訓練學習來達到較高的識別準確率。
循環神經網絡(Recurrent Neural Network,RNN)是一種用于處理序列數據的神經網絡。相比一般的神經網絡來說,他能夠處理序列變化的數據。比如某個單詞的意思會因為上文提到的內容不同而有不同的含義,RNN就能夠很好地解決這類問題。
長短期記憶(Long short-term memory,LSTM)是一種特殊的RNN,主要是為了解決長序列訓練過程中的梯度消失和梯度爆炸問題。簡單來說就是相比普通的RNN,LSTM能夠在更長的序列中有更好地表現[7-9]。
人工智能對互聯網期刊等數字出版領域的各個環節都會具有極大的推動作用。王曉光等學者認為,未來人工智能在內容生產方面,甚至于發展到根據用戶特征實時生產個性化內容。在內容編輯方面,要充分發揮人工智能采集信息和組織內容的作用以及對文字進行規范化處理的能力,減少繁瑣、簡單的工作任務壓力,提升期刊社對內容質量把控的能力等。在內容發行傳播方面,要利用人工智能實現對用戶進行個性化定制與推送服務。

圖1 LSTM 結構
Tensorflow是由Google開發的開源數學計算軟件,使用數據流圖(Data Flow Graph)的形式進行計算[10-11]。Tensorflow目前支持Python、C++、Java、Go、R等,使用C++ Eigen庫,可在ARM架構上編譯和優化,所以其靈活的架構能讓用戶在一個或多個CPU、GPU的單機及服務器、移動設備上部署自己的訓練模型[12-13]。因此本實驗選擇Python語言和Tensorflow框架進行識別分類的實現。
為了驗證驗算法的有效性,實驗數據是從某通信工程項目子系統中選取的四組不同類型的語音通信數據。采用python開發實現,進行仿真實驗,仿真電腦配置參數:操作系統為win10,顯卡為Nvidia Geforce RTX2080,內存為32GB,處理器為intel Core i9 2.3GHz。
根據前面的理論分析,本文采用的通信特征識別算法結構如圖2,

圖2 通信特征識別算法結構
對于獲取到的4類通信語音,用倒譜系數法將每類語音各提取400組24維的MFCC特征信號,共2000組數據。將提取出的4類語音的信號特征繪制成曲線,如圖3所示。

圖3 MFCC 特征信號
實現過程中,將四類2000組特征信號合并之后,從中隨機選取1500組作為訓練數據,500組作為測試數據,并進行了歸一化處理。語音類別標識采用onehot方式。
為了對比實驗效果,本文首先采用了BP神經網絡進行了識別,神經網絡結構為24-25-4,對神經網絡權值和閾值采用隨機初始化。
如圖4為其中一次實驗的識別錯誤分布圖,橫坐標為測試的數據順序,范圍從0~500;縱坐標為分類結果,1為本次數據分類正確,0為本次數據分類錯誤。

圖4 BP 神經網絡識別結果
接下來采用LSTM算法進行識別,基本參數如表1所示,包括學習樣本、測試樣本個數、學習率設置,dropout設置等。

表1 基本實驗參數
表2中顯示了12輪實驗所選取的參數、學習準確率(Learning accuracy,LA)和結果測試準確率(Test accuracy,TA)。

表2 主要實驗數據
由于LSTM網絡在使用時涵蓋了序列步數的概念,因此在本輪實驗中,選取了不同的序列步數值,以觀察分類效果。其中單步數據個數乘以序列步數為24,即MFCC特征的維數。在12輪測試中,學習準確率基本維持在1或接近1,即表示網絡已完成了對樣本的學習。小批量長度也選取了3種數值,由于樣本數據量不大,此時的小批量長度對最后的分類結果和學習速度影響不是特別明顯。而epoch也根據小批量長度的不同,進行了相應的修正。從多次測試結果值看,測試準確率平均在0.927。通過改變相關的參數,在第6次識別中準確率達到了最高0.952。
如圖5為其中一次實驗的識別錯誤分布圖,橫坐標為測試的數據順序,范圍從0~500;縱坐標為分類結果,1為本次數據分類正確,0為本次數據分類錯誤。

圖5 LSTM 網絡識別結果
通過多次實驗的參數對比發現,適當選取參數對識別準確率有較大的影響,但LSTM網絡的識別效果優于BP神經網絡,且通過適當調整參數,仍可以使得LSTM準確率有所提高。
如圖6是在小批量長度150,序列步數為6的情況下,選取不同的epoch對識別準確率的影響曲線。可見在其他參數確定的情況下,增加epoch可以使得準確率有所提高,但到達一定程度之后,再增加epoch時對準確率的提高有限,而此時要防止過度擬合。

圖6 不同的epoch 對識別準確率的影響
如圖7是在選取小批量長度為15,epoch為80時,多次測試中,LSTM網絡參數序列步數的選取對識別準確率的影響曲線。

圖7 不同的序列步數對識別準確率的影響
可見,在其他參數確定后,根據原始數據維數的不同,應適當選取LSTM序列步數參數,使得識別準確率具有較大提高。
本文針對語音通信數據的序列特點,選取LSTM網絡進行了特征識別與分類。深入分析了參數選擇對分類準確率的影響,并與傳統BP神經網絡分類效果進行了對比,實驗結果表明,本文所設計的方法具有良好的識別準確率和穩定性,對于語音通信識別具有較好應用價值。在實際應用中,有些語音的通信數據量較小,如何結合本文方法,在學習數據量更小的情況下獲得較高的識別率是一個較好的研究方向。