趙 帥, 劉松濤, 汪慧陽
(海軍大連艦艇學(xué)院信息系統(tǒng)系, 遼寧 大連 116018)
低截獲概率(low probability of intercept, LPI)雷達是一種基于脈沖壓縮技術(shù)實現(xiàn)信號高時寬帶寬積、強抗干擾能力及低截獲特性的新型雷達,現(xiàn)廣泛裝備于各國軍隊。在當(dāng)今復(fù)雜電磁環(huán)境、激烈電子攻防及信息制勝的戰(zhàn)場背景下,準(zhǔn)確高效識別對抗方的LPI雷達波形,對判斷危險等級、構(gòu)建戰(zhàn)場態(tài)勢及實施對抗干擾和干擾效果評估具有重要意義[1]。
基于時頻分析的LPI雷達波形識別方法是該領(lǐng)域的重要分支。作為結(jié)合了時間與頻率分析手段的信號處理方法,該方法能夠更準(zhǔn)確地反映雷達信號這種非平穩(wěn)信號的時變本質(zhì),使得對雷達信號的分析精確到具體時間的特定頻率上,具有對雷達信號的惟一可辨識性。時頻分析算法種類繁多,常見的有STFT(short-time Fourier transform)、WT(wavelet analysis)、CWD(Choi-William distribution)、WVD(wigner-ville distribution)及其變種等。該類方法首先將雷達信號轉(zhuǎn)變?yōu)闀r頻圖像,后對圖像進行識別來實現(xiàn)對雷達信號的分類。
卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network, CNN)在圖像識別領(lǐng)域有著舉足輕重的地位。在對雷達時頻圖像識別的研究中,CNN作為主流的特征提取及分類器被廣泛應(yīng)用,如何選取適配高效的CNN結(jié)構(gòu)成為學(xué)者們亟待解決的問題。Zhang在文獻[2]中對CNN的卷積層數(shù)量、隱藏單元數(shù)量及池化層種類進行人工選參,通過對比確定出最為適合的網(wǎng)絡(luò)超參數(shù),并將其應(yīng)用于8種LPI雷達波形的識別中。Kong則在固定卷積層數(shù)量、種類的基礎(chǔ)上對網(wǎng)絡(luò)輸入尺寸、卷積核數(shù)量及大小進行了對比實驗,得到了其實驗范圍內(nèi)最適于12種LPI雷達識別的超參數(shù)[3]。吳瓊在其碩士畢業(yè)論文中細致講述了應(yīng)用于雷達波形識別的多種CNN改進辦法[4]。上述文獻均是依靠人工設(shè)置多組CNN超參數(shù),依次訓(xùn)練對比結(jié)果擇優(yōu),缺乏智能性及客觀性。
于是,本文思考是否可以選取一種優(yōu)化算法,與CNN相結(jié)合自適應(yīng)智能選定最優(yōu)CNN網(wǎng)絡(luò)結(jié)構(gòu),以實現(xiàn)更好的LPI雷達波形識別效果。
在優(yōu)化算法與CNN的結(jié)合領(lǐng)域,國內(nèi)學(xué)者的研究多是在固定的網(wǎng)絡(luò)結(jié)構(gòu)上,使用優(yōu)化算法代替?zhèn)鹘y(tǒng)的梯度下降法更新網(wǎng)絡(luò)連接權(quán)值或閾值。如楊潔改進遺傳算法的適應(yīng)度函數(shù)及交叉算子,將其應(yīng)用于反向傳播(back proportion,BP)神經(jīng)網(wǎng)絡(luò)的初始權(quán)值與閾值的尋優(yōu)[5]。趙毅提出一種改進的量子粒子群優(yōu)化(particle swarm optimization,PSO)算法,并將其與CNN結(jié)合[6]。此外還有高華照構(gòu)建的FC-VGGNet-plus+PSO模型[7],王金哲提出PD-CNN(PSO+Dropout,PD)算法[8],均是對CNN權(quán)值、閾值進行優(yōu)化。這些研究盡管在一定程度上提高了CNN的識別效果,但并未解決網(wǎng)絡(luò)優(yōu)化的焦點問題,即結(jié)構(gòu)尋優(yōu)。
優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)方面,白燕燕在固定CNN網(wǎng)絡(luò)層數(shù)、類型排列的前提下,將卷積層中核的大小及數(shù)量、池化層類型、激活函數(shù)類型、訓(xùn)練批量及學(xué)習(xí)率作為PSO粒子分量,迭代尋找最適于手寫體數(shù)據(jù)集的CNN結(jié)構(gòu)[9]。該算法表現(xiàn)出了一定的先進性,但仍未擺脫既定網(wǎng)絡(luò)層架構(gòu)前提這一桎梏。國外學(xué)者Junior提出一種psoCNN算法[10],可自動搭建不定層數(shù)的CNN網(wǎng)絡(luò),該算法將CNN視作PSO的一個粒子,設(shè)置網(wǎng)絡(luò)訓(xùn)練損失為適應(yīng)函數(shù),結(jié)合設(shè)置的CNN粒子更新機制,自動尋找最優(yōu)CNN結(jié)構(gòu),但該算法設(shè)定的網(wǎng)絡(luò)排列原則還有欠缺,易生成不合理的網(wǎng)絡(luò)結(jié)構(gòu),且算法評估指標(biāo)單一,可調(diào)整性、適應(yīng)性有待提高。
結(jié)合并設(shè)計改進Junior的psoCNN算法思想,本文提出一種基于PSO-CNN的LPI雷達識別算法,以解決該方向主流分類器CNN的框架尋優(yōu)問題,可為未來該領(lǐng)域CNN的選定提供參考。
CNN[11]作為一種前饋神經(jīng)網(wǎng)絡(luò),通過局部連接和權(quán)值共享大大縮減了參數(shù)數(shù)量,同時其二維形式可以很好地表征圖像像素之間的內(nèi)部聯(lián)系,這些優(yōu)點使得CNN在圖像處理領(lǐng)域大放異彩。
CNN主要由3種類型的網(wǎng)絡(luò)層堆疊而成,即卷積層(conv)、池化層(pool)和全連接層(FC)。每一層的輸出為該層輸入與層內(nèi)權(quán)值、偏置的函數(shù)值,該函數(shù)通常稱為激活函數(shù)。CNN的訓(xùn)練過程由雙向傳播構(gòu)成。在數(shù)學(xué)層面,CNN前向傳播可表示為
(1)
式中:X為輸入數(shù)據(jù);Oi為第i層的輸出;fi(·)為第i層使用的激活函數(shù);gi(·)為第i層進行的加權(quán)運算;Zi為該層的加權(quán)運算輸出;Wi與b分別表示該層的權(quán)值與偏置。對于3種不同的網(wǎng)絡(luò)層,gi(·)有著不同的形式,具體如下所示:
(2)
式中:?表示卷積層輸入與層內(nèi)權(quán)值進行的卷積運算;Pooling(·)表示池化層進行的下采樣操作,包括平均池化和最大池化兩種,主要用來縮減輸出參數(shù)量;如果是全連接層,則進行內(nèi)積運算。
CNN前向傳播輸出預(yù)測值,通過誤差函數(shù)衡量其與標(biāo)簽值之間的差異,隨后反向傳播使用梯度下降法更新網(wǎng)絡(luò)權(quán)重最小化誤差函數(shù)。CNN訓(xùn)練的過程也是最小化誤差函數(shù)的過程。常見的誤差函數(shù)有交叉熵及均方誤差(mean squared error, MSE)。
作為一種深層有監(jiān)督神經(jīng)網(wǎng)絡(luò),訓(xùn)練一個完整的CNN網(wǎng)絡(luò)需要大量時間,對多個CNN的試錯擇優(yōu)將更為花費時間且尋優(yōu)范圍十分有限。因此,設(shè)計一種能夠盡可能快的大范圍自動構(gòu)建并評估尋優(yōu)CNN架構(gòu)的算法尤為重要。
PSO算法是一種典型的群智能優(yōu)化算法[12],模擬鳥群隨機搜尋事物的捕食行為而得來。將優(yōu)化問題的潛在解比作搜索空間中的一只鳥,稱其為“粒子”。“粒子”在迭代過程中依照式(3)及式(4)更新其速度和位置。PSO算法流程如圖1所示。
圖1 PSO算法流程圖Fig.1 Flow chart of PSO algorithm
粒子i的第d維速度更新公式:
(3)
粒子i的第d維位置更新公式:
(4)
剖析式(3)等式右邊的3部分:第1部分為慣性部分,即粒子維持先前運動狀態(tài)的趨勢;第2部分為認(rèn)知部分,即粒子通過記憶逼近自身歷史最佳位置的趨勢;第3部分為社會部分,即粒子通過共享經(jīng)驗逼近群體或鄰域歷史最佳位置的趨勢。
PSO搜索范圍廣、參數(shù)數(shù)量少、收斂速度快,且算法實現(xiàn)易[13-14],十分適用于復(fù)雜耗時的CNN尋優(yōu)工作。
將CNN的一種結(jié)構(gòu)視作PSO的一個粒子,每個粒子由離散的網(wǎng)絡(luò)層功能塊組表示,例如:conv|avgpool|conv|maxpool|FC。粒子訓(xùn)練、測試、評估時,直接對功能塊組進行編譯。CNN粒子訓(xùn)練過程的評估指標(biāo)(grade),即適應(yīng)度函數(shù)由兩部分構(gòu)成:一是識別精度,由訓(xùn)練過程中的驗證準(zhǔn)確率(acc)衡量;二是網(wǎng)絡(luò)復(fù)雜度,由網(wǎng)絡(luò)參數(shù)量(Np)衡量。兩部分可通過權(quán)重因子Cf調(diào)整所占比重,具體構(gòu)成如下:
(5)
式中:Nb為基準(zhǔn)網(wǎng)絡(luò)參數(shù)量。選取當(dāng)前個體與全局grade最高的CNN粒子作為pbest與gbest。不同于傳統(tǒng)粒子更新方式,粒子并非為數(shù)值表示,因此連續(xù)域數(shù)值累積的更新方式需轉(zhuǎn)變?yōu)殡x散功能塊的增刪替換,粒子群初始化、粒子速度的計算及粒子的更新也需新的機制。
PSO-CNN算法的整體框架如算法1所示,其中涉及的粒子群初始化、粒子速度計算與更新分別由第3.2和第3.3節(jié)介紹。對于CNN粒子識別精度的評估,可選取網(wǎng)絡(luò)訓(xùn)練時的訓(xùn)練驗證準(zhǔn)確率及測試集測試準(zhǔn)確率作為評估依據(jù)。為壓縮整體訓(xùn)練時間,本文所設(shè)定的粒子評估前訓(xùn)練epoch數(shù)通常較小,這時使用測試集測試的準(zhǔn)確率通常不高,并不能有效衡量粒子質(zhì)量,而網(wǎng)絡(luò)訓(xùn)練時的驗證準(zhǔn)確率可在訓(xùn)練前期選取出具有最優(yōu)潛力的粒子,因此使用驗證準(zhǔn)確率作為網(wǎng)絡(luò)精度的評估依據(jù)。
算法 1 PSO-CNN輸入 運行次數(shù)(Nr),PSO群體粒子數(shù)(N),PSO最大迭代次數(shù)(itmax),訓(xùn)練數(shù)據(jù)(X,Y),個體極值與全局極值的選擇閾值(Ctsh),網(wǎng)絡(luò)層數(shù)范圍(lmin,lmax),卷積層最大卷積核尺寸(kmax),全連接層最大神經(jīng)元數(shù)(nmax),網(wǎng)絡(luò)輸出維度(dout),粒子評估前訓(xùn)練epoch數(shù)(etrain),最優(yōu)框架測試前訓(xùn)練epoch數(shù)(etest)。 輸出 最優(yōu)CNN架構(gòu)及其參數(shù)數(shù)量,測試準(zhǔn)確率。1 for j=1 to Nr do2 S={P1,P2,…,PN}←粒子群初始化(Nr,N,lmin,lmax,kmax,nmax,dout)3 P1.pbest←P1,P1.grade,P1.pbest.grade←CNN粒子分?jǐn)?shù)評估(P1,X,Y,etrain)4 gbest←P1,gbest.grade←P1.grade5 for i=2 to N do6 Pi.pbest←Pi,Pi.grade,Pi.pbest.grade←CNN粒子分?jǐn)?shù)評估(Pi,X,Y,etrain)7 if Pi.grade≥gbest.grade then8 gbest←Pi9 end10 end11 for it=1 toitmaxdo12 for i=1 to N do13 Pi.velocity←CNN粒子速度計算(Pi,Ctsh)14 Pi←粒子更新(Pi,Pi.velocity)15 Pi.grade←CNN粒子分?jǐn)?shù)評估(Pi,X,Y,etrain)16 if Pi.grade≥Pi.pbest.grade then17 Pi.pbest←Pi,Pi.pbest.grade←Pi.grade18 if Pi.pbest.grade≥gbest.grade then19 gbest←Pi,gbest.grade←Pi.grade20 end21 end22 end23 end24 CNN粒子分?jǐn)?shù)評估(gbest,X,Y,etest)←gbest25 return gbest,gbest.nparamaters,gbest.grade26 end27 return gbest,average of gbest.nparameters,average of gbest.grade
粒子群初始化的過程即依據(jù)設(shè)定的網(wǎng)絡(luò)層排列原則,隨機生成粒子功能塊組的過程,具體如算法2所示。排列原則的設(shè)定是為了保證架構(gòu)的可行性和實用性,具體有以下幾點:一是首層必為卷積層,尾層必為全連接層;二是全連接層不穿插于其他兩層之間,即全連接層后只有全連接層,且本文將全連接層最大數(shù)量設(shè)置為5;三是需根據(jù)輸入圖像尺寸限定池化層數(shù)量,以避免深層特征圖尺度過小而不能提取有效特征。添加網(wǎng)絡(luò)層時,在設(shè)定的范圍內(nèi)隨機生成該層的必要參數(shù)。添加卷積層時,生成卷積核尺寸大小及輸出通道數(shù);添加全連接層時,生成該層的神經(jīng)元數(shù)量;添加池化層時,隨機選擇最大池化與平均池化,根據(jù)CNN的搭建經(jīng)驗,一般默認(rèn)池化尺寸為3×3,步長為2×2。
粒子群初始化完成后,保證群體向最優(yōu)值靠攏的關(guān)鍵便是粒子速度的計算和粒子的更新。首先要解決的是粒子差異的計算,如算法3所示。
算法 3 粒子差異計算輸入 粒子P1、P2輸出 diff=P1-P2 1 indexP1←尋找起始FC層索引(P1),indexP2←尋找起始FC層索引(P2)2 P1copo←P1[0:indexP1-1],P2copo←P2[0:indexP2-1]3 P1FC←P1[P1.length:-1:indexP1],P2FC←P2[P2.length:-1:index2:]4 L=lengthdiff←max(indexP1,indexP2)+max(P1FC.length,P2FC.length) 5 for i=0 tomax (indexP1,indexP2)do6 if P1copo[i]≠None and P2copo[i]≠None then 7 if P1copo[i].type=P2copo[i].type then 8 diff[i]←09 else diff[i]←P1copo[i].type end10 elif P1copo[i]≠None and P2copo[i]=None then11 diff[i]←P1copo[i].type12 else P1copo[i]=None and P2copo[i]≠None then13 diff[i]←None14 end15 end16 for j=0 tomax(P1FC.length,P2FC.length)do17 if P1FC[j]≠None and P2FC[j]≠None then18 diff[L-j]←019 elif P1FC[j]≠None and P2FC[j]=None then20 diff[L-j]←P1FC[j].type21 else P1FC[j]=None and P2FC[j]≠None then22 diff[L-j]←None23 end24 end25 return diff
兩個粒子計算差異時,為避免更新粒子時全連接層被放置于卷積層、池化層之間,故將粒子拆分為卷積池化(copo)與FC兩部分,兩部分相向分別計算差異值。差異值的計算以前粒子為主,若兩粒子某位置層類型不同,diff選取前粒子類型;若兩粒子某位置層類型相同,diff取為0。
粒子速度由各塊隨機選取(pbest-P)或(gbest-P)相應(yīng)塊構(gòu)成,由于本算法中粒子的特殊性,拋棄原算法中的慣性部分。設(shè)定個體極值與全局極值的選擇閾值(Ctsh),在每個位置隨機生成一個(0,1)之間的數(shù)r。若r≤Ctsh,則選取(gbest-P)作為該位置的速度,反之則選取(pbest-P)。Ctsh控制著粒子趨近gbest的速度,Ctsh越大,粒子便越快趨近gbest,但同時粒子群的搜索范圍變小,陷入局部最優(yōu)的可能性變大。
根據(jù)式(3),新的粒子由粒子速度和原粒子相加構(gòu)成。當(dāng)粒子速度為0時,保留原粒子相應(yīng)位置功能塊;速度為N時,移除相應(yīng)位置功能塊;速度為C、P、F功能塊時,則對原粒子功能塊進行替換。整體算法示例如圖2所示。
圖2 粒子速度計算及結(jié)構(gòu)更新示例Fig.2 Example of particle velocity computation and architecture update
需要指出的是,若在粒子更新后所含池化層數(shù)量超出依據(jù)輸入圖像尺寸計算的限額,則由后至前按序移除超額池化層。
本文所設(shè)想的算法實際應(yīng)用框圖如圖3所示。天線偵收到射頻信號,經(jīng)過前端處理為中頻信號,通過時頻分析將中頻信號轉(zhuǎn)變?yōu)闀r頻圖像。隨后制作訓(xùn)練集,標(biāo)注出圖像的波形類型,用于訓(xùn)練PSO-CNN模塊,尋找出最優(yōu)的CNN。最優(yōu)CNN找出并訓(xùn)練完畢后,便可用其自動、快速、準(zhǔn)確識別天線偵收的未知信號波形。在眾多的時頻分析算法中,WVD算法[15]具有最高的時頻分辨率,但在處理LPI信號這種多分量信號時易產(chǎn)生交叉項干擾。SPWVD(smoothed pseudo Wigner-Ville distribution)[16]作為WVD的改進版本在保持高時頻分辨率的基礎(chǔ)上,很好地抑制了交叉項干擾。本文即采用SPWVD作為時頻分析方法,SPWVD定義如下:
(6)
式中:s(t)為輸入信號;t與f分別代表時間和頻率;g(u)和h(τ)為兩個漢明窗函數(shù),且滿足g(0)=(0)=1。
圖3 算法實際應(yīng)用框圖Fig.3 Block diagram of algorithm’s practical application
本文所提出的LPI雷達波形識別算法針對7種最為常見的雷達信號,分別為線性調(diào)頻(linear frequency modulation, LFM)、Barker碼、Frank碼及P1、P2、P3、P4碼編碼信號。信號生成具體參數(shù)選擇如表1所示。其中,U(·)表示范圍內(nèi)均勻分布;U[·]表示范圍內(nèi)整數(shù)的均勻分布;{}表示可選參數(shù)集;fc表示載頻;B表示帶寬;N表示每信號周期采樣數(shù);LBc表示巴克碼碼長;Ncc表示每套編碼包含的周期數(shù);M表示頻步;m表示子碼長度;fs表示采樣頻率。在建立數(shù)據(jù)集時,大部分學(xué)者僅考慮加性高斯白噪聲(additive white Gaussian noise,AWGN)的影響,這與實際信道相差很大。為更好地貼近真實環(huán)境,本文搭建萊斯衰落信道模擬信號傳輸過程,信道具體參數(shù)如表2所示。表2中AWGN大小使用信噪比(signal to noise ratio,SNR)來衡量。
表1 7種LPI雷達信號仿真參數(shù)
表2 萊斯衰落信道參數(shù)
信號生成完成后,使用SPWVD方法獲取信號時頻圖像。同一信號由WVD與SPWVD獲取的時頻圖像對比如圖4所示。
圖4 同一信號的WVD與SPWVD時頻圖像Fig.4 WVD and SPWVD time-frequency images of the same signal
相比較來看,和前面理論分析一致,SPWVD的效果遠遠好于WVD的效果。7種LPI雷達信號的SPWVD時頻圖像展示如圖5所示。
分析7種LPI雷達信號時頻圖像:LFM與Barker碼編碼特征區(qū)分度很高,其余5種信號雖較為相似,也具有可供區(qū)分的特征。Frank,P1及P2時頻圖像具有明顯的階梯狀特征,而P3,P4信號則為邊緣光滑的直線段;Frank及P3信號能量中心分布于圖像左右兩側(cè),而P1及P4能量中心聚集于圖像中心;P2信號與P1圖像特征極為相似,但兩者時頻圖像中特征線段走勢相反,P2為下行,P1為上行??傊?使用CNN對7種時頻圖像的識別分類具有可行性。數(shù)據(jù)集其他參數(shù)如表3所示。
表3 數(shù)據(jù)集仿真條件設(shè)置
算法依托Tensorflow+Keras框架實現(xiàn)。作為一種高度模塊化且具有用戶友好應(yīng)用程序接口的神經(jīng)網(wǎng)絡(luò)庫,使用Keras搭建神經(jīng)網(wǎng)絡(luò)十分簡單易行。本文實現(xiàn)的CNN粒子生成、更新,均是在以列表形式存在的功能塊組上進行,Keras序列化模型可以較輕松實現(xiàn)對各功能塊組的編譯、訓(xùn)練及測試。
算法實驗平臺為Intel(R) Core(TM) i7-8565U CPU@1.80 GHz處理器,8 G內(nèi)存,未使用顯卡加速。
4.2.1 算法單精度指標(biāo)訓(xùn)練及評估
為檢驗PSO-CNN算法尋找高識別精度CNN結(jié)構(gòu)的能力,本節(jié)僅采取acc作為粒子的評估指標(biāo),即將式(5)中Cf設(shè)置為0。依據(jù)表4實施訓(xùn)練5次,得到每次訓(xùn)練的最優(yōu)CNN粒子,訓(xùn)練結(jié)果如表5所示,其中acc-10為所選出的最優(yōu)粒子進行10 epochs訓(xùn)練后的驗證準(zhǔn)確率。
表4 PSO-CNN算法參數(shù)選擇
觀察表5,5次訓(xùn)練中的acc-10均超過97%,參數(shù)數(shù)量大多在百萬級別。限于硬件水平,每次訓(xùn)練所花費的時間在10~27 h不等。
表5 單精度指標(biāo)PSO-CNN算法訓(xùn)練結(jié)果
5次訓(xùn)練gbest進化曲線如圖6所示。一次epoch訓(xùn)練后評估得到的gbest,在迭代中逐步更新。gbest的acc值呈遞增趨勢,經(jīng)過10次迭代,acc值最終均達到80%左右的水平。
圖6 單精度指標(biāo)PSO-CNN算法訓(xùn)練gbest進化曲線Fig.6 Training gbest evolution curve of single precision index PSO-CNN algorithm
第3次與第5次所尋得的最優(yōu)粒子精度最高,將這兩次訓(xùn)練得到的最優(yōu)CNN框架展示如圖7所示。
圖7 單精度指標(biāo)PSO-CNN算法獲取的最優(yōu)結(jié)構(gòu)Fig.7 Optimal structure obtained by single precision index PSO-CNN algorithm
單精度指標(biāo)PSO-CNN算法獲取的CNN均為較淺的5層網(wǎng)絡(luò)。由于數(shù)據(jù)集圖像為簡單的線條,所含的深層次特征較少,淺層網(wǎng)絡(luò)更具有適配性。
選取LeNet[17]、ZFNet、AlexNet[18]、VGG13、VGG16、VGG19[19]、GoogleNet[20]、ResNet34及ResNet50[21]這9種經(jīng)典CNN結(jié)構(gòu)使用相同訓(xùn)練集進行訓(xùn)練,所得模型與PSO-CNN算法第3次、第5次訓(xùn)練所得模型在同一測試集上的檢測效果如圖8所示。
圖8 與9種經(jīng)典CNN的檢測效果對比 Fig.8 Comparison of test results with nine classic CNNs
通過對比可以看出,單精度指標(biāo)PSO-CNN算法獲取的兩種CNN結(jié)構(gòu)在測試集上得測試效果超過了絕大部分所選取的經(jīng)典CNN結(jié)構(gòu),直觀展示了算法的優(yōu)越性。11種CNN結(jié)構(gòu)進一步的對比如表6所示,其中參數(shù)數(shù)量的計算以80×80的輸入圖像尺寸為準(zhǔn)。
表6 與經(jīng)典CNN的進一步對比
結(jié)合圖7和表6可知,通過PSO-CNN算法尋優(yōu)獲取的兩種CNN具有較簡單的結(jié)構(gòu)、最少的參數(shù)、快速的檢測時間,同時實現(xiàn)了優(yōu)越的檢測精度。最少的參數(shù)保證了模型的輕量性,快速的檢測時間保證了其實時性,在SNR≥0的情況下,PSO-CNN-3可實現(xiàn)94.8%的檢測精度,也印證了模型的精確性。
限于硬件水平,11種CNN結(jié)構(gòu)均在訓(xùn)練集上訓(xùn)練了10 epochs。與同為5層網(wǎng)絡(luò)的LeNet相比,PSO-CNN算法所尋得的CNN結(jié)構(gòu)表現(xiàn)出了更好的適用性。由于本實驗使用的數(shù)據(jù)集特征相對簡單,對于VGG16、ResNet-34等較深的CNN結(jié)構(gòu),一是提取過深層的特征易將簡單問題復(fù)雜化;二是需要長時間充分訓(xùn)練,而這又易導(dǎo)致過擬合問題。
4.2.2 算法雙指標(biāo)訓(xùn)練及評估
在實際應(yīng)用中,有時對模型輕量性要求很高而對模型精度的要求相對寬松,這就需要將模型復(fù)雜度也納入粒子的評估指標(biāo),尋找更為輕量但同時滿足一定精度要求的CNN結(jié)構(gòu)。
在本節(jié)實驗中,首先設(shè)定Cf=1,即雙指標(biāo)占比相同。將Nb依次設(shè)定為3.5×105、3.5×106及1.05×106,分別為單精度指標(biāo)PSO-CNN算法尋優(yōu)結(jié)構(gòu)參數(shù)量級、一般經(jīng)典CNN結(jié)構(gòu)參數(shù)量級及取中參數(shù)量級。依據(jù)表4進行訓(xùn)練,為了解不同Nb對粒子迭代尋優(yōu)的影響,訓(xùn)練過程中粒子pbest及gbest變化趨勢對比如圖9所示。
圖9 不同Nb對粒子迭代尋優(yōu)的影響Fig.9 Effect of different Nb on particle iterative optimization
如圖9所示,采用雙指標(biāo)(1∶1)的PSO-CNN算法在迭代過程中可實現(xiàn)acc與param的同時尋優(yōu),粒子gbest的grade值也均為遞增趨勢。當(dāng)Nb取3.5×106時取得最好的精度尋優(yōu)效果,初始化粒子時param為非0值,說明初始化粒子的參數(shù)量均未超過3.5×106,隨著迭代次數(shù)增加,param值很快逼近1值,一方面說明粒子優(yōu)化有效,可同時也說明3.5×106量級相較于更新的粒子參數(shù)量過大,導(dǎo)致param值對粒子參數(shù)量變化的反應(yīng)較小,粒子grade受param值的影響也相應(yīng)較小。Nb取3.5×105時,在第3次迭代后param擺脫0值,全部粒子參數(shù)量降至3.5×105以下,這表明param值收斂較慢,粒子grade受param的影響較大,導(dǎo)致在更新粒子時較大的壓縮參數(shù)量,生成的新粒子acc反而偶爾降低,出現(xiàn)了acc波動較大的情況。
基于不同Nb所選出的最優(yōu)CNN網(wǎng)絡(luò)結(jié)構(gòu)的其他對比如表7所示。
表7 雙指標(biāo)PSO-CNN算法訓(xùn)練結(jié)果
表7結(jié)果顯示,采用雙指標(biāo)(1∶1)的PSO-CNN算法尋優(yōu)的CNN均為105量級,與單精度指標(biāo)算法相比,大幅縮減了參數(shù)數(shù)量。Nb取3.5×105時實現(xiàn)了84.2%的檢測精度,也滿足了較高的精度要求。
在接下來的實驗中,令Nb=3.5×105,Cf=0.5,依據(jù)表4進行訓(xùn)練以研究雙指標(biāo)(2∶1)的PSO-CNN算法的尋優(yōu)效果。訓(xùn)練過程中粒子gbest變化趨勢見圖9(c)中的3.5×105-0.5Cf曲線,pbest變化趨勢對比如圖10所示。
圖10 不同Cf對粒子迭代尋優(yōu)的影響Fig.10 Effect of different Cf on particle iteration optimization
圖10結(jié)果表示,在Cf=0.5時,粒子群也可實現(xiàn)對grade的較快尋優(yōu),但與Cf=1時相比,粒子所能實現(xiàn)的acc略低且尋優(yōu)網(wǎng)絡(luò)的參數(shù)量也相對偏高。所尋得網(wǎng)絡(luò)的其他對比如表7所示??傮w對比,Cf=1時效果更好。
目前基于時頻圖像的LPI雷達波形識別多采用CNN作為特征提取和分類器,針對該領(lǐng)域CNN結(jié)構(gòu)智能尋優(yōu)這個難題,本文提出一種基于PSO-CNN的雷達波形識別算法。該算法基于識別精度及網(wǎng)絡(luò)復(fù)雜度兩種指標(biāo),使用PSO優(yōu)化CNN,實現(xiàn)了較大范圍內(nèi)自動搭建層數(shù)不定、層類別及層內(nèi)參數(shù)不定的CNN結(jié)構(gòu)并進行迭代尋優(yōu)。
仿真部分首先搭建萊斯衰落信道仿真更貼合真實環(huán)境的LPI雷達信號,之后使用SPWVD將信號轉(zhuǎn)變?yōu)闀r頻圖像并建立數(shù)據(jù)集,使用PSO-CNN算法進行CNN結(jié)構(gòu)的智能擇優(yōu)。算法評估結(jié)果表明,PSO-CNN算法獲取的CNN結(jié)構(gòu)與其余9種經(jīng)典CNN結(jié)構(gòu)相比,實現(xiàn)了對LPI雷達信號更好的檢測效果,且更具輕量性、實時性、收斂性及適配性。由此可見,對LPI雷達信號波形的識別不能靠經(jīng)典模型的套用,而是要挖掘適配該方向的專用CNN結(jié)構(gòu),本文研究成果可為其提供重要參考。
需指出的是,限于硬件水平,本文初始化的粒子群規(guī)模為10,這在一定程度上限制了算法尋優(yōu)效果,導(dǎo)致訓(xùn)練結(jié)果出現(xiàn)波動的情況。在后續(xù)工作中,還將嘗試把Inception塊、殘差塊等納入CNN智能尋優(yōu)范圍,以期獲得更為精確高效的CNN結(jié)構(gòu),實現(xiàn)更好的LPI雷達波形識別效果。