陳偉+田一明+王喜太+陳曉振
摘要:針對應用傳統BP神經網絡在語音識別中訓練速度慢、容易陷入局部最優解的問題。該文提出了基于粒子群優化算法的BP神經網絡語音識別模型。首先對不同噪聲條件和詞匯量下的語音樣本進行特征提取,然后利用PSO算法對BP神經網絡輸出權值和閾值參數進行優化,最后利用獲得的PSO-BP模型對不同詞匯量下的語音樣本進行測試。實驗結果表明PSO-BP模型對語音的識別率明顯高于未經參數優化的BP神經網絡分類器,并且對高噪聲具有更好的魯棒性。
關鍵詞:語音識別;BP神經網絡;粒子群算法;參數優化
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2018)01-0187-02
1 概述
語音識別是基于語音信號處理和模式識別技術下產生的一種能夠實現人機交互的關鍵技術[1]。語音識別技術能夠實現機器對人類的語言信息的識別、基本理解以及做出相應動作響應。目前,語音識別技術已經在醫療機器人、國防、家庭服務等領域得到廣泛應用。隨著計算機技術的發展,語音識別研究進一步走向深入, 具有代表性的是以HMM模型和人工神經網絡(ANN)在語音識別中的成功應用。滕云等[2]比較了循環神經網絡以及多層感知器在語音識別中的準確性問題。夏妍妍等[3]提出了一種基于RBF神經網絡的語音識別方法,但是此種方法訓練速度較慢。楊景花等[4]提出一種人工智能和神經網絡技術相結合的語音識別方法,該方法主要通過學習的方法對神經網絡模型的權重進行求取,以達到較好的識別效果。斯蕓蕓等[5]利用遺傳算法對小波神經網絡的參數進行優化,不僅縮短了對語音的識別時間,還提高了網絡訓練速度和語音的識別率。以上研究均通過神經網絡對語音進行識別,但是采用常規BP神經網絡進行訓練時,常會出現網絡早熟、訓練時間過長等問題,限制了其在語音識別實際中的應用范圍。BP神經網絡的參數對其性能有重要的影響,本文利用PSO算法的全局所及搜索以及局部細致搜索的能力,對BP神經網絡的參數進行優化。利用所獲得PSO-BP模型,應用在語音識別問題中,通過實驗證證明了本文所提方法能夠提高網絡的訓練速度以及識別率。
2 基本算法
2.1 BP神經網絡
BP 神經網絡是一種多層前饋神經網絡,其結構包括輸入層、輸出層以及隱含層。BP 神經網絡通過梯度下降法對權值和閾值經行不斷地調整,使得最終得到網絡模型的實際輸出值和期望輸出值的均方誤差值最小。其訓練過程包括以下步驟:
a) 對網絡經行初始化。這包括確定網絡輸入層節點數n、隱含層節點數l、輸出層節點數m,輸入層與隱含層、隱含層與輸出層神經元之間的連接權值ωij,ωjk,隱含層閾值α,輸出層閾值b。
b) 隱含層輸出hj的計算。
e) 閾值更新。根據網絡輸出和期望輸出,對aj和bk進行更新。
f) 判斷算法是否滿足性能要求,若沒有滿足則返回步驟(b)繼續迭代。
2.2 粒子群優化算法
粒子群優化(Particle Swarm Optimization, PSO)算法是一種仿生優化算法。PSO算法中每個粒子知道自己的位置方向和距離最優解最近的粒子的位置,在搜索過程中,動態調整粒子位置和速度,直到找到全局最優解。每個粒子由本身的位置向量pi和速度向量vi表示,這些粒子可以記住它們在運動過程中的局部最優位置p*i和整個粒子群的全局最優位置p*g,粒子的速度和位置通過迭代進行更新,如下式所示:
其中ω是慣性因子,該參數隨著更新代數的增長而逐漸降低,c1是用于調整粒子自身經驗的學習因子,c2是用于調整粒子社會經驗的學習因子,兩個參數均為正數。r1和r2在[0, 1]內均勻取值,用來保持粒子的多樣性。當新一代粒子產生后,需要計算并且同時更新粒子的適應度函數f (x),粒子的局部最優位置p*i(t+1)按式(8)。同時需要考慮更新整個粒子群的全局最優位置p*g。
2.3 粒子群優化BP神經網絡參數
通過PSO算法,能夠得到使BP神經網絡誤差最小的權值和閾值的最優值,用于BP神經網絡的訓練和識別。PSO 優化BP神經網絡主要包括種群初始化、尋找初始極值、迭代尋優等操作,其具體步驟為:
a) 初始化BP神經網絡的權值和閾值;設置粒子群參數,包括種群規模、迭代次數、慣性因子等;
b) 初始化所有粒子的速度和位置并計算樣本中每個粒子對應的適應度值;對粒子的速度和位置進行更新;
c) 直到滿足迭代條件,利用輸出的權值和閾值對BP神經網絡進行訓練。
3 實驗方法及結果分析
3.1 實驗數據及特征
本文的實驗數據為孤立詞語音庫,采樣信號頻率為11.025kHz,幀長N=256點,幀移M=128點。數據庫包含20個人在不同信噪比下的語音數據來做實驗,其中包括15dB、20dB、25dB、30dB以及無噪聲數據。實驗中采用ZCPA作為特征提取方法,經過處理后得到1024維語音向量作為BP神經網絡的輸入,網絡的輸入節點數與特征向量的維數相一致,網絡的輸出節點數為待分類的模式識別數,即為待識別的詞匯數。
3.2 網絡結構及參數設置
BP神經網絡輸入節點數目為1024,輸出層節點數根據待識別詞匯數而不同,隱藏層的神經元節點數根據公式來確定。輸入層與隱含層之間采用S型函數,隱含層與輸出層之間采用S型函數。在PSO算法中,設置種群數量為80,最大迭代次數為200,兩個學習因子c1=1.5,c2=1.5,最大最小慣性權重ωmax=1.2,ωmin=0.7。
3.3 實驗結果及分析
表1給出了BP神經網絡模型、PSO-BP模型在不同詞匯量以及不同噪聲條件下對語音識別的實驗結果。從表1可以看出在不同詞匯量下,本文所建立的PSO-BP模型在識別效果上均要比傳統的BP神經網絡要好,傳統的BP神經網絡在處理詞匯量較小的語音識別問題時,表現與PSO-BP性能較小,但隨著詞匯量的增大,BP模型的識別性能下降明顯,與PSO-BP差距明顯加大。其次,本文所提方法在處理不同等級噪聲的語音識別問題時,相對于BP模型具有更高的魯棒性。因此可以分析出,通過粒子群算法對BP神經網絡的參數經行優化有利于增強達詞匯量下的識別效果并且提高高噪聲下的識別魯棒性。
表2給出了BP神經網絡模型、PSO-BP模型在不同詞匯量以及不同噪聲條件下對語音識別的時間測試結果。從表2可見,噪聲對兩種模型的識別時間影響較大,當詞匯量為10并且不存在噪聲的情況下,對應兩種識別模型的最短識別時間。在同一詞匯量不同噪聲條件下,本文提出的方法與BP神經網絡的識別時間消耗相差并不明顯,但是在同一噪聲不同詞匯量時,本文所提方法在識別時間上較傳統的BP神經網絡優勢明顯。這表明參數優化對于BP神經網絡處理復雜的語音識別問題有著較為重要的意義。
4 結論
目前,以BP神經網絡為代表的人工神經網絡模型已廣泛應用于語音識別領域,然而由于語音識別問題的特殊性,一般的BP神經網絡往會出現網絡訓練時間過長、過早出現最優解等問題。BP神經網絡其性能很大程度上取決于其參數的合理組合與選擇,因此,本文提出利用PSO優化BP神經網絡的權值和閾值,克服了傳統BP神經網絡參數選擇方法中很難精確找到最優參數的缺點。通過實驗表明PSO-BP模型比傳統的BP神經網絡模型有更好的語音識別效果,并且對噪聲的魯棒性也得到了提高。
參考文獻:
[1] 張正麗.基于復合神經網絡的語音識別研究[D].貴陽:貴州大學, 2015.
[2] 滕云,賀春林,岳淼.基于神經網絡的語音識別研究[J].重慶師范大學學報:自然科學版, 2010, 27(4):73-76.
[3] 夏妍妍,黃健,尹麗華.基于徑向基函數神經網絡的語音識別[J].大連海事大學學報,2007, 33(增刊):157-159.
[4] 楊景花,王雙喜,周思方.基于神經網絡的智能語音識別研究[J].微型機與應用,2016, 35(17):52-54.
[5] 斯蕓蕓,徐道連,周卓然.基于遺傳算法和小波神經網絡的語音識別研究[J].微型機與應用, 2011,30(16):68-71.endprint