馮 磊,蔣 磊,許 華,茍澤中
(空軍工程大學信息與導航學院,西安 710077)
自從2012 年Hinton 團隊的深度卷積神經網絡AlexNet 在ImageNet 挑戰賽上獲得冠軍后[1],深度學習技術得到快速發展,各種針對語音識別和圖像分類任務的新型深度網絡被不斷提出并取得了很好的處理效果,而基于深度學習技術的通信信號調制識別方法也成為當前國內外的研究熱點。文獻[2]對基于手工特征與卷積神經網絡(Convolutional Neural Network,CNN)提取特征的通信信號調制識別方法進行比較,實驗結果證明了CNN 對于信號特征有較強的表征能力。文獻[3]對通信信號進行預處理后將時頻圖作為CNN 的樣本輸入,該方法取得了較好的識別效果。文獻[4]將手工特征與CNN 提取特征相融合,提高了低信噪比條件下的信號識別準確率。然而傳統基于CNN 的深度學習方法存在對訓練樣本需求量大的問題,在很多無法提供足夠豐富樣本量的應用場景下,深度學習網絡無法進行有效收斂,導致其在小樣本條件下的通信信號調制樣式識別中受到了一定的限制。
目前,研究人員通常使用數據增強、基于遷移學習的元學習以及度量學習等方法解決小樣本學習[5]問題。數據增強方法通過擴充訓練樣本集[6]和構造特征[7-8]來有效緩解過擬合現象,但由于生成的樣本或構造的特征相似度較高無法完全解決過擬合問題。基于遷移學習的元學習方法[9-11]通過遷移其他任務上的權值網絡實現小樣本條件下新任務的快速學習,常用方法包括學習最優的初始化條件、遷移梯度更新策略或通過循環神經網絡(Recurrent Neural Network,RNN)構建外部存儲器。這些基于遷移學習的元學習方法方法雖取得了較為理想的分類效果,但也存在一定的局限性,如使用RNN 記憶單元導致算法復雜度高。度量學習方法[12-14]通過特征提取模塊將樣本映射至低維特征空間中,在特征空間中對特征進行度量并利用最近鄰分類器實現分類識別[15-17],其中最具代表性的度量學習方法為VINYALS提出的基于匹配網絡的度量學習方法[13],該方法利用注意力機制在支持集上通過嵌入網絡預測測試集類別,在訓練過程中使用加權平均法對支持集的小樣本數據進行分段抽樣以模擬測試任務,整體識別效果較好,但是其復雜度隨著樣本類別的增多而增大。SNELL 利用歸納偏置思想提出原型網絡[14],在特征空間中以類內的樣本均值作為該類的原型表達,通過計算待測樣本與類原型之間的距離進行分類。原型網絡相比匹配網絡算法復雜度有所降低,但由于未考慮類內樣本存在偏差時學習到的類原型不夠準確,因此導致識別誤差較高。本文根據度量學習方法,借鑒原型網絡思想,提出一種基于深度級聯孿生神經網絡的小樣本調制識別算法。
孿生神經網絡系統[17-18]由一對孿生的子神經網絡構成,這兩個子神經網絡之間共享權值與偏置等參數,輸入為一對樣本。通過神經網絡提取該對樣本的特征向量,即將輸入映射至目標空間,在孿生神經網絡后端計算提取到的特征向量的距離度量,通過該距離來度量輸入的一對樣本之間的相似度。孿生神經網絡結構如圖1 所示,其中,X1和X2表示訓練樣本對輸入,GW(X)表示神經網絡針對輸入樣本學習到的特征,W表示兩神經網絡共享的權值參數,‖GW(X1)-GW(X2)‖表示提取的樣本特征之間的距離。

圖1 孿生神經網絡結構Fig.1 Structure of Siamese neural network
在訓練階段,通過將訓練樣本對輸入至兩個權值共享的子神經網絡中,利用反向傳播算法調節網絡權值W,使用最小化損失函數值學習優化模型的所有參數,即當X1和X2屬于相同類別時,相似度度量EW=‖GW(X1)-GW(X2)‖為一個較小的值;對于來自不同類別的樣本對的最大化損失函數值,即當X1和X2屬于不同類別時,相似度度量EW=‖GW(X1)-GW(X2)‖為一個較大的值。
為最小化相同類別之間的距離度量且最大化不同類別之間的距離度量,定義損失函數如式(1)所示:

其中:d為閾值約束,用于選取適合網絡訓練的異類樣本對;y為類別因子,定義為。
為使損失函數最小化,使用隨機梯度下降算法優化神經網絡參數{Wk,bk}。當孿生神經網絡的輸入為同類樣本對,即樣本對標簽y=0 時,損失函數為:

參數優化更新過程為:

其中,μ表示學習因子。當孿生神經網絡的輸入為不同類別樣本對,即樣本對標簽y=1 時,損失函數為:

當輸入的不同類別樣本對的距離EW(X1,X2)在該半徑范圍內時,只有輸入不同類別的樣本對,才會對損失函數L(W,y)產生影響,從而調整權重參數。當EW>d時,max(0,d-EW)=0,損失函數梯度為0,參數不需要更新。當EW<d時,參數更新過程為:

孿生神經網絡的優化目標是通過對權重矩陣與偏置的不斷更新,在最小化損失函數L(W,y)的同時,使得同類樣本對之間距離更近而異類樣本對之間距離更遠。
若利用小樣本數據訓練基于cross-entropy 的神經網絡分類器,則會由于神經網絡分類器中參數量過大導致分類結果過擬合或者由于訓練樣本過少導致訓練欠擬合,而K-近鄰、K-means 等非參數化識別方法無需優化參數,通過對樣本間的分布距離進行建模,使得同類樣本之間的距離更近,而異類樣本之間的距離更遠,其中典型的非參數化識別方法為度量學習方法,其通過特征提取模塊將原始信號特征映射至特征空間,然后在特征空間中通過最近鄰分類器進行小樣本分類識別。
現有度量學習方法的特征提取模塊設置相對簡單,通常由卷積層堆疊而成,導致特征提取不夠完善。本文針對通信信號IQ 路時序圖的圖像空間特性與信號時序特性,設計由CNN 和長短時記憶(Long Short Term Memory,LSTM)網絡級聯的特征提取模塊CLS,提取更具代表性的特征并在孿生網絡架構下對提取的特征進行距離度量,以相似性約束訓練網絡并使特征提取網絡收斂。本文算法實現過程分為訓練過程和測試過程,算法框架如圖2 所示,其中:Xi和Xj為訓練樣本對輸入;Xk為測試樣本;R1、R2和Rn為測試樣本與不同訓練樣本類別之間的相似度。在測試過程中將訓練樣本通過特征提取模塊提取的特征向量生成各個類別的類中心,然后將通過特征提取網絡的待測樣本分別與各個類別的類中心輸入至距離度量模塊生成相似度,最終選取相似度最高的類別作為待測樣本的類別。

圖2 本文算法框架Fig.2 Framework of the proposed algorithm
本文在DeepSig 公開調制數據集[19]上進行實驗,該數據集是通過對信號進行預處理后得到的2×128同相分量I 路和正交分量Q 路時序圖,將其作為特征提取網絡的輸入,特征提取模塊由CNN 與LSTM 級聯而成,具體結構如圖3 所示。

圖3 特征提取模塊Fig.3 Feature extraction module
由于本文算法在小樣本條件下實現,網絡結構設置不宜過深,因此卷積神經網絡由4 個卷積層(conv)、3 個最大池化層(max pooling)和1 個全連接層(FC)組成。根據通信調制信號IQ 時序圖的稀疏特性,同時為避免卷積核選取過大而增加計算復雜度,選擇2×9、2×7、2×4、2×3 尺寸的卷積核;在卷積層后添加1 個最大池化層,對卷積結果進行非線性下采樣,可有效解決卷積層參數誤差而引起的均值偏移問題;每層卷積神經網絡的輸出均采用ReLU 激活函數,能有效增加模型的非線性特性,有助于網絡模型更好地挖掘樣本數據特征。由于每通過1 個最大池化層,下一層卷積核數量就會出現倍增,因此將卷積濾波器數量設置為16 的倍數。當卷積層輸出后,利用flatten 層將卷積神經網絡提取到的特征輸出至具有256 個神經元的全連接層,并通過LSTM 輸出特征。為避免網絡訓練過程中出現過擬合現象,在每個最大池化層后設置1 個dropout 層。
距離度量模塊可通過訓練使相同類別之間的距離更近而不同類別之間的距離更遠,常用的距離度量函數主要包括歐氏距離、馬氏距離和余弦相似度度量函數,但此類固定距離度量函數需要嵌入特征提取模塊并將樣本特征準確地提取至目標子空間。本文通過深度神經網絡與特征提取模塊聯合訓練非線性度量函數度量樣本之間的相似度。
將特征提取模塊輸出的特征向量并聯后輸入至由兩個卷積層和兩個全連接層組成的距離度量模塊(如圖4 所示),每個卷積模塊后通過最大池化層進行下采樣,網絡訓練同樣采用ReLU 激活函數激活和dropout層防止網絡訓練過擬合,最終通過Sigmoid 函數將相似度映射至(0,1),計算得到相似度為:

其中,Ri,j表示輸入兩樣本Xi和Xj的相似度,g()表示距離度量模塊的輸出,f()表示特征提取模塊的輸出,c表示樣本輸出特征的拼接。

圖4 距離度量模塊Fig.4 Distance measurement module
為同時滿足孿生網絡中特征提取模塊和距離度量模塊的約束條件,定義損失函數為:

由式(9)可知,約束超過相似度閾值的樣本對在訓練過程中不進行梯度更新,使得網絡收斂速度更快。
本文算法采取測試與訓練分離的方法,在訓練過程中,通過將相同類別與不同類別的訓練樣本IQ時序圖隨機進行兩兩配對并打上“1”和“0”標簽,使相同類別的樣本之間更近而不同類別樣本之間的距離更遠。在測試過程中,借鑒原型網絡[14]思想,對于每種調制類別,在特征映射空間中選取最集中的100 個訓練樣本的特征均值作為該類的類別中心,然后使用距離度量模塊度量待測樣本與類中心之間的相似度,選取具有相似度最高的類中心的類別作為識別類別。本文算法步驟具體為:
步驟1標簽制作。將通信信號IQ 路時序圖按照相同類別與不同類別進行重新組合,將相同類別的一組圖片標簽設置為“1”,不同類別的一組圖片標簽設置為“0”。
步驟2訓練樣本對的特征映射。將制作好標簽的信號樣本對輸入至特征提取模塊,提取最后一層的LSTM 輸出作為樣本的特征映射。
步驟3相似度度量。將輸出的樣本對特征并聯后輸入至距離度量模塊進行相似度度量,并根據損失函數對算法模塊進行訓練。
步驟4在測試集中進行類別識別驗證。網絡訓練完成后將待測樣本輸入到網絡中提取特征,并將其與各個類中心的特征通過距離度量模塊進行相似度度量,選擇相似度最高的類別作為待測樣本類別。
實驗采用DeepSig 調制識別公開數據集,該數據集中包含8PSK、AM-SSB、BPSK、CPFSK、GFSK、PAM4、QAM16、QAM64、QPSK、WBFM 10 種調制樣式。在信噪比為?4 dB~18 dB 的條件下,每種調制樣式的訓練樣本數量分別為240、360、480、600、720、840、1 200 和1 800,測試樣本數量為100。實驗硬件平臺為基于Windows7、32 GB 內存和NVDIA P4000顯卡的計算機,并通過Python 中的Keras 開源人工神經網絡庫完成網絡的搭建、訓練與測試。
在模型優化過程中選取Adam[20]優化算法,其相較隨機梯度下降算法具有更快的收斂速度和更高的算法穩定性。實驗中的優化算法采用超參數默認設置,并設置初始學習率和最小學習率分別為10-3和10-5,當驗證損失值增加到10%以上時學習率減少一半,此時選取驗證集損失值最低的模型作為最終訓練模型。對于實驗中損失函數閾值的設置,首先選取初始值為0.1,每次遞增0.1,以此遞增至0.9,分別記錄每個閾值條件下的識別性能,當閾值為0.4 時識別效果最佳,因此實驗均在損失函數閾值為0.4 的條件下進行。在訓練過程中為避免出現過擬合現象,本文采用提前終止迭代(Early Stop Iteration,ESI)算法[21]使模型收斂至驗證集損失值最低點。
3.3.1 孿生神經網絡對識別性能的影響
為驗證在小樣本條件下孿生神經網絡的作用及其對訓練樣本數量的需求,訓練樣本數量分別設置為240、360、480、600、720、840、1 200 和1 800,在CLS 和孿生CLS(簡稱SCLS)網絡結構下對比信噪比取-2 dB、0 dB 和10 dB 時調制信號,測試其識別準確率,實驗結果如圖5 所示。可以看出,SCLS 網絡結構在訓練過程中所需的樣本量明顯降低,在小樣本條件下的識別性能更好,并且當每類調制信號的樣本數量為720 時,基于SCLS 網絡結構的調制識別算法的識別準確率基本達到最優。

圖5 孿生網絡結構在小樣本條件下的識別性能Fig.5 Recognition performance of Siamese network structure under small sample conditions
3.3.2 不同特征提取模塊的性能分析
在每類調制信號的樣本數量為720 的條件下,將基于本文SCLS 網絡結構的特征提取模塊(簡稱SCLS 模塊)與基于SCNN 網絡結構的特征提取模塊(簡稱SCNN 模塊)和基于SLSTM 網絡結構的特征提取模塊(簡稱SLSTM 模塊)進行對比分析,其中,SCNN 網絡結構為文獻[2]中原CNN 網絡結構與孿生網絡相結合的網絡結構,SLSTM 網絡結構為文獻[22]中原LSTM 網絡結構與孿生網絡結構相結合的網絡結構。3 種特征提取模塊對10 種調制信號的識別準確率如圖6 所示。可以看出,在孿生網絡結構下基于CNN 與LSTM 的特征提取模塊識別性能最好,其次是基于CNN 的特征提取模塊,基于LSTM的特征提取模塊識別性能最差。當SNR 為-4 dB時,SCLS、SCNN 和SLSTM 特征提取模塊的識別準確率分別為82%、79% 和75%;隨著SNR 的增大,SCLS、SCNN 和SLSTM 特征提取模塊的識別準確率分別穩定在98%、96%和90%。在整個測試集中3 種特征提取模塊的平均識別準確率如表1 所示,其算法實現所需的訓練參數與訓練時間如表2 所示。由表1 可以看出,SCLS 特征提取模塊對調制信號的平均識別率最高,比SCNN 和SLSTM 特征提取模塊高2.24 和9.04 個百分點,這是由于不同調制信號具有不同的空間特征和時序特征,串聯的CNN 和LSTM可同時提取空間特征和時序特征。由表2 可以看出,SCLS 特征提取模塊相較其他兩種特征提取模塊訓練參數更多,訓練時間更長,算法復雜度更高,這是該模塊需要改進之處。

圖6 3 種特征提取模塊的識別性能比較Fig.6 Comparison of recognition performance of three feature extraction modules

表1 3 種特征提取模塊的平均識別準確率比較Table 1 Comparison of average recognition accuracy of three feature extraction modules %

表2 3 種特征提取模塊所需訓練參數量與時間比較Table 2 Comparison of the amount of training parameters and time required for three feature extraction modules
3.3.3 網絡相似度度量方法對識別性能的影響
為驗證網絡相似度度量方法對算法性能的影響,將本文非線性相似度度量方法與歐氏距離和余弦相似度度量方法進行對比分析,結果如表3 所示。由表3可以看出,與固定的歐式距離度量和余弦相似度度量方法相比,本文非線性相似度度量方法的識別準確率分別提升2.59 和3.05 個百分點,但是算法復雜度也相應有所增加,其主要原因為本文通過神經網絡進行相似度度量,度量網絡可與特征提取網絡聯合訓練,所提取的樣本特征同時滿足度量網絡的約束,而固定的歐式距離度量和余弦相似度度量方法則較依賴特征提取模塊所提取的特征。

表3 3 種度量方法的識別性能對比Table 3 Comparison of the recognition performance of three measurement methods
3.3.4 訓練樣本標簽對識別性能的影響
在每類調制信號的樣本數量為720 的條件下,將隨機制作與優先制作類別相近的訓練樣本標簽在低信噪比條件下進行識別性能對比,結果如圖7、圖8 所示。可以看出,本文算法在低信噪比時仍具有較好的識別性能,但是其對于8PSK 和QPSK 的識別容易混淆,主要原因為這兩種調制樣式在IQ時序圖表示上相似性較大,在低信噪比的噪聲影響下使得兩者更加難以區分,并且在訓練過程中由于隨機制作標簽的影響導致這兩種調制方式的類間組合相對較少,提取的特征不能較好地區分這兩種調制方式。

圖7 隨機標簽在信噪比為-2 dB 和0 dB 時的混淆矩陣Fig.7 Confusion matrix of random label when SNR is-2 dB and 0 dB

圖8 優先標簽在信噪比為-2 dB 和0 dB 時的混淆矩陣Fig.8 Confusion matrix of priority label when SNR is-2 dB and 0 dB
通過對較相似的調制方式進行優先制作相似類間標簽可在訓練過程中提取出更好區分兩者的特征向量,并且在低信噪比條件下相較隨機制作標簽具有更好的識別性能。基于以上實驗的對比與分析得出,本文算法相比傳統基于深度學習的調制識別算法在訓練過程中可有效降低所需樣本量,并且本文采用的級聯特征提取模塊與距離度量模塊可進一步提升算法的識別性能。
本文結合通信信號時序圖的時空特性,提出一種基于深度孿生網絡的小樣本調制識別算法,利用由CNN 和LSTM 級聯的特征提取模塊提取特征,并在孿生網絡架構上通過距離度量模塊對提取特征進行相似度度量,實現小樣本條件下的調制識別。實驗結果表明,該算法在訓練過程中所需樣本量明顯減少,并且相較單一特征提取網絡識別準確率更高。后續將通過半監督學習技術對大量無標簽的訓練樣本進行網絡預訓練,進一步降低網絡訓練過程中所需的樣本量并提高算法運行速度。