麻凱利,王川川
(電子信息系統(tǒng)復雜電磁環(huán)境效應國家重點實驗室,河南 洛陽 471003)
盲源分離(BBS) 自20世紀80年代開始發(fā)展,是一種非常實用的信號處理方法,指的是從混合的觀測信號中提取、分離出無法直接得到的原始信號的技術??臻g譜技術中大部分算法需要知道入射信號數(shù)N,以此作為盲源分離的前提和基礎,因而輻射源個數(shù)估計也一直是研究的熱點和難點。
現(xiàn)在信源數(shù)估計的主要算法有:信息論準則[1]、矩陣分解法、蓋氏圓準則(GDE)[2]和正則相關技術。其中信息論準則適用于陣元接收的噪聲是高斯白噪聲的場合,而實際環(huán)境中更多地存在有色噪聲,在有色噪聲的干擾下,算法性能會受很大影響。矩陣分解法需要接收的信號有比較高的信噪比。在有色噪聲的環(huán)境下可以使用蓋氏圓準則和正則相關技術對信源數(shù)作有效的估計,但是正則相關技術的信源數(shù)估計需要有兩個分開陣列的接收信號,因而使用的陣列需要滿足一定的孔徑。蓋氏圓準則因為其在低信噪比的情況下正確率比信息論準則和矩陣分解法要高,而且在有色噪聲的情況下仍然可以有效估計信源數(shù),所以得到了廣泛使用。
蓋氏圓準則設計中存在人為確定調整因子的問題,因而整個過程不能完全自動處理,并且需要進行奇異值分解,計算量較大。GDE準則法在低信噪比條件下檢測性能也不盡如人意。使用基于深度學習的命名為3CPB的模型,則可以使系統(tǒng)在數(shù)據(jù)中自適應地調整參數(shù),不但識別性能得到改善,而且避免了人為因素造成的影響。
將信號轉換為二維時頻圖[3]之后使用深度卷積網絡來對信號進行分析[4]是現(xiàn)下技術水平中一個可行的路線。但這其中涉及到網絡結構的設計與優(yōu)化、網絡參數(shù)的選擇等。深度學習技術在信號分析中的使用更多的是淺層網絡的使用,近幾年優(yōu)秀的網絡結構還沒有能引入到信號處理的網絡中來提高信號源數(shù)估計的性能。在綜合考慮網絡的規(guī)模、結構、參數(shù)之后,可以使用端到端的卷積神經網絡來對信號源的數(shù)目進行一個準確的估計,在源數(shù)估計問題上開辟一個新的技術路線。
深度學習中主要使用的是多層神經網絡,其主要分為前向神經網絡(FNN)和遞歸神經網絡(RNN)兩種。最普遍的神經網絡類型是前向網絡,其設計基礎是受到人類大腦皮層結構的啟發(fā),網絡由一層一層的計算單元疊加而成,每層的輸出進行一定的變換并作為下一層的輸入,每層計算單元由數(shù)量固定的神經元組成。在每個網絡模型中,首層是輸入層,最后一層為輸出層,中間所有的層都叫做隱含層。前向網絡中,數(shù)據(jù)從輸入層開始,經過數(shù)個隱含層的變換,自底向上的傳遞,并經過輸出層得出計算結果,網絡結構是有個有向無環(huán)圖。圖1展示了前向神經網絡和遞歸神經網絡的幾種結構示例,箭頭代表了數(shù)據(jù)的傳遞方向,方框代表了每個計算層。本節(jié)以前向網絡為基礎介紹神經網絡中一些基礎概念。在計算機視覺中前向網絡針對圖像的二維矩陣特性發(fā)展為一種卷積神經網絡(CNN),由于其結構的特殊性,本文在下一節(jié)介紹卷積神經網絡的相關知識。
圖1 神經網絡的常見結構
前向傳播是數(shù)據(jù)從輸入層,經過隱含層的變換最終從輸出層得到計算結果的一系列計算過程。以形式較為簡單的分類神經網絡為例,樣本的輸入為x,樣本的標簽為y,隱含層中使用的非線性激活函數(shù)為σ。則輸入層下一層的隱含層輸入為α(1)和激活h(1)之間的關系為:
α(1)=W(1)x+b(1)
(1)
h(1)=σ(a(1))
(2)
式中,W(1)是參數(shù)矩陣,是與輸入數(shù)據(jù)維度對應的矩陣數(shù)列,需要由訓練過程來確定,b(1)為偏差向量,初始為隨機數(shù),也是由迭代訓練來確定。激活函數(shù)σ使用sigmoid函數(shù)進行非線性變換。由此步驟將第一層的參數(shù)傳輸?shù)较乱粚?,網絡的前向傳播依次一層一層向后傳播直到網絡的輸出層。
神經網絡的訓練是一個從后向前依次更新參數(shù)的過程,使用梯度下降的方法指導參數(shù)更新。因此,計算網絡損失函數(shù)的值對參數(shù)的梯度來說非常重要,反向傳播就是通過不斷迭代來計算參數(shù)梯度的最普遍的方法。由于神經網絡層數(shù)多,是一個復雜的非線性系統(tǒng),損失函數(shù)的解析式很難得出,因而反向傳播以一種一層一層信息傳遞的方式來迭代進行,在每層計算出每個計算單元中參數(shù)的梯度。也就是說,反向傳播是一個局部的算法,每次計算的時候只考慮局部的輸入輸出,不用考慮整個網絡模型。
卷積神經網絡(CNN)[5-6]是最廣泛應用于計算機視覺的一個發(fā)展方向。卷積神經網絡可以提供多任務的融合以及端到端的訓練和測試,使得算法會更簡便。卷積神經網絡是針對圖像所設計的一種特殊的前向神經網絡,針對圖像二維矩陣數(shù)據(jù)之間的關聯(lián)性進行了優(yōu)化,主要包含卷積層、池化層、全連接層、激活函數(shù)層這幾種計算層。
1.3.1 卷積層
卷積層是卷積神經網絡最有特色的一部分,同時該層中也包含了整個網絡中絕大部分的參數(shù)。卷積層是對二維輸入進行滑動窗卷積,也就是對圖像的空域卷積。網絡中每一層的節(jié)點只與前一層的k×k的局部區(qū)域相連接,前一層參與連接的k×k個點構成與之連接的這個節(jié)點的感受野,因此,隨著層數(shù)的增加,感受野也在不同層之后逐漸積累,越來越大。即底層的每個節(jié)點對應的圖像上的點比較少,感受野小,更上層的節(jié)點對應的圖像上的點多,感受野大。這在一定程度上也造成了卷積層在前幾層提取到的特征較為低級,如邊緣、線條、角,而更高層的卷積層提取到更高級的特征。
1.3.2 批量歸一化
深度神經網絡難以訓練的另一個原因是模型是由一層一層的神經網絡疊加而構成,每一層作用于前一層之上,訓練時每一層權值的調整都是基于上一層的輸出。然而,在網絡的訓練過程中,每一層的參數(shù)在變化,輸出數(shù)據(jù)的分布也隨之變化,這樣,網絡每一層輸入數(shù)據(jù)的分布受到之前所有層的影響,這使得權值的更新在擬合一個變動的權值分布,并且網絡越深,底層微小的參數(shù)變化累積后的效應會更加明顯。
這一現(xiàn)象影響了網絡訓練的速度同時也使網絡更加難以訓練,Ioffe等人[7]提出了批量歸一化(BN),將網絡每一層的輸入數(shù)據(jù)的每一維進行歸一化。同時,BN 引入尺度參數(shù)γ和偏移參數(shù)β使得網絡的表達能力不下降。BN層的歸一化參數(shù)與網絡參數(shù)的訓練同步進行。BN極大地提高了網絡訓練的穩(wěn)定性和速度,是訓練深度神經網絡時必用的關鍵技術。
1.3.3 池化層
池化層主要作用是通過降低數(shù)據(jù)的大小來減少訓練的參數(shù)個數(shù),并且可以有效地防止數(shù)據(jù)過擬合的發(fā)生。最常用的方法是最大化池化、平均池化,即在給定池化區(qū)域和步長之后,從區(qū)域中選擇數(shù)值最大的點或者區(qū)域平均值作為整個區(qū)域的代表,這種操作可以提取區(qū)域內最有特征的點并增加抗噪能力。
圖2 不同層的可視化
池深度學習之所以能有很強的特征表達能力,很大程度上得力于模型有很多個層次結構,不同卷積層能學習到不同抽象程度的特征,圖2中展示了使用Zeiler[8]等人設計的卷積神經網絡在ImageNet 數(shù)據(jù)集上學習得到的各層特征的可視化。對于每一個卷積層,圖2中展示了其最高的9 個響應值,同時伴隨顯示了該響應所對應的原圖上的感受野??梢钥吹?,卷積神經網絡具有強大的特征表示能力,同時,隨著網絡層數(shù)的升高,網絡對于圖像中的相應面積越來越大,所提取的特征也從底層梯度特征逐漸擴大到高層目標區(qū)域特征。
可以看出在卷積層前幾層所學習到的特征為邊緣、角的特征,而層數(shù)加深的時候慢慢學到更抽象的一些概念如輪子、眼睛等,而這種底層特征在不同目標之間是通用的,即在信號數(shù)據(jù)處理過程中,也存在著神經網絡前幾層提取的特征較為底層,而隨著網絡的加深,所提取到的信息更加抽象、更加復雜。
估計輻射源信號個數(shù)時,要對傳感器內接收到的信號進行一定的預處理,文獻[9]指出雷達信號時頻特征具有唯一可辨識性,因此,在本系統(tǒng)中采用短時傅里葉變換(STFT)將信號表征為二維時頻分布??勺⒁獾?,一方面變換域同時涵蓋了時域和頻域的有意調制信息,另一方面可考慮利用圖像處理方式處理二維時頻圖,示例圖如圖3所示。
圖3 幾種典型信號的時頻圖
同時,在卷積網絡池化層、權值共享等相關機制的作用下,時頻圖原本維度過高的缺點也能得到抑制,這也是深度卷積網絡在圖像上應用的一大特點。
選取7種有代表性的信號來構造訓練集、測試集,以驗證算法的有效性,即使用線性調頻LFM信號、非線性調頻NLFM信號、二頻率編碼BFSK、四頻率編碼QFSK、二相編碼BPSK、四相編碼QPSK編碼、常規(guī)脈沖信號CP這7種典型信號的不同混合來模擬混合信號。圖3為二頻編碼、二相編碼、QPSK編碼的幾個樣本。
現(xiàn)有的應用于數(shù)據(jù)分析的基于神經網絡的系統(tǒng)大多只是淺層網絡,只包含一個隱含層,并不能將深度卷積網絡的特性充分發(fā)揮。然而過于深的網絡或者過于寬的網絡又會出現(xiàn)訓練困難、無法收斂或者是過擬合等問題。需要針對具體問題、數(shù)據(jù)特點設計相應深度、寬度、結構的網絡。
2.2.1 網絡搭建
在網絡結構上,根據(jù)實際問題決定網絡的深度,一般認為卷積層的個數(shù)為網絡的深度。同時過深的網絡也會導致訓練過程容易發(fā)散或者網絡過擬合的問題。在本問題中,使用3個卷積層,每個卷積層之后都加上池化層,以此減小圖片的維度,提取其中有用特征。在分析圖3后,認為與普通分類任務相比,時頻圖的池化操作中更應保持信號的能量,尤其是在較低分辨率的情況下,因而網絡中所有的池化層都采用最大池化,如圖4中的pool模塊。為增強模型非線性表達能力,在每個卷積層后都添加激活層。這個操作在卷積神經網絡的設計中基本已經成為標準操作。模型難以在一行中畫出, 以數(shù)字1、 2表示對應的連接。
圖4 3PCB模型結構圖
考慮到讓網絡有更好的訓練效果,在2次pooling操作后還分別加入2個批量歸一化層,保證網絡可以盡快收斂。由于本模型最大的特征是有3個卷積層,及每個卷積層后都有pool池化和Batch Normalization操作,因而為這個模型取名3CPB模型,即3個卷積、池化、批量歸一化的線性網絡。
2.2.2 Kernel Size
在近幾年Alexnet[10]、VGGNe[11]等網絡的設計經驗中,知道了用更小的卷積核可以使網絡在有相同感受野的情況下有更多的非線性表達能力、更少的參數(shù)、更容易訓練。如一個5×5的卷積核感受野為25,參數(shù)為25個。而用3×3的卷積核時,要完成對5×5面積的卷積,則需要2層:第一層卷積后得到3×3的特征圖,第二層卷積之后得到1個特征點。小卷積核對相同5×5面積進行濾波一共需要9+1=10個參數(shù),而2層的特征表達能力又會比一層表達能力更強,因而更小的卷積核可以使得計算量更小、網絡表達能力更強。因此針對信號源數(shù)估計的網絡我們普遍采用3×3的卷積核。
在仿真生成混疊信號時,在添加不同強度的隨機高斯噪聲的情況下,仿真生成20000組不同數(shù)據(jù),其中包括單個信號、不同的2種信號的混疊、不同的3種信號的混疊。每種信號的強度、參數(shù)、以及添加的噪聲都是隨機的。將整個數(shù)據(jù)集中40%拿出來當作測試集檢驗模型效果,剩余部分當作訓練集。為了加快模型訓練、檢測速度,將混疊信號的時頻圖片縮放到32×32大小后作為網絡的輸入。圖5分別為1種、2種、3種信號的混疊。其中圖5(a)是二頻編碼,圖5 (b)是二頻編碼和二相編碼信號的混疊,圖5 (c)是三種信號的混疊的時頻圖。其信號源個數(shù)分別為1、2、3。
圖5 混疊信號時頻圖
Caffe平臺是一個非常流行的深度學習框架,這個模型也基于caffe來構建,訓練模型過程中超參選擇為迭代60000次、初始學習率設為0.001,學習率固定不變。
對比網絡在不同信噪比的情況下對信號源數(shù)估計的準確率,同時也對比相同信噪比情況下,不同網絡配置時準確率的變化,以找到網絡結構對源數(shù)估計相關問題的優(yōu)化方向。
本文在不同信噪比情況下對網絡識別的性能進行了對比試驗,同時也就池化層的2種方式訓練了不同的模型來對照。表1中信噪比-5dB的情況下,池化層是最大化池化的設置確實可以使網絡更加精確。在信噪比越高的情況下,識別精度也隨之提高。在信噪比10dB的數(shù)據(jù)集中可以達到98.5%的識別準確率。
表1 不同條件下源數(shù)估計準確率
在信號盲源分離領域,針對信號源數(shù)估計的問題,本文引入深度學習這一方法。通過將信號變換到時頻空間,使用卷積神經網絡來進行問題求解。借鑒現(xiàn)有的較成熟的網絡結構,針對問題規(guī)模、時頻圖像特征,通過設計、調參、精調等方式使用3CPB模型解決問題。將深度卷積網絡引入源數(shù)估計領域,為源數(shù)估計開辟了除傳統(tǒng)方法之外的新的技術路線,使得模型在有色噪聲干擾下有較好的識別效果。