第一章 緒論
1.1 研究背景
盲訊號分離(blind source separation,BSS)的問題是源於雞尾酒會問題(cocktail party problem)。於雞尾酒會的會場上與人交談,同一時間會有音樂演奏聲、其他 人的對話和與我交談的說話聲。這些聲音全部混合在一起,但我們還是可以分辨 出與我交談的說話聲與其他的吵雜聲,把注意力放在聊天的內容與對話者的聲 音,忽略其他的吵雜聲。如何從各種混雜的聲音中分離出想要聽到的聲音,這就 是盲訊號分離問題。
盲訊號分離之所以被稱為「盲」是因為訊號源和傳遞過程中的混合情形都是 未知的,只藉著分析接收端接收到的混合訊號和訊號源的統計特性,分離出原本 的訊號。近十年盲訊號分離已經成為重要的研究方向,在演算法上有飛快的發展。
盲訊號分離已在通訊系統、生物醫學工程、醫學成像、語音和圖像處理、地震探 測、雷達及經濟數據分析等領域得到廣泛的應用,是目前學術界的熱門研究之一。
盲訊號分離在理論、演算法和應用上都有許多相關研究,可依據訊號源與接 收端的個數關係、訊號源的統計特性、混合過程等狀況分為不同研究類型。盲訊 號分離最初用在處理獨立訊號源(independent sources)的分離上。2010 年,發展 出可以處理獨立和相依訊號源(dependent sources)的邊界成分分析演算法。
1.2 文獻探討
這個章節介紹盲訊號分離的文獻回顧和邊界成分分析的文獻回顧,對這兩個 部分的演算法做研究與探討。
1.2.1 盲訊號分離
最早的盲訊號分離是用來分離獨立訊號的線性混合,當時也稱為獨立成分分 析(independent component analysis,ICA)。1994 年,Comon 給定獨立成分分析問 題的描述、假設和基本架構[1],在訊號源相互獨立的假設下,使用統計方法訂定 目標函數(objective function),搭配最佳化方法求取目標函數的極值,即可分離訊 號。由於獨立成分分析的發展,使盲訊號分離在訊號處理與類神經網路(artificial
2
neural network)領域有了重大的影響,受到學者們廣泛的關注,開啟了盲訊號分 離演算法研究的大門。
1995 年,Bell 和 Sejnowski 提出訊息最大化演算法(information maximization algorithm,Infomax),使用非線性函數來代替高階統計量(higher-order statistics,
HOS),藉由訊息最大化理論來分離相互獨立的訊號[2]。後來 Amari 使用自然梯度
(natural gradient)[3]修改為現在看到的 Infomax 演算法形式,具有好的分離效能 及穩定性。
1997 年,Hyvarinen 等人提出基於四階累積量(fourth-order cumulant)的固定 點演算法(fixed-point algorithm)[4],由於負熵(negentropy)更適合拿來度量訊 號的非高斯性,因此在 1999 年,Hyvarinen 提出使用負熵做為判斷依據的 FastICA 演算法[5]。在 2001 年,再次改良 FastICA 演算法[6],使演算法收斂快速且穩定。
由於 FastICA 演算法使用牛頓法做為最佳化方法,具有三階的收斂速度,比梯度下 降法(gradient descent)的收斂速度快很多。
1.2.2 邊界成分分析
近幾年,處理訊號具有相關度的演算法陸續萌芽。2010 年 Cruces 等人提出邊 界成分分析演算法(bounded component analysis,BCA)[7][8],藉由假設訊號是 有邊界的,分析接收端接收到的混合訊號的凸型封閉曲面(convex hull),提出使 用凸型周長(convex perimeter)的線性組合做為判斷依據的目標函數,求此目標 函數的極小值就可以分離訊號。此演算法使用梯度下降法(gradient descent method)
做為最佳化方法,並且提出使用擬牛頓步長(quasi-Newton step-size)來幫助演算 法得到極值。模擬結果指出此演算法在高信噪比的情況下,即使是較少的訊號樣 本數量(a small number of samples),也可以有效的分離訊號。並且除了可以分離 獨立訊號外,此演算法也可以分離具有相關度的訊號。
2012 年,Cruces 等人提出新的 BCA 演算法[9],該演算法可以處理訊號源個 數大於接收端個數的情況,也就是欠定問題(underdetermined problem)。經由實驗 可知演算法具有比其他演算法較優的性能。
2012 年,Erdogan 藉著 2010 年 Cruces 所提出的邊界特性假設,提出一系列的 BCA 演算法[10]。Erdogan 使用邊界超矩形(bounding hyper-rectangle)和主要超橢
3
球(principal hyper-ellipsoid)兩個幾何概念,以這兩個體積比的數學式做為目標函 數,求此目標函數的極大值,進而得到最佳的分離矩陣。透過模擬,確認此演算 法具有可以分離相依訊號的特性。
2013 年,Erdogan 做了更詳細的介紹[11],對此 BCA 演算法的幾何架構做了 描述與證明。除了實數之外,本文也對此演算法做延伸,可以對複數的訊號源做 處理。實驗結果顯示此演算法具有可以分離具有相關度的訊號以及圖像的特性,
且使用較少的訊號數據量即可進行分離。
2013 年,Erdogan 等人提出新的 BCA 演算法[12],將演算法做延伸後可以處 理卷積混合的情形,透過實驗證實可以分離卷積混合的相依訊號。2014 年,Erdogan 等人再提出一系列的卷積 BCA 演算法[13],除了可以獨立的訊號源之外,還可以 處理在時間和空間維度中具有相關度的訊號源,同樣具有可以處理數據量較少的 訊號源的優點。這些演算法被視為擴展的卷積 ICA 演算法。
在 2015 年,Erdogan 等人提出一個靈活的框架,除了可以處理穩態訊號源外 還,可以處理非穩態的卷積 BCA 演算法[14]。同樣的,此演算法也具有可以處理 獨立和相依訊號源,即使訊號源的數據量較少也可以進行分離。
1.3 研究動機
本論文研究獨立分量分析中較常使用的 Infomax 演算法和 FastICA 演算法。
Infomax 演算法具有不需白化和分離結果穩定的優點,但此演算法需要足夠的數據 量才能有效分離。Infomax 演算法分離效能的好壞與步長有很大的關係,需要選擇 適當的步長。若是步長太大或太小,都不會有好的分離結果。
FastICA 演算法雖然能快速的收斂,但需要白化才能開始執行疊代運算,否則 無法分離出好的結果。而且疊代運算收斂時,不等於有好的分離效能。
為了補足以上缺點,於是開始研究近幾年發展出的 BCA 演算法,該演算法擁 有可以處理獨立性和具有相關度的訊號,並且使用較少的數據量即可進行分離這 兩個優點。同時也研究最佳化方法,藉由使用不同的最佳化方法,希望可以改良 BCA 演算法,在原有的優點上,研發出不用運算去均值和白化且收斂速度快的演 算法。如此一來,不但可以降低演算法複雜度,還是一樣擁有好的分離效能。
4
1.4 論文架構
第一章介紹盲訊號分離演算法文獻回顧與近幾年邊界成分分析演算法的發 展,並提出研究動機。
第二章介紹盲訊號分離的數學架構與會用到的統計相關知識,另外介紹兩個 用來分離獨立訊號源的演算法,Infomax 演算法和 FastICA 演算法。
第三章介紹 BCA 演算法,還有本文提出的 RGBCA 演算法,並比較兩個演算 法的時間複雜度和空間複雜度。
第四章介紹 MATLAB 的實驗結果,使用相互獨立和具有相關度的訊號及圖像 做盲訊號分離的模擬,比較演算法之間的分離效能。
第五章為結論與未來的研究方向。
5