欒先冬,徐 巖
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
?
基于螢火蟲算法的變步長語音信號盲源分離
欒先冬,徐巖
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
摘要針對傳統(tǒng)的自然梯度算法對語音信號進(jìn)行盲源分離時,算法存在收斂速度和穩(wěn)態(tài)誤差的矛盾。文中提出一種新的變步長自然梯度算法,利用熒火蟲算法對自然梯度算法的步長調(diào)整,使算法的步長隨信號的分離度變化,并通過計算機仿真驗證了該算法的有效性,算法的分離效果更好,收斂速度更快,且穩(wěn)態(tài)誤差更小。
關(guān)鍵詞螢火蟲算法;變步長;盲源分離
盲源分離[1-2]是指在不知道源信號和混合方式條件下,根據(jù)源信號的統(tǒng)計特性從觀測信號中恢復(fù)出源信號的過程。最典型的例子就是雞尾酒會[3]問題。作為當(dāng)今信息處理領(lǐng)域中研究的熱點,隨著其理論和技術(shù)的不斷發(fā)展和成熟,已在語音信號分離與識別[4]、圖像處理與識別[5]、生物醫(yī)學(xué)信號處理[6-7]等領(lǐng)域有著廣泛應(yīng)用。
獨立成分分析[8](Independent Compo-nent Analysis,ICA)作為盲源分離的一種主要方法,先假設(shè)源信號間相互獨立,再對觀測信號進(jìn)行某種非線性變換,使各輸出信號間盡可能的相互獨立。目前ICA中有許多有效的算法,如擴展Infomax算法[9],F(xiàn)astICA[10],自然梯度算法[11]等。其中以自然梯度算法最為著名。
Amari在隨機梯度算法的基礎(chǔ)上,從黎曼空間的角度出發(fā),提出了自然梯度算法[12]。事實上,自然梯度算法的穩(wěn)定性更強,分離效果更好。學(xué)習(xí)步長和非線性函數(shù)的選取影響自然梯度算法的性能,因此選擇一個理想的步長是關(guān)鍵。當(dāng)傳統(tǒng)的自然梯度算法對語音信號盲分離時,步長通常被設(shè)定為一個固定常量,設(shè)定過大雖然收斂速度快,但影響算法的穩(wěn)定性,甚至不能收斂;過小雖增加一定的穩(wěn)定性,但收斂速度慢,不能滿足人們的要求。本文提出了一種基于螢火蟲算法的變步長自然梯度算法,通過用螢火蟲算法去優(yōu)化自然梯度算法中的步長,使選擇的步長不斷變化且達(dá)到信號的最大分離度,從而更快、更好地分離觀測信號。
1盲源分離問題
1.1盲源分離的基本模型
盲源分離問題的一般模型如圖1所示。
圖1盲源分離框圖
S(
t
)=[S
1
(
t
),S
2
(
t
),…S
n
(
t
)]
T
為
n
個語音源信號,X(
t
)=[X
1
(
t
),X
2
(
t
),…X
n
(
t
)]
T
為
n
個傳感器接受到的觀測信號,忽略噪聲和傳輸延遲的影響,即線性瞬時無噪聲混合模型。則觀測信號與源信號之間的關(guān)系為
X(t)=AS(t)
(1)
式中,A是一個n×n的非奇異矩陣,模擬傳輸信道的參數(shù)。盲源分離問題的實質(zhì)就是在混合矩陣A和源信號St未知的情況下估計分離矩陣W,使X(t)通過W后輸出各分量盡可能相互獨立的Y(t)即
Y(t)=WX(t)=WAS(t)
(2)
輸出的Y(t)為源信號S(t)的估計。
1.2自然梯度算法
能否找到最佳的分離矩陣W是盲源分離問題的關(guān)鍵。為此人們用互信息最小化、最大似然估計法、信息極大化等許多不同的方法求得最優(yōu)解。依據(jù)自然梯度算法的定義,所有方法可總結(jié)為相同的迭代表達(dá)式
Wk+1=Wk+u(I-φ(Y)YT)Wk
(3)
式中,k為迭代次數(shù);Wk為k次的分離矩陣;u為步長(學(xué)習(xí)率);I為單位矩陣;φ(Y)為非線性函數(shù),與源信號的概率密度有關(guān),不同的信號分布采用不同的非線性函數(shù),由于所研究的算法針對語音信號的盲源分離,絕大數(shù)語音信號服從亞高斯分布,因此本文采用 。
2螢火蟲算法
劍橋?qū)W者Yang在2009年提出螢火蟲算法[13-14](Firefly Algorithm,F(xiàn)A),是模擬自然界中螢火蟲發(fā)光行為的隨機優(yōu)化算法。利用其發(fā)光特性和趨光特性向亮度更高的位置移動,進(jìn)而找到最大亮度的螢火蟲位置。與遺傳算法和粒子群算法相比,螢火蟲算法具有使用簡單、魯棒性強、易于實現(xiàn)等特點,收斂速度更快、搜索全局最優(yōu)解的能力更強且不易于陷入局部極值,從而使尋優(yōu)結(jié)果更準(zhǔn)確。目前已被應(yīng)用到裝配序列規(guī)劃問題[15]、圖像分割處理[16]等方面。
亮度和吸引度是螢火蟲算法的兩個重要參數(shù)。亮度體現(xiàn)了螢火蟲所處位置的優(yōu)劣并決定其移動方向;螢火蟲移動的距離則由吸引度決定。不斷地更新亮度和吸引度使被優(yōu)化的目標(biāo)達(dá)到最佳位置。
螢火蟲的相對熒光亮度為
I=I0×e-γrij
(4)
其中,I0為螢火蟲的自身最大熒光亮度(r=0 ),其大小取決于目標(biāo)函數(shù),目標(biāo)函數(shù)值越大其自身亮度就越亮;γ為光強吸收系數(shù),傳播介質(zhì)的吸收和螢火蟲個體間距離的增加使熒光逐漸減弱,rij為螢火蟲個體i和j之間的空間距離。
螢火蟲的吸引度為
(5)
其中,β0為最大吸引度,即螢火蟲間距離為零時的吸引度。被吸引后,螢火蟲i根據(jù)式(6)向熒火蟲j移動,更新自身的位置
Xi=Xi+β×(Xj-Xi)+α×(rand-0.5)
(6)
其中,Xi,Xj為螢火蟲i和j所處空間的位置;α為步長因子,是[0,1]上的常數(shù);rand為[0,1]上服從均勻分布的隨機因子。螢火蟲移動的距離主要由吸引度的大小決定。亮度高的螢火蟲向亮度低的螢火蟲移動。在螢火蟲位置的更新過程中加入擾動項α×(rand-0.5)可擴大搜索區(qū)域,防止過早陷入局部極值點。所有螢火蟲個體在經(jīng)過多次的擾動后都聚集在亮度最高的螢火蟲的位置上,從而找到最優(yōu)解。
3變步長自然梯度算法
3.1目標(biāo)函數(shù)的選取
取
(7)
式中, ‖·‖為Frobenius范數(shù);ΔWk定性上表示的是信號的分離的狀態(tài):若信號的分離狀態(tài)差,則ΔWk值越大;反之ΔWk值越小。當(dāng)ΔWk=0時,信號得到完全分離。由式(7)可知信號的分離狀態(tài)與步長u的大小有關(guān)。因此,可通過對ΔWk的控制選擇合適的u。
3.2算法原理
初始化螢火蟲個體的個數(shù)及位置,個數(shù)表示步長參數(shù)的數(shù)量;位置表示所選步長參數(shù)的大小。將ΔWk作為螢火蟲算法的目標(biāo)函數(shù),通過最小化這個目標(biāo)函數(shù)使得經(jīng)過數(shù)次迭代后算法返回的值是亮度最大的螢火蟲的位置,即達(dá)到最大分離度時的步長。
3.3算法步驟
(1)對觀測信號白化和去均值處理??蓽p小計算量,提高算法精度;(2)初始螢火蟲算法參數(shù)。螢火蟲個體初始位置、螢火蟲的個體數(shù)量M、最大吸引度β0、步長因子α、光強吸收系數(shù)γ、最大迭代次數(shù)T;(3)計算螢火蟲的亮度并排序。計算每個螢火蟲對應(yīng)的ΔWk,將其值視為其亮度,排序后得到亮度最大的螢火蟲位置;(4)判斷迭代是否結(jié)束。判斷迭代次數(shù)是否到達(dá)到最大迭代次數(shù)T,達(dá)到則轉(zhuǎn)步驟(5),否則轉(zhuǎn)(6);(5)輸出亮度最大的螢火蟲位置及其亮度,將得到的最大亮度的位置作為自然梯度算法的步長,對語音信號進(jìn)行分離;(6)更新螢火蟲位置。對已在最優(yōu)位置的螢火蟲進(jìn)行一次隨機擾動,故搜索次數(shù)加一次,轉(zhuǎn)步驟(3)進(jìn)行下一次移動。
4仿真實驗及性能分析
4.1仿真實驗
選取3路純凈的語音信號S1,S2,S3作為源信號來驗證算法的可行性。計算機仿真后得到圖2所示。再隨機產(chǎn)生一個 階的混合矩陣 ,與語音源混合后變成三路混合信號X1,X2和X3。仿真結(jié)果如圖3所示。
選取固定步長為u=0.000 1;螢火蟲個數(shù)M=50;螢火蟲的初始位置U=0.000 5×rand(1,50);最大吸引度β0=1.0;光強吸收系數(shù)γ=1.0;步長因子α=0.000 2;最大迭代次數(shù)T=100。使用傳統(tǒng)固定步長自然梯度算法和本文所提出的基于螢火蟲算法的變步長自然梯度算法分別對混合信號進(jìn)行分離,兩種算法各自最大的迭代次數(shù)為300;初始化分離矩陣W=0.1×eye(3,3);計算機仿真的分離結(jié)果如圖4和圖5所示。
圖2 語音源信號
圖3 混合信號
4.2性能分析
通過觀察兩種算法分離后得到的分離信號,如圖4和圖5所示,兩種算法都能有效地分離出信號。由于ICA算法存在分離順序和幅度的不確定性,因此暫時不考慮這兩個因素。用螢火蟲算法改進(jìn)的變步長自然梯度算法得到的分離信號相比于固定步長的自然梯度算法更加接近原始語音信號。
圖4 固定步長分離信號
圖5 螢火蟲算法改進(jìn)分離信號
通過具體的評價指標(biāo)分析:本文選用分離后輸出信號的串音誤差E[17]來量化分離算法的性能。串音誤差
(8)
式中,Pij為全局矩陣G的元素;G=W×A;maxk|Pij|表示G的第k行或列元素絕對值中的最大值。當(dāng)信號得以精確分離時,理論上 的值應(yīng)該為零,但實際上一般為較小的值。
通過仿真得到兩種算法的串音誤差E如圖6所示。
圖6 串音誤差曲線圖
兩種算法獨立運行30次,得到兩種自然梯度算法達(dá)到收斂時的平均串音誤差和平均迭代次數(shù)的結(jié)果如表1所示。
表1 兩種自然梯度算法的性能比較
從兩種算法的串音誤差E可看出,本文提出基于螢火蟲算法的變步長自然梯度算法與傳統(tǒng)的固定步長的自然梯度相比,有更快的收斂速度和更小的串音誤差,說明改進(jìn)后的算法在語音信號的分離性能優(yōu)于傳統(tǒng)的自然梯度算法。
5結(jié)束語
本文提出了基于螢火蟲算法的變步長自然梯度算法,與傳統(tǒng)的固定步長自然梯度相比,該算法具有更理想的收斂速度和穩(wěn)態(tài)誤差,有效地解決了收斂速度和穩(wěn)態(tài)誤差的矛盾。理論分析和實驗結(jié)果都表明該算法優(yōu)于傳統(tǒng)的固定步長自然梯度算法。由于本文所使用的是最基本的螢火蟲算法,下一步可通過對其進(jìn)行改進(jìn),進(jìn)而優(yōu)化算法性能,取得更好的效果。
參考文獻(xiàn)
[1]Herault J,Jutten C.Blind separation of sources,Part I:an adaptive algorithm based on neuromimetic architecture[J].Signal Processing,1991,24(1):1-10.
[2]Pham D T.Blind separation of instantane-ous mixture of sources via an independent component analysis[J].IEEE Transations on Signal Prosessing,1996,44(11):2768-2779.
[3]Haykin S,Chen Z.The cocktail party problem[J].Neural Computation,2011,17(9):1875-1902.
[4]Choi C H,Chang W,Lee S Y.Blind source separation of speech and music signals using harmonic frequency depedent independent vector analysis[J].Elecronic Letters,2012,48(2):124-125.
[5]劉琚,張新剛,孫建德.一種基于ICA的圖像水印方法[J].電路與系統(tǒng)學(xué)報,2003,8(3):55-59.
[6]馬明,鄒志斌,楊玉林,等.采用盲源提取和后小波濾波的胎兒心電圖提取[J].儀器儀表學(xué)報,2010, 31(5):1096-1101.
[7]Hesse C W,James C J.On semiblind source separation using spatial constrains with applications in EEG analysis[J].IEEE Transations on Biomedical Engineering,2006,53(12):2525-2534.
[8]Lee T W,Girolami M,Sejnowski T J.Independent compontment analysis using an extended informax algorithm for mixed sub-Gaussian and super-Gaussian sources[J].Neural Computation,1999,11(1):417-441.
[9]馬守科,何選森,許廣廷.基于擴展Informax算法的變步長在線盲分離[J].系統(tǒng)仿真學(xué)報,2007,19(19):4513-4516.
[10] Hyvarinen A,Oja E.A fast fixed point al-gorithm for independent component analysis[J].Neural Computation,1997,9(7):1483-1492.
[11] 馬建倉,馮冰,程存虎,等.自然梯度盲分離算法在振動信號處理中的應(yīng)用[J].火力與指揮控制,2011,36(4):154-157.
[12] Amari S.Natural gradient works efficiently in learning[J].Neural Computation,1998,10(2):251-276.
[13] 劉長平,葉春明.一種新穎的仿生群智能優(yōu)化算法:螢火蟲算法[J].計算機應(yīng)用研究,2011,28(9):3295-3297.
[14] Yang X S H.Firefly algorithms for mul-timodal optimization[C].CA,USA:In Stochastic Algorithms:Foundations and Applications,Lecture Notes in Computer Science,2009.
[15] 曾冰,李明富,張翼.基于改進(jìn)螢火蟲算法的裝配序列規(guī)劃方法[J].計算機集成制造系統(tǒng),2014,20(4):799-806.
[16] 陳愷,陳芳,戴敏,等.基于螢火蟲算法的二維熵多閾值快速圖像分割[J].光學(xué)精密工程,2014,22(2):517-523.
[17] 李宗,馮志鵬,褚福磊.基于改進(jìn)的串音誤差的盲分離評價指標(biāo)[J].振動與沖擊,2012,31(18):85-88.
Variable Step-size Blind Sources Separation for Speech Sig-nals by Firefly Algorithm
LUAN Xiandong, XU Yan
(School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China)
AbstractTraditional natural gradient algorithm of blind source separation for speech signals is contradictions, which suffers errors between convergence speed and steady-state. A novel variable step-size algorithm is proposed to solve this problem. The step-size of traditional natural gradient algorithm is adjusted by the firefly algorithm to yield variable signals with the separation degree. Computer simulations verify the feasibility of this new algorithm, which offers better separation results with faster convergence and less steady-state errors.
Keywordsfirefly algorithm; variable step-size; blind source separation
收稿日期:2015- 11- 16
基金項目:國家自然科學(xué)基金資助項目(61461024)
作者簡介:欒先冬(1991-),男,碩士研究生。研究方向:語音信號增強等。徐巖(1963-),男,教授。研究方向:盲信號處理等。
doi:10.16180/j.cnki.issn1007-7820.2016.07.002
中圖分類號TN912.35
文獻(xiàn)標(biāo)識碼A
文章編號1007-7820(2016)07-004-04