(陸軍工程大學,江蘇 南京 210007),
在非協(xié)作通信中,由于難以捕獲信號或者大多信號被干擾,使得可用信號樣本不多,造成沒有足夠多的訓練樣本。此外,在5G 動態(tài)頻譜共享[1](Dynamic Spectrum Sharing,DSS)中,主次用戶占用頻譜的時間不固定且占用時間也不同,因此在一段時間捕獲的信號中會造成某類樣本很小。事實上,大多數(shù)分類器都需要充足的樣本數(shù)據(jù),否則會出現(xiàn)過擬合[2],進而無法準確預測新數(shù)據(jù)。因此,在小樣本無法充分表征信號特征的前提下,數(shù)字通信信號調(diào)制方式識別算法常常表現(xiàn)為泛化能力弱、魯棒性差和識別率下降。目前對于小樣本問題,常見的解決方法有兩種,一種是采用在小樣本條件下具有良好預測能力的識別方法,如k-近鄰法[3](K-Nearest Neighbor,KNN)和支持向量機[4](Support Vector Machine,SVM)等;另一種是通過擬合原數(shù)據(jù)生成新樣本擴充數(shù)據(jù)集來提高算法的識別效果。通常選擇生成式對抗網(wǎng)絡[5](Generative Adversarial Networks,GAN)來生成樣本數(shù)據(jù),以滿足訓練需求。
文獻[3]提出一種基于k-最近鄰圖的小樣本KNN 分類算法。通過劃分k-最近鄰圖,形成多個相似度較高的簇,根據(jù)簇內(nèi)已有標記的數(shù)據(jù)對象來標識同簇中未標記的數(shù)據(jù)對象擴展樣本集,利用該新樣本集對類標號未知數(shù)據(jù)對象進行類別標識[3]。實驗結(jié)果表明,該算法在小樣本情況下能夠提高KNN 的分類精度,減小最近鄰閾值k 對分類效果的影響。但是該文獻對數(shù)字信號的遷移性較弱,并且識別準確率無法滿足現(xiàn)代通信的要求。文獻[6]利用支持向量機來解高維小樣本數(shù)據(jù)和類別不平衡數(shù)據(jù)的分類問題。實驗結(jié)果驗證了該方法在特征較明顯數(shù)據(jù)分類中的可行性,仍然無法解決通信領域中復雜多變的數(shù)字通信信號的小樣本問題。2014 年Goodfellow 等人提出了GAN 的方法[5],至此關于小樣本的研究打開了一扇新的大門。本文在原始GAN 的基礎上將深度卷積對抗網(wǎng)絡用于條件生成式對抗網(wǎng)絡,實現(xiàn)小樣本條件下數(shù)據(jù)的擴充和識別。
生成式對抗網(wǎng)絡[5](generative adversarial networks,GAN)是一種訓練生成模型的深度學習方法,是近年來復雜分布上無監(jiān)督學習最具前景的方法之一。該方法讓兩個網(wǎng)絡相互博弈:生成器(Generator,G)捕捉數(shù)據(jù)分布,判別器(Discriminator,D)區(qū)分從G 中生成的數(shù)據(jù)和真實的數(shù)據(jù),其結(jié)構(gòu)圖如圖1 所示。生成器(Generator,G)將服從Pz分布的噪聲序列z作為輸入來盡量擬合真實數(shù)據(jù)分布Pdata,并產(chǎn)生輸出G(z)。判別器(Discriminator,D)則盡可能判斷輸入樣本是真實樣本x還是生成樣本G(z)。當輸入為x時,D 輸出為大概率;當輸入為G(z)時,D 輸出為小概率。因此GAN 采用極大極小目標對兩種模型一起訓練:
當訓練樣本足夠多時,GAN 收斂為納什均衡[7]。此時鑒別器對真假的判斷能力相當,即:Pz(x)=Pdata(x),生成數(shù)據(jù)達到為以假亂真的效果。
圖1 GAN 結(jié)構(gòu)圖
GAN 訓練流程大致為:固定D 的參數(shù),更新G。將一個噪聲向量z輸入G,得到一個輸出G(z),將G(z)輸入D,然后會得到輸出值p,由于D 的參數(shù)已經(jīng)固定,G 需要調(diào)整自己的參數(shù)來最大化輸出值p。GAN 的算法描述如下。
GAN 算法:
1.參數(shù)初始化:初始化G 參數(shù)θg和D 參數(shù)θd。
2.迭代。
3.訓練D:
(1)分別在真實數(shù)據(jù)集Pdata和噪聲分布z中采樣m個樣本點構(gòu)成真實樣本x{x1,x2,…,xm}和噪聲向量z{z1,z2,…,zm},m是可調(diào)節(jié)的超參數(shù);
(2)將(1)中z輸入G中,獲得m個生成數(shù)據(jù);
(3)更新D 的參數(shù)θd,最大化:
4.訓練G:
GAN 通過兩個網(wǎng)絡互相博弈的方式解決了傳統(tǒng)建模需要大量的先驗知識和計算量巨大的問題[5]。但是基礎的GAN 存在訓練困難的缺陷。因此學者們對基礎GAN 做了一些改進,常見的GAN 模型有:條件GAN (conditional GAN,cGAN)[8],增加分類器的GAN(Auxiliary Classifier GAN,ACGAN)[9],與自動編碼解碼器結(jié)合的GAN (Bidirectional GAN,BIGAN)[10],與變分自動編碼器(Variational Autoencode,VAE)[11-12]結(jié)合的GAN (VAE-GAN),深度卷積GAN(Deep Convolutional GAN,DCGAN)[13]。
2015 年Alec Radford 等人[13]在GAN 基礎上提出了深度卷積生成對抗網(wǎng)絡(Deep Convolutional GAN,DCGAN)。DCGAN 相對于原始GAN 進行了以下改進:使用卷積和微步卷積代替池化層;在生成模型和判別模型時都使用 BatchNormalization[14];在生成器和判別器中都添加了批量歸一化操作;使用全局池化層替代全連接層;生成器的輸出層使用Tanh 激活函數(shù),其他層使用RELU;判別器的所有層都采用Leaky ReLU 激活函數(shù)。該模型性能穩(wěn)定,受到廣泛應用[13]。
條件生成對抗網(wǎng)絡(CGAN)是GAN 的擴展,其中網(wǎng)絡G 和D 都接收到額外的信息標簽y作為輸入?;A的GAN 中的D(x)和G(z)變?yōu)镈(x|y)和G(z|y)。因此,損失函數(shù)表達式如下:
式中,(x|y)表示在y標簽限制下取到x;(z|y)表示在y標簽限制下取到z[7]。該模型允許生成模型的輸出由條件變量y控制。其結(jié)構(gòu)圖表示如圖2所示。
圖2 cGAN 結(jié)構(gòu)示意
本文采用CGAN 和DCGAN 相結(jié)合的方法(Conditional Deep Convolutional,CDCGAN)擴充樣本信號。不同于傳統(tǒng)的cGAN,CDCGAN 的生成器和判別器均改用深度卷積網(wǎng)絡構(gòu)造,解決GAN 的不穩(wěn)定、不收斂和難訓練的問題。其結(jié)構(gòu)圖如圖3所示。
本文將條件生成對抗網(wǎng)絡中生成器和判別器的網(wǎng)絡結(jié)構(gòu)引入深度學習模型,其中生成器輸入的噪聲樣本由1×100 噪聲序列和1×11 類別標簽組成。判別器不僅要實現(xiàn)真假樣本的判別,還要對所有數(shù)字信號樣本進行分類。
CDCGAN 模型的原理:通過生成器和判別器的對抗學習,促使判別器進一步挖掘數(shù)據(jù)深層本質(zhì)特征,進而提高判別器的識別能力[7]。然后利用CDCGAN 的判別器對調(diào)制信號進行分類識別。算法實現(xiàn)步驟如下:
(1)從數(shù)據(jù)集中隨機采樣m個樣本x,從正態(tài)分布中隨機產(chǎn)生m個噪聲序列z并與條件信息c連接作為噪聲樣本;
圖3 CDCGAN 結(jié)構(gòu)示意
(2)將樣本x與噪聲樣本作為一批訓練樣本輸入CDCGAN,根據(jù)判別器的輸出,獲取判別概率和分類結(jié)果;
(3)根據(jù)判別概率和分類結(jié)果計算判別損失Ls,加權(quán)判別損失,分類損失Lc和識別損失,并通過損失Ls,,Lc和計算梯度來訓練生成器和判別器,其中為了防止在訓練過程中生成器生成能力過強,導致生成數(shù)據(jù)坍塌,判別器每訓練5 次,生成器訓練1 次[15]。
仿真實驗采用Adam 優(yōu)化器,學習率為0.001,動量為0.5,噪聲是加性高斯白噪聲,信噪比SNR條件為0~15dB。訓練集中11 種目標樣本數(shù)均為100,共1100 個樣本。將含有相同噪聲不同標簽的噪聲樣本輸入訓練好的生成器,實驗仿真結(jié)果如圖4-10 所示。
圖4 和圖5 分別表示生成器和判別器損失函數(shù)值隨迭代次數(shù)(epoch)的變化趨勢。
圖4 生成器損失函數(shù)變化曲線
圖4 中生成器損失值在開始階段驟然下降,表示生成器逐漸學習到真實樣本分布。中間比較平緩的曲線表明,生成器的生成樣本與真實樣本擬合度很高,足以欺騙判別器。損失值上升階段表明,判別器通過挖掘數(shù)據(jù)更深層本質(zhì)特征使得在和生成器博弈對抗中能力得到提升,即判別器區(qū)分真實樣本和生成樣本的能力得到增強,生成器逐漸無法欺騙判別器。
圖5 判別器損失函數(shù)變化曲線
從圖5 可以看出,判別器損失值在初期下降較快,表示現(xiàn)階段判別器可以通過監(jiān)督學習判別數(shù)據(jù)的真假性。當epoch=40 時,判別器損失值出現(xiàn)上升趨勢,表示判別器已經(jīng)無法準確無誤地識別數(shù)據(jù)是真實樣本還是生成樣本;而此時生成器擬合真實樣本分布能力增強,產(chǎn)生的生成樣本更加逼真。但當epoch>40 時,損失值又呈現(xiàn)出下降趨勢,表示對抗學習中判別器逐漸占優(yōu)勢,能夠正確地分析數(shù)據(jù)的真假性,對樣本進行有效的判斷和分類。
圖6 是CDCGAN 算法的平均識別準確率曲線隨信噪比SNR 的變化曲線。從圖中可以看出不同信號隨信噪比SNR 的增大,識別準確率越來越高。
圖7 是CDCGAN 算法在信噪比SNR 為8dB 時的混淆矩陣,其中混淆矩陣中每一列表示目標所屬的真實類別,每一行表示識別結(jié)果,標簽從上至下,從左至右依次為:8PSK、AM-DSB、AM-SSB、BPSK、CPFSK、GFSK、4PAM 16QAM、64QAM、QPSK、WBFM。
圖7 混淆矩陣
從圖7 可以看出,在5dB 的高信噪比下混淆矩陣的對角線也要尖銳得多。但是仍然有誤判的可能性。
圖8 比較了不同算法在不同信噪比SNR 下,對小樣本數(shù)字通信信號的識別準確率。
從圖中可以看出該模型的識別性能較其他模型的優(yōu)勢。可以看出在不需要先驗知識和樣本不足的條件下,采用該模型可以勝任數(shù)字通信信號識別任務。
圖8 不同算法性能比較
本文在條件生成對抗網(wǎng)絡的基礎上結(jié)合深度學習模型,對小樣本接收數(shù)據(jù)進行擴充,以達到盲調(diào)制識別的目的。仿真實驗結(jié)果表明,該模型能夠較好地擬合真實數(shù)據(jù)分布,深度學習模型又可以進行準確的類別判斷。