于浩洋,尹 良,李書芳,呂 順
(北京郵電大學 信息與通信工程學院,北京 100876)
雷達調(diào)制識別技術(shù)是上世紀80年代中期開展的一項新技術(shù),其在電子偵察、電子支援等領(lǐng)域發(fā)揮著重要的作用。早期的雷達調(diào)制識別方法主要以信號的載頻、信號的脈沖幅度、信號到達時間、信號的脈沖寬度以及信號的到達方向這五大參數(shù)作為雷達調(diào)制方式識別的特征[1]。由于戰(zhàn)場電磁環(huán)境日益復雜,各種新式雷達的不斷出現(xiàn),導致這種方式的識別準確率較低。因此雷達調(diào)制信號識別方法逐漸轉(zhuǎn)向脈內(nèi)特征的研究[2-4]。
隨著2006年多倫多大學HINTON等[5-7]提出深度學習的概念,越來越多人轉(zhuǎn)向深度學習技術(shù)來解決雷達調(diào)制信號識別的問題。深度學習技術(shù)可以自動提取雷達調(diào)制信號的深層次特征,其對雷達調(diào)制信號的特征提取更加方便有效[8-9]。在自然圖像領(lǐng)域,目前有大規(guī)模的公開數(shù)據(jù)集可以評判算法的優(yōu)劣,例如在ImageNet數(shù)據(jù)集[10],包含超過1 400萬張帶標簽的自然圖像。但是由于雷達信號獲取成本較高、標注困難等原因,構(gòu)建大型而且復雜的雷達信號數(shù)據(jù)集變得十分的困難。目前所使用的雷達信號數(shù)據(jù)集的規(guī)模較小,網(wǎng)絡(luò)的魯棒性較差,容易過擬合,因而導致識別率較低。目前主流的小樣本學習方法主要包含3種方法,基于度量的方法,基于優(yōu)化的方法,基于生成式模型的方法?;诙攘康姆椒▽颖镜臄?shù)量要求相對較高,性能對模型的敏感度高。而基于優(yōu)化的方法測試任務(wù)需要和訓練任務(wù)保持高度一致,靈活性較差。生成模型方法支持樣本數(shù)較小的情況,但會存在生成樣本代表性問題。例如文獻[11]通過SMOKE算法來擴充樣本數(shù)據(jù)集,以解決樣本分布不均勻問題。文獻[12-14]通過生成對抗網(wǎng)絡(luò)產(chǎn)生能夠逼近真實分布的生成樣本,以提高網(wǎng)絡(luò)識別的準確率。但當雷達調(diào)制種類過多,制式較為復雜時,生成對抗網(wǎng)絡(luò)對于每種生成信號的質(zhì)量難以保證。
針對上述問題,筆者做出如下創(chuàng)新來提升多種類小樣本雷達調(diào)制信號識別準確率。
(1)提出增強深度卷積生成對抗網(wǎng)絡(luò)(Strength Deep Convolutional Generative Adversarial Network,SDCGAN)方法,使多種類雷達調(diào)制信號的生成數(shù)據(jù)與真實數(shù)據(jù)具有更為接近的分布。
(2)提出SDCGAN-CNN數(shù)據(jù)增強方法,提升小樣本條件下信號識別的準確率。當信噪比為0 dB,原始樣本數(shù)為200個的條件下,該方法較卷積神經(jīng)網(wǎng)絡(luò)方法識別準確率提升約10%。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種適合解決圖像以及語音識別的網(wǎng)絡(luò)結(jié)構(gòu),近幾年相關(guān)領(lǐng)域的重大突破,都是由卷積神經(jīng)網(wǎng)絡(luò)所取得的。卷積神經(jīng)網(wǎng)絡(luò)由輸入層、卷積層、池化層、全連接層、輸出層構(gòu)成。卷積層通過卷積的過程來提取數(shù)據(jù)中的特征,數(shù)據(jù)通過卷積層會輸出一個特征矩陣,實現(xiàn)自動提取特征并減少訓練參數(shù)。池化層的主要作用是濾去特征矩陣中不重要的樣本,減少參數(shù)數(shù)量。全連接層將特征進行綜合,最后通過輸出層進行分類判決,卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖如圖1所示。
雷達調(diào)制信號包含I、Q兩路數(shù)據(jù),其維度為2×n,通過與圖像數(shù)據(jù)維度的比較具有一定的相似之處。因而通過二維卷積神經(jīng)網(wǎng)絡(luò),可以自學習雷達信號深層次的特征,對雷達調(diào)制信號實現(xiàn)端到端的識別。
生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)源自于博弈對抗理論,由生成器G和判別器D兩部分組成。生成器的作用是輸入的噪聲Z,通過不斷的學習,擬合出逼近真實分布Pdata,能夠欺騙判別器D的生成樣本G(Z)。判別器D的作用是對輸入的樣本進行判別,是真實樣本x,還是生成樣本G(Z)。這兩個網(wǎng)絡(luò)不斷地對抗,生成器不斷生成能夠迷惑判別器的以假亂真的生成樣本,判別器不斷地學習,提升區(qū)分生成樣本和真實樣本的能力。兩者會達到納什均衡。最終生成器G生成能夠以假亂真的生成樣本G(Z);由于G(Z)趨近于真實分布,判別器D無法對生成樣本G(Z)以及真實樣本x做出正確的判別。生成對抗網(wǎng)絡(luò)的流程圖如圖2所示。
圖2 生成對抗網(wǎng)絡(luò)流程圖
判別器D盡可能區(qū)分生成樣本G(Z)與真實樣本x,對于判別器D這是一個二分類的問題。采用最小交叉熵的方法訓練D,能夠使其有效地分辨并生成樣本G(Z)與真實樣本x。當輸入x時,輸出概率盡量為1;當輸出為G(Z)時,輸出概率盡量為0。判別器D損失函數(shù)如下所示:
(1)
其中,D(x)為D判斷輸出為真實樣本的概率,D(G(Z))為D判斷輸出為生成樣本的概率。對于生成器G,其通過學習真實分布Pdata來欺騙判別器D,因此要增大G(Z)被判別為真實樣本的概率,即D的輸出概率趨近于1。生成器的損失函數(shù)如下所示:
(2)
D的輸出范圍在0到1之間,因此式(2)等價于式(3),
(3)
因此,判別器D與生成器G的對抗過程的表示為
(4)
DCGAN與GAN都使用二分類交叉熵損失函數(shù),但生成對抗網(wǎng)絡(luò)并沒有對生成器G,判別器D的結(jié)構(gòu)做過多的定義,默認的生成器與判別器結(jié)構(gòu)為多層感知機。深度卷積生成對抗網(wǎng)絡(luò)在生成對抗網(wǎng)絡(luò)的基礎(chǔ)上將生成器與判別器的網(wǎng)絡(luò)結(jié)構(gòu)改進為深度卷積網(wǎng)絡(luò)結(jié)構(gòu),在生成器以及判別器中都添加了批量歸一化的操作。DCGAN中的深度卷積網(wǎng)絡(luò)取消CNN中的池化層,通過卷積以及去卷積來替代,通過全局池化層來代替全連接層來減輕計算量。此外,DCGAN中生成器中輸出層使用Tanh激活函數(shù),其他層都是用RELU激活函數(shù),判別器輸出層為sigmoid激活函數(shù),其他所有層都為LeakyReLU激活函數(shù)。
根據(jù)文獻[16]中的圖像生成實驗,其對生成對抗網(wǎng)絡(luò)網(wǎng)絡(luò)進行改進,通過最小二乘損失函數(shù)替代交叉熵損失函數(shù),組成新的模型LSGAN,證明了LSGAN有更強的收斂性。因此,引入最小二乘損失函數(shù)替代DCGAN中的交叉熵損失函數(shù),以增強模型的收斂性,同時加入梯度懲罰機制,使訓練過程更加的穩(wěn)定。生成器的損失函數(shù)如下所示:
(5)
由于判別器D的梯度數(shù)值空間是整個樣本,使用整個數(shù)據(jù)集樣本對于包含了生成樣本以及真實樣本的數(shù)據(jù)集容易造成維度過高,計算量過大等問題。因此沒必要對整個數(shù)據(jù)集做采樣,只需對每一批次樣本中采樣,通過生成一個隨機數(shù),在生成數(shù)據(jù)和真實數(shù)據(jù)中做一個插值來完成每批次樣本的采樣[16]。
xr~Pdata,xg~Pz(Z) ,
(6)
ε~Uniform[0,1],ρ=εxr+(1-ε)xg,
(7)
其中,xr為真實數(shù)據(jù)中的每一批次樣本的采樣,xg為生成數(shù)據(jù)中的每一批次樣本的采樣,ε為0-1的隨機數(shù),ρ為在真實數(shù)據(jù)以及生成數(shù)據(jù)中每一批次樣本的隨機采樣。通過增加懲罰項使梯度穩(wěn)定,靠近的過程中使G(Z)靠近x且D(G(Z))不靠近D(x),判別器的損失函數(shù)如下所示:
(8)
卷積深度神經(jīng)網(wǎng)絡(luò)較傳統(tǒng)方法,不需要提取專家特征,但在小樣本條件下,由于較少的數(shù)據(jù)量難以使得卷積等深度神經(jīng)網(wǎng)絡(luò)模型得到充分的訓練,而生成對抗網(wǎng)絡(luò)可以通過生成以假亂真的數(shù)據(jù)擴充數(shù)據(jù)集,充分地訓練網(wǎng)絡(luò),因此混合網(wǎng)絡(luò)模型更具有優(yōu)勢。筆者將SDCGAN與CNN聯(lián)立,組成混合網(wǎng)絡(luò),通過SDCGAN生成逼近真實分布的生成樣本,提升卷積神經(jīng)網(wǎng)絡(luò)的識別效果。以生成樣本與真實樣本混合數(shù)據(jù),構(gòu)成新數(shù)據(jù)集。通過新數(shù)據(jù)集訓練卷積神經(jīng)網(wǎng)絡(luò)。實現(xiàn)小樣本多種類的雷達信號識別。識別算法流程圖如圖3所示。
圖3 SDCGAN-CNN識別算法流程圖
算法的具體實現(xiàn)步驟如下所示:
(1)在真實樣本中,每類樣本隨機采樣m/9個樣本,采集用樣本數(shù)為m個。
(2)將噪聲樣本,真實樣本為一批次送入SDCGAN。每批次樣本訓練判別器n次,訓練生成器1次。在生成樣本以及真實樣本中做插值來完成每批次樣本的隨機采樣,并以此添加梯度懲罰項。
(3)按照初始設(shè)定訓練輪數(shù)以及訓練批次,重復(1)、(2)步驟完成對SDCGAN的訓練。
(4)將生成樣本與真實樣本混合,形成新數(shù)據(jù)集。
(5)以新數(shù)據(jù)集按照預先設(shè)定訓練輪數(shù)以及批次訓練卷積神經(jīng)網(wǎng)絡(luò)。
圖4 實驗流程框圖
實驗的整體流程是,先通過Matlab編程生成多種雷達調(diào)制信號,下載至矢量信號發(fā)生器,通過頻譜儀捕獲信號;再對數(shù)據(jù)進行歸一化,下采樣等預處理操作,將信號送入增強深度卷積對抗網(wǎng)絡(luò);最后將真實樣本和生成樣本一并送入到卷積神經(jīng)網(wǎng)絡(luò),得出分類結(jié)果。通過這種方法會考慮實際雷達信號監(jiān)測過程中接收機的頻偏、相偏和動態(tài)范圍等實際因素,使得采集的數(shù)據(jù)更接近真實場景。
以7種二進制巴克碼序列Barker2、Barker3、Barker4、Barker5、Barker7、Barker11、Barker13以及線性調(diào)頻(Linear Frequency Modulation,LFM)、脈沖信號(Pulse),共9種雷達調(diào)制信號構(gòu)建數(shù)據(jù)集。
二進制巴克碼序列是一種有限長序列A=[a0,a1,…,an],各元素取值為+1和-1,其調(diào)制相位只有0和π兩種取值,長度n≥2,當k≠0時,其非周期自相關(guān)系數(shù)為
(9)
其中,|yk|≤ 1,yk=y-k。
線性調(diào)頻調(diào)制是一種典型的頻率調(diào)制的調(diào)制方式,其表達式如下:
(10)
通過Matlab編程生成LFM、Pulse、Barker等多種雷達I、Q數(shù)據(jù),并下載至是德科技的N5182A矢量信號發(fā)生器產(chǎn)生少量的多類型調(diào)制方式的射頻雷達信號,以同步線方式傳輸,泰克科技的RSA6114A接收機將信號捕獲。
巴克碼信號載頻為2 GHz,中頻采樣頻率為50 MHz,脈沖重復時間PRI為210 μs,信號發(fā)射時長為200 μs。LFM信號載頻為2 GHz,調(diào)頻帶寬為10 MHz,中頻采樣頻率為50 MHz,脈沖重復時間(Pulse Repetition Interval,PRI)為310 μs,信號發(fā)射時長為300 μs。Pulse信號載頻為2 GHz,中頻采樣頻率為50 MHz,脈沖重復時間PRI為310 μs,信號發(fā)射時長為300 μs。這些信號的頻譜儀掃頻帶寬均為40 MHz。取一個調(diào)制周期內(nèi)的采樣數(shù)據(jù)為1個樣本,由于信號為I、Q兩路,每個信號經(jīng)下采樣后的維度為2×1 024,類別標簽為One-hot編碼,維度為1×9,具體信號采集流程如圖5所示。
圖5 信號采集流程圖
筆者設(shè)計的SDCGAN生成對抗網(wǎng)絡(luò),生成器以及判別器的網(wǎng)絡(luò)結(jié)構(gòu),優(yōu)化器為RMSprop,學習率為0.000 02,判別器卷積層dropout為0.1,LeakyReLU中的alpha為0.2,前3個卷積步進為2,最后一個步進為1,batchnormalization中的momentum為0.8。其具體結(jié)構(gòu)如表1所示。
表1 SDCGAN模型結(jié)構(gòu)
筆者所設(shè)計的CNN網(wǎng)絡(luò)結(jié)構(gòu),學習率為0.000 5,優(yōu)化器為Adam,損失函數(shù)為交叉熵,每層卷積都有dropout,dropout為0.5。模型詳細結(jié)構(gòu)如表2所示。
表2 CNN模型結(jié)構(gòu)
實驗所采用的深度學習框架為keras,實驗所使用的硬件平臺CPU為Intel(R)Xeon(R)E5-2630 v4 @ 2.20 GHz,GPU為GeForce RTX 2080Ti,操作系統(tǒng)為Centos7。
為進一步說明混合網(wǎng)絡(luò)較傳統(tǒng)方法的優(yōu)越性,生成樣本與真實樣本的混合數(shù)據(jù)為實驗數(shù)據(jù)、通過8∶2的比例劃分實驗數(shù)據(jù)和測試數(shù)據(jù)。將混合網(wǎng)絡(luò)與傳統(tǒng)方法進行對比,提取信號的三階矩和四階矩特征分別使用類近鄰分類器(K-Nearest Neighbor,KNN)、線性支持向量機(Linear Support Vector Machine,Linear-SVM)、非線性支持向量機(Nonlinear Support Vector Machine,Nonlinear-SVM)、梯度提升決策樹(Extreme Gradient Boosting,XGBoost)、隨機森林(Random Forest,RF)分類器進行分類識別。
從圖6結(jié)果來看SDCGAN-CNN方法明顯優(yōu)于本次實驗的傳統(tǒng)方法,混合網(wǎng)絡(luò)較傳統(tǒng)方法的識別率高,泛化性好。同時,傳統(tǒng)方法的識別的準確性,受限于人工提取的特征。而混合網(wǎng)絡(luò)是自動提取特征,不受人工提取特征的制約。
圖6 混合網(wǎng)絡(luò)與傳統(tǒng)方法實驗對比圖
為驗證SDCGAN-CNN雷達調(diào)制信號識別算法的可行性,對3.1節(jié)中9種信號雷達調(diào)制信號進行小樣本識別實驗,訓練集中每類含有40個真實樣本,信噪比為8 dB,卷積神經(jīng)網(wǎng)絡(luò)訓練epochs為200,batch_size為32,學習率為0.000 5。CNN以混合數(shù)據(jù)為訓練集,進行訓練。通過100次蒙特卡羅實驗,得到信號的識別準確率,如表3所示。
表3 不同生成樣本數(shù)量信號識別準確率
從表3可知,在每類信號只有40個真實樣本的條件下,信號識別準確率為81.11%;加入生成數(shù)據(jù),提升樣本的數(shù)量,使深度神經(jīng)網(wǎng)絡(luò)能更加充分挖掘數(shù)據(jù)潛在特征。通過加入生成樣本,可以使雷達調(diào)制信號識別準確率提升到91.11%,充分驗證SDCGAN-CNN算法在小樣本條件下,提升信號識別能力的可行性。
采取多維度驗證,首先在訓練集每類原始信號樣本數(shù)為40~200個的條件下,對不同信噪比的信號識別效果進行比對,以證明CNN模型的有效性,確定訓練集樣本數(shù)對信號分類(識別)準確率的影響,如圖7所示。
圖7 訓練集樣本數(shù)對信號識別準確率的影響
為證明SDCGAN-CNN網(wǎng)絡(luò)的有效性,在信噪比為-10 dB到10 dB條件下,訓練集中每類原始數(shù)據(jù)樣本數(shù)為40個,生成對抗網(wǎng)絡(luò)生成每類生成樣本數(shù)為100個,4種方案的信號識別效果進行比對如圖8(a)所示。同時在信噪比為0 dB,每類原始信號樣本數(shù)為40~200個的條件下,生成對抗網(wǎng)絡(luò)的生成樣本數(shù)為100個,4種方案的信號識別效果對比圖如圖8(b)所示。
從圖8(a)可知,通過SDCGAN-CNN方法比CNN方法有較大提升,在訓練集原始樣本數(shù)為40,信噪比為0 dB條件下,SDCGAN-CNN較CNN,識別準確率提升約10%,較DCGAN-CNN以及GAN-CNN分別提升約1%和約2%。從圖8(b)可知,在訓練集原始樣本數(shù)為180,信噪比為0 dB的條件下,SDCGAN較CNN提升約8%,較DCGAN-CNN以及GAN-CNN分別提升約4%以及約6%。
(a)不同信噪比信號識別準確率
從上面的實驗結(jié)果來看,SDCGAN帶來了小幅的準確率提升。為更進一步的證明SDCGAN多產(chǎn)生的顯著效果,繪制生成信號的Barker7、LFM、Pulse信號包絡(luò)形狀以及時頻圖做進一步的驗證。
首先對比GAN、DCGAN、SDCGAN這3種算法生成Barker7,LFM,Pulse信號I路效果,效果對比圖如圖9所示。
圖9 生成信號效果對比圖(第1行為Barker7,第2行為LFM,第3行為Pulse)
通過觀察對比SDCGAN生成的信號與原始信號形狀更為的相似。其生成信號的噪聲影響,較DCGAN、GAN的生成信號更弱。
通過時頻圖來進一步觀察生成信號的質(zhì)量情況,通過短時傅里葉變換(Short-Time Fourier Transform,STFT)方法進行時頻分析來檢測生成信號的質(zhì)量情況。STFT的數(shù)學表達式如下:
(11)
其中,g(·)為窗函數(shù),τ為窗函數(shù)在時間軸上的平移量。
圖10為雷達調(diào)制信號時頻圖。
圖10 雷達調(diào)制信號時頻圖
時頻圖自上而下分別為原始圖像、SDCGAN生成圖像、DCGAN生成圖像、GAN生成圖像。自左到右邊順序為Barker4、Barker7、Barker11、Barker13、LFM。信號時頻圖圖像質(zhì)量對比如表3所示,其性能指標主要是結(jié)構(gòu)相似性(Structural Similarity Index Measure,SSIM)、峰值信噪比(Peak Signal to Noise Ratio,PSNR)、均方根誤差(Root Mean Squared Error,RMSE)。SSIM、PSNR、RMSE公式如下所示:
(12)
其中,x,y分別為真實樣本像素矩陣,以及生成樣本像素矩陣;μx、μy分別為x、y的均值;σx、σy分別為x、y的方差,σxy為x、y的協(xié)方差。其中,c1=(k1L)2,c2=(k2L)2,L為像素值范圍,k1為0.01,k2為0.03。
(13)
其中,I(·)為生成樣本像素矩陣,K(·)為真實樣本像素矩陣,i、j分別為矩陣的橫、縱坐標。
(14)
其中,MAX1為像素矩陣最大值。
R=(M)1/2。
(15)
表4給出了不同模型生成信號的時頻圖質(zhì)量比較。
表4 不同模型生成信號的時頻圖質(zhì)量
PSNR是基于誤差敏感圖質(zhì)的評價,其數(shù)值越大,圖像的失真越小。從表4可以看出,SDCGAN的失真度是最小的。SSIM是一種全參考的圖像質(zhì)量評價指標,它分別從亮度、對比度、結(jié)構(gòu)方面度量圖像的相似性,其數(shù)值越大,失真越小。RMSE為MSE的算法平方根,而MSE是參數(shù)估計值與參數(shù)真值之差平方的期望值。MSE評價數(shù)據(jù)的變化程度,MSE越小,數(shù)據(jù)的精確度越高。這三項指標中,都是SDCGAN的更為優(yōu)異。
針對雷達信號獲取困難、數(shù)據(jù)集構(gòu)建困難的問題,筆者提出一種基于生成對抗網(wǎng)絡(luò)的數(shù)據(jù)增強方法。該方法同時結(jié)合深度神經(jīng)網(wǎng)絡(luò)可用來解決雷達信號識別的小樣本問題。筆者提出方法分別與GAN、DCGAN數(shù)據(jù)增強方法做對比,同時還將未使用數(shù)據(jù)增強的網(wǎng)絡(luò)與使用數(shù)據(jù)增強的網(wǎng)絡(luò)做分類效果對比。實驗結(jié)果表明,筆者提出的方法在小樣本條件下對雷達調(diào)制信號的分類具有更好的效果。
文中僅對不同信噪比的信號做了討論。未來會從信號的頻偏、衰落等角度做進一步的深入研究,從多角度來驗證模型的泛化能力。