欒先冬,徐 巖
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
?
基于螢火蟲算法的變步長(zhǎng)語(yǔ)音信號(hào)盲源分離
欒先冬,徐巖
(蘭州交通大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州 730070)
摘要針對(duì)傳統(tǒng)的自然梯度算法對(duì)語(yǔ)音信號(hào)進(jìn)行盲源分離時(shí),算法存在收斂速度和穩(wěn)態(tài)誤差的矛盾。文中提出一種新的變步長(zhǎng)自然梯度算法,利用熒火蟲算法對(duì)自然梯度算法的步長(zhǎng)調(diào)整,使算法的步長(zhǎng)隨信號(hào)的分離度變化,并通過(guò)計(jì)算機(jī)仿真驗(yàn)證了該算法的有效性,算法的分離效果更好,收斂速度更快,且穩(wěn)態(tài)誤差更小。
關(guān)鍵詞螢火蟲算法;變步長(zhǎng);盲源分離
盲源分離[1-2]是指在不知道源信號(hào)和混合方式條件下,根據(jù)源信號(hào)的統(tǒng)計(jì)特性從觀測(cè)信號(hào)中恢復(fù)出源信號(hào)的過(guò)程。最典型的例子就是雞尾酒會(huì)[3]問(wèn)題。作為當(dāng)今信息處理領(lǐng)域中研究的熱點(diǎn),隨著其理論和技術(shù)的不斷發(fā)展和成熟,已在語(yǔ)音信號(hào)分離與識(shí)別[4]、圖像處理與識(shí)別[5]、生物醫(yī)學(xué)信號(hào)處理[6-7]等領(lǐng)域有著廣泛應(yīng)用。
獨(dú)立成分分析[8](Independent Compo-nent Analysis,ICA)作為盲源分離的一種主要方法,先假設(shè)源信號(hào)間相互獨(dú)立,再對(duì)觀測(cè)信號(hào)進(jìn)行某種非線性變換,使各輸出信號(hào)間盡可能的相互獨(dú)立。目前ICA中有許多有效的算法,如擴(kuò)展Infomax算法[9],F(xiàn)astICA[10],自然梯度算法[11]等。其中以自然梯度算法最為著名。
Amari在隨機(jī)梯度算法的基礎(chǔ)上,從黎曼空間的角度出發(fā),提出了自然梯度算法[12]。事實(shí)上,自然梯度算法的穩(wěn)定性更強(qiáng),分離效果更好。學(xué)習(xí)步長(zhǎng)和非線性函數(shù)的選取影響自然梯度算法的性能,因此選擇一個(gè)理想的步長(zhǎng)是關(guān)鍵。當(dāng)傳統(tǒng)的自然梯度算法對(duì)語(yǔ)音信號(hào)盲分離時(shí),步長(zhǎng)通常被設(shè)定為一個(gè)固定常量,設(shè)定過(guò)大雖然收斂速度快,但影響算法的穩(wěn)定性,甚至不能收斂;過(guò)小雖增加一定的穩(wěn)定性,但收斂速度慢,不能滿足人們的要求。本文提出了一種基于螢火蟲算法的變步長(zhǎng)自然梯度算法,通過(guò)用螢火蟲算法去優(yōu)化自然梯度算法中的步長(zhǎng),使選擇的步長(zhǎng)不斷變化且達(dá)到信號(hào)的最大分離度,從而更快、更好地分離觀測(cè)信號(hào)。
1盲源分離問(wèn)題
1.1盲源分離的基本模型
盲源分離問(wèn)題的一般模型如圖1所示。
圖1盲源分離框圖
S(
t
)=[S
1
(
t
),S
2
(
t
),…S
n
(
t
)]
T
為
n
個(gè)語(yǔ)音源信號(hào),X(
t
)=[X
1
(
t
),X
2
(
t
),…X
n
(
t
)]
T
為
n
個(gè)傳感器接受到的觀測(cè)信號(hào),忽略噪聲和傳輸延遲的影響,即線性瞬時(shí)無(wú)噪聲混合模型。則觀測(cè)信號(hào)與源信號(hào)之間的關(guān)系為
X(t)=AS(t)
(1)
式中,A是一個(gè)n×n的非奇異矩陣,模擬傳輸信道的參數(shù)。盲源分離問(wèn)題的實(shí)質(zhì)就是在混合矩陣A和源信號(hào)St未知的情況下估計(jì)分離矩陣W,使X(t)通過(guò)W后輸出各分量盡可能相互獨(dú)立的Y(t)即
Y(t)=WX(t)=WAS(t)
(2)
輸出的Y(t)為源信號(hào)S(t)的估計(jì)。
1.2自然梯度算法
能否找到最佳的分離矩陣W是盲源分離問(wèn)題的關(guān)鍵。為此人們用互信息最小化、最大似然估計(jì)法、信息極大化等許多不同的方法求得最優(yōu)解。依據(jù)自然梯度算法的定義,所有方法可總結(jié)為相同的迭代表達(dá)式
Wk+1=Wk+u(I-φ(Y)YT)Wk
(3)
式中,k為迭代次數(shù);Wk為k次的分離矩陣;u為步長(zhǎng)(學(xué)習(xí)率);I為單位矩陣;φ(Y)為非線性函數(shù),與源信號(hào)的概率密度有關(guān),不同的信號(hào)分布采用不同的非線性函數(shù),由于所研究的算法針對(duì)語(yǔ)音信號(hào)的盲源分離,絕大數(shù)語(yǔ)音信號(hào)服從亞高斯分布,因此本文采用 。
2螢火蟲算法
劍橋?qū)W者Yang在2009年提出螢火蟲算法[13-14](Firefly Algorithm,F(xiàn)A),是模擬自然界中螢火蟲發(fā)光行為的隨機(jī)優(yōu)化算法。利用其發(fā)光特性和趨光特性向亮度更高的位置移動(dòng),進(jìn)而找到最大亮度的螢火蟲位置。與遺傳算法和粒子群算法相比,螢火蟲算法具有使用簡(jiǎn)單、魯棒性強(qiáng)、易于實(shí)現(xiàn)等特點(diǎn),收斂速度更快、搜索全局最優(yōu)解的能力更強(qiáng)且不易于陷入局部極值,從而使尋優(yōu)結(jié)果更準(zhǔn)確。目前已被應(yīng)用到裝配序列規(guī)劃問(wèn)題[15]、圖像分割處理[16]等方面。
亮度和吸引度是螢火蟲算法的兩個(gè)重要參數(shù)。亮度體現(xiàn)了螢火蟲所處位置的優(yōu)劣并決定其移動(dòng)方向;螢火蟲移動(dòng)的距離則由吸引度決定。不斷地更新亮度和吸引度使被優(yōu)化的目標(biāo)達(dá)到最佳位置。
螢火蟲的相對(duì)熒光亮度為
I=I0×e-γrij
(4)
其中,I0為螢火蟲的自身最大熒光亮度(r=0 ),其大小取決于目標(biāo)函數(shù),目標(biāo)函數(shù)值越大其自身亮度就越亮;γ為光強(qiáng)吸收系數(shù),傳播介質(zhì)的吸收和螢火蟲個(gè)體間距離的增加使熒光逐漸減弱,rij為螢火蟲個(gè)體i和j之間的空間距離。
螢火蟲的吸引度為
(5)
其中,β0為最大吸引度,即螢火蟲間距離為零時(shí)的吸引度。被吸引后,螢火蟲i根據(jù)式(6)向熒火蟲j移動(dòng),更新自身的位置
Xi=Xi+β×(Xj-Xi)+α×(rand-0.5)
(6)
其中,Xi,Xj為螢火蟲i和j所處空間的位置;α為步長(zhǎng)因子,是[0,1]上的常數(shù);rand為[0,1]上服從均勻分布的隨機(jī)因子。螢火蟲移動(dòng)的距離主要由吸引度的大小決定。亮度高的螢火蟲向亮度低的螢火蟲移動(dòng)。在螢火蟲位置的更新過(guò)程中加入擾動(dòng)項(xiàng)α×(rand-0.5)可擴(kuò)大搜索區(qū)域,防止過(guò)早陷入局部極值點(diǎn)。所有螢火蟲個(gè)體在經(jīng)過(guò)多次的擾動(dòng)后都聚集在亮度最高的螢火蟲的位置上,從而找到最優(yōu)解。
3變步長(zhǎng)自然梯度算法
3.1目標(biāo)函數(shù)的選取
取
(7)
式中, ‖·‖為Frobenius范數(shù);ΔWk定性上表示的是信號(hào)的分離的狀態(tài):若信號(hào)的分離狀態(tài)差,則ΔWk值越大;反之ΔWk值越小。當(dāng)ΔWk=0時(shí),信號(hào)得到完全分離。由式(7)可知信號(hào)的分離狀態(tài)與步長(zhǎng)u的大小有關(guān)。因此,可通過(guò)對(duì)ΔWk的控制選擇合適的u。
3.2算法原理
初始化螢火蟲個(gè)體的個(gè)數(shù)及位置,個(gè)數(shù)表示步長(zhǎng)參數(shù)的數(shù)量;位置表示所選步長(zhǎng)參數(shù)的大小。將ΔWk作為螢火蟲算法的目標(biāo)函數(shù),通過(guò)最小化這個(gè)目標(biāo)函數(shù)使得經(jīng)過(guò)數(shù)次迭代后算法返回的值是亮度最大的螢火蟲的位置,即達(dá)到最大分離度時(shí)的步長(zhǎng)。
3.3算法步驟
(1)對(duì)觀測(cè)信號(hào)白化和去均值處理。可減小計(jì)算量,提高算法精度;(2)初始螢火蟲算法參數(shù)。螢火蟲個(gè)體初始位置、螢火蟲的個(gè)體數(shù)量M、最大吸引度β0、步長(zhǎng)因子α、光強(qiáng)吸收系數(shù)γ、最大迭代次數(shù)T;(3)計(jì)算螢火蟲的亮度并排序。計(jì)算每個(gè)螢火蟲對(duì)應(yīng)的ΔWk,將其值視為其亮度,排序后得到亮度最大的螢火蟲位置;(4)判斷迭代是否結(jié)束。判斷迭代次數(shù)是否到達(dá)到最大迭代次數(shù)T,達(dá)到則轉(zhuǎn)步驟(5),否則轉(zhuǎn)(6);(5)輸出亮度最大的螢火蟲位置及其亮度,將得到的最大亮度的位置作為自然梯度算法的步長(zhǎng),對(duì)語(yǔ)音信號(hào)進(jìn)行分離;(6)更新螢火蟲位置。對(duì)已在最優(yōu)位置的螢火蟲進(jìn)行一次隨機(jī)擾動(dòng),故搜索次數(shù)加一次,轉(zhuǎn)步驟(3)進(jìn)行下一次移動(dòng)。
4仿真實(shí)驗(yàn)及性能分析
4.1仿真實(shí)驗(yàn)
選取3路純凈的語(yǔ)音信號(hào)S1,S2,S3作為源信號(hào)來(lái)驗(yàn)證算法的可行性。計(jì)算機(jī)仿真后得到圖2所示。再隨機(jī)產(chǎn)生一個(gè) 階的混合矩陣 ,與語(yǔ)音源混合后變成三路混合信號(hào)X1,X2和X3。仿真結(jié)果如圖3所示。
選取固定步長(zhǎng)為u=0.000 1;螢火蟲個(gè)數(shù)M=50;螢火蟲的初始位置U=0.000 5×rand(1,50);最大吸引度β0=1.0;光強(qiáng)吸收系數(shù)γ=1.0;步長(zhǎng)因子α=0.000 2;最大迭代次數(shù)T=100。使用傳統(tǒng)固定步長(zhǎng)自然梯度算法和本文所提出的基于螢火蟲算法的變步長(zhǎng)自然梯度算法分別對(duì)混合信號(hào)進(jìn)行分離,兩種算法各自最大的迭代次數(shù)為300;初始化分離矩陣W=0.1×eye(3,3);計(jì)算機(jī)仿真的分離結(jié)果如圖4和圖5所示。
圖2 語(yǔ)音源信號(hào)
圖3 混合信號(hào)
4.2性能分析
通過(guò)觀察兩種算法分離后得到的分離信號(hào),如圖4和圖5所示,兩種算法都能有效地分離出信號(hào)。由于ICA算法存在分離順序和幅度的不確定性,因此暫時(shí)不考慮這兩個(gè)因素。用螢火蟲算法改進(jìn)的變步長(zhǎng)自然梯度算法得到的分離信號(hào)相比于固定步長(zhǎng)的自然梯度算法更加接近原始語(yǔ)音信號(hào)。
圖4 固定步長(zhǎng)分離信號(hào)
圖5 螢火蟲算法改進(jìn)分離信號(hào)
通過(guò)具體的評(píng)價(jià)指標(biāo)分析:本文選用分離后輸出信號(hào)的串音誤差E[17]來(lái)量化分離算法的性能。串音誤差
(8)
式中,Pij為全局矩陣G的元素;G=W×A;maxk|Pij|表示G的第k行或列元素絕對(duì)值中的最大值。當(dāng)信號(hào)得以精確分離時(shí),理論上 的值應(yīng)該為零,但實(shí)際上一般為較小的值。
通過(guò)仿真得到兩種算法的串音誤差E如圖6所示。
圖6 串音誤差曲線圖
兩種算法獨(dú)立運(yùn)行30次,得到兩種自然梯度算法達(dá)到收斂時(shí)的平均串音誤差和平均迭代次數(shù)的結(jié)果如表1所示。
表1 兩種自然梯度算法的性能比較
從兩種算法的串音誤差E可看出,本文提出基于螢火蟲算法的變步長(zhǎng)自然梯度算法與傳統(tǒng)的固定步長(zhǎng)的自然梯度相比,有更快的收斂速度和更小的串音誤差,說(shuō)明改進(jìn)后的算法在語(yǔ)音信號(hào)的分離性能優(yōu)于傳統(tǒng)的自然梯度算法。
5結(jié)束語(yǔ)
本文提出了基于螢火蟲算法的變步長(zhǎng)自然梯度算法,與傳統(tǒng)的固定步長(zhǎng)自然梯度相比,該算法具有更理想的收斂速度和穩(wěn)態(tài)誤差,有效地解決了收斂速度和穩(wěn)態(tài)誤差的矛盾。理論分析和實(shí)驗(yàn)結(jié)果都表明該算法優(yōu)于傳統(tǒng)的固定步長(zhǎng)自然梯度算法。由于本文所使用的是最基本的螢火蟲算法,下一步可通過(guò)對(duì)其進(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é)報(bào),2003,8(3):55-59.
[6]馬明,鄒志斌,楊玉林,等.采用盲源提取和后小波濾波的胎兒心電圖提取[J].儀器儀表學(xué)報(bào),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]馬守科,何選森,許廣廷.基于擴(kuò)展Informax算法的變步長(zhǎng)在線盲分離[J].系統(tǒng)仿真學(xué)報(bào),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] 馬建倉(cāng),馮冰,程存虎,等.自然梯度盲分離算法在振動(dòng)信號(hào)處理中的應(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] 劉長(zhǎng)平,葉春明.一種新穎的仿生群智能優(yōu)化算法:螢火蟲算法[J].計(jì)算機(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].計(jì)算機(jī)集成制造系統(tǒng),2014,20(4):799-806.
[16] 陳愷,陳芳,戴敏,等.基于螢火蟲算法的二維熵多閾值快速圖像分割[J].光學(xué)精密工程,2014,22(2):517-523.
[17] 李宗,馮志鵬,褚福磊.基于改進(jìn)的串音誤差的盲分離評(píng)價(jià)指標(biāo)[J].振動(dòng)與沖擊,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
基金項(xiàng)目:國(guó)家自然科學(xué)基金資助項(xiàng)目(61461024)
作者簡(jiǎn)介:欒先冬(1991-),男,碩士研究生。研究方向:語(yǔ)音信號(hào)增強(qiáng)等。徐巖(1963-),男,教授。研究方向:盲信號(hào)處理等。
doi:10.16180/j.cnki.issn1007-7820.2016.07.002
中圖分類號(hào)TN912.35
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)1007-7820(2016)07-004-04