楊波 宋兵



摘 ?要: 在傳統盲源分離算法的基礎上,提出了一種基于改進遺傳算法的盲源分離算法。改進遺傳算法可有效地抑制尋優陷入局部最小,防止了震蕩,加快了權值的收斂速度,適用于非線性混疊情況。實驗結果表明,將遺傳算法和盲源分離相結合對于多路混疊語音信號具有較好的分離效果。
關鍵詞: 盲源分離; 遺傳算法; 非線性; 語音信號
中圖分類號:TP391.9 ? ? ? ? ?文獻標志碼:A ? ? 文章編號:1006-8228(2015)07-48-03
Research of BSS algorithm based on improved genetic algorithm
Yang Bo, Song Bing
(Maternal and Child Health Hospital of YanCheng Information Centre, YanCheng, Jiangsu 224000, China)
Abstract: On the basis of traditional BSS (Blind Source Separation) algorithm, a BSS algorithm based on the improved genetic algorithm is proposed in this paper. The improved genetic algorithm can effectively restrain the optimization into a local minimum, prevent the vibrating, speed up the convergence rate of the weights, and is suitable for nonlinear aliasing situation.The experimental results show that the BSS algorithm combined with the genetic algorithm can get a good separation effect for processing of multiple overlapping speech signals.
Key words: BSS; genetic algorithm; nonlinear; speech signals
0 引言
盲源分離是指在不知道源信號分布和混合系統的情況下,僅根據觀測到的混合信號恢復源信號的過程。由于盲源分離無需知道信號的先驗信息,從而在信號處理領域得到廣泛的應用,語音盲分離更是因為其實用性成為其中研究的熱點。語音分離技術對計算機聽覺、語音識別等方面的研究具有重大意義,同時高質量的語音通信、助聽器、電話遠程會議系統等也都得益于此,因此,語音盲分離的研究具有非常重要的理論價值和應用價值[1]。在通常的盲信號研究中,大多數的盲源分離算法都是假設原信號是線性混疊的,然而在實際中混疊模型更多的是非線性或者弱非線性的,這就要求去尋求一種對非線性混疊情況適用的分離算法。
1 遺傳算法分析及其改進
1.1 遺傳算法簡介
遺傳算法是一種概率尋優算法,其依據生物遺傳進化和優勝劣汰的原理,是以個體適應度為基礎,對個體進行選擇、交叉、變異,搜索參數最優解的智能算法。遺傳算法可以用于對系統的一個或多個參數進行智能優化,優化控制器的控制效果。基本的遺傳算法包含初始化、適應度計算、選擇、交叉、變異、終止判斷等操作。
1.2 遺傳算法的數學分析
由遺傳算法的模式定理可知,若低階、高適應度的某種模式中包含了最優解,則遺傳算法就可能把它找出來,但是若低階、高適應度的所有模式中均沒有包含最優串的值,則遺傳算法就不能找到最優解,通常只能給出次優解。
若在模式H和H'中,不確定位基因的具體位置是一致的,但在任一確定位上的基因編碼均完全不同,就稱H和H'互為競爭模式。例如,10***與01***屬于競爭模式;10***與11***則不屬于競爭模式。
假定f(x)的最大值對應的未知量x的集合為x',H為包含x'的m階模式,H的競爭模式為H',若f(H) 當模式階數為1時: f(**1) f(*1*) f(1**) 當模式階數為2時: f(*11) f(1*1) f(11*) f(*11) f(1*1) f(11*) f(*11) f(1*1) f(11*) 種群個體的編碼位數越多,模式階越高,計算復雜性越高,遺傳算法產生欺騙性問題的可能性就越大,找到全局最優解的難度也就越大。 造成上述欺騙問題的主要原因主要有兩個:編碼不當或適應度函數選擇不當。若它們均為單調關系,就不會存在欺騙性問題,但對于非線性問題,難以實現其單調性。 1.3 遺傳算法的改進 本文對算法進行了改進,在尋優過程中插入種群精簡算法,將種群中相同或者相似度很高的部分個體予以精簡,種群空位以新個體補足,可以有效地保持種群多樣性,同時采用二進制編碼方法,可有效避免算法欺騙性問題的產生,使得算法更有可能找到全局最優解[2]。 由積木塊假設可知,遺傳算法能夠最終找到最優解的條件為:表現型相近的個體基因型類似且遺傳因子間相關性較低。若種群中個體的相關性較高,則不符合此條件,即算法很難找到最優解,因此必須對種群進行精簡,降低個體間的相關性。此處以種群個體間的相似度來表征其相關性。 首先,若種群為非初代種群,則對其個體按適應度由高到低的原則排序,之后比較個體之間的相似度。相似度的計算方法為: 將染色體解碼后的c個參數作為某高維空間中某些點的向量坐標,每個染色體個體都與空間中的一點對應,用兩點間距的倒數表征j、k兩染色體的相似度,相似度計算如式⑴。 ⑴ 其中Djc和Dkc分別代表染色體j、k的第c個參數值。 [開始][確定染色體基因編碼方法][產生初始種群][格雷碼解碼][種群精確算法][適應度評價][選擇、交叉、變異][最優解輸出][滿足終止條件] [結束] [Yes][No] 圖1 ?遺傳算法的工作原理流程圖 設排序后的種群染色體分別為A1、A2、…AN,N為種群個體數。具體相似度比較方法為:首先以A1作為基準,從A2開始逐個比較其與A1的相似度,直至某個體Am與A1的相似度小于設定的閥值l,精簡過程為:若m-1大于L=xT2/3,則保留A1~AL的個體,將AL+1~Am-1個體淘汰,并以新的隨機格雷碼將種群空位補足,否則不作改動。其中T為代數,x為預設值;之后以Am為基準,從Am+1開始逐個檢測其與Am的相似度,比較和精簡方法同前;通過從前到后的比較和精簡,直至遍歷整個種群。圖1為遺傳算法的工作原理流程圖。 2 基于遺傳算法的盲源分離 2.1 非高斯性的度量—峭度 自然界中大部分隨機信號都是超高斯或亞高斯分布,真正滿足高斯分布的很少,因此ICA(獨立量分析方法)具有極其重要的意義。中心極限定理表明,當一組均值和方差為同一數量級的隨機變量,共同作用的結果必定接近高斯分布。因此,如果監測信號是多個獨立源的線性組合,那么監測信號比源信號更接近高斯分布。根據這個思想,對分離的信號非高斯性進行度量,當非高斯性達到最大時,可認為最佳分離[3]。 在實際計算中,非高斯性采用4階累積量即峭度來表示: ⑵ 對于零均值,單位方差的隨機變量[4],式⑵變為: ⑶ 2.2 基于遺傳算法的盲源分離 求解分離矩陣W實際上是一個多峰值、大空間、非線性、高復雜的優化問題,遺傳算法作為一種全局并行搜索算法,其尋優不依賴于問題的梯度信息,對于盲信號分離問題,無需給出變量概率密度函數的表達式,只需通過遺傳算法得到非高斯性最大的分離矩陣W。 2.3 適應度函數的選取 若處理的信號為不同種類的信號,既有超高斯信號,又有亞高斯信號,則單純的峭度函數不能進行正確分離,本算法選用峭度的絕對值之和作為適應度函數,即: ⑷ 在E{yyT}=I約束條件下,對于某一分離矩陣W,J(y)越大,表明yi之間的獨立性越強。 2.4 染色體的編碼方式 格雷碼能夠有效提高遺傳算法的局部尋優能力,因此這里采用格雷碼編碼方式,每個參數采用十位格雷碼表示。以2階分離矩陣為例,W為2*2的方陣,共4個待尋優參數,每個參數用10位格雷碼表示,則染色體為40位長的格雷碼。 2.5 解碼算法 將位串個體從位串空間轉化成問題參數空間的解碼函數Γ,得到的4個十進制的實數。具體的解碼算法為: ⑸ 其中,c為轉化為十進制的待尋優的參數個數,此處c=4;j為種群的染色體個數,即j=Size;i為染色體的序位。 解碼后的位串包含的c個數即為待尋優參數的十進制表示形式,為后續的種群精簡及控制效果評價過程做準備。 3 仿真與試驗研究 取兩路語音信號,采樣頻率為8KHz,長度為450000點,隨機選取混合矩陣A。用遺傳盲源分離算法分離混合語音信號。圖2、圖3為采集到的語音信號,圖4、圖5為經過隨機混合矩陣A后得到的混合信號,圖6、圖7為經過遺傳盲源分離算法后得到的分離信號。 將信號分離前和分離后進行比較發現,信號波的形狀一致,但是幅值大小不同,波形順序不定,這主要是由盲源分離的兩個不確定性決定的。 為了更直接地觀察分離結果的正確性,本文采取將源信號和分離信號分別通過快速傅里葉變換在頻域下進行比較,如圖10、圖11所示。通過對經過FFT變換得到的幅頻圖對比可以看出,分離信號的幅頻圖很接近源信號的幅頻圖(在此不考慮幅值大小和信號順序的問題)。 由此可見,該方法所實現的分離信號能夠很好地再現源信號。 4 結論 本文針對遺傳算法的欺騙性進行改進,在尋優過程中插入種群精簡算法,有效地抑制網絡陷入局部最小,防止了震蕩,加快了權值的收斂速度。算法所分離的信號與原信號在順序上都不一致,且幅度和相位各不相同,這正是盲信號分離的兩個不確定性決定的[5-6]。從仿真實驗可以看出,遺傳算法做盲信號分離得到的信號與源信號相比,吻合情況較為滿意。因此,改進的遺傳算法用于多路混疊語音信號分離具有可行性和有效性。 參考文獻: [1] Taleb A,Jutten C. Source separation in post nonlinear mixtures[J]. IEEE Trans. Signal Processing,1999.47: 2807-2820 [2] K. Matsuoka, M. Kawamoto, M. Ohya. A Neural Net for Blind separation ofNonstationary Signal Source. Neural Networks,1995.8(3):411-419 [3] 楊俊安,王倫文,莊鎮泉.基于高階統計理論和量子遺傳算法的非線 性盲源分離算法研究[J].模式識別與人工智能,2004.1:41-45. [4] 彭安洪,賴惠成.一種采用云自適應粒子群算法的盲源分離[J].計算 機仿真,2013.30(9):340-343 [5] 馬建芬,李鴻燕,張雪英等.盲源分離在單通道語音增強算法中的應 用[J].計算機應用,2006,26(11):2694-2695 [6] 金敏,魯華祥.一種遺傳算法與粒子群優化的多子群分層混合算法[J]. 控制理論與應用,2013.30(10):171-174