劉旺玉,SHIRAISHI HIROSHI
(華南理工大學(xué) 機(jī)械與汽車工程學(xué)院,廣州 510640)
?
基于GMM-HMM和深層循環(huán)神經(jīng)網(wǎng)絡(luò)的復(fù)雜噪聲環(huán)境下的語音識(shí)別
劉旺玉,SHIRAISHI HIROSHI
(華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣州 510640)
摘 要:探索了工廠實(shí)時(shí)環(huán)境下控制平臺(tái)使用語音輸入代替鍵盤輸入的一種新型語音識(shí)別算法。目前,在無噪聲情況下,語音識(shí)別已經(jīng)獲得了很好的效果。但一旦考慮實(shí)時(shí)環(huán)境下的噪聲,它的識(shí)別精度會(huì)大幅下降。本文結(jié)合混合高斯分布的隱馬爾科夫模型與深層循環(huán)神經(jīng)網(wǎng)絡(luò)模型提出了一種新型語音識(shí)別混合模型,可以有效去除工廠復(fù)雜環(huán)境下的噪音干擾,提高語音識(shí)別的有效性。實(shí)驗(yàn)結(jié)果表明,此方法在噪聲環(huán)境下具有良好的適應(yīng)性能。
關(guān)鍵詞:隱馬爾科夫模型;深層循環(huán)神經(jīng)網(wǎng)絡(luò);抗噪;混合模型;MATLAB
工廠自動(dòng)化技術(shù)誕生于20世紀(jì)40年代。迄今為止,隨著計(jì)算機(jī)技術(shù),無線通訊技術(shù),現(xiàn)場(chǎng)總線技術(shù),工業(yè)以太網(wǎng)技術(shù),信息技術(shù),機(jī)器人技術(shù),傳感器技術(shù)以及安全技術(shù)等科學(xué)技術(shù)的不斷發(fā)展與創(chuàng)新,在經(jīng)歷了單機(jī)自動(dòng)化,車間自動(dòng)化,中央集中控制等幾個(gè)重要階段之后,工廠自動(dòng)化正向工廠綜合自動(dòng)化發(fā)展[1]。但現(xiàn)階段,鍵盤操作依然使用手控而不是聲控。雖然個(gè)人電腦和移動(dòng)終端已能部分實(shí)現(xiàn)聲音輸入與識(shí)別,但工廠實(shí)時(shí)環(huán)境下的噪聲十分復(fù)雜,會(huì)嚴(yán)重影響到控制系統(tǒng)的語音識(shí)別[2]。因此,如何消除工廠噪音,在人機(jī)交互控制系統(tǒng)中實(shí)現(xiàn)敏捷的語音識(shí)別,是實(shí)現(xiàn)工廠自動(dòng)化需要解決的關(guān)鍵問題之一。
抗噪語音識(shí)別技術(shù)可以分為兩種。一種是適應(yīng)在噪聲環(huán)境下的語音適應(yīng)性模型,第二種是從輸入信號(hào)中除去噪聲成分的去噪模型[3]。前者有并行模型結(jié)合處理算法(PMC),矢量泰勒級(jí)數(shù)法(VTS)等適應(yīng)算法。語音適應(yīng)性方法可以獲得較高的精度,但是計(jì)算量大[4]。本文重點(diǎn)討論去噪模型,實(shí)現(xiàn)帶噪語音識(shí)別。
去噪模型也可以分為兩種:一種是在能量譜領(lǐng)域中除去噪聲的方法,另一種是通過語音特征量除去噪聲的方法。前者有減譜法(SS),維納濾波等方法,但該方法去噪后頻率偏差大[5]。后者有SPLICE(Stereo Piecewise Linear Compensation for Environments),DAE (Denoising Auto Encoder)等方法,該類方法需要提前學(xué)習(xí)純語音特征量的信息表達(dá),然后實(shí)現(xiàn)適合語音特征的噪聲去除[6, 7]。
近年來出現(xiàn)了一種新的語音識(shí)別算法,即DAE的復(fù)雜噪音去除模型RDAE(Recurrent Denoising Auto Encoder)[8]。該方法解決了語音識(shí)別中前后連續(xù)性問題。但這個(gè)模型中依然存在過度學(xué)習(xí)的問題。為了避免識(shí)別效率下降,本文提出深層循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合高斯混合模型和隱馬爾科夫模型的混合模型,可提高語音識(shí)別效果。在本文中,利用深層循環(huán)神經(jīng)網(wǎng)絡(luò)的自適應(yīng)能力以及隱馬爾科夫模型的良好的動(dòng)態(tài)建模能力,結(jié)合高斯混合模型的魯棒性來合成,提出混合高斯分布的隱馬爾科夫模型與深層循環(huán)神經(jīng)網(wǎng)絡(luò)的混合模型,實(shí)現(xiàn)噪聲環(huán)境下的語音識(shí)別。
本文先介紹循環(huán)神經(jīng)網(wǎng)絡(luò)及其深層學(xué)習(xí)特點(diǎn),然后提出與高斯混合分布相結(jié)合的隱馬爾科夫模型的混合模型合成方法,最后通過實(shí)驗(yàn)方法驗(yàn)證本文結(jié)果。
深層神經(jīng)網(wǎng)絡(luò)基于上世紀(jì)50年代出現(xiàn)的人工神經(jīng)網(wǎng)絡(luò),其特點(diǎn)是自學(xué)習(xí)和自適應(yīng)性、非線性、魯棒性和容錯(cuò)性、計(jì)算平行性和存儲(chǔ)分布性。但它占用計(jì)算機(jī)的存儲(chǔ)空間大。當(dāng)數(shù)據(jù)量不足時(shí),造成推理依據(jù)不足,無法解釋自己的推理過程,甚至運(yùn)算無法進(jìn)行。上世紀(jì)90年代后期人工神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域開始凋謝,隱馬爾科夫模型取代了神經(jīng)網(wǎng)絡(luò)在語音識(shí)別上的地位[9]。直到2006年出現(xiàn)了深層神經(jīng)網(wǎng)絡(luò)。深層神經(jīng)網(wǎng)絡(luò)可以逼近人的思維,可包含多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)[10, 11]。
1.1循環(huán)神經(jīng)網(wǎng)絡(luò)
由于聲音是時(shí)間序列,其過去的狀態(tài)會(huì)直接影響到將來的狀態(tài),因此循環(huán)神經(jīng)網(wǎng)絡(luò)是一種動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。通常,普通神經(jīng)網(wǎng)絡(luò)模型沒有考慮時(shí)間維度,所以使用循環(huán)神經(jīng)網(wǎng)絡(luò)更適合于處理語音信號(hào)。在本文中循環(huán)神經(jīng)網(wǎng)絡(luò)的功能是使帶噪語音接近純語音[12]。
式(1)中,V是跟偏差向量c有關(guān)的權(quán)重矩陣。表示隱藏層的函數(shù)是h(1),它是非線性函數(shù),其函數(shù)是以下式:
W是與偏差向量b(1)有關(guān)的權(quán)重矩陣。激活函數(shù)σ()在實(shí)驗(yàn)中使用Tanh-Sigmoid[13]。
訓(xùn)練網(wǎng)絡(luò)后取最小誤差。
因?yàn)檩斎胫祒的長(zhǎng)度不一樣,輸入維度會(huì)很高,所以輸入時(shí)采用多個(gè)輸入框,以提高計(jì)算效率。為了解決前后輸入框的獨(dú)立性,把式(2)改成式(4)。
t表示時(shí)間,xt為當(dāng)前的輸入框,xt-1為前一個(gè)輸入框,U為權(quán)重矩陣,輸入框在時(shí)間序列上連續(xù)。其循環(huán)過程如圖1所示。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)過程
1.2深層循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
雖然循環(huán)神經(jīng)網(wǎng)絡(luò)是非線性的,但該模型不能足夠接近噪聲環(huán)境下的復(fù)雜信號(hào)。在本研究中擬引入更多非線性的隱藏層。我們稱引入更多循環(huán)過程的神經(jīng)網(wǎng)絡(luò)模型為深層循環(huán)神經(jīng)網(wǎng)絡(luò),是一種比單層隱藏層多的多隱藏層模型。深層循環(huán)神經(jīng)網(wǎng)絡(luò)的循環(huán)過程如圖2所示。
圖2 深層循環(huán)神經(jīng)網(wǎng)絡(luò)過程
在圖中,i表示多層神經(jīng)網(wǎng)絡(luò)中網(wǎng)絡(luò)的隱藏層的層數(shù)。例如i=1時(shí)候,隱藏層h就是h(1),表示第一層的隱藏層。深層神經(jīng)網(wǎng)絡(luò)的隱藏層大于1。
所以式(4)改為:從式(5)中可以看出,隱藏層h(i)與權(quán)重矩陣W(i),偏差向量b(i)之前的隱藏層的輸出值h(i-1)(xt)有關(guān)。如使用深層循環(huán)神經(jīng)網(wǎng)絡(luò)模型時(shí),式(5)可改寫為:
混合模型的去噪步驟包含兩個(gè)重要部分:首先把帶噪語音處理為接近純語音的信號(hào),然后對(duì)近純語音進(jìn)行識(shí)別。去噪步驟使用深層循環(huán)神經(jīng)網(wǎng)絡(luò),需要確定隱馬爾科夫模型的維數(shù)(或特征值的維數(shù)),為了防止過擬合,確定是否用隨機(jī)退出技術(shù)(drop out),另外,需要確定輸入框數(shù),權(quán)重,隱藏層單元個(gè)數(shù),隱藏層的層數(shù),σ的激活函數(shù),網(wǎng)絡(luò)的初始值,訓(xùn)練的迭代次數(shù)等量值。一般地,輸入深層神經(jīng)網(wǎng)絡(luò)的特征值維數(shù)和輸入隱馬爾科夫模型的維數(shù)設(shè)定是一樣的。Drop out是每次訓(xùn)練開始時(shí)隨機(jī)地刪除一半的隱層單元,即每次訓(xùn)練的網(wǎng)絡(luò)不一樣。最后測(cè)試時(shí)所有的節(jié)點(diǎn)都用上[14]。為了前后連續(xù),輸入框數(shù)為奇數(shù)。例如n為當(dāng)前的框時(shí),n-1為之前狀態(tài),n+1為之后狀態(tài)。所以至少需要3個(gè)輸入框。隱層單元個(gè)數(shù)由語音樣本及特征值的維數(shù)來決定。雖然它的值越大越能得到更好的效果,但計(jì)算量多,訓(xùn)練速度也降低。隱藏層越多,效果也越好,但導(dǎo)致計(jì)算量多,訓(xùn)練速度降低。σ的激活函數(shù)可以從以下函數(shù)中選擇,logistic-sigmoid,tanh-sigmoid,ReLu(Rectified Linear Units)。Logistic函數(shù)[13]為:
tanh函數(shù)為:
ReLu函數(shù)[15]為:
網(wǎng)絡(luò)的初始值從zeros(矩陣都是零),ones(矩陣都是一),rand(隨機(jī)地從0到1之內(nèi)選矩陣的值)選擇。訓(xùn)練的迭代次數(shù)越多效果越好,但計(jì)算量增加。
我們可以在網(wǎng)絡(luò)中訓(xùn)練多個(gè)帶噪語音,但訓(xùn)練語音越多計(jì)算量也越大。所以在不同類型的噪聲環(huán)境下,重新讓網(wǎng)絡(luò)訓(xùn)練模型生成新模型。這樣就可以減少計(jì)算量,而且不會(huì)出現(xiàn)平臺(tái)停機(jī)的問題。
在已知噪聲的環(huán)境下,增加網(wǎng)絡(luò)的層數(shù),去噪效果會(huì)更好。但在未知噪聲的環(huán)境下,加多隱藏層并不能從帶噪語音下完全去掉噪聲,因?yàn)榇嬖诰W(wǎng)絡(luò)過度學(xué)習(xí)的問題[16]。使用高斯混合分布的隱馬爾科夫模型可以有效解決此類問題,它具有強(qiáng)大的動(dòng)態(tài)性,容錯(cuò)性和魯棒性。由于它有分類歸并的功能,對(duì)于輕微噪聲環(huán)境下不同個(gè)體的語音也可以獲得較好的識(shí)別結(jié)果。所謂高斯混合模型就是指對(duì)樣本的概率密度分布進(jìn)行估計(jì),而估計(jì)的新模型是幾個(gè)高斯模型加權(quán)之和。每個(gè)高斯模型就代表了一個(gè)類。高斯混合模型是從幾個(gè)單高斯分布模型中產(chǎn)生出來的,定義為:
其中K是模型個(gè)數(shù)。第k個(gè)高斯的概率密度函數(shù)中μk為均值,σk為方差。對(duì)概率密度的估計(jì)就是對(duì)每個(gè)變量求和。每個(gè)求和結(jié)果就分別代表樣本x屬于第k個(gè)高斯的概率。K需要先確定。如果K取得很大,模型就會(huì)變得很復(fù)雜,但可以用來逼近任意連續(xù)的概率密度分布。正是因?yàn)楦咚购瘮?shù)具有良好的計(jì)算性能,所以高斯混合模型應(yīng)用廣泛。
在隱馬爾科夫模型的狀態(tài)中,每個(gè)狀態(tài)都有一個(gè)高斯混合模型,包括K個(gè)高斯模型參數(shù)。只要知道這些參數(shù),就可以在識(shí)別時(shí)計(jì)算出一串狀態(tài)轉(zhuǎn)移的概率。
在噪聲環(huán)境下使用隱馬爾科夫模型時(shí),它的識(shí)別率會(huì)大大降低。所以在本文中使用深層循環(huán)神經(jīng)網(wǎng)絡(luò)與混合高斯隱馬爾科夫模型相結(jié)合的混合模型。獲得噪音環(huán)境下的語音特征值后,先通過深層循環(huán)神經(jīng)網(wǎng)絡(luò)使特征值接近純語音。深層循環(huán)神經(jīng)網(wǎng)絡(luò)輸出的特征值輸入到混合高斯分布的隱馬爾科夫模型里,得到最終識(shí)別結(jié)果?;旌夏P偷慕Y(jié)構(gòu)圖如下。
圖3 混合模型的結(jié)構(gòu)
首先把帶噪語音特征值(noise speech)和純語音特征值(test speech)輸入到深層神經(jīng)網(wǎng)絡(luò)中訓(xùn)練網(wǎng)絡(luò)的權(quán)值、偏差等參數(shù)。然后在神經(jīng)網(wǎng)絡(luò)模型里輸入noise speech,這樣可以得到接近test speech的特征值predict speech。
在混合高斯分布的隱馬爾科夫模型里先訓(xùn)練純語音的特征值(train speech)。模型訓(xùn)練后輸入predict speech,最終得到識(shí)別結(jié)果。
3.1實(shí)驗(yàn)方法
本論文中使用的訓(xùn)練語音數(shù)據(jù)樣本為:男性38人,女性57人。在識(shí)別語音樣本中男性56人,女性57人的語音樣本。在訓(xùn)練語音和識(shí)別語音中使用不同人的聲音。在訓(xùn)練語音中共有2090個(gè)單詞,識(shí)別語音中有2486個(gè)單詞,總共4576個(gè)單詞。在實(shí)驗(yàn)中使用在噪音環(huán)境下分別給出四種不同噪音強(qiáng)度0dB,5dB,10dB,20dB。噪音來自機(jī)加工車間,含車削加工、磨削加工、焊接加工等三種噪音。使用語音合成法把每個(gè)噪音和強(qiáng)度調(diào)整后跟識(shí)別語音合成起來,共有32318個(gè)識(shí)別語音數(shù)據(jù)。從語音數(shù)據(jù)中使用MFCC取出特征值。提取特征值前,先通過預(yù)加重,分幀,加窗處理。在實(shí)驗(yàn)中分幀的幀長(zhǎng)為25毫秒,幀長(zhǎng)重復(fù)部分為10毫秒。加窗處理使用漢明窗。提取MFCC為12階,并提取它的一階差分系數(shù)和二階差分系數(shù)。每個(gè)系數(shù)取能量譜,總共取39階的特征值。在高斯混合模型中使用11個(gè)模型,訓(xùn)練迭代次數(shù)為10次。隱馬爾科夫模型是無跨越的從左向右模型,它的狀態(tài)數(shù)為10個(gè),訓(xùn)練迭代次數(shù)為10次。深層循環(huán)神經(jīng)網(wǎng)絡(luò)的層數(shù)為5個(gè),其中隱藏層為3個(gè),隱藏層的第二層定為循環(huán)神經(jīng)網(wǎng)絡(luò)。輸入框?yàn)?個(gè),隱層單元為500個(gè),訓(xùn)練迭代次數(shù)為2000次。使用不同強(qiáng)度0dB,5dB,10dB,20dB 等4種模式,共有3種不同的噪音環(huán)境A,B,C。先采用神經(jīng)網(wǎng)絡(luò)優(yōu)化,然后通過混合高斯隱馬爾科夫模型識(shí)別。其過程在MATLAB系統(tǒng)中運(yùn)行。
3.2實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)中使用的語音波形及它的噪聲環(huán)境中的語音波形如圖4所示。
圖4 在不同的信噪比條件下男性說“one”的語音波形
SNR是信噪比。從圖4中可以看到它的值越大信號(hào)也越清楚。所以0dB時(shí)識(shí)別率是最低。圖4中的數(shù)據(jù)長(zhǎng)度為3360。分幀,加窗處理后可以分到40個(gè)數(shù)據(jù)。然后使用MFCC提取特征值。它的數(shù)據(jù)如圖5所示。
圖5 在不同的信噪比條件下男性說“one”的特征值
從圖5中可以看到從0到15的區(qū)間變化很大。有明顯的噪聲干擾。我們與使用深層循環(huán)神經(jīng)網(wǎng)絡(luò)去噪后的特征值進(jìn)行對(duì)比。去噪后的特征值如圖6所示。
圖6 去噪后的特征值
從圖6中可以看到帶噪的特征值逼近純語音的特征值。雖然還有微小的差別,但使用高斯混合分布的隱馬爾科夫模型可以獲得較高的精度。
為了比較混合模型的優(yōu)點(diǎn),在實(shí)驗(yàn)時(shí),用混合高斯分布的隱馬爾科夫模型(GMM-HMM)、隱藏層是單層的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN-GMM-HMM)、不循環(huán)的深層神經(jīng)網(wǎng)絡(luò)(DNN-GMM-HMM)進(jìn)行比較。實(shí)驗(yàn)結(jié)果如表1所示。
表1 隱馬爾科夫模型與混合模型的識(shí)別率
A是車削加工的噪音。B是磨削加工的噪音。C是焊接加工的噪音。GMM-HMM是隱馬爾科夫模型。DRNN-GMM-HMM是深層循環(huán)神經(jīng)網(wǎng)絡(luò)與混合高斯分布的隱馬爾科夫混合模型。從表中也可以看出:識(shí)別純語音的時(shí)候,隱馬爾科夫模型和混合模型都超過99%.但是一旦帶上噪音時(shí),隱馬爾科夫模型的識(shí)別率開始大大降低,0dB時(shí)已經(jīng)低于50%,在噪聲環(huán)境C中降低到21%。然而,在混合模型中雖然識(shí)別率也降低,但是大大高于隱馬爾可夫模型。到了0dB時(shí)它的識(shí)別率仍達(dá)到90%左右,是隱馬爾科夫的2倍以上。
本文探索了在工廠實(shí)時(shí)噪音背景中如何進(jìn)行語音識(shí)別的解決方案。通過使用深層循環(huán)神經(jīng)網(wǎng)絡(luò),把帶噪語音處理到接近純語音,然后通過混合高斯分布的隱馬爾可夫模型進(jìn)行語音識(shí)別,可以獲得較高的識(shí)別精度。通過理論分析和實(shí)驗(yàn)驗(yàn)證,證明了該方法具有明顯的優(yōu)點(diǎn)。本文研究結(jié)果對(duì)于在工廠實(shí)時(shí)噪音環(huán)境下高效、敏捷實(shí)現(xiàn)語音控制的人機(jī)交互控制系統(tǒng)的實(shí)現(xiàn)提供了一種解決途徑。
參考文獻(xiàn):
[1] 自動(dòng)化在線.探求工廠自動(dòng)化技術(shù)的發(fā)展史[EB/OL].(2012-06-08)[2015-09-15].http://ww.autooo.net/classid119-id95581.html.
[2] 糟谷敏宏,村上憲也.音聲認(rèn)識(shí)における背景雑音の影響[J].全國大會(huì)講演論文集,1991,42(2):116-117.
[3] Cui X, Afify M, Gao Y,et al.Stereo hidden Markov modeling for noise robust speech recognition[J].Computer Speech & Language,2013,27(2):407-419.
[4] 山口耕市, 森尾智一,赤羽俊夫,等.コンパクトな単語音聲認(rèn)識(shí),テキスト音聲合成 (特集: ユーザインタフェース)[J]. シャ-プ技報(bào), 2000 (77): 26-32.
[5] 松本弘.雑音環(huán)境下の音聲認(rèn)識(shí)手法[J].情報(bào)科學(xué)技術(shù)フォーラム FIT2003,2003.
[6] Stouten V,Wambacq P.Model-based feature enhancement with uncertainty decoding for noise robust ASR[J].Speech communication,2006,48(11):1502-1514.
[7] Bengio Y, Yao L,Alain G,et al.Generalized denoising autoencoders as generative models[A].Advances in Neural Information Processing Systems[C].2013:899-907.
[8] Maas A L, Le Q V,O'Neil T M, et al. Recurrent Neural Networks for Noise Reduction in Robust ASR[A].INTERSPEECH[C].2012.
[9] 清水亮.ディープラーニングはビジネスにどう使えるか? [EB/OL].(2015-05-20)[2015-09-20]. https://wirelesswire. jp/2015/05/30505.
[10] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.
[11] Hinton G E,Osindero S, Teh Y W.A fast learning algorithm for deep belief nets[J].Neural computation,2006,18(7):1527-1554.
[12] Vincent P, Larochelle H, Bengio Y,et al. Extracting and composing robust features with denoising autoencoders[A]. Proceedings of the 25th international conference on Machine learning.ACM[C].2008:1096-1103.
[13] 史峰,王小川,郁磊,等.MATLAB 神經(jīng)網(wǎng)絡(luò)30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2010.
[14] Srivastava N, Hinton G, Krizhevsky A,et al. Dropout:A simple way to prevent neural networks from overfitting[J].The Journal of Machine Learning Research,2014,15(1):1929-1958.
[15] Nair V,Hinton G E. Rectified linear units improve restricted boltzmann machines[A].Proceedings of the 27th International Conference on Machine Learning(ICML-10)[C].2010:807-814.
[16] 柏木陽佑,齋藤大輔,峯松信明,等.Deep Learningに基づくクリーン音聲狀態(tài)識(shí)別による雑音環(huán)境下音聲認(rèn)識(shí)[J].日本音響學(xué)會(huì)講演論文集,2013:1-8-3.
Speech recognition in complex noise environment based on GMM-HMM and deep recurrent neural network
LIU Wang-yu, SHIRAISHI HIROSHI
中圖分類號(hào):TN912.34;TH18
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-0134(2016)05-0142-05
收稿日期:2016-01-26
基金項(xiàng)目:國家自然科學(xué)基金資助項(xiàng)目(51375178)
作者簡(jiǎn)介:劉旺玉(1966 -),女,陜西西安人,教授,博士,研究方向?yàn)楝F(xiàn)代加工方法與結(jié)構(gòu)優(yōu)化設(shè)計(jì)。