盧中寧,初元紅
(1.鄭州輕工業學院計算機與通信工程學院, 中國 鄭州 450002; 2.黃河科技學院,中國 鄭州 450063)
基于負熵的隨機雙梯度算法
盧中寧1,初元紅2*
(1.鄭州輕工業學院計算機與通信工程學院, 中國 鄭州 450002; 2.黃河科技學院,中國 鄭州 450063)
隨機雙梯度算法是獨立分量分析中一個重要的學習算法,但該算法收斂速度慢,穩態誤差大,不利于信號的準確適時性處理.論文重點對隨機雙梯度算法進行了改進,提出一種基于負熵的隨機雙梯度算法.在改進的算法中,用負熵來度量其中的隨機變量非高斯性,從而來克服峭度的不穩健性.論文最后通過理論分析和仿真實驗證明這種改進的隨機雙梯度算法具有較好的分離效果且穩定性高.
隨機雙梯度算法;獨立分量分析;負熵;峭度
獨立分量分析(ICA)依據獨立原則為多維觀察信號建立目標函數,利用某種學習算法把這些信號分解成若干獨立成分以實現增強和恢復信號的目的,目前已成為一種十分有效的盲信號分離技術[1-2].從這個定義可以看出,獨立分量分析算法由目標函數和學習算法組成.不同的目標函數、學習算法構成的獨立分量分析算法不同[3-4].一般來說,處理對象確立了,目標函數也就很容易確定了[5-6].獨立分量分析算法的收斂速度、穩定性也取決于所選擇的學習算法[7-8].這使得學習算法的研究成為獨立分量分析中的一個中心任務.
目前在獨立分量分析中也出現了一些較優秀的學習算法[9-12].然而,在獨立分量分析中,不管最終選擇哪種學習算法,都要在最終的信號分析時具有較快的收斂速度和較小的穩態誤差[13].在眾多獨立分量分析的學習算法中,隨機雙梯度算法是在隨機梯度法、自然梯度法、相對梯度法基礎上進行的一種改進算法[14],雖然性能較原始算法有很大程度上,但是它因采用峭度為目標函數而易受大幅隨機脈沖干擾的影響.為此,論文重點對隨機雙梯度算法進行改進并進行仿真對比實驗.
隨機梯度算法是獨立分量分析中一類較簡單學習算法.例如獨立分量分析以公式(1)為目標函數:

(1)
對式(1)進行求導可得:

(2)
采用隨機梯度和隨機逼近,即可獲得隨機梯度ICA算法:
B(n+1)=B(n)+μ[B-T-Φ(y)xT].
(3)
該算法優點在于:在波動性較大的情況下,該算法能夠快速調整學習方向,使算法向正確方向行進.然而,由于涉及到了矩陣優化,且該矩陣一般是高階矩陣,這無疑大大增加了求解式(3)的計算量.而且,該算法收斂速度慢,同時還需要對迭代步長的設置有較高的要求.如果迭代步長設置不恰當,那么該算法就很可能失去收斂性.
后來出現的自然梯度算法和相對梯度算法,都是對隨機梯度算法的改進,這兩個算法本質上基本一致.例如,以公式(1)為例,對其使用自然的梯度,即可獲得如下的自然梯度ICA算法:
B(n+1)=B(n)+μ[B(n)-T-Φ(y)xT]BT(n)B(n) =B(n)+μ[I-Φ(y)yT]B(n).
(4)
它們同隨機梯度算法缺點一樣,那就是矩陣逆的存在大大增加了求解的計算量.
隨機雙梯度算法是在隨機梯度算法、自然梯度算法的基礎上進行的改進.
假設白化后的數據z(t)=[z1(t),…,zm(t)]中各分量相互獨立,也即E[z(t)z(t)T]=I,此時衡量測量信號輸出分量獨立性的準則函數定義為
J(B)=J1(B)+σJ2(B).
(5)
隨機雙梯度算法一般使用輸出信號的高階累積量作為衡量測量信號輸出分量統計獨立性的準則函數,也即采用峭度的平方作為衡量測量信號輸出分量統計獨立性的準則函數.同四階矩陣相比,輸出信號的四階累積量更能完整地描述輸出信號的特征,因此一般就把輸出信號的四階累積量引入到準則函數之中:
(6)
式(6)中J1(B)使用輸出信號的峭度作為分離準則.
J2(B)=‖BBT-I‖.
(7)
式(7)中J2(B)表示分離矩陣要滿足正交性.
采用隨機梯度對J1(B)和J2(B)進行如下優化
▽J1(B)=-E[y4]E[y3]+3E[y3],
(8)
▽J2(B)=(BBT-I)B.
(9)
把式(8)和式(9)代入公式(5)即得
▽J(B)=-{E[y4]E[y3]+3E[y3]}z(t)-σ(BBT-I)B.
(10)
然后采用瞬時值來替代期望均值即可獲得分離矩陣B的更新公式:
B(t+1)=B(t)-α(y(t)7-3y(t)3)zT(t)-β(B(t)B(t)T-I)B(t).
(11)
因為該算法包含了2個隨機學習步長α和β,因此其稱為隨機雙梯度算法.
在隨機雙梯度算法中采用了峭度作為目標函數,而由于峭度是不穩定的,這就導致利用峭度尋找獨立分量時易受大幅度隨機脈沖干擾的影響.由于負熵不受大幅度隨機脈沖的影響,因此,論文將采用負熵來度量隨機變量的非高斯性以克服峭度的不穩健性.
這里還用公式(5)作為衡量測量信號輸出分量獨立性的準則函數,則用高階積累來近似表達負熵如下:

(12)


(13)
則可得分離矩陣的更新公式為
B(t+1)=B(t)+α(y(t)5-y(t)7+3y(t)3)zT(t)-β(B(t)B(t)T-I)B(t).
(14)
利用公式(14)進行隨機變量的獨立性尋找時,該算法即為基于負熵的隨機雙梯度算法,也即本文提出的改進算法.
下面為改進算法的簡單過程描述.
Step 1:初始化算法所需變量;
Step 2:利用u(t+1)=u(t)+η(t)[I-z(t)z(t)T]u(t)對觀測數據進行白化處理;
Step 3:依據公式(15)求B(t+1)分離矩陣;
Step 4:令t=t+1,轉到Step 3,直到滿足設定的終止條件,算法結束.
在該仿真實驗中,圖1和圖2為兩個獨立的語音信號s1和s2,對它們采用Matlab數學工具進行混合以生成一個混合矩陣,從而獲得如圖3和圖4的兩個混合語音信號.利用本文所提的基于負熵的隨機雙梯度算法對圖3和圖4進行分離結果如圖5和圖6所示,傳統隨機雙梯度算法對圖3和圖4進行分離,結果如圖7和圖8所示.

圖1 原語音信號s1 圖2 原語音信號s2Fig.1 Original speech signal s1 Fig.2 Original speech signal s2

圖3 混合語音信號x1 圖4 混合語音信號x2Fig.3 Mixed speech signal x1 Fig.4 Mixed speech signal x2

圖5 本文算法分離后的語音信號 圖6 本文算法分離后的語音信號Fig.5 Separated speech signal by proposed algorithm Fig.6 Separated speech signal by proposed algorithm

圖7 傳統算法分離后的語音信號 圖8 傳統算法分離后的語音信號Fig.7 Separated speech signal by traditional algorithm Fig.8 Separated speech signal by traditional algorithm
為了進一步證明本文算法性能的優越性,下面給出這兩種算法下原語音信號與對應分離信號之間的相關系數.其結果如表1所示.

表1 兩種算法下原語音信號與分離信號的相關系數
從上述仿真實驗結果來看,同傳統算法相比,論文所提的基于負熵的隨機雙梯度算法能夠分離出與原信號較為接近的信號,據此可知,本文改進算法是可行的.
研究了傳統隨機雙梯度算法,指出其因采用峭度作為目標函數而導致尋找獨立分量時易受大幅度隨機脈沖干擾影響方面的不足,提出利用負熵作為衡量信號量獨立性的構想并給出一個改進的隨機雙梯度算法,并通過仿真實驗證明了該算法的有效性.
[1] 吳宏天,劉 輝.基于方差和峭度的模擬電路故障診斷[J].湖南師范大學自然科學學報, 2011,34(5):32-36.
[2] 傅麗華,何燕子,朱 云.長株潭核心區土地利用生態風險驅動因子分析[J]. 湖南師范大學自然科學學報, 2012,35(5):85-89.
[3] 易靈芝,龔會茹,沈建飛.基于相關因子的太陽能光伏發電系統互補復合孤島檢測研究[J].湘潭大學學報:自然科學版, 2011,33(4):100-104.
[4] 趙知勁, 陳 林, 王海泉. 基于獨立分量分析的實正交空時分組碼盲識別[J].通信學報, 2012,33(11):1-7.
[5] 王冬冬.基于獨立分量分析的熱波檢測圖像增強[J].科學技術與工程, 2013,13(2):512-515.
[6] 楊俊美,余 華,韋 崗. 獨立分量分析及其在信號處理中的應用[J].華南理工大學學報:自然科學版, 2012,40(11):1-12.
[7] 呂淑平,方興杰. 基于獨立分量分析的自適應在線算法[J].計算機應用研究, 2010,27(11):4140-4143.
[8] 于 淼,王曰海,汪國富.基于獨立分量分析的跳頻通信抗梳狀阻塞干擾方法[J]. 解放軍理工大學學報:自然科學版, 2012,13(6):593-598.
[9] 歐世峰,高 穎,趙曉暉.基于隨機梯度的變動量因子自適應白化算法[J].自動化學報, 2012,38(8):1370-1374.
[10] 王法松,張林讓.基于自然梯度的獨立子空間盲信號處理方法[J]. 南京大學學報:自然科學版, 2011,47(4):420-425.
[11] 程 嬌,王曉凱,李 鋒.獨立分量分析可調速率相對梯度算法[J]. 信息與電子工程, 2010,8(2):207-211.
[12] 初銘暢,熊曉路,于 洋.因子分析在創新型科技人才競爭力評價中的應用[J]. 遼寧工業大學學報:自然科學版, 2012,32(5):343-346.
[13] 張和發,李立萍. 含噪獨立分量分析的期望最大化算法[J].電子科技大學學報, 2012,41(4):527-531.
[14] 高 濤.組合2DFLDA監督的非負矩陣分解和獨立分量分析的特征提取方法[J]. 計算機應用研究, 2012,29(4):1588-1590.
(編輯 胡文杰)
Stochastic Dual-Gradient Algorithm Based on Negative Entropy
LUZhong-ning1,CHUYuan-hong2*
(1.School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou 450002, China;2.Huanghe Science and Technology College, Zhengzhou 450063, China)
Stochastic dual-gradient algorithm is an important learning algorithm of independent component analysis, whose convergence speed is slow and steady-state error is large, which leads to inaccuracy in timely signal processing. Focusing on the improvement of stochastic dual-gradient algorithm, a stochastic dual-gradient algorithm based on negative entropy is proposed, in which negative entropy is used to measure the non-Gaussian of random variables and thus to overcome the kurtosis of robustness in the improved algorithm. By theoretical analysis and simulation experiments the paper finally proves that the improved Stochastic Dual-Gradient Algorithm has better separation effect and higher stability.
stochastic dual-gradient algorithm; independent component analysis; negative entropy; kurtosis
2013-04-23
國家自然科學基金資助項目(60970084)
*
,E-mail:chuyuanh@163.com
TP301.6
A
1000-2537(2014)04-0084-04