李著成
(北京聯合大學商務學院,北京 100025)
自然梯度算法是盲源分離的一種經典算法,但由于其固定步長的應用,造成了兩個重要的算法性能指標收斂速度和穩態誤差之間的矛盾。一般來說,大的步長收斂速度較快,但穩態誤差較大;反之,小的步長收斂速度較慢,但穩態誤差較小。特別在分離非平穩盲源時,這種矛盾會尤為明顯[1-2]。
假設有n個相互統計獨立的未知源信號s(t)=[s1(t),s2(t),…,sn(t)]T,t為離散時間,經過未知的傳輸信道A∈ Rm×n后得到m個觀測信號x(t)=[x1(t),x2(t),…,xm(t)]T(通常情況下m≥n),寫成矩陣形式為

盲源分離的任務是只根據觀測信號x(t),通過某種學習算法得到的分離矩陣W∈Rn×m,使得

其中各分量之間盡可能地獨立,依此將y(t)=[y1(t),y2(t),…,yn(t)]T作為對源信號的一個估計,若

式中:G為全局矩陣;I為n×n維單位矩陣。則y(t)=s(t),那么源信號得到徹底恢復[3]。
盲源分離的系統模型如圖1所示。

圖1 盲源分離的系統模型
基于互信息(Mutual Information,MI)的自然梯度盲源分離算法[4]最早由 Amari,Cichoki等人提出,代價函數為
由表4主成分綜合得分可知,各土壤樣本養分含量由高到低的排列順序為17→28→18→25→23→15→40→24→27→11→33→7→32→1→5→26→3→9→12→10→14→48→2→29→16→31→41→34→38→37→44→4→45→47→21→46→36→20→30→6→13→19→8→43→22→39→35→49→42。

式中:Pi(yi(t))為yi(t)的概率密度函數;det(·)表示矩陣的行列式。按照式(5)更新分離矩陣

式中:μ為步長因子;f(y(t))=[f1(y1(t)),f2(y2(t)),…,fn(yn(t))]T為估計信號y(t)的非線性函數,理想情況下有

式(4)對處理類似聲音、語言、生物醫學和機械振動等非平穩信號不是很理想,對其進行如下的修改[4-6]:
W(t+1)=W(t)+μ[Λ -f(y(t))yT(t)]W(t)(7)式中:Λ是一個對角陣,其元素為矩陣f(y(t))y(t)T對角線上的元素,即 Λ =diag[f(y(t))yT(t)](diag[·]表示由矩陣對角線元素構成的對角陣)。
為了克服收斂速度和穩態誤差之間的矛盾,考慮采用變步長的辦法,使步長隨著算法分離的實際情況做動態的變化,本文提出一種基于非線性函數的步長算法,通過某種誤差的相關值e(t)e(t-1)去調節步長,表達式為

式中:e(t)是穩態誤差;β>0和α>0為算法參數,這兩個值的選擇對算法性能會產生一定影響。
對于非平穩源信號,算法收斂后分離信號y應該滿足[4]

式中:E[·]為數學期望。這意味著為了滿足式(9),分離信號的幅度在算法執行過程中會不斷自動調整。
假設

它的分量形式應滿足

由此可以得到誤差的一種表達式為

結合式(8)和式(12),新的變步長算法為

值得注意的是,μ(t)如果選擇的太大,對算法的穩定性會造成較大的影響。因此,必須考慮步長μ(t)的上界

式中:μup(t)為μ(t)的上界。此時,μ(t)的取值為

如果步長不超過μup(t),則按照式(13)的步長,如果超過了μup(t),步長應選取為μ=μup(t)。
假設n=m=2,未知非平穩源信號s(t)=[s1(t),s2(t)]T為用Soundblaster卡采集的2路語音信號,其波形如圖2所示,μ =0.006,β =0.05,α =3。圖3為源信號經過隨機混合矩陣A混合后生成的觀測信號x(t)=[x1(t),x2(t)]T的波形圖。圖3與圖2相比較,波形圖發生了明顯的改變。

為驗證提出算法的有效性,分別用新舊兩種算法對上述觀察信號進行分離,分離效果通過盲源分離技術常用的一種算法評價指標——串音誤差Cte(Cross-talk error)來鑒定,其表達式為


圖4為經過新算法分離出的源信號的估計信號y(t)=[y1(t),y2(t)]T的波形圖。將圖4與圖2進行比較,可直觀地看出新算法已基本完成對源信號的恢復,y1對應于s1,幅度和相位發生了改變;y2對應于s2,相位沒變但幅度發生了改變,這些改變是由盲源分離的不確定性決定的,在實際應用中,只要保持波形不變,這是完全可以接受的。圖5是基于非線性函數的步長算法與固定步長算法的Cte比較圖,表1為兩種算法的更新次數與Cte的對應值。結合圖5和表1可知,新算法與舊算法相比,分離效果有了明顯改善,收斂速度較快而穩態誤差較小,固定步長算法分離出源信號需更新200次左右,而新的自適應算法只需135次,收斂速度明顯加快,而且此時新的步長算法的Cte=0.04,固定步長算法的Cte=0.08,可見穩態誤差也有一定程度的改善。


表1 兩種算法的更新次數與Cte的對應值
關于式(13)中α和β值的選擇,經過實驗也發現了一定的規律。一般地,0<α<1,β>1,如果要求收斂速度快,就應選擇一個較大的β值,如果要求穩態誤差小,就應選擇一個較小的α值,β影響全局而α影響局部。
收斂速度和穩態誤差一直是盲源分離算法研究的熱點之一。本文在對自然梯度算法進行分析的基礎上,提出了一種新的基于非線性函數的步長算法,在加快算法收斂速度的同時兼顧減小穩態誤差,克服了傳統固定步長算法的缺點,通過計算機仿真實驗證明了該算法的有效性。
:
[1]NAKAJIMA H,NAKADAI K,HASEGAWA Y,et al.Adaptive step-size parameter control for real-world blind source separation[C]//Proc.IEEE International Conference on Acoustics,Speech and Signal Processing,2008.Las Vegas:IEEE Press,2008:149-152.
[2]OU Shifeng,GAO Ying,JIN Gang,et al.Variable step-size algorithm for blind source separation using a combination of two adaptive separation system[C]//Proc.15th International Conference on Natural Computation,2009.Tianjin,China:IEEE Press,2009:649-652.
[3]桑睿,吳杰.一種解決頻域盲源分離模糊度問題的新方法[J].電視技術,2011,35(15):122-155.
[4]CICHOCKI A,AMARI S.Adaptive blind signal and image processing:learning algorithm and applications[M].New York:Wiley,2002.
[5]AMARI S,CICHOCKI A.Adaptive blind separation processing-neural network approaches[J].Proceedings of the IEEE,1998,86(10):2026-2048.
[6]ZHANG Kun,CHAN Laiwan.Convolutive blind source separation by efficient blind deconvolution and minimal filter distortion[J].Neurocomputing,2010,73(13/14/15):2580-2588.