摘 要:基于語音信號的時(shí)變特性,提出了一種新型神經(jīng)網(wǎng)絡(luò)語音識別方法——小波混沌神經(jīng)網(wǎng)絡(luò)方法,即把小波變換和混沌特性引入到神經(jīng)元,構(gòu)成小波混沌神經(jīng)網(wǎng)絡(luò),將這種神經(jīng)網(wǎng)絡(luò)用于語音識別,并與常用的BP神經(jīng)網(wǎng)絡(luò)識別方法進(jìn)行了比較。實(shí)驗(yàn)結(jié)果表明,小波混沌神經(jīng)網(wǎng)絡(luò)的平均識別率要高于同等條件下常用的神經(jīng)網(wǎng)絡(luò)方法的識別率。
關(guān)鍵詞:語音識別;小波變換;混沌;神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391.42 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2008)07-1986-02
Speech recognition based on wavelet chaotic neural network
WANG Xu,HAN Zhiyan,WANG Jian,XUE Lifang
(College of Information Science Engineering, Northeastern University, Shenyang 110004, China)
Abstract:This paper proposed a new speech recognition method of neural network,introduced wavelet transform and chaotic characteristic to neurons, and built a wavelet chaotic neural network(WCNN).It applyed the class of neural network to speech recognition and compared the performance of the network with BP neural network.The experimental results show that chaotic neural network method outperforms the BP method.
Key words:speech recognition;wavelet transformation;chaotic;neural network
從20世紀(jì)60年代人類便開始了語音識別技術(shù)的研究,其目的就是使機(jī)器能夠理解人類的自然語言。語言信號本身非常復(fù)雜,加上人類對語音學(xué)知識還很缺乏, 因而目前的任何一種語音識別方法在識別率和實(shí)時(shí)反應(yīng)速度上都還很難達(dá)到人類本身的聽覺效果[1]。人工神經(jīng)網(wǎng)絡(luò)方法[2]自80年代起開始應(yīng)用于語音識別,為該課題注入了新的活力。然而,目前神經(jīng)網(wǎng)絡(luò)方法仍受到各種條件的限制,無法充分發(fā)揮其優(yōu)勢。為了改善這一狀態(tài),本文提出了一種新型的神經(jīng)網(wǎng)絡(luò)——小波混沌神經(jīng)網(wǎng)絡(luò)(wavelet chaotic neural network,WCNN),即將小波分析作為神經(jīng)網(wǎng)絡(luò)的前置處理,為神經(jīng)網(wǎng)絡(luò)隱含層提供輸入特征向量、它具有響應(yīng)速度快、識別精度高等優(yōu)點(diǎn);然后再提供給混沌神經(jīng)元部分進(jìn)行識別。采用人工神經(jīng)網(wǎng)絡(luò)技術(shù)進(jìn)行語音識別的過程包含兩部分,即網(wǎng)絡(luò)學(xué)習(xí)過程和語音識別過程。網(wǎng)絡(luò)學(xué)習(xí)過程是將已知語音信號作為學(xué)習(xí)樣本, 通過神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí), 最終得到一組連接權(quán)和偏置; 語音識別過程是將待測語音信號作為網(wǎng)絡(luò)輸入, 通過網(wǎng)絡(luò)的聯(lián)想得出識別結(jié)果。這兩個(gè)過程中的關(guān)鍵是求取語音特征參數(shù)和神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。
1 語音特征參數(shù)提取
MFCC(MelScald cepstrum coefficients)參數(shù)是基于人的聽覺特性利用人的聽覺臨界帶效應(yīng)[3]。Mel標(biāo)度頻率域提取出來的倒譜特征參數(shù)提取過程如下[4]:
a)對輸入的語音信號進(jìn)行分幀、加窗,然后作離散傅里葉變換,獲得頻譜分布信息。
b)再求頻譜幅度的平方,得到能量譜。
c)將能量譜通過一組Mel尺度的三角形濾波器組,濾波器的個(gè)數(shù)M和臨界帶的個(gè)數(shù)相近,中心頻率為f(m),0≤m<M,本文取M=24。
d)計(jì)算每個(gè)濾波器組輸出的對數(shù)能量。
e)經(jīng)離散余弦變換(DCT)得到MFCC系數(shù)。本文取倒譜系數(shù)個(gè)數(shù)為12。
2 動態(tài)時(shí)間規(guī)整
將特征提取后的數(shù)據(jù)進(jìn)行壓縮,充分利用語音模式中的時(shí)間相關(guān)性作為識別的線索,通過動態(tài)規(guī)劃方法可以對語音的時(shí)間失真加以規(guī)整,規(guī)整到特定幀數(shù),以此作為神經(jīng)網(wǎng)絡(luò)輸入。
3 小波混沌神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
3.1 小波混沌神經(jīng)網(wǎng)絡(luò)模型
神經(jīng)網(wǎng)絡(luò)是靠學(xué)習(xí)來實(shí)現(xiàn)某種映射功能的。BP算法作為神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)算法, 是目前的前饋神經(jīng)網(wǎng)絡(luò)最廣泛使用的算法。但這種算法所存在的收斂速度慢、容易陷入局部極小值等缺陷,使該網(wǎng)絡(luò)的性能受到影響。由于其他方法也有它們各自的優(yōu)點(diǎn),將神經(jīng)網(wǎng)絡(luò)與其他方法相結(jié)合,取長補(bǔ)短,繼而可以獲得更好的應(yīng)用效果。本文所提出的小波混沌神經(jīng)網(wǎng)絡(luò),就是將神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)特性與小波[5]的局部特性及混沌神經(jīng)元的混沌特性有機(jī)地相結(jié)合起來,不僅具有神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)、自適應(yīng)和魯棒性等特性,而且具有小波變換良好的時(shí)頻局部特性和混沌神經(jīng)元的動力學(xué)特性。
針對語音識別問題,本文設(shè)計(jì)了一種能適應(yīng)像短時(shí)語音信號一類的時(shí)間序列識別網(wǎng)絡(luò)WCNN,網(wǎng)絡(luò)共有四層,如圖1所示。預(yù)處理層把輸入層輸入的數(shù)據(jù)進(jìn)行若干級的小波分解,預(yù)處理層中不同的節(jié)點(diǎn)代表了不同的分解,對應(yīng)于小波樹中的葉節(jié)點(diǎn)。預(yù)處理層輸出小波分解的結(jié)果給隱含層,在隱含層和輸出層含有混沌神經(jīng)元,即每層的神經(jīng)元內(nèi)部存在相互反饋輸入, 而整個(gè)網(wǎng)絡(luò)則通過每層之間單向的連接權(quán)構(gòu)成一個(gè)多層的前饋網(wǎng)絡(luò)。
3.2 WCNN學(xué)習(xí)算法
3.2.1 小波神經(jīng)網(wǎng)絡(luò)部分學(xué)習(xí)算法
小波神經(jīng)網(wǎng)絡(luò)部分是以小波函數(shù)為預(yù)處理層節(jié)點(diǎn)的基函數(shù)的一種函數(shù)連接型網(wǎng)絡(luò),它作為一種前向神經(jīng)網(wǎng)絡(luò),與普通的前向神經(jīng)網(wǎng)絡(luò)相比具有結(jié)構(gòu)可設(shè)計(jì)性、收斂精度可控制性和收斂速度快等優(yōu)點(diǎn),目前已經(jīng)用于信號處理、數(shù)據(jù)壓縮和故障診斷等領(lǐng)域。
1)小波基函數(shù) 將小波母函數(shù)Ψ(x)進(jìn)行伸縮和平移,得到一組連續(xù)小波函數(shù)基,即
φa,b(x)=a-1/2Ψ(x-b/a)(1)
其中:a、b分別為伸縮、平移因子。本文中使用Morlet小波作為母小波,即
其中:r取為1.75。
2)小波神經(jīng)網(wǎng)絡(luò)模型 設(shè)xi為輸入層的第i個(gè)輸入值,ft為輸出層的第t個(gè)輸出值,wjh為連接預(yù)處理層節(jié)點(diǎn)j到隱含層節(jié)點(diǎn)h的權(quán)重,whi為輸入層節(jié)點(diǎn)i到預(yù)處理層節(jié)點(diǎn)j的權(quán)重,ak、bk分別為第j個(gè)預(yù)處理層節(jié)點(diǎn)的伸縮因子,n為輸入層節(jié)點(diǎn)個(gè)數(shù),T為預(yù)處理層節(jié)點(diǎn)個(gè)數(shù),則小波神經(jīng)網(wǎng)絡(luò)部分即隱含層輸出為
ft(x)=Tk=1wjhφ[nt=1(whixi(i)-bk)/ak](3)
3.2.2 混沌神經(jīng)網(wǎng)絡(luò)部分學(xué)習(xí)算法
本文采用的混沌神經(jīng)網(wǎng)絡(luò)部分是通過修改和擴(kuò)展的NagumoSato model[6]。其方程如下:
x(t+1)=f[A(t)-αtd=0kdg(x(t-d))-θ](4)
其中:x(t)為離散時(shí)刻神經(jīng)元的輸出,其值為0~1; f為輸出函數(shù);A(t)為t時(shí)刻的外部激勵即預(yù)處理層的輸出;g為不應(yīng)性函數(shù);α為不應(yīng)性度量參數(shù);k為不應(yīng)性衰減參數(shù);θ為閾值。
由靜態(tài)神經(jīng)元組成的多層前饋神經(jīng)網(wǎng)絡(luò)的誤差反向傳播(BP)算法已經(jīng)成熟,但一般的BP算法不能直接應(yīng)用于混沌神經(jīng)網(wǎng)絡(luò)(chaotic neural network,CNN)的權(quán)值學(xué)習(xí)。這是因?yàn)榛煦缟窠?jīng)元中含有自反饋輸入,無法直接計(jì)算其梯度。本文利用變分的方法[7],將BP算法推廣到CNN的學(xué)習(xí)。那么CNN輸出層中第i個(gè)神經(jīng)元的動力學(xué)方程可以寫成
其中:xi(t+1)為t+1時(shí)刻第i個(gè)混沌神經(jīng)元的輸出;M為混沌神經(jīng)元的個(gè)數(shù);wij為第j個(gè)混沌神經(jīng)元到第i個(gè)神經(jīng)元的連接權(quán);N為混沌神經(jīng)元外部輸入的個(gè)數(shù);vij為第j個(gè)外部輸入到第i個(gè)神經(jīng)元的連接權(quán); Aj(t)為t時(shí)刻第j個(gè)外部輸入;k、α分別為神經(jīng)元的參數(shù)。假設(shè)輸入一特定類別的語音序列, 則在[t0,t1]時(shí)間間隔內(nèi),總誤差代價(jià)函數(shù)為
采用離散時(shí)間形式,CNN輸出層的學(xué)習(xí)算法描述如下:
a)給定初始條件xi(0)和外部輸入(上一層的輸出)Aj(t),初始化權(quán)值wij和vij;
b)計(jì)算0~T時(shí)間內(nèi)網(wǎng)絡(luò)的實(shí)際輸出xi(t);
c)在給定教師信號di(t)下,依據(jù)
后向計(jì)算Lagrange乘子;
d)修改權(quán)值
上面用變分的方法得出了網(wǎng)絡(luò)輸出層的權(quán)值訓(xùn)練算法,這是整個(gè)CNN部分學(xué)習(xí)算法的基本單元和重要組成部分。因?yàn)槠渌鲗涌梢园凑蛰敵鰧宇愃频姆椒▉碛?xùn)練權(quán)值。
4 實(shí)驗(yàn)結(jié)果及結(jié)論
實(shí)驗(yàn)中選用0~9十個(gè)漢語數(shù)字音作為待識別語音,實(shí)驗(yàn)數(shù)據(jù)取自五名學(xué)生在實(shí)驗(yàn)室環(huán)境下的錄音,每人每個(gè)數(shù)字各發(fā)音40次。其中:30次作為訓(xùn)練樣本;10次作為測試樣本。采樣頻率為11.025 kHz,量化精度為16 bit,語音的幀長取為256個(gè)采樣點(diǎn)。幀移為80個(gè)采樣點(diǎn),分幀后的語音進(jìn)行端點(diǎn)檢測;然后提取12階MFCC系數(shù)和DWTMFCC系數(shù)作為語音識別的特征,所用神經(jīng)網(wǎng)絡(luò)的輸入層為48個(gè),輸出層為10個(gè),預(yù)處理層和隱含層的神經(jīng)元個(gè)數(shù)通過仿真實(shí)驗(yàn)來確定,通過實(shí)驗(yàn)選擇隱含層數(shù)為60個(gè)。表1為仿真實(shí)驗(yàn)的結(jié)果。
從實(shí)驗(yàn)結(jié)果可以看出,用小波混沌神經(jīng)網(wǎng)絡(luò)的識別率明顯優(yōu)于用BP神經(jīng)網(wǎng)絡(luò)識別率。然而用不同小波基函數(shù)其識別率也不一樣。在以后的研究中,為了進(jìn)一步提高語音識別率,可以考慮以下幾個(gè)方面:不斷改進(jìn)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu);更合理地選擇較多的輸入樣本;更好地對輸入數(shù)據(jù)進(jìn)行處理,提取較好的特征參數(shù)等。這樣神經(jīng)網(wǎng)絡(luò)語音識別的研究將會提高到一個(gè)全新的水平。
5 結(jié)束語
本文針對語音信號的特點(diǎn),綜合應(yīng)用了混沌與小波分析等理論,設(shè)計(jì)了新型的神經(jīng)網(wǎng)絡(luò)來進(jìn)行語音識別,大大提高了語音識別的準(zhǔn)確率。
參考文獻(xiàn):
[1]JUANG B H.The past,present,and future of speech proceesing[J].IEEE Signal Processing Magzine,1998.
[2]RYEU J K,CHUNG H S.Chaotic recurrent neural networks and their application to speech recognition[J].Neuro Computing,1996,13(2-4):281-294.
[3]RABINEER L R,JUANG B H.Fundamentals of speech processing and Recognition[M].[S.1]:PrenticeHall,1993.
[4]何強(qiáng),何英.MATLAB擴(kuò)展編程[M].北京:清華大學(xué)出版社,2002.
[5]RIOUL O,VETTERLI M.Wavelets and signal processing[J].IEEE Signal Processing Mag,1991,8(4):14-38.
[6]AIHARA K,TAKABE T,TOYODA M.Chaotic neural networks[J].Phys Lett A,1990,144:333-340.
[7]任曉森,胡光銳.基于混沌神經(jīng)網(wǎng)絡(luò)的語音識別方法[J].上海交通大學(xué)學(xué)報(bào),1999,33(12):1517-1520.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。”