李 偉,朱衛(wèi)綱,朱霸坤
(航天工程大學(xué) a.研究生院;b.電子與光學(xué)工程系,北京 101416)
雷達(dá)輻射源識別是情報偵察、獲取敵情的重要手段,準(zhǔn)確的雷達(dá)輻射源識別是掌握戰(zhàn)爭主動權(quán)的關(guān)鍵。傳統(tǒng)雷達(dá)輻射源主要通過人工提取脈沖描述字參數(shù)構(gòu)成特征向量進(jìn)行識別,如模板匹配法、專家系統(tǒng)等。隨著雷達(dá)的自適應(yīng)技術(shù)和頻率捷變能力的提高,現(xiàn)代雷達(dá)信號特征日益復(fù)雜,傳統(tǒng)的雷達(dá)輻射源調(diào)制類型識別技術(shù)已經(jīng)不能適應(yīng)現(xiàn)代雷達(dá)輻射源調(diào)制類型識別領(lǐng)域。
近年來,機(jī)器學(xué)習(xí)因其自適應(yīng)的特征提取能力以及良好的泛化能力,在雷達(dá)輻射源調(diào)制類型識別領(lǐng)域的應(yīng)用研究越來越多。文獻(xiàn)[1]提出使用層級自動編碼器進(jìn)行輻射源識別,文獻(xiàn)[2]和文獻(xiàn)[3]分別提出使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)和改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行輻射源識別,但目前絕大多數(shù)神經(jīng)網(wǎng)絡(luò)都存在運(yùn)算量和功耗大的缺點(diǎn)。為此,本文提出使用事件驅(qū)動的脈沖神經(jīng)網(wǎng)絡(luò)來識別雷達(dá)輻射源。通過與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)對比,本文方法具有優(yōu)良的檢測精度,能夠滿足低功耗的要求。
在傳統(tǒng)的雷達(dá)數(shù)據(jù)處理中,只用了時域或者頻域的單一特征,而時頻二維特征圖可以同時從時域和頻率兩方面來表示信號[4]。時頻變換是通過對時頻的二維聯(lián)合函數(shù)積分求得[5],通過選擇不同的核函數(shù),可產(chǎn)生不同的時頻分布[6],主要包括Bord-Jondan分布、Choi-Williams分布和平滑偽Wigner-Ville分布等。Bord-Jondan分布效果稍好且不存在尺度因子選擇的問題,所以本文采用Bord-Jondan分布來實(shí)現(xiàn)雷達(dá)輻射源的時頻二維圖。Bord-Jondan時頻分布表達(dá)式如下:
(1)
(2)
式中:φ(t,τ)為核函數(shù)。本文采用5種常見雷達(dá)調(diào)制類型,即頻移鍵控(Frequency Shift Keying,F(xiàn)SK)、二進(jìn)制相移鍵控(Binary Phase Shift Keying,BPSK)、連續(xù)波(Continuous Wave,CW)雷達(dá)、線性調(diào)頻(Linear Frequency Modulation,LFM)、非線性調(diào)頻(Nonlinear Frequency Modulation,NLFM)。上述信號采用全頻段信噪比,加入隨機(jī)高斯白噪聲,全頻段帶寬取50 MHz,采樣頻率取100 MHz。其中,F(xiàn)SK上下頻分別為20 MHz和30 MHz;BPSK載頻25 MHz,帶寬5 MHz;CW載頻為30 MHz;LFM中心頻率為30 MHz,調(diào)頻寬度為17 MHz;NLFM中心頻率為25 MHz,調(diào)頻寬度為10 MHz。為便于后續(xù)處理,本文均采用灰度圖像。本文采用的FSK、BPSK、CW、LFM、NLFM這5種調(diào)制信號在0 dB信噪比下雷達(dá)輻射源的Bord-Jondan時頻分布圖像如圖1所示。
圖1 Bord-Jondan時頻分布圖像
脈沖神經(jīng)網(wǎng)絡(luò)被譽(yù)為第三代人工智能網(wǎng)絡(luò)。神經(jīng)元是脈沖神經(jīng)網(wǎng)絡(luò)的重要組成部分,通過神經(jīng)元之間的脈沖傳遞來模擬大腦工作。從本質(zhì)上講,第二代神經(jīng)網(wǎng)絡(luò)的神經(jīng)元“M-P模型”[7]是基于脈沖序列的速率編碼,是一種簡略的脈沖序列編碼模式。SNN像大腦那樣利用脈沖的精確時間點(diǎn)來提供稀疏而強(qiáng)大的計算能力[8]。在專有神經(jīng)形態(tài)硬件(如TrueNorth[9]或SpiNnaker等[10])上運(yùn)行的脈沖神經(jīng)網(wǎng)絡(luò),完成相同任務(wù)其功耗僅僅是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的數(shù)千分之一[11],應(yīng)用前景十分廣闊。
經(jīng)典的神經(jīng)元模型有Hodgkin-Huxley模型[12]、LIF(Leaky Integrate-and-Fire)模型[13]和SRM(Spiking Response Model)模型[14]。脈沖神經(jīng)網(wǎng)絡(luò)的模擬策略主要包括時間驅(qū)動、電壓驅(qū)動和事件驅(qū)動。因?yàn)镾RM模型使用顯式的V-t方程來描述神經(jīng)元的活動,不同神經(jīng)元的活動可以異步計算[15],所以本文使用基于SRM模型的事件驅(qū)動策略。使用脈沖神經(jīng)網(wǎng)絡(luò)識別雷達(dá)信號調(diào)制類型流程如圖2所示。
圖2 基于脈沖神經(jīng)網(wǎng)絡(luò)的雷達(dá)輻射源調(diào)制類型識別流程
脈沖神經(jīng)網(wǎng)絡(luò)通過調(diào)整神經(jīng)元之間連接突觸的權(quán)重來進(jìn)行學(xué)習(xí)特定的任務(wù)。與大多數(shù)機(jī)器學(xué)習(xí)算法相似,脈沖神經(jīng)網(wǎng)絡(luò)也分為無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)。其中,無監(jiān)督學(xué)習(xí)方法以STDP(Spike-Timing-Dependent Plasticity)為代表[16],而有監(jiān)督學(xué)習(xí)方法中Tempotron最為常用[17]。
單個Tempotron可以對輸入數(shù)據(jù)進(jìn)行加權(quán)求和,輸出0或者1來進(jìn)行二分類??赏ㄟ^增加Tempotron個數(shù)完成多分類問題。Tempotron的膜電位定義為
(3)
式中:ωi是第i個突觸的權(quán)重;ti是第i個突觸上脈沖到達(dá)的時間;Vreset是重置電壓;K(t-ti)是因輸入脈沖引突觸后神經(jīng)元膜電壓的變化,表達(dá)式為
(4)
式中:V0是歸一化常數(shù),τ是時間常數(shù),τs是突觸電流時間常數(shù),后一項的含義代表突觸上的電流會隨著時間衰減。從式(4)中可以看出,在ti時刻,突觸后神經(jīng)元膜電壓瞬間增大,隨著時間t的流逝逐漸減少。
使用Tempotron組成的SNN網(wǎng)絡(luò)通常使用梯度下降法來優(yōu)化網(wǎng)絡(luò)參數(shù)[16]。以二分類為例,損失函數(shù)可以寫為
(5)
(6)
式中:K的表達(dá)式與公式(5)相同,λ為每次更新權(quán)重時更新數(shù)值的幅度,tmax表示在一個時間窗口(0,T)內(nèi)該輸出層神經(jīng)元達(dá)到電壓最大值Vmax的時間。同理,當(dāng)該輸出層神經(jīng)元輸出為0但目標(biāo)是輸出1時,此次更新就會對每個權(quán)重增加一個上面的數(shù)值,結(jié)果就是增大了輸出層神經(jīng)元的膜電位,最終達(dá)到發(fā)放脈沖的目的。
本文使用高斯調(diào)諧曲線編碼器,這一編碼器可以在時間維度上并行地將輸入數(shù)據(jù)轉(zhuǎn)化為脈沖發(fā)放時刻[18]。設(shè)一組數(shù)[Imin,…,Imax]共n個,每個數(shù)使用m個神經(jīng)元的脈沖來表示,故這一組數(shù)需要m×n個神經(jīng)元。對于第i個數(shù),首先計算出m條高斯曲線均值和方差:
(7)
(8)
式中:Imin和Imax分別是一組數(shù)[Imin,…,Imax]中的最小值和最大值;n是這組數(shù)的個數(shù);μ和σ分別為這組數(shù)的均值和方差;β是調(diào)整參數(shù),介于1和2之間,β=1.5效果最佳。本文的脈沖神經(jīng)網(wǎng)絡(luò)的輸入為雷達(dá)信號時頻圖像素點(diǎn)亮度大小x,然后將像素亮度x轉(zhuǎn)化為各個神經(jīng)元對應(yīng)的高斯函數(shù)值,這些函數(shù)值介于[0,1]之間。最后將這些函數(shù)值線性轉(zhuǎn)換到[0,T]的編碼周期上,即將雷達(dá)輻射源二維時頻圖的像素點(diǎn)亮度x轉(zhuǎn)化為m個神經(jīng)元的脈沖發(fā)放時間。
以神經(jīng)元數(shù)量m=10,編碼周期T=10為例,編碼如圖2所示:有編號0~9共10個神經(jīng)元,對于輸入x,這幾個神經(jīng)元對應(yīng)值分別為{*,*,*,9,4,1,7,*,*,*}。其中,對于脈沖發(fā)放時間t>9的神經(jīng)元,可認(rèn)為不發(fā)放脈沖,記為“*”。編碼周期通常取整數(shù),因此脈沖發(fā)放時刻也進(jìn)行取整操作?;顒由窠?jīng)元的編號為3、4、5、6,它們分別在9、4、1、7時刻發(fā)放脈沖。
為減少運(yùn)算量,首先將時頻圖像等比例轉(zhuǎn)換為32 pixel×32 pixel并中心裁剪為28 pixel×28 pixel尺寸大小,然后將每個像素點(diǎn)的亮度值編碼由m個神經(jīng)元發(fā)放的特定脈沖串,最后將脈沖串送入單層的由Tempotron組成的神經(jīng)網(wǎng)絡(luò)進(jìn)行識別。以輸入為BFSK、神經(jīng)元組數(shù)量m=16為例,事件驅(qū)動的脈沖神經(jīng)網(wǎng)絡(luò)如圖3所示。
圖3 輸入信號x轉(zhuǎn)化為10個神經(jīng)元脈沖發(fā)放時間
圖4 事件驅(qū)動脈沖神經(jīng)網(wǎng)絡(luò)示意圖
BFSK時頻二維圖為類別1,只有正確分類的神經(jīng)元(第1個)具有輸出脈沖,其他神經(jīng)元則保持沉默?;诿}沖神經(jīng)網(wǎng)絡(luò)的雷達(dá)輻射源調(diào)制類型識別算法流程偽代碼如下:
Input:雷達(dá)序列信號X,訓(xùn)練輪數(shù)R
Output:權(quán)重模型W
1 對雷達(dá)信號X進(jìn)行時頻變換,得到5種雷達(dá)時頻圖像Images和標(biāo)簽y
2 將Images裁剪為28 pixel×28 pixel尺寸大小
3 超參數(shù)初始化,當(dāng)前輪次計數(shù)r←1,權(quán)重隨機(jī)生成
//學(xué)習(xí)率,batch_size,神經(jīng)元組數(shù)量,迭代次數(shù),編碼周期等超參數(shù)初始化
4 whiler 5 將Images中像素點(diǎn)亮度轉(zhuǎn)化為Tempotron神經(jīng)元脈沖發(fā)放時間//使用高斯調(diào)諧編碼器 8 更新權(quán)重W 9r←r+1 10 end 11 return權(quán)重模型W 為驗(yàn)證本文提出的基于事件驅(qū)動脈沖神經(jīng)網(wǎng)絡(luò)用于雷達(dá)輻射源調(diào)制類型識別的有效性,采用第1節(jié)所述5種常見雷達(dá)信號進(jìn)行仿真實(shí)驗(yàn)。每種類別分別產(chǎn)生10 000張共50 000張訓(xùn)練集時頻圖像,驗(yàn)證集和測試集每種類別產(chǎn)生2 000張共10 000張測試時頻圖像。本實(shí)驗(yàn)硬件環(huán)境:CPU為Intel i7-7700K@4.20 GHz,GPU為TITAN X。軟件環(huán)境:python3.7,pytorch1.7,并使用CUDA10.1進(jìn)行運(yùn)算加速。超參數(shù)設(shè)置:batch_size為64;學(xué)習(xí)率為0.001;每個像素點(diǎn)用16個神經(jīng)元的脈沖來表示;迭代次數(shù)為100;編碼周期為100。 為探究網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)對識別率的影響,首先取信噪比為-10 dB的5種輻射源信號進(jìn)行識別,不同迭代次數(shù)對平均識別率的影響如圖5所示。從圖5中可以看出,隨著迭代次數(shù)的增加,基于事件驅(qū)動的脈沖神經(jīng)網(wǎng)絡(luò)正確率反而有所下降。 圖5 迭代次數(shù)和信噪比之間的關(guān)系 信噪比-10 dB下,循環(huán)次數(shù)3輪,使用不同數(shù)量的神經(jīng)元進(jìn)行高斯調(diào)諧曲線編碼,其他條件不變,結(jié)果如表1所示。 表1 神經(jīng)元個數(shù)對平均識別率和時間的影響 通過表1發(fā)現(xiàn)選擇合適數(shù)量的神經(jīng)元是重要的,神經(jīng)元個數(shù)較少,識別率較低;但神經(jīng)元個數(shù)過多,耗時又較長,并且神經(jīng)元數(shù)量進(jìn)一步提高也不一定代表準(zhǔn)確率會提高。綜合訓(xùn)練時間和平均識別率,選取神經(jīng)元個數(shù)16為最佳。 現(xiàn)epoch選擇3輪,神經(jīng)元選擇16個,做5組實(shí)驗(yàn)取平均值。信噪比-3~-12 dB,識別率的統(tǒng)計如圖6所示。 圖6 識別率與信噪比關(guān)系 從圖6中可以看出,隨著信噪比的提高,算法識別率逐漸提高。這主要是因?yàn)殡S著信噪比的提高,時頻圖像特征更加顯著。在信噪比為-3 dB時,識別率可以達(dá)到100%;當(dāng)信噪比為-10 dB時,該網(wǎng)絡(luò)依然可以有較高的識別率;當(dāng)信噪比進(jìn)一步下降至-12 dB時,平均識別率大約在77.3%。信噪比為-10 dB和-12 dB的混淆矩陣如表2所示。 表2 不同信噪比下測試集的混淆矩陣 文獻(xiàn)[1]采用自動編碼器進(jìn)行輻射源識別,信噪比在-6 dB時檢測效果已經(jīng)明顯下降。文獻(xiàn)[2]采用傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行輻射源識別,信噪比在-9 dB時識別效果不佳。文獻(xiàn)[3]將傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),檢測效果有所提升。本文方法作為一種類腦機(jī)制的雷達(dá)輻射源調(diào)制類型識別方式,與其他文獻(xiàn)比較的平均識別率如表3所示。由表3可以發(fā)現(xiàn),本文方法抓住了雷達(dá)輻射源時頻二維圖的特征。 表3 不同雷達(dá)輻射源調(diào)制類型識別方法的平均識別率 模型訓(xùn)練完成后,本方法測試全部10 000張時頻二維圖,所需時間為14.12 s,平均每個樣本所需時間約為1.4 ms,可以滿足實(shí)時性檢測的要求。 相對于基于第二代神經(jīng)網(wǎng)絡(luò),脈沖神經(jīng)網(wǎng)絡(luò)作為一種新型網(wǎng)絡(luò)結(jié)構(gòu),具備更接近真實(shí)神經(jīng)元的工作方式,擁有著類腦結(jié)構(gòu)和廣闊的應(yīng)用前景。實(shí)驗(yàn)結(jié)果表明模型訓(xùn)練完成后,脈沖神經(jīng)網(wǎng)絡(luò)可以對雷達(dá)輻射源調(diào)制類型進(jìn)行實(shí)時檢測,并能取得良好的效果。但目前基于GPU仿真的脈沖神經(jīng)網(wǎng)絡(luò)無法體現(xiàn)出來快速運(yùn)算和低功耗的特點(diǎn),在神經(jīng)態(tài)計算芯片(如TrueNorth或SpiNnaker等)上部署脈沖神經(jīng)網(wǎng)絡(luò)是下一步研究的方向。4 仿真實(shí)驗(yàn)及分析
5 結(jié)束語