秦博偉, 蔣 磊, 鄭萬澤, 許 華
(1.空軍工程大學(xué)信息與導(dǎo)航學(xué)院,西安,710077; 2.空軍工程大學(xué)科研學(xué)術(shù)處,西安,710051)
通信信號(hào)的調(diào)制樣式識(shí)別是從信號(hào)檢測到信息獲取的一個(gè)重要過程,其目的是在調(diào)制信息未知的情況下對(duì)通信信號(hào)的調(diào)制參數(shù)進(jìn)行估計(jì)分析得出信號(hào)的調(diào)制樣式,從而為最終解調(diào)信號(hào)獲取信息提供理論依據(jù)。傳統(tǒng)通信信號(hào)調(diào)制樣式識(shí)別通常采用基于特征工程的方法,根據(jù)專家的經(jīng)驗(yàn)構(gòu)造信號(hào)特征并建立特征工程。傳統(tǒng)方法主要針對(duì)特定調(diào)制樣式,準(zhǔn)確率和識(shí)別精度高,但是要以大量的先驗(yàn)信息作為基礎(chǔ),需要人工設(shè)定判決門限或固定特征參數(shù),實(shí)際應(yīng)用中受環(huán)境的不確定因素影響[1-5]。因此尋求一種準(zhǔn)確、適應(yīng)性強(qiáng)的調(diào)制分類識(shí)別算法迫在眉睫。
隨著深度學(xué)習(xí)算法在圖像和自然語言處理等方面展現(xiàn)出優(yōu)異性能,使得神經(jīng)網(wǎng)絡(luò)提取特征的能力被逐漸發(fā)掘出來[6-7]?;谏疃葘W(xué)習(xí)的網(wǎng)絡(luò)模型不需要預(yù)先人工設(shè)計(jì)信號(hào)特征,可直接利用網(wǎng)絡(luò)學(xué)習(xí)信號(hào)特征,建立端到端的信號(hào)分類模型[8],具有代表性的網(wǎng)絡(luò)模型有卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)。CNN具有局部區(qū)域感知、權(quán)值共享以及空間下采樣等特點(diǎn)。T. J. O’Shea等人[9]首次將淺層CNN應(yīng)用到無線電信號(hào)的特征提取中,并利用Softmax激活函數(shù)實(shí)現(xiàn)信號(hào)調(diào)制樣式的分類;Jeong等人首先將原始中頻信號(hào)通過短時(shí)傅里葉變換為二維的時(shí)頻域信號(hào),利用圖像處理的方法,使用CNN完成了7種信號(hào)的調(diào)制識(shí)別[10]。Peng Shengliang等人[11]則將解調(diào)后的信號(hào)數(shù)據(jù)轉(zhuǎn)化為星座圖格式,將著名的神經(jīng)網(wǎng)絡(luò)模型Alex-Net和GoogLe-Net應(yīng)用到調(diào)制識(shí)別領(lǐng)域。Zeng Yuan等人[12]將無線電信號(hào)變換為高光譜圖片,利用CNN直接提取圖像特征,在相同信噪比條件下相比較決策樹分類網(wǎng)絡(luò)識(shí)別準(zhǔn)確率提升5%?;谏疃葘W(xué)習(xí)的網(wǎng)絡(luò)模型利用監(jiān)督學(xué)習(xí),依托大量帶標(biāo)簽數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),取得了很好的效果,但實(shí)際應(yīng)用中往往難以獲得大量的標(biāo)簽數(shù)據(jù)。
針對(duì)小樣本學(xué)習(xí)[13]問題,目前普遍采用的是基于數(shù)據(jù)增強(qiáng)的算法和元學(xué)習(xí)算法。數(shù)據(jù)增強(qiáng)算法從特征和屬性方面通過學(xué)習(xí)數(shù)據(jù)的分布生成新樣本[14]和構(gòu)造人工特征[15]來實(shí)現(xiàn)樣本擴(kuò)充;元學(xué)習(xí)算法[16]通過學(xué)習(xí)模型最優(yōu)化時(shí)的初始條件、參數(shù)、網(wǎng)絡(luò)權(quán)值和梯度更新等,遷移到其他任務(wù)上的相應(yīng)權(quán)值網(wǎng)絡(luò)以實(shí)現(xiàn)在小樣本條件下新任務(wù)的快速學(xué)習(xí)。這兩種方法都需要一個(gè)泛化性較強(qiáng)的初始網(wǎng)絡(luò)來實(shí)現(xiàn)對(duì)新任務(wù)的快速適應(yīng)學(xué)習(xí),在實(shí)際應(yīng)用中需要相同分布域的數(shù)據(jù)來訓(xùn)練這個(gè)初始網(wǎng)絡(luò)。
近年來生成式對(duì)抗網(wǎng)絡(luò)[17](generative adversarial networks,GAN)在圖像處理、數(shù)據(jù)生成、信號(hào)分類識(shí)別等領(lǐng)域體現(xiàn)出明顯的優(yōu)勢,GAN直接利用網(wǎng)絡(luò)去學(xué)習(xí)不同分布域的數(shù)據(jù),生成與之相似度較高的虛假數(shù)據(jù),一定程度上解決了網(wǎng)絡(luò)訓(xùn)練所需標(biāo)簽數(shù)據(jù)量不足的問題,并且它獨(dú)特地使用對(duì)抗訓(xùn)練機(jī)制對(duì)2個(gè)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,利用隨機(jī)梯度下降實(shí)現(xiàn)優(yōu)化,避免了反復(fù)應(yīng)用馬爾科夫鏈,從而提高了網(wǎng)絡(luò)訓(xùn)練效率。BuKe等人[18]借鑒GAN的思想,提出一種基于對(duì)抗遷移的通信信號(hào)調(diào)制識(shí)別算法,該算法利用大量標(biāo)簽數(shù)據(jù)生成可靠性較高的虛假數(shù)據(jù)供網(wǎng)絡(luò)進(jìn)行訓(xùn)練,在低信噪比下信號(hào)識(shí)別準(zhǔn)確率較參數(shù)遷移方法提升4%~6%。
基于深度學(xué)習(xí)的網(wǎng)絡(luò)模型訓(xùn)練所需標(biāo)簽數(shù)據(jù)較多、識(shí)別準(zhǔn)確率不高,針對(duì)上述問題,本文設(shè)計(jì)并提出一種基于半監(jiān)督生成式對(duì)抗網(wǎng)絡(luò)(semi-supervised auxiliary classifier GAN,SACGAN)的調(diào)制識(shí)別算法。
GAN最早由Goodfellow在2014年提出,它的基本框架包含兩個(gè)相互對(duì)抗的網(wǎng)絡(luò):生成器G和判別器D,G盡量模擬數(shù)據(jù)真實(shí)分布,而D則是為了準(zhǔn)確區(qū)分真實(shí)數(shù)據(jù)和虛假數(shù)據(jù)。受博弈論中二元零和博弈的啟發(fā),GAN采用對(duì)抗訓(xùn)練方法。首先將噪聲作為數(shù)據(jù)輸入,通過G模擬真實(shí)數(shù)據(jù)并生成虛假數(shù)據(jù),其次將生成的虛假數(shù)據(jù)和真實(shí)數(shù)據(jù)一起送入D進(jìn)行判決,最后輸出的結(jié)果反饋到G和D用于訓(xùn)練,通過這種反饋迭代訓(xùn)練過程,最終G生成的虛假數(shù)據(jù)不再被D所識(shí)別,網(wǎng)絡(luò)訓(xùn)練停止,輸出結(jié)果。
原始GAN中G和D的網(wǎng)絡(luò)結(jié)構(gòu)均為BP神經(jīng)網(wǎng)絡(luò),Goodfellow等[19]從博弈論的角度闡釋了GAN的思想,即達(dá)到納什均衡點(diǎn)的條件為G最小化真實(shí)數(shù)據(jù)與生成數(shù)據(jù)的差異,D最大化真實(shí)數(shù)據(jù)與生成數(shù)據(jù)的差異。G和D的對(duì)抗訓(xùn)練最終會(huì)達(dá)到一個(gè)納什均衡點(diǎn)。這里的差異通常是指Jensen-Shannon散度或者Kullback-Leibler散度[20]。
為適應(yīng)通信信號(hào)調(diào)制識(shí)別的應(yīng)用場合,本文提出的基于SACGAN的算法對(duì)原始GAN結(jié)構(gòu)進(jìn)行了修改。SACGAN模型使用不同的激活函數(shù)使網(wǎng)絡(luò)可以更好地進(jìn)行梯度計(jì)算;用反卷積代替池化操作,最大限度地保留數(shù)據(jù)的初始信息量;網(wǎng)絡(luò)還根據(jù)輸入輸出的對(duì)應(yīng)關(guān)系設(shè)計(jì)了新的目標(biāo)函數(shù),滿足生成虛假數(shù)據(jù)、實(shí)現(xiàn)信號(hào)調(diào)制樣式識(shí)別的目的。
圖1為本文算法的網(wǎng)絡(luò)結(jié)構(gòu),G和D的網(wǎng)絡(luò)結(jié)構(gòu)均為CNN,G的輸入為噪聲、輸出為帶有指定標(biāo)簽類別的虛假數(shù)據(jù),D的輸入為真實(shí)數(shù)據(jù)和虛假數(shù)據(jù),輸出為兩個(gè)判別結(jié)果,一個(gè)結(jié)果為生成數(shù)據(jù)的真假性,另一個(gè)結(jié)果為所有數(shù)據(jù)的類別屬性,將數(shù)據(jù)的類別信息與標(biāo)簽樣本進(jìn)行對(duì)比分析,結(jié)果反饋到網(wǎng)絡(luò)中進(jìn)行參數(shù)調(diào)整和損失函數(shù)計(jì)算。
圖1 SACGAN模型
圖2所示為G和D的具體網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),由于本文設(shè)定的小樣本條件,網(wǎng)絡(luò)層數(shù)的深度堆疊會(huì)直接造成網(wǎng)絡(luò)訓(xùn)練過擬合,參照文獻(xiàn)[21]對(duì)網(wǎng)絡(luò)層數(shù)的選擇標(biāo)準(zhǔn),本文通過大量實(shí)驗(yàn)證明G網(wǎng)絡(luò)采用3層CNN,D網(wǎng)絡(luò)采用4層CNN,隱藏層激活函數(shù)選用ReLU函數(shù)時(shí)網(wǎng)絡(luò)性能最好。
圖2 G和D的網(wǎng)絡(luò)模型參數(shù)
以單個(gè)數(shù)據(jù)為例,生成器的輸入為1×100的服從(0,1)高斯分布的噪聲,經(jīng)過卷積和上采樣操作,輸出2×128×1的虛假數(shù)據(jù);判別器的輸入為2×128×1的真實(shí)數(shù)據(jù),添加零填充層和卷積操作,最終輸出數(shù)據(jù)的真/假結(jié)果和類別屬性。
本文所提的SACGAN模型結(jié)構(gòu)不同于其他的GAN。首先為了擴(kuò)大感受野,D網(wǎng)絡(luò)添加零填充層;其次為了更好地實(shí)現(xiàn)網(wǎng)絡(luò)的分層分塊提取信號(hào)的局部特征,減少網(wǎng)絡(luò)參數(shù)并有效降低算法復(fù)雜度,D網(wǎng)絡(luò)選取2×4、1×7、1×5、1×3的步幅為1卷積核,G網(wǎng)絡(luò)選取2×2、2×3的步幅為1卷積核;最后,為了保留數(shù)據(jù)的原始信息,避免因池化操作帶來的數(shù)據(jù)關(guān)鍵信息丟失,用反卷積和Dropout操作代替池化層。
基于SACGAN的算法訓(xùn)練過程主要分為無標(biāo)簽數(shù)據(jù)訓(xùn)練和有標(biāo)簽數(shù)據(jù)訓(xùn)練。無標(biāo)簽數(shù)據(jù)訓(xùn)練階段,G網(wǎng)絡(luò)需要利用噪聲生成與真實(shí)數(shù)據(jù)相似度較高的虛假數(shù)據(jù),用D網(wǎng)絡(luò)輸出層的輔助分類器來判斷虛假數(shù)據(jù)的相似度。有標(biāo)簽數(shù)據(jù)訓(xùn)練階段,D網(wǎng)絡(luò)需要學(xué)習(xí)真實(shí)數(shù)據(jù)的標(biāo)簽信息,用類別分類器判斷真實(shí)數(shù)據(jù)的類別。訓(xùn)練過程中通過D輸出的結(jié)果分別對(duì)G和D進(jìn)行梯度下降訓(xùn)練。下面給出算法的具體訓(xùn)練步驟。
SACGAN算法模型中G和D可以映射為任意的可微函數(shù),G生成樣本Xfake=G(c,s),每一類生成樣本c~pc,D的輸出為兩部分:正確信號(hào)源概率分布P(S/X)和正確信號(hào)標(biāo)簽概率分布P(C/X),D的輸出層激活函數(shù)分別使用Sigmoid和Softmax。Sigmoid函數(shù)輸出一個(gè)范圍在0~1之間的數(shù),越接近于0代表生成的數(shù)據(jù)越假,越接近于1代表生成的數(shù)據(jù)越真。Softmax函數(shù)輸出k維向量l={l1,l2,…,lk},轉(zhuǎn)化成概率表示為p={p1,p2,…,pk}。
(1)
式(2)為D的輸出的具體表達(dá)式。
(2)
SACGAN的目標(biāo)函數(shù)包括兩部分:正確來源的對(duì)數(shù)似然函數(shù)Ls和正確類別的對(duì)數(shù)自然函數(shù)Lc。
Ls=E[logD′(P1)]+E[logD′(G′(P2))]
Lc=E[logD′(P3)]+E[logD′(G′(P4))]
(3)
式中:E為求期望;G′和D′分別表示G與D映射的可微函數(shù);D的目標(biāo)函數(shù)為最大化Lc+Ls;G的目標(biāo)函數(shù)為最大化Lc-Ls。
本文的模型訓(xùn)練均使用python的Keras環(huán)境,配置為Nvidia GTX 1650 GPU,借助Tensorflow后端進(jìn)行訓(xùn)練,數(shù)據(jù)集采用的是Deepsig公開調(diào)制識(shí)別數(shù)據(jù)集[9]RML 2016.10b,表2為本文采用的信號(hào)集信息。
表2 調(diào)制信號(hào)數(shù)據(jù)集
根據(jù)3通道原則,將數(shù)據(jù)維度由(2,128)調(diào)整為(2,128,1),因?yàn)閿?shù)據(jù)集信號(hào)已經(jīng)進(jìn)行歸一化,所以直接利用服從(0,1)高斯分布噪聲進(jìn)行擬合數(shù)據(jù),訓(xùn)練輪數(shù)設(shè)成80個(gè)epoch。訓(xùn)練時(shí)采用提前終止迭代算法,確保網(wǎng)絡(luò)收斂到驗(yàn)證集損失值最低點(diǎn)。
3.3.1 實(shí)驗(yàn)1:網(wǎng)絡(luò)參數(shù)初始值設(shè)定
為了驗(yàn)證本文設(shè)計(jì)的網(wǎng)絡(luò)參數(shù)最優(yōu)性和相比較于其他優(yōu)化算法是否具有優(yōu)勢,本文首先對(duì)比不同優(yōu)化器下的算法識(shí)別性能,實(shí)驗(yàn)結(jié)果見圖3。
圖3 不同優(yōu)化算法對(duì)比結(jié)果
實(shí)驗(yàn)結(jié)果表明,基于Adam優(yōu)化器相較于其他優(yōu)化器算法在低信噪比下收斂速度較快,高信噪比下穩(wěn)定性更好,因此本文選用Adam優(yōu)化算法。當(dāng)改變Adam的學(xué)習(xí)率時(shí),不管怎么設(shè)置其他網(wǎng)絡(luò)參數(shù),網(wǎng)絡(luò)損失值始終保持不變,因此Adam學(xué)習(xí)率設(shè)置為默認(rèn)數(shù)值0.000 2。在基于Adam優(yōu)化器算法的前提下,本文還通過大量對(duì)比實(shí)驗(yàn)得出Adam第一衰減率、Batch-size、Dropout不同取值時(shí)的網(wǎng)絡(luò)性能,部分實(shí)驗(yàn)結(jié)果如表3所示。
表3 不同參數(shù)下的網(wǎng)絡(luò)性能比較
根據(jù)對(duì)結(jié)果可以看出,Batch-size設(shè)置為64,Dropout設(shè)置為0.05,第一衰減率設(shè)置為0.5時(shí),網(wǎng)絡(luò)的性能最好,將此狀態(tài)下的各項(xiàng)數(shù)值設(shè)置為網(wǎng)絡(luò)參數(shù)的初始值。
3.3.2 實(shí)驗(yàn)2:調(diào)制信號(hào)分類結(jié)果
根據(jù)實(shí)驗(yàn)1的網(wǎng)絡(luò)參數(shù)初始值設(shè)定,將數(shù)據(jù)集切分后輸入到網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,為了驗(yàn)證小樣本條件下的網(wǎng)絡(luò)性能,分別對(duì)(-4~18 dB)信噪比下的每種信號(hào)隨機(jī)選取900,2 700,5 400,8 100,10 800, 21 600,43 200,86 400個(gè)標(biāo)簽樣本,將選取后的所有樣本按照8∶1∶1的比例分為訓(xùn)練集、驗(yàn)證集和測試集實(shí)驗(yàn),實(shí)驗(yàn)步驟按照表1進(jìn)行,m為標(biāo)簽樣本數(shù)量,n取100。
表1 SACGAN算法具體步驟
訓(xùn)練過程中先訓(xùn)練D,從圖4可以看到D的損失在5 epoch以前下降很快,之后下降較為緩慢;D的驗(yàn)證集選取樣本較少,損失函數(shù)曲線有波動(dòng)但整體呈下降趨勢。D訓(xùn)練結(jié)束以后固定D的參數(shù)訓(xùn)練G,從圖5中可以看出G的損失曲線整體表現(xiàn)平穩(wěn),說明每一次G的訓(xùn)練較為穩(wěn)定。
圖4 D的損失函數(shù)曲線
圖5 D的損失函數(shù)曲線
從圖6中可以看出在SNR=0 dB以上的信號(hào)分類準(zhǔn)確率可以達(dá)到95.1%。
圖6 分類準(zhǔn)確率曲線
圖7~9為網(wǎng)絡(luò)測試后的混淆矩陣圖。
圖8 SNR=10 dB的混淆矩陣
圖9 SNR=18 dB的混淆矩陣
為了測試網(wǎng)絡(luò)所需要的最少標(biāo)簽樣本量,表4給出了具體的對(duì)比結(jié)果。
表4 標(biāo)簽樣本量對(duì)網(wǎng)絡(luò)的影響
可以看到當(dāng)無標(biāo)簽樣本數(shù)量保持不變,增加有標(biāo)簽樣本的數(shù)量時(shí),識(shí)別準(zhǔn)確率的提升并沒有那么明顯,并且增大標(biāo)簽數(shù)據(jù)量會(huì)顯著增加網(wǎng)絡(luò)的訓(xùn)練時(shí)間,因此本文算法收斂的標(biāo)簽樣本數(shù)量在900左右。
3.3.3 實(shí)驗(yàn)3:對(duì)比實(shí)驗(yàn)
將本文所提算法的網(wǎng)絡(luò)結(jié)構(gòu)分別替換為參考文獻(xiàn)[18]提出的ATLA算法,參考文獻(xiàn)[19]設(shè)計(jì)的BP神經(jīng)網(wǎng)絡(luò)和參考文獻(xiàn)[22]設(shè)計(jì)的VTCNN和CLDNN,將5種網(wǎng)絡(luò)的特征提取能力進(jìn)行對(duì)比。在本文設(shè)定的小樣本條件下,選取5種網(wǎng)絡(luò)收斂后的最佳模型結(jié)果,分類準(zhǔn)確率曲線對(duì)比如圖10所示,網(wǎng)絡(luò)參數(shù)對(duì)比如表5所示,其中運(yùn)行時(shí)間代表每一個(gè)epoch的訓(xùn)練時(shí)間。
圖10 分類準(zhǔn)確率曲線對(duì)比
表5 網(wǎng)絡(luò)性能對(duì)比
在本文設(shè)定的小樣本條件下,BP神經(jīng)網(wǎng)絡(luò)的參數(shù)最少,時(shí)間最短,分類準(zhǔn)確率相對(duì)較低;VTCNN、ATLA和 CLDNN3種網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)較多、算法復(fù)雜度相對(duì)較高;SACGAN的網(wǎng)絡(luò)參數(shù)顯著減少,時(shí)間復(fù)雜度有所降低,準(zhǔn)確率明顯提升,模型性能相比較其他4種網(wǎng)絡(luò)有較好提升。在SNR=0 dB以下網(wǎng)絡(luò)性能提升6%、 SNR=10 dB以上網(wǎng)絡(luò)性能提升13%。
綜合上述實(shí)驗(yàn)結(jié)果,對(duì)比常規(guī)算法采用的標(biāo)簽樣本數(shù)量,SACGAN算法采用的標(biāo)簽樣本數(shù)量顯著降低,驗(yàn)證了算法在小樣本條件下的有效性。
針對(duì)小樣本條件下通信信號(hào)識(shí)別混淆問題,本文提出一種基于SACGAN的調(diào)制識(shí)別算法,該算法不需要人工設(shè)計(jì)特征,網(wǎng)絡(luò)模型添加輔助分類器作為結(jié)果判定,并結(jié)合半監(jiān)督學(xué)習(xí)思想,有效利用少量標(biāo)簽數(shù)據(jù)和大量未標(biāo)簽數(shù)據(jù),通過兩個(gè)基礎(chǔ)網(wǎng)絡(luò)間的交替對(duì)抗訓(xùn)練,更好地學(xué)習(xí)不同分布域的信號(hào)特征。該算法網(wǎng)絡(luò)結(jié)構(gòu)簡單易實(shí)現(xiàn),所用參數(shù)和標(biāo)簽樣本量明顯減少。仿真實(shí)驗(yàn)結(jié)果表明,在相同樣本量條件下較其他深度學(xué)習(xí)模型效果更優(yōu),針對(duì)9種調(diào)制信號(hào)在SNR=0 dB以上分類準(zhǔn)確率可以達(dá)到95.1%,有效解決了小樣本條件下網(wǎng)絡(luò)難以訓(xùn)練的問題。后續(xù)工作將在本文算法基礎(chǔ)上,添加級(jí)聯(lián)網(wǎng)絡(luò)來進(jìn)一步提升網(wǎng)絡(luò)特征提取能力,使網(wǎng)絡(luò)可以更好地區(qū)分相近信號(hào)。