秦博偉, 蔣 磊, 許 華, 牛偉宇
(空軍工程大學(xué)信息與導(dǎo)航學(xué)院, 陜西 西安 710077)
信號的調(diào)制方式是區(qū)分不同信號類型的一個重要特征。非協(xié)作信號接收系統(tǒng)中,調(diào)制方式識別在信號解調(diào)、頻譜檢測和參數(shù)估計(jì)等方面起著至關(guān)重要的作用[1]。
目前,調(diào)制識別方法可區(qū)分為兩大類:傳統(tǒng)的調(diào)制識別方法和基于深度學(xué)習(xí)的自動調(diào)制識別算法。傳統(tǒng)的調(diào)制識別方法又分為基于似然比決策理論的識別方法和基于特征提取的統(tǒng)計(jì)模式識別方法。前者根據(jù)信號的統(tǒng)計(jì)特性,依據(jù)代價(jià)函數(shù)最小化原則,通過理論分析與推導(dǎo)得到檢驗(yàn)統(tǒng)計(jì)量,再將其與一個合適的門限進(jìn)行比較,形成判決準(zhǔn)則,最后由判決準(zhǔn)則確定輸出結(jié)果,完成通信信號調(diào)制方式的分類識別,判決準(zhǔn)則一般有最大似然比[2-3]、廣義平均似然比[4]等。后者主要分為特征提取和模式識別兩個部分,目前有基于高階累積量[5]、基于小波變換[6]、基于時(shí)頻分析[7]和基于譜相關(guān)理論[8]等特征的識別方法。傳統(tǒng)的調(diào)制識別方法需要根據(jù)信號特點(diǎn)人工設(shè)置門限或者分類器,受人為不確定因素影響較大。
文獻(xiàn)[9]提出一種不需要人工設(shè)計(jì)特征和判決門限的自動調(diào)制識別算法,該算法將深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)應(yīng)用到調(diào)制識別領(lǐng)域,首次實(shí)現(xiàn)調(diào)制信號端到端的識別模型。在這之后,大量的神經(jīng)網(wǎng)絡(luò)模型被應(yīng)用于自動調(diào)制識別領(lǐng)域[10-12]。文獻(xiàn)[13]結(jié)合多種網(wǎng)絡(luò),利用信號的多維度特征,在信噪比(signal to noise ratio, SNR)為4 dB時(shí)對11種調(diào)制方式的識別準(zhǔn)確率可以達(dá)到90%。文獻(xiàn)[14-15]則利用生成對抗網(wǎng)絡(luò)(generative adversarial network, GAN)[16]初步實(shí)現(xiàn)了少量樣本條件下的信號調(diào)制識別盡管在調(diào)制識別領(lǐng)域已經(jīng)取得了一定的成果,但面對日益復(fù)雜的電磁環(huán)境和層出不窮的新式調(diào)制樣式,閉集識別的模式已經(jīng)逐漸不再適用,如何在開放式環(huán)境下準(zhǔn)確判斷出新式調(diào)制樣式已經(jīng)成為當(dāng)下研究的熱點(diǎn)。文獻(xiàn)[17]首次提出openmax開集識別算法,提出一種“距離矢量”作為區(qū)分各個類別之間的標(biāo)準(zhǔn),在MINST公開數(shù)據(jù)集上測試可以達(dá)到92%的識別準(zhǔn)確率。文獻(xiàn)[18]則利用GAN生成未知類別的虛假數(shù)據(jù)供網(wǎng)絡(luò)進(jìn)行特征學(xué)習(xí),較原始的openmax算法性能提升3%~5%。
針對調(diào)制信號開集識別的問題[1],本文從數(shù)據(jù)重建和極值理論(extreme value theory, EVT)的角度出發(fā),設(shè)計(jì)了一種數(shù)據(jù)重建和EVT的GAN (reconstructed data and EVT GAN, RE-GAN)模型,通過建立信號間的激活矢量集來區(qū)分不同調(diào)制信號。首先通過重建網(wǎng)絡(luò)(reconstructed network, R)和判別網(wǎng)絡(luò)(discriminant network,D)建立不同類別信號的激活矢量集,而后將激活矢量擬合到特定的極值分布中并選擇合適的距離矢量度量已知調(diào)制方式和未知調(diào)制方式與激活矢量中心的距離,最后依據(jù)EVT判別出已知和未知調(diào)制方式的信號。仿真實(shí)驗(yàn)證明,本文所提算法較以往的開集識別算法性能提升3%~7%,網(wǎng)絡(luò)模型更具輕量化。
RE-GAN的網(wǎng)絡(luò)模型設(shè)計(jì)參考GAN模型架構(gòu),R和D進(jìn)行交替對抗訓(xùn)練。R對真實(shí)數(shù)據(jù)進(jìn)行壓縮重建,將高維信息壓縮為低維表示,輸出壓縮向量(真實(shí)數(shù)據(jù))和重建數(shù)據(jù)(虛假數(shù)據(jù))。D則需要準(zhǔn)確地區(qū)分?jǐn)?shù)據(jù)的類別屬性和真假屬性。通過D的輸出反饋到前置網(wǎng)絡(luò)實(shí)現(xiàn)網(wǎng)絡(luò)的訓(xùn)練。
RE-GAN的網(wǎng)絡(luò)結(jié)構(gòu)分為訓(xùn)練階段和測試階段,模型架構(gòu)如圖1和圖2所示。
圖1 RE-GAN訓(xùn)練網(wǎng)絡(luò)Fig.1 Train network of RE-GAN
圖2 RE-GAN測試網(wǎng)絡(luò)Fig.2 Test network of RE-GAN
其中,X為訓(xùn)練數(shù)據(jù),Y代表訓(xùn)練數(shù)據(jù)的類別標(biāo)簽,σ代表噪聲,τ代表訓(xùn)練階段根據(jù)EVT求出的閾值。X′為測試數(shù)據(jù),Y′代表測試數(shù)據(jù)的類別標(biāo)簽,Reri(i=1,2,3,…,k)代表D倒數(shù)第二層輸出的每一類數(shù)據(jù)的平均激活矢量(mean activation vector, MAV),ypred代表已知類別的預(yù)測標(biāo)簽,yuk代表未知類別。
數(shù)據(jù)預(yù)處理模塊主要針對數(shù)據(jù)的幅值信息和相位信息進(jìn)行歸一化,假設(shè)原始數(shù)據(jù)為x,歸一化后的數(shù)據(jù)為x′,則
(1)
式中:A為幅值;φ為相位;I和Q分別表示解調(diào)后的同相數(shù)據(jù)和正交數(shù)據(jù);min和max分別為x所在列的最小值和最大值。對數(shù)據(jù)進(jìn)行歸一化的目的是為了消除數(shù)據(jù)之間的量綱影響,避免數(shù)值相差太大導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練困難,方便后續(xù)網(wǎng)絡(luò)進(jìn)行計(jì)算。
閉集識別問題即測試和訓(xùn)練的每個類別都有具體的標(biāo)簽,不包含未知的類別; 如著名的MNIST和MNIST_FASHION數(shù)據(jù)集,里面包含確定的類別。以MNIST數(shù)據(jù)集為例,訓(xùn)練時(shí)包含0~9的數(shù)字類別,測試時(shí)也是0~9的類別,并不包含如字母A~Z等的未知類別,閉集識別問題即區(qū)分這10個類別。而開集識別問題訓(xùn)練階段保持不變,測試時(shí)不僅僅包含0~9的數(shù)字類別,還包含其他如A~Z等的未知類別,但是這些未知的類別并沒有標(biāo)簽,分類器無法知道這些未知類別里面圖像的具體類別,如是否是A,所有未知的圖像共同構(gòu)成了一個未知類別,開集分類問題即區(qū)分這10個類別且拒絕其他未知類別。開集識別與閉集識別的決策邊界如圖3所示。從圖3中可以看到,閉集識別的決策邊界一定會把未知類別判定為已知類別中確定的一類,而開集識別的決策邊界則會將所有未知類別都劃分為單獨(dú)的一類。
圖3 開集識別和閉集識別的決策邊界Fig.3 Decision boundary of open-set recognition and closed-set recognition
假設(shè)有N類數(shù)據(jù),K={C1,C2,…,CN},輸入數(shù)據(jù)為x,Softmax函數(shù)定義為
(2)
(3)
式中:wi表示p(Ci|x,x∈K),第N+1類表示未知類別。具體的訓(xùn)練過程[19]為:在訓(xùn)練階段,首先訓(xùn)練一個Softmax函數(shù)的神經(jīng)網(wǎng)絡(luò),然后依據(jù)最近類平均理論[20],在倒數(shù)第二層輸出計(jì)算各類樣本輸出矢量的均值并得到各類樣本的MAV,而后選定一個距離度量函數(shù)度量訓(xùn)練樣本與對應(yīng)類別MAV之間的距離并擬合到Weibull分布,Weibull分布是連續(xù)性的概率分布函數(shù),對于服從統(tǒng)一分布的不同樣本數(shù)據(jù)X,可以通過擬合Weibull 分布來建立不同樣本間的模型,方便后續(xù)利用EVT進(jìn)行概率計(jì)算),最后保存MAV集合和Weibull分布模型。在測試階段,首先計(jì)算各個類別的測試樣本在網(wǎng)絡(luò)倒數(shù)第二層的輸出矢量與各個類別MAV的距離,然后依據(jù)Weibull 分布擬合測試樣本并更新MAV,最終根據(jù)EVT計(jì)算得出概率最大值為數(shù)據(jù)所對應(yīng)的類別標(biāo)簽。
選擇平均識別準(zhǔn)確率作為開集識別模型的評價(jià)標(biāo)準(zhǔn),具體公式如下:
(4)
式中:fkau和fukau分別代表已知類別和未知類別的分類準(zhǔn)確率;m和n分別代表已知類和未知類的樣本總數(shù);p(xi)和yi分別代表數(shù)據(jù)的預(yù)測標(biāo)簽和真實(shí)標(biāo)簽;H(·)代表一個邏輯函數(shù),當(dāng)p(xi)與yi相同時(shí)取1,反之為0;對fkau和fukau取加權(quán)平均得到開集識別模型的分類準(zhǔn)確率fau。
RE-GAN的損失函數(shù)分為兩部分,第一部分為R的損失函數(shù),第二部分為D的損失函數(shù)。具體表達(dá)式為
(5)
(6)
式中:E代表期望;R1和D1分別為R和D映射的可微函數(shù);x和x1分別代表加噪前后的原始數(shù)據(jù)。依據(jù)GAN的目標(biāo)優(yōu)化函數(shù)準(zhǔn)則[21-22],對目標(biāo)函數(shù)求一個極大極小值,最終網(wǎng)絡(luò)會收斂到一個納什均衡點(diǎn)[16],即R的重建誤差達(dá)到最小,D準(zhǔn)確將數(shù)據(jù)進(jìn)行分類。
圖4為RE-GAN的具體網(wǎng)絡(luò)參數(shù)設(shè)置。
圖4 R和D的網(wǎng)絡(luò)參數(shù)設(shè)置Fig.4 Network parameter settings of R and D
R和D的網(wǎng)絡(luò)結(jié)構(gòu)選擇與其他GAN結(jié)構(gòu)不同,主要體現(xiàn)在3個方面。
(1) R選用自編碼器對數(shù)據(jù)進(jìn)行壓縮重建,一方面降低了運(yùn)算量并實(shí)現(xiàn)了數(shù)據(jù)的稀疏表達(dá),另一方面壓縮后的特征直接被利用于D,實(shí)現(xiàn)了特征的自動選擇。
(2) D添加全局平均池化層,這樣做的目的在于保留數(shù)據(jù)的空間結(jié)構(gòu)信息,另外相比較于Flatten連接操作,網(wǎng)絡(luò)參數(shù)明顯降低,提高了網(wǎng)絡(luò)的泛化性并防止網(wǎng)絡(luò)過擬合。
(3) D卷積核大小均為卷積步幅為1的非對稱卷積核,不僅可以最大限度地保留數(shù)據(jù)的原始信息,還可以分層次提取數(shù)據(jù)特征。
步驟 1設(shè)置模型初始化參數(shù)。
步驟 2將標(biāo)簽數(shù)據(jù)x={(x1,y1),(x2,y2),…,(xm,ym)}送入R中執(zhí)行梯度下降訓(xùn)練,輸出重建數(shù)據(jù)x′={(x1,y1)′,(x2,y2)′,…,(xn,yn)′}和壓縮向量l=[l1,l2,…,lk]。
步驟 3將l和x′一起送入到D中執(zhí)行梯度下降,計(jì)算D倒數(shù)第二層每一類數(shù)據(jù)對應(yīng)的MAV,選擇余弦相似度度量函數(shù)度量訓(xùn)練數(shù)據(jù)與MAV之間的距離并擬合到Weibull分布模型中,并將最大的度量值記為閾值τ。最后輸出數(shù)據(jù)的預(yù)測標(biāo)簽和τ。
步驟 4設(shè)置終止條件并保存MAV、Weibull分布模型、R和D的網(wǎng)絡(luò)模型和權(quán)重。
步驟 5導(dǎo)入保存好的D模型和權(quán)重,將n個測試數(shù)據(jù)送入到D中進(jìn)行測試,計(jì)算測試數(shù)據(jù)的MAV,更新倒數(shù)第二層的每一類數(shù)據(jù)的MAV,并將測試數(shù)據(jù)和MAV之間的度量距離擬合到Weibull分布并更新Weibull分布模型,記錄每一類數(shù)據(jù)的度量值。
步驟 6將步驟5中輸出的每一類度量值與步驟3中的τ值作對比,若最小值大于τ,則被劃分為未知類別,否則劃分為已知類別。被劃分為已知類別的數(shù)據(jù)按照Openmax函數(shù)計(jì)算得到每一類數(shù)據(jù)的標(biāo)簽屬性。
步驟 7輸出最終分類結(jié)果。
本文的網(wǎng)絡(luò)模型訓(xùn)練均使用python的Keras環(huán)境,配置為Nvidia GTX 1650 GPU,借助Tensorflow后端進(jìn)行訓(xùn)練,調(diào)制信號數(shù)據(jù)集采用Deepsig公開調(diào)制識別數(shù)據(jù)集[15]RML 2016.10b,本文采用的數(shù)據(jù)集信息如表1所示。
表1 調(diào)制信號數(shù)據(jù)集Table 1 Modulation signal dataset
為了適應(yīng)開集識別的應(yīng)用場景,對原始數(shù)據(jù)集信號進(jìn)行切分處理,SNR范圍-4~18 dB,選用除寬帶調(diào)頻(wide band frequency modulation, WBFM)和正交振幅調(diào)制(quadrature amplitude modulation, QAM)64 (QAM64)以外的8種信號作為模型訓(xùn)練時(shí)的數(shù)據(jù),選用全部10種信號作為模型測試時(shí)的數(shù)據(jù)。
為了方便模型進(jìn)行卷積計(jì)算,將數(shù)據(jù)維度由(2,128)增加為(2,128,1),訓(xùn)練樣本數(shù)量為115 200,測試樣本數(shù)量為36 000。模型訓(xùn)練的epoch設(shè)置為20 000;batch-size設(shè)置為64;梯度優(yōu)化算法選擇Adam,學(xué)習(xí)率設(shè)為0.000 4,第一衰減率設(shè)為0.5;Dropout設(shè)置為0.1;隱藏層激活函數(shù)選擇Leakyrelu激活函數(shù),參數(shù)設(shè)置為0.3。網(wǎng)絡(luò)采用交替迭代方式訓(xùn)練,先訓(xùn)練D,再訓(xùn)練R。
RE-GAN的損失函數(shù)曲線如圖5和圖6所示。
圖5 D損失函數(shù)曲線Fig.5 D loss function curve
圖6 R損失函數(shù)曲線Fig.6 R loss function curve
觀察圖5和圖6損失函數(shù)曲線變化趨勢,得出 R 和 D 的訓(xùn)練比較平穩(wěn),網(wǎng)絡(luò)訓(xùn)練沒有發(fā)生過擬合現(xiàn)象。
由于開集識別不僅需要分離出已知調(diào)制方式的信號,還需要拒絕未知類別的調(diào)制信號。因此,本文將不同調(diào)制方式經(jīng)過網(wǎng)絡(luò)輸出后的MAV中心點(diǎn)用坐標(biāo)畫出來, 如圖7所示??梢钥闯?各類別之間的MAV中心相差比較明顯,側(cè)面證明RE-GAN可以很好地分離出未知調(diào)制方式的信號。
圖7 MAV中心點(diǎn)位置Fig.7 Location center of the MAV
為了驗(yàn)證所提算法的性能,本文還通過大量實(shí)驗(yàn)對比了不同激活函數(shù)、不同距離度量函數(shù)、有無全局平均池化層對模型性能的影響,具體結(jié)果如圖8~圖10所示(分類準(zhǔn)確率為所有測試樣本的平均分類準(zhǔn)確率)。
圖8 不同激活函數(shù)Fig.8 Different activation functions
圖9 不同距離度量函數(shù)Fig.9 Different distance measure functions
圖10 有無全局平均池化層Fig.10 Global average pooling layer or not
觀察圖8可以得出Leakyrelu激活函數(shù)作用下的網(wǎng)絡(luò)性能略高于ReLU激活函數(shù)。分析圖9的結(jié)果可以得出,選用余弦相似度比選用歐式距離網(wǎng)絡(luò)訓(xùn)練效果更好。對比圖10的兩條曲線,可以得出網(wǎng)絡(luò)在添加全局平均池化層之后,穩(wěn)定性更好,識別準(zhǔn)確率略有提高。
按照實(shí)驗(yàn)1的網(wǎng)絡(luò)參數(shù)初始值設(shè)定和第2.3節(jié)的具體算法步驟,網(wǎng)絡(luò)測試后的混淆矩陣如圖11~圖13所示(這里只對比閉集識別的混淆矩陣)。
圖11 混淆矩陣結(jié)果(SNR=0 dB)Fig.11 Confusion matrix result (SNR=0 dB)
圖12 混淆矩陣結(jié)果(SNR=10 dB)Fig.12 Confusion matrix result (SNR=10 dB)
圖13 混淆矩陣結(jié)果(SNR=18 dB)Fig.13 Confusion matrix result (SNR=18 dB)
對比圖11~圖13中3張混淆矩陣的結(jié)果圖可以看出,RE-GAN模型在SNR大于0 dB時(shí)對已知信號的識別準(zhǔn)確率可以達(dá)到93%,網(wǎng)絡(luò)可以準(zhǔn)確分離出已知調(diào)制樣式的信號。
為了更好地說明本文所提算法的優(yōu)勢,分別對比了其他開集識別算法,具體實(shí)驗(yàn)結(jié)果如圖14和表2所示。其中,不同算法包括了生成式對抗網(wǎng)絡(luò)的開集識別(generative odversarial networks-openmax, G-Openmax)和開放式長尾識別(open-large-scale long-tailed recognition, OLTR)。分析圖14和表2的實(shí)驗(yàn)結(jié)果可以得出,單獨(dú)使用Softmax分類算法不能實(shí)現(xiàn)信號的開集識別,相比較于單獨(dú)使用Softmax分類算法,RE-GAN的網(wǎng)絡(luò)參數(shù)略有增加,閉集識別性能基本沒有變化,說明本文所提算法可以有效實(shí)現(xiàn)調(diào)制信號的開集識別和閉集識別。相比較于另外3種開集識別算法,RE-GAN的網(wǎng)絡(luò)參數(shù)和乘加次數(shù)均有所減少,識別準(zhǔn)確率提升3%~7%。綜上實(shí)驗(yàn)結(jié)果,基于RE-GAN的調(diào)制信號開集識別算法網(wǎng)絡(luò)模型更具輕量化、訓(xùn)練時(shí)間更短、識別性能有所提高。
圖14 不同算法分類準(zhǔn)確率對比Fig.14 Comparison with classification accuracy of different algorithms
表2 不同算法結(jié)果對比Table 2 Comparison with results of different algorithms
針對調(diào)制信號開集識別問題,本文提出了一種基于RE-GAN的調(diào)制信號開集識別算法,該算法區(qū)別于傳統(tǒng)意義上的閉集識別決策邊界,在網(wǎng)絡(luò)輸出層引入激活矢量,通過距離度量和EVT實(shí)現(xiàn)對未知調(diào)制方式信號的識別。仿真實(shí)驗(yàn)結(jié)果證明,激活矢量一定程度上可以反映不同類別信號間的差異性;相比較于近年來提出的其他開集識別算法,本文所提算法的網(wǎng)絡(luò)復(fù)雜性低、網(wǎng)絡(luò)模型更具輕量化,可以更好地對調(diào)制信號進(jìn)行稀疏表達(dá)和特征學(xué)習(xí),驗(yàn)證了本文算法的有效性。下一步將針對未知類別的信號展開研究,實(shí)現(xiàn)對未知類別信號的精準(zhǔn)識別。