劉 倩,李 時(shí)
1.滁州職業(yè)技術(shù)學(xué)院機(jī)電工程系,滁州,239000;2.滁州供電公司營(yíng)銷部,滁州,239000
細(xì)菌趨藥性算法在說話人識(shí)別中的應(yīng)用
劉 倩1,李 時(shí)2
1.滁州職業(yè)技術(shù)學(xué)院機(jī)電工程系,滁州,239000;2.滁州供電公司營(yíng)銷部,滁州,239000
針對(duì)自動(dòng)識(shí)別大規(guī)模、時(shí)序性樣本說話人身份的模式識(shí)別問題,提出了基于細(xì)菌群體趨藥性算法(Bacterial Colony Chemotaxis, BCC)的說話人識(shí)別系統(tǒng)。采用最小二乘支持向量機(jī)(LS_SVM)作為模式識(shí)別的模型,利用BCC對(duì)最小二乘支持向量機(jī)的正則化參數(shù)γ和核寬度參數(shù)σ進(jìn)行優(yōu)化。實(shí)驗(yàn)結(jié)果表明,經(jīng)過參數(shù)尋優(yōu)之后的LS_SVM分類器能很好地避免人為選擇參數(shù)的不足,極大地提高了說話人識(shí)別系統(tǒng)的性能。
參數(shù)優(yōu)化;細(xì)菌群體趨藥性算法;說話人識(shí)別;最小二乘支持向量機(jī)
說話人識(shí)別系統(tǒng)是語(yǔ)音識(shí)別的一種,其識(shí)別過程實(shí)質(zhì)上是一個(gè)模式識(shí)別過程。目前說話人識(shí)別模型大多都是基于生成性(generative)的模型,如矢量量化(VQ)模型[1]和高斯混合(GMM)模型[2],并取得一定成功。支持向量機(jī)(SVM)作為一種區(qū)分性模型,是在統(tǒng)計(jì)學(xué)基礎(chǔ)上發(fā)展起來的一門機(jī)器學(xué)習(xí)方法,它具有堅(jiān)實(shí)的理論基礎(chǔ)和強(qiáng)大的分類能力,能很好地應(yīng)用在說話人識(shí)別問題上。
說話人識(shí)別過程主要有四個(gè)部分:特征提取、模式訓(xùn)練、模式匹配和邏輯決策。聲音經(jīng)過錄音設(shè)備儲(chǔ)存,聲紋轉(zhuǎn)換成模擬信號(hào),再經(jīng)過處理變成計(jì)算機(jī)能識(shí)別的數(shù)字信號(hào)。選擇能夠代表不同說話人說話特性的特征參數(shù),在進(jìn)行模型訓(xùn)練和測(cè)試階段,對(duì)語(yǔ)音信號(hào)進(jìn)行處理,用提取到的特征參數(shù)對(duì)說話人識(shí)別模型進(jìn)行訓(xùn)練和測(cè)試,并對(duì)系統(tǒng)模型中的參數(shù)進(jìn)行估計(jì)和優(yōu)化。將測(cè)試語(yǔ)音的特征參數(shù)與已有說話人模型進(jìn)行對(duì)照檢測(cè)匹配,根據(jù)對(duì)照檢測(cè)和匹配的結(jié)果得出模式識(shí)別結(jié)果。由于說話人發(fā)音的不穩(wěn)定、語(yǔ)音信號(hào)的復(fù)雜性、實(shí)際環(huán)境的多變性等因素導(dǎo)致語(yǔ)音信號(hào)是一種大規(guī)模的、時(shí)序性的樣本,SVM很難處理這樣大規(guī)模的、時(shí)序性的樣本;選擇合適的模型參數(shù)對(duì)說話人識(shí)別系統(tǒng)最終識(shí)別的準(zhǔn)確性和快速性有很大影響。針對(duì)這兩個(gè)問題,下面對(duì)與文本無關(guān)的說話人識(shí)別進(jìn)行深入研究。
隨訓(xùn)練樣本隨樣本數(shù)目增大,SVM算法求解相應(yīng)的二次規(guī)劃問題時(shí)復(fù)雜度增加,計(jì)算速度也會(huì)變慢,針對(duì)這個(gè)問題,Suykens提出了最小二乘支持向量機(jī)(LS_SVM)算法[3]。
1.1 LS_SVM算法原理
LS_SVM算法將傳統(tǒng)SVM算法的不等式約束變成了等式約束,使求解問題從標(biāo)準(zhǔn)SVM的二次優(yōu)化問題轉(zhuǎn)化成線性方程求解問題,大大簡(jiǎn)化了問題的復(fù)雜性。經(jīng)過修改后LS_SVM分類函數(shù)可轉(zhuǎn)化為最小化問題:
(1)
通過核函數(shù)k(xi,x)的引入,得到LS_SVM模型:
(2)
在實(shí)際應(yīng)用中,核函數(shù)通常選擇高斯核函數(shù):
K(xi,x)=exp(-(xi-x)2/2σ2)
(3)
可見,LS_SVM通過使用最小二乘法求解線性方程組,使得SVM計(jì)算復(fù)雜度和內(nèi)存需求大大降低,從而提高SVM的效率,并使其具有很強(qiáng)的適應(yīng)性。
1.2 LS_SVM中參數(shù)
LS_SVM的訓(xùn)練和泛化性能直接由正則化參數(shù)γ和核寬度參數(shù)σ決定[3],兩者作為一個(gè)整體使用,是LS_SVM必須優(yōu)化的參數(shù)對(duì)。正則化參數(shù)γ折中了算法的復(fù)雜度和錯(cuò)分樣本的比例,通過調(diào)整正則化參數(shù)γ的大小,來獲得較好的推廣能力。正則化參數(shù)γ的大小取決于對(duì)錯(cuò)分樣本的重視程度,每種情況下至少有一個(gè)合適的γ值使得SVM的推廣能力最強(qiáng)。核寬度參數(shù)σ很大程度地影響SVM的性能,σ很小時(shí),在訓(xùn)練過程中產(chǎn)生的訓(xùn)練誤差很小,測(cè)試誤差卻很大,此時(shí)幾乎沒有推廣能力;當(dāng)σ參數(shù)增大到一定程度時(shí),測(cè)試和訓(xùn)練誤差都增加。
細(xì)菌群體趨藥性算法(Bacterial Colony Chemotaxis,BCC)是源于大自然生物現(xiàn)象的一種智能優(yōu)化算法,模擬細(xì)菌群的趨藥性運(yùn)動(dòng)形式提出的[4]。BCC算法模擬細(xì)菌群體為獲得生存,通過某種方式感知和交換周圍細(xì)菌位置信息尋找最優(yōu)生存位置的過程,它充分利用單個(gè)細(xì)菌移動(dòng)方向和時(shí)間遵循概率分布的特性,使算法具有強(qiáng)大的擺脫局部最優(yōu)的能力;同時(shí)又利用群體特性,優(yōu)化速度及精度要超過一些常見的群體優(yōu)化算法。BCC算法是在以下假設(shè)基礎(chǔ)上建立的:細(xì)菌是直線勻速運(yùn)動(dòng),并且向左、向右轉(zhuǎn)的概率是一樣的,運(yùn)動(dòng)持續(xù)時(shí)間、運(yùn)動(dòng)速度和運(yùn)動(dòng)方向三個(gè)量決定了細(xì)菌的運(yùn)動(dòng)軌跡,它在各個(gè)運(yùn)動(dòng)軌跡上移動(dòng)的時(shí)間和轉(zhuǎn)動(dòng)夾角遵循概率分布。
本文BCC優(yōu)化LS_SVM參數(shù),以留一交叉有效性分類精度為目標(biāo)函數(shù),逐步優(yōu)化進(jìn)行變量篩選,找出實(shí)驗(yàn)結(jié)果中分類精度最高的優(yōu)化參數(shù)組合。實(shí)現(xiàn)步驟如下:
(1)初始化各細(xì)菌的位置。輸入待優(yōu)化參數(shù)限值,設(shè)置細(xì)菌群體的規(guī)模20、最大迭代次數(shù)10 000、初始精度ξbegin=2,最終精度0.000 01和進(jìn)化精度更新參數(shù)α等參數(shù),其中ξnew=ξold/α,α=1.25(αgt;1);
(2)確定算法參數(shù)T0、b、τc,初始值都設(shè)為0;
(6)重復(fù)步驟b到e,判斷是否達(dá)到精度或達(dá)到迭代步數(shù),選擇輸出結(jié)果或繼續(xù)迭代。
LS_SVM在實(shí)現(xiàn)多類問題上,必須先將多分類問題轉(zhuǎn)化為二分類問題,轉(zhuǎn)化的方法就是編碼。具體過程是:首先使用輸入樣本對(duì)多個(gè)分類器進(jìn)行訓(xùn)練,對(duì)應(yīng)輸入X,訓(xùn)練目標(biāo)Yc’為輸入X所屬類別的編碼,對(duì)應(yīng)著Yc的其中一行,在分類階段,輸入樣本X,LS_SVM分類器組分類得到一組由-1或1組成的編碼Yc’,再與Yc進(jìn)行比較,解碼之后得到y(tǒng)0,對(duì)應(yīng)說話人標(biāo)示Y中的一位數(shù)字,即得到說話人所屬類別。過程如圖1所示。
圖1 基于最小輸出編碼的說話人的分類
4.1 語(yǔ)音特征參數(shù)提取
在實(shí)驗(yàn)室環(huán)境下,對(duì)50個(gè)說話人進(jìn)行錄音,分別錄音6次,每次錄音時(shí)間段分別為1、2、5、10、20和60 s,說話人自然說話。其中,10、20和60 s的語(yǔ)音各4段,用于訓(xùn)練模型;1、2、5 s的語(yǔ)音各2段,用于測(cè)試說話人識(shí)別系統(tǒng)性能。一共900個(gè)語(yǔ)音段。由于說話人的語(yǔ)音隨著時(shí)間改變,間隔1個(gè)星期錄音一次,語(yǔ)音庫(kù)大小2 996 900 528字節(jié)。本文取18維的LSP系數(shù)作為說話人識(shí)別系統(tǒng)的特征提取參數(shù)。在提取LSP特征之前,對(duì)語(yǔ)音樣本進(jìn)行預(yù)處理,包括預(yù)加重、分幀、加窗、去噪。LSP系數(shù)有優(yōu)秀的量化特性和內(nèi)插特性,并和語(yǔ)音信號(hào)譜包絡(luò)的峰
圖2 說話人1第8幀的線譜對(duì)系數(shù)
圖3 由線譜對(duì)系數(shù)求得的譜估計(jì)
有緊密的聯(lián)系,有優(yōu)于LPC系數(shù)和MFCC系數(shù)的性能[6],并且能夠大大減少產(chǎn)生相同質(zhì)量的語(yǔ)音編碼所需的數(shù)據(jù)量。
4.2 BCC優(yōu)化LS_SVM參數(shù)用于說話人識(shí)別試驗(yàn)
BCC算法設(shè)置優(yōu)化參數(shù)上下限值為(2-12,212),細(xì)菌數(shù)目選為20,采用LOOC為目標(biāo)函數(shù),優(yōu)化正則化參數(shù)γ和核寬度參數(shù)σ。采用50個(gè)說話人的60 s時(shí)間長(zhǎng)度語(yǔ)音作為訓(xùn)練樣本來訓(xùn)練模型,分別采用1、2、5 s時(shí)長(zhǎng)的語(yǔ)音作為測(cè)試樣本,用來檢測(cè)模型性能。訓(xùn)練樣本數(shù)目為200,測(cè)試樣本數(shù)目為300,程序運(yùn)行10次,取平均值。
表1 SVM和LS_SVM模型下識(shí)別率
表1中識(shí)別正確率和運(yùn)行時(shí)間都是10次實(shí)驗(yàn)的平均值。從表1可以看出,最小二乘支持向量機(jī)比傳統(tǒng)支持向量機(jī)識(shí)別準(zhǔn)確率高,且每個(gè)分類器訓(xùn)練時(shí)間要少很多,驗(yàn)證了理論上LS_SVM對(duì)SVM的擴(kuò)展效果。
LS_SVM多分類的實(shí)現(xiàn):以時(shí)長(zhǎng)10、20、60 s的語(yǔ)音段作為訓(xùn)練樣本,分別用時(shí)長(zhǎng)1、2、5 s的語(yǔ)音作為測(cè)試樣本,訓(xùn)練樣本數(shù)目為200,測(cè)試樣本數(shù)目為300。
表2 訓(xùn)練語(yǔ)音時(shí)長(zhǎng)10 s時(shí)實(shí)驗(yàn)結(jié)果
表3 訓(xùn)練語(yǔ)音時(shí)長(zhǎng)20 s時(shí)實(shí)驗(yàn)結(jié)果
表4 訓(xùn)練語(yǔ)音時(shí)長(zhǎng)60 s時(shí)實(shí)驗(yàn)結(jié)果
(1)從分析表上每次實(shí)驗(yàn)中經(jīng)BCC優(yōu)化后的參數(shù)對(duì)可以看出,BCC優(yōu)化LS_SVM參數(shù)得到的參數(shù)對(duì)取值范圍跨度很大,是由于在BCC算法中設(shè)置參數(shù)范圍時(shí),將參數(shù)范圍設(shè)置為正負(fù)無窮大,細(xì)菌群在尋找最優(yōu)值的時(shí)候,搜索空間過大。然而實(shí)驗(yàn)得到的參數(shù)對(duì),分別用于說話人識(shí)別系統(tǒng),都能得到很好的效果。
(2)由表2~4可以看出,采用10、20、60 s的語(yǔ)音段作為訓(xùn)練LS_SVM模型的樣本,1 s語(yǔ)音段作為測(cè)試樣本得到的識(shí)別結(jié)果來看,說話人識(shí)別正確率普遍偏低,參數(shù)優(yōu)化之后,識(shí)別正確率平均提高5.3%。由于1 s語(yǔ)音中包含說話人特性少,所以即使對(duì)模型采用時(shí)間長(zhǎng)的訓(xùn)練語(yǔ)音,識(shí)別正確率增長(zhǎng)的速度也不快。
(3)隨著訓(xùn)練樣本時(shí)長(zhǎng)由10到60 s,其中包含說話人語(yǔ)音特征參數(shù)越多,識(shí)別系統(tǒng)本身的識(shí)別正確率就有一定程度的提高。在訓(xùn)練音時(shí)長(zhǎng)60 s時(shí)的系統(tǒng)識(shí)別正確率平均達(dá)到96.7%;隨著測(cè)試語(yǔ)音時(shí)長(zhǎng)由1到5 s增加,采用BCC優(yōu)化LS_SVM參數(shù)后識(shí)別正確率也有很大的增加。
4.3 不同優(yōu)化算法對(duì)比試驗(yàn)
以本實(shí)驗(yàn)語(yǔ)音60 s樣本作訓(xùn)練樣本,10 s樣本作為測(cè)試樣本,BCC算法設(shè)置優(yōu)化參數(shù)上下限值為(2-12,212),細(xì)菌數(shù)目選為20,采用LOOCV為目標(biāo)函數(shù),優(yōu)化正則化參數(shù)γ和核寬度σ,運(yùn)行次數(shù)為10次。圖4為粒子群算法(PSO)、遺傳算法(GA)和BCC算法的訓(xùn)練結(jié)果,本文給出的仿真圖都是多次仿真中出現(xiàn)頻率最高的情況。
圖4 各算法正確率隨算法迭代次數(shù)的變化圖
從圖4中可以看出,在本實(shí)驗(yàn)條件下,BCC智能優(yōu)化算法和PSO智能算法都在第11次迭代時(shí)找到最優(yōu)解,優(yōu)化速度快于GA優(yōu)化算法。同時(shí)可以看出,BCC智能優(yōu)化算法尋優(yōu)得到的參數(shù)對(duì)應(yīng)的正確率好于其他兩種優(yōu)化算法,說明在參數(shù)尋優(yōu)的過程中,利用BCC智能算法優(yōu)化得到的LS_SVM參數(shù)對(duì)能使識(shí)別系統(tǒng)的識(shí)別準(zhǔn)確率最高。BCC算法和其他優(yōu)化算法不同之處在于,它利用單細(xì)菌感知同伴信息的特性,具有擺脫局部最優(yōu)點(diǎn)的能力,并且利用過去的經(jīng)驗(yàn)尋求最優(yōu)點(diǎn),細(xì)菌群通過共享和交換位置信息節(jié)省了搜索時(shí)間,算法中細(xì)菌個(gè)體隨時(shí)修正移動(dòng)策略,加入?yún)?shù)更新和精英保留機(jī)制,在不同階段改變移動(dòng)步長(zhǎng),很大程度地減少了搜索時(shí)間,保證了算法的局部搜索能力。
討論了BCC智能優(yōu)化算法優(yōu)化LS_SVM參數(shù)后LS_SVM在說話人識(shí)別中的應(yīng)用,構(gòu)建了最優(yōu)的識(shí)別算法。實(shí)驗(yàn)結(jié)果表明,BCC以其強(qiáng)大的擺脫局部最優(yōu)點(diǎn)的能力及在不同階段改變移動(dòng)步長(zhǎng)的性能,在優(yōu)化LS_SVM參數(shù)上效果明顯。LS_SVM是傳統(tǒng)SVM的改進(jìn),本身便具有良好的性能,再用BCC優(yōu)化LS_SVM參數(shù),使得說話人識(shí)別系統(tǒng)性能大大增加。BCC算法值得進(jìn)一步研究和更為廣泛的應(yīng)用。
[1]趙振東,胡喜梅,田景峰.基于VQ-SVM的說話人識(shí)別系統(tǒng)[J].華北電力大學(xué)學(xué)報(bào),2009(5):73-76
[2]趙振東,張靜,李圓,等.基于GMM說話人分類的說話人識(shí)別方法研究[J].通信技術(shù),2009,42(10):192-193
[3]Suykens Johan A K,Gestel Tony Van,Brabanter Jos De.Least Squares Support Vector Machines[M].Singapore:World Scientific Publishers,2002:25-30
[4]李威武,王慧,鄒志君,等.基于細(xì)菌群體趨藥性的函數(shù)優(yōu)化方法[J] .電路與系統(tǒng)學(xué)報(bào),2005(1):58-63
[5]孫德山.支持向量機(jī)分類與回歸方法研究[J] .計(jì)算機(jī)應(yīng)用與軟件,2008,25(2):84-85
[6]陳俊.基于線譜對(duì)系數(shù)和高斯混合模型的說話人識(shí)別技術(shù)研究[D].長(zhǎng)沙:中南大學(xué)電路與系統(tǒng),2009:32-40
[7]Guo Wu,Dai Li-Rong,Wang Ren-Hua.Speaker vericationbased on improved updates to the SVM[J].Journal of Tsinghua University:Science and Technology,2008,48(S1):704-707
[8]Karam Z N,Campbell W M.A new kernel for SVM MLLR based speaker recognition[C]//Proceedings of the 8th Conference in the Annual Series of Interspeech Events and the 10th Biennial Eurospeech Conference.Antwerp,Belgium:International Speech and Communication Association,2007:290-293
[9]Campbell W M, Sturim D E, Reynolds D A. Support vectormachines using GMM supervectors for speaker verication[J].IEEE Signal Processing Letters,2006,13(5):308-311
[10]Passino K M. Biomimicry of bacterial foraging for distributed optimization and control[J].IEEE Control System Magazine,2002(6):52-67
[11]Muller S D,J Airaghi Marchetto S,Koumoutsakos P.Optimization Based on Bacterial Chemotaxis[J].IEEE Transaction of Evolutionary Computation,2002,6(1):16-29
[12]Shahla Nemati,Mohammad Ehsan Basiri.Particle Swarm Optimization for Feature Selection in Speaker Verification[M].Berlin/Heidelberg:Springer,2010
(責(zé)任編輯:劉小陽(yáng))
10.3969/j.issn.1673-2006.2017.11.024
TP18
A
1673-2006(2017)11-0101-04
2017-08-26
安徽省省級(jí)質(zhì)量工程項(xiàng)目“電氣自動(dòng)化”特色專業(yè)(2016tszy061);滁州職業(yè)技術(shù)學(xué)院地方技能型高水平大學(xué)項(xiàng)目(2015gx013-1-5)。
劉倩(1984-),女,湖北天門人,碩士,講師,研究方向:自動(dòng)控制與模式識(shí)別。