黃浦博,尉 宇,2
(1.武漢科技大學(xué) 武漢430070;2.華中科技大學(xué) 武漢430047)
盲源分離(blind source separation,BSS)的提出起源于“雞尾酒會(huì)(cocktail party)”,即從若干觀測到的混合信號中恢復(fù)出無法直接觀測的各個(gè)獨(dú)立原始信號的過程,是信號處理中一個(gè)極具挑戰(zhàn)性的課題?!懊ぁ敝竷蓚€(gè)方面:源信號未知;混合系統(tǒng)未知。源信號的未知因素導(dǎo)致了數(shù)學(xué)模型很難建立,于是對盲源的分離便順其自然。對盲源分離的實(shí)質(zhì)性研究最早開始于Jutten和Herault[1]兩位學(xué)者。之后Sorouchyari和Comon[2]在Signal Processing上發(fā)表了關(guān)于該研究的文章。在工程實(shí)際中應(yīng)用盲源信號分離時(shí),絕大部分假設(shè)信號是線性混疊,但實(shí)際上,當(dāng)信號通過傳感器時(shí)很可能會(huì)發(fā)生非線性畸變,信號常常是非線性的。早期Hyvarinen[3]和Pajunen[4]對非線性混合模型解的唯一性問題進(jìn)行了討論。國內(nèi)對盲源分離的研究起步比較晚,但近幾年得到大力的發(fā)展。盲源分離方法已形成三大主流,即ICA、NMF[5]和SCA。目前對盲源分離的研究是很有意義的,盲源分離廣泛運(yùn)用于很多技術(shù)中,如語音信號分離與識(shí)別、數(shù)據(jù)通信與陣列信號處理、圖像處理與識(shí)別和地學(xué)空間信息處理。非線性盲源分離的解決方法可以歸納為以下兩類:運(yùn)用自組織映射提取信號中的非線性分量的方法;基于假定非線性混合模型的方法。其中包括基于粒子群優(yōu)化算法、基于自然梯度算法和基于稀疏成分分析算法等。本文采用螢火蟲群優(yōu)化 (glowworm swarm optimization,GSO)算法來研究非線性盲源分離問題。
相比于線性變換模型,非線性變換模型更適用于實(shí)際。本文采用Burel[6]兩層感知器結(jié)構(gòu)的非線性模型。
設(shè)有m個(gè)源信號,有m個(gè)觀測信號。源信號s(t)=[s1,s2,s3,…,sm]T和觀測信號x(t)=[x1,x2,x3,…,xm]T之間關(guān)系表示如下:
其中,xi表示為:
其中,s(t)=[s1,s2,s3,…,sm]T為m個(gè)源信號構(gòu)成的m×1維向量,x(t)=[x1,x2,x3,…,xm]T是m×1維 觀 測 數(shù) 據(jù) 向 量;m×m維矩陣A稱為信號混合矩陣。F=[f1,f2,f3,…,fm]T是可逆的非線性變換矩陣。該模型為非線性混合[7]與分離模型。
如圖1所示,該系統(tǒng)分為兩部分:混合與分離?;旌喜糠纸M成:混合信號矩陣A線性混合,獨(dú)立非線性失真函數(shù)F=[f1,f2,f3,…,fm]T;分離系統(tǒng)組成:gi每一個(gè)通道的獨(dú)立非線性反變換和W分離矩陣。輸出信號yi(t)表示為:
這種數(shù)據(jù)的表示可寫成矩陣的形式。
圖1 非線性混合與分離模型
一般而言,非線性混合信號模型是將非線性問題根據(jù)某種規(guī)則轉(zhuǎn)化為線性。非線性最大的難度在于參數(shù)的估計(jì)。這因?yàn)榭臻g內(nèi)存在大量的局部最優(yōu)化問題。為解決這個(gè)問題,先后出現(xiàn)了用RBF(radial basis function,徑向基函數(shù))神經(jīng)網(wǎng)絡(luò)算法、遺傳算法和粒子群優(yōu)化算法等群智能優(yōu)化算法,取得了較好的結(jié)果。本文擬采用基于優(yōu)化的螢火蟲群算法解決盲源分離問題。該算法具有操作簡單、宜于并行處理、頑健性強(qiáng)等特點(diǎn)。
螢火蟲群優(yōu)化算法是群智能優(yōu)化算法的一種新思路。已有較多相關(guān)的介紹與研究。該算法在解決連續(xù)型最優(yōu)化問題方面表現(xiàn)出了良好的性能。在GSO算法中,每一只螢火蟲分布在二維空間中,空間中螢火蟲本身有螢光,每個(gè)螢火蟲都有各自的視覺范圍,即決策域半徑。螢火蟲的位置越好,熒光素值越高,螢火蟲亮度越大,此時(shí)的目標(biāo)函數(shù)值越接近所需結(jié)果,說明螢火蟲亮度與自己所處位置有關(guān)。空間中,較亮的鄰居擁有較高的吸引力吸引附近螢火蟲往自己方向移動(dòng),螢火蟲會(huì)在決策域半徑內(nèi),根據(jù)一定的概率選擇方向,并飛向鄰居。不僅如此,決策域半徑范圍的大小會(huì)根據(jù)鄰居密度的不同而受到影響,從而更新螢火蟲決策域半徑。密度較低,螢火蟲的決策半徑會(huì)加大,擴(kuò)大范圍,便于尋找更多的鄰居;密度較高,則相對地會(huì)縮小。GSO算法的目標(biāo)是為了達(dá)到種群尋優(yōu)。解空間的每一個(gè)解被視為自然界中的螢火蟲,初始解隨機(jī)分布在搜索空間內(nèi),如同螢火蟲隨機(jī)出現(xiàn)在規(guī)定范圍內(nèi)。依照螢火蟲的移動(dòng)方式,解空間內(nèi)每只螢火蟲按規(guī)則移動(dòng)。移動(dòng)后更新螢火蟲各參數(shù),通過每次更新,最終使得大量螢火蟲聚集在熒光素較高的螢火蟲周圍,找到多個(gè)極值點(diǎn),達(dá)到目標(biāo)。
群體在優(yōu)化過程中,每次迭代都由4部分組成:熒光素更新、移動(dòng)概率更新、位置更新、動(dòng)態(tài)決策域半徑更新。如下是GSO算法的基本步驟描述。
(1)初始階段
初始化時(shí),螢火蟲解個(gè)體隨機(jī)均勻地散布在解空間內(nèi),并且每只螢火蟲擁有相同的熒光素和感知半徑。在搜索空間內(nèi)隨機(jī)生成i(i=1,…,n)只螢火蟲,且所有螢火蟲都帶有熒光素l0,動(dòng)態(tài)決策域r0。
(2)熒光素更新
螢火蟲的熒光素更新規(guī)則如下:
其中,ρ為熒光素衰減因子,介于(0,1),(1-ρ)為亮度衰減率,控制過去經(jīng)驗(yàn)比重。γ為比例常數(shù),控制此回合搜索解的經(jīng)驗(yàn)比重。J(xi(t))代表的是在t回合第i個(gè)螢火蟲所處位置xi(t)對應(yīng)的適應(yīng)度函數(shù)值,li(t)代表第t回合第i只螢火蟲的熒光素值。螢火蟲的熒光素更新等于螢火蟲的當(dāng)前適應(yīng)度值減去隨時(shí)間衰減的螢火蟲素值。每一次螢火蟲移動(dòng)完畢,下一次開始前,螢火蟲熒光素完成更新。
取目標(biāo)函數(shù)值倒數(shù)的目的是因?yàn)槟繕?biāo)函數(shù)求極小,目標(biāo)函數(shù)越小的螢火蟲,其亮度就越亮。計(jì)算亮度后,螢火蟲與螢火蟲之間在區(qū)域決策半徑內(nèi)以自己的亮度作為溝通的方式,從中挑選一個(gè)鄰居,以此移動(dòng)到較好的群中心位置上。
(3)尋找螢火蟲i的鄰居j
螢火蟲比較自身決策域半徑內(nèi)鄰居的熒光素的大小選擇飛行方向,尋找熒光素比自己高的鄰居。
||xj(t)-xi(t)||表示t時(shí)刻第i只螢火蟲的鄰居集合。0<(t)≤rs,是螢火蟲j與i的歐幾里得距離。為螢火蟲個(gè)體i在t時(shí)刻的感知半徑。其中,j∈Ni(t)。
(4)移動(dòng)概率更新
螢火蟲移動(dòng)規(guī)則如下:
其中,移動(dòng)方向由鄰居集合中螢火蟲熒光素值決定。Pij(t)表示t時(shí)刻第i只螢火蟲向鄰居集合中第j只螢火蟲移動(dòng)的概率。
(5)位置更新
設(shè)移動(dòng)步長為b(b>0),第i只螢火蟲由移動(dòng)概率Pij(t)選擇其移動(dòng)方向移向鄰域內(nèi)個(gè)體j,即輪盤賭法則。第i只螢火蟲的位置更新規(guī)則如下:
(6)動(dòng)態(tài)決策域半徑更新
螢火蟲群優(yōu)化算法采用自適應(yīng)動(dòng)態(tài)領(lǐng)域決策范圍。規(guī)則如下:
其中,rs為螢火蟲感知范圍,rid(t)表示t時(shí)刻第i只螢火蟲的決策范圍,β表示領(lǐng)域變化率,ni表示個(gè)體領(lǐng)域集內(nèi)包含的螢火蟲數(shù)目閾值。
(7)判斷是否達(dá)到最大迭代次數(shù)
若達(dá)到,則停止并輸出結(jié)果,否則,轉(zhuǎn)向步驟(2)。
GSO算法執(zhí)行到后期時(shí),會(huì)出現(xiàn)很多情況。比如,結(jié)果很快會(huì)陷入局部最優(yōu)、求解精度不高、螢火蟲個(gè)體在峰值附近出現(xiàn)震蕩現(xiàn)象等。為了改進(jìn)算法,之前提出了很多方法,如最佳螢火蟲分布算法,在一開始便使得螢火蟲個(gè)體的位置最佳,在原算法的基礎(chǔ)上有效改進(jìn)結(jié)果;自適應(yīng)變步長螢火蟲群優(yōu)化算法,從搜索過程中改變螢火蟲移動(dòng)步長,此算法動(dòng)態(tài)調(diào)整步長,處理好全局尋優(yōu)能力和尋優(yōu)精度之間的關(guān)系。
本文也是從算法中期對螢火蟲群進(jìn)行人工處理。人為將該群體放入鏡子擋板,此時(shí)從視覺上看,螢火蟲群體數(shù)量大,有效改善了螢火蟲群的布局,豐富了螢火蟲個(gè)體的多樣性,豐富的群體多樣性改善了求解精度不高的問題。加入擋板后的螢火蟲群體中,個(gè)體由于附近的熒光素強(qiáng)度改變,決策域半徑改變,移動(dòng)概率更新,相應(yīng)的位置也會(huì)更新,使得螢火蟲群體跳出局部最優(yōu),個(gè)體重新搜索。本文將該現(xiàn)象稱為“擋板效應(yīng)”。采用該方式的GSO算法稱為“BGSO”算法。該優(yōu)化算法的重點(diǎn)在于,當(dāng)完成一次基本GSO算法后計(jì)算得到評價(jià)函數(shù)值,再加入“擋板效應(yīng)”,更新評價(jià)函數(shù)值,并比較兩次評價(jià)函數(shù)值的大小,保留最優(yōu)的函數(shù)值。下次重復(fù)該步聚,直到完成最大迭代次數(shù),并輸出結(jié)果。
當(dāng)遍歷一次后,在群體中加入人工擋板,用表達(dá)式表示為:
本文中ti∈[-1,1],取m=4,此時(shí)迭代出來的結(jié)果互不相關(guān)。在原GSO算法中,群體適應(yīng)度值差別大,在尋優(yōu)過程中可能還有很少的個(gè)體保留下來。加入“擋板效應(yīng)”的GSO算法,即BGSO算法,豐富了種群多樣性,一定程度上抑制了GSO算法易陷入局部解的發(fā)生,提高了求解精度。
對于盲源分離的評價(jià)函數(shù)可以有很多種形式,比如互信息最小化、信息傳輸最大化和負(fù)熵最大化等。本文采用互信息作為評價(jià)函數(shù)。
可以看出,I(y)=0時(shí),說明yi相互獨(dú)立。式(10)中H(yi)的計(jì)算需要估計(jì)yi的分布密度函數(shù)。對H(yi)的計(jì)算常用Edgeworth展開或者Gram-Charlie展開。由于Edgeworth展開在訓(xùn)練時(shí)存在發(fā)散問題,這里采用Gram-Charlier展開,其每一分量的熵H(yi)只與它的三階累積量和四階累積量有關(guān):
為了使式(11)的期望值為0,方差為1,其在計(jì)算前需要對信號進(jìn)行中心化和白化處理。中心化是減去信號中的均值矢量,從而使其成為零均值變量;然后對觀測矢量進(jìn)行線性變換得到新矢量,即白化。其各分量不相關(guān)且方差為1。這里采用I(y)的倒數(shù)作為評價(jià)函數(shù),以此增強(qiáng)各隨機(jī)變量之間的獨(dú)立性。當(dāng)評價(jià)函數(shù)得到最大值時(shí),說明各個(gè)信號之間最接近獨(dú)立。
J(xi(t))即式(4)中的適應(yīng)度函數(shù)。式(12)中如果I(y)=0,說明各個(gè)信號之間獨(dú)立。仿真時(shí),I(y)越小,則越接近所需要結(jié)果,此時(shí)J(xi(t))也就越大。當(dāng)J(xi(t))取最大值時(shí),即全局最優(yōu)解。
圖2 BGSO算法流程
非線性混合分離系統(tǒng)中,各個(gè)通道的非線性參數(shù)空間相互獨(dú)立。令非線性參數(shù)空間的螢火蟲群為G=[G1,G2,…,Gn],Gj=[gj1,gj2,…,gjp]。非線性函數(shù)與源信號的概率密度函數(shù)有關(guān),但由于實(shí)際的源信號概率密度未知,因此一般根據(jù)不同分布情況采用不同的非線性函數(shù)。
基于BGSO算法的非線性盲源分離實(shí)現(xiàn)步驟如下。
步驟1讀取源信號。
步驟2初始化非線性去混合函數(shù)參數(shù)。隨機(jī)產(chǎn)生去混合函數(shù)參數(shù)G=[G1,G2,…,Gn],Gj=[gj1,gj2,…,gjp]。
步驟3對yi(t)進(jìn)行中心化和白化處理。按式(10)計(jì)算評價(jià)函數(shù)。
·若某個(gè)螢火蟲的評價(jià)函數(shù)值優(yōu)于其歷史最優(yōu)評價(jià)函數(shù)值,則記當(dāng)前為歷史最優(yōu)值,同時(shí)該位置為歷史最優(yōu)位置。
·尋找當(dāng)前各子群內(nèi)最優(yōu)和總?cè)簝?nèi)部最優(yōu)。
·當(dāng)子群內(nèi)歷史最優(yōu)螢火蟲位置趨近于無變化時(shí),在螢火蟲內(nèi)部使用“擋板效應(yīng)”。
所有Sim(Kei,Kej)|?i,j[1,2,…,n]構(gòu)成一個(gè)模糊等價(jià)關(guān)系,也可表現(xiàn)為一個(gè)對稱的相似度矩陣:
步驟4參數(shù)更新。對于非線性參數(shù),按照改進(jìn)螢火蟲優(yōu)化算法更新螢火蟲熒光素、決策域半徑、位置和適應(yīng)度函數(shù)。
步驟5若達(dá)到最大迭代次數(shù),則停止,并輸出結(jié)果。否則轉(zhuǎn)至步驟3。
本次采用兩個(gè)語音信號、一個(gè)LFM雷達(dá)信號和一個(gè)高斯白噪聲來驗(yàn)證算法的有效性。根據(jù)所得混合信號,隨機(jī)產(chǎn)生混合矩陣A,并求得中心化和白化矩陣O。
選取的混合函數(shù)分別選為:
螢火蟲個(gè)體數(shù)量n=40,最大迭代次數(shù)i_max=2 000。結(jié)合基本螢火蟲算法,對參數(shù)初始化。ρ=0.4,γ=0.6,β=0.08,nt=5,s=0.03,l0=5。隨機(jī)產(chǎn)生螢火蟲初始位置xi(0),初始步長si(0)。連續(xù)迭代不變化次數(shù)閾值Maxstep=20,并且規(guī)定最佳適應(yīng)度變化率小于1/1 000,認(rèn)為無變化。源信號圖和中心化以及白化后的混合信號和分離信號如圖3~圖5所示。
求得的性能矩陣P=W·g(f(O·A))=y-1·S如下:
分離矩陣W如下:
圖3 原信號s(t)
圖4 混合信號x(t)
圖5 分離信號y(t)
從性能矩陣中的數(shù)值可以看出,每一行都有一個(gè)數(shù)值遠(yuǎn)大于其他數(shù)值(例如,第一行第二列遠(yuǎn)大于該行其他數(shù)值)。而在盲源分離的算法研究中,性能指標(biāo)常常運(yùn)用交錯(cuò)誤差表示。如下:
P的性能誤差EP=0.976 1。性能矩陣受到了非線性混合函數(shù)的影響,但誤差不大。另一方面證明了信號分離效果較好。
然而,在盲源分離中,分離輸出信號yi與源信號si的相關(guān)系數(shù)也可以作為一個(gè)盲源分離算法的評價(jià)標(biāo)準(zhǔn)。定義如下:
分離信號i與源信號j由于誤差不可能完全分離,ξij的值只能接近于1;而當(dāng)該值趨近于0或者距離1較遠(yuǎn)時(shí),則說明分離并未完成。將分離元素與源信號元素代入式(18)中,可得ξij=0.894 3,該結(jié)果接近1。由分析可知,分離結(jié)果非常接近源信號,可說明效果理想,分離完成。
在使用BGSO算法的過程中,不同的螢火蟲子群對搜索成功率和達(dá)到最優(yōu)路徑的平均代數(shù)有影響。一般采用3~4個(gè)子群數(shù)的效果較好。子群之間重疊的螢火蟲個(gè)數(shù)對成功率和達(dá)到最優(yōu)路徑的平均代數(shù)也有影響。重疊過多,易導(dǎo)致局部收斂;重疊太少,會(huì)導(dǎo)致迭代次數(shù)和時(shí)間的增加。由此看來對于空間維度較高的情況將使得搜索時(shí)間大大增加。
本文采用螢火蟲群算法進(jìn)行非線性混疊信號盲分離,并在原有的基礎(chǔ)上進(jìn)行改進(jìn),采用鏡面反射的原理,運(yùn)用到螢火蟲優(yōu)化算法中,較好地使結(jié)果得到改進(jìn),精確度得到提高。改進(jìn)的方式需要讓算法遍歷一次后重新更新,步驟較為復(fù)雜。如何將步驟簡化,并將結(jié)果與其他算法相比較,將是下一步需要做的工作。
1 Jutten C,Herault J.Blind separation of sources,partⅠ:an adaptive algorithm based on neuromimatic architecture.Signal Processing,1991,24(1):1~10
2 Comon P.Independent component analysis,a new concept.Signal Processing,1994,36(3):287~314
3 Hyvarinen A.Independent component analysis for timedependent stochastic processes.Proceedings of the International Conference on Artificial Neural Network(ICANN’98),Sk’bvde,Sweden,1998
4 Pajunen P,Hyvarinen A,Karhunen J.Nonlinear blind source separation by self-organizing maps.Proceedings of the International Conference on Neural Information Processing,Hong Kong,China,1996(2):1207~1210
5 Catral M,Han L,Neumann M,et al.On reduced rank non-negative factorization for symmetric non-negative matrices.Linear Algebra Application,2004(393):107~126
6 Burel G.Blind separation of sources:a nonlinear neural algorithm.Neural Network,1992,5(6):937~947
7 Woo W L,Khor L C.Blind restoration of nonlinearly mixed signals using multilayer polynomial neural network.IEE Proceedings on Vision,Image and Signal Processing,2004,151(1):51~61
8 余先川.盲源分離理論與應(yīng)用.北京:科學(xué)出版社,2011 Yu X C.The Theory and Application of Blind Source Seperation.Beijing:Science and Technology Press,2011
9 Krishnanand K N,Ghose D.Theoretical foundations for multiple rendezvous of glowworm-inspired mobile agents with variable local-decision domains.Proceedings of American Control Conference,Minneapolis,MN,USA,2006