王宏安, 黃 達, 張 偉,*, 潘 曄, 王祥豐, 邵懷宗, 顧 杰
(1. 電子科技大學信息與通信工程學院, 四川 成都 611731; 2. 電子信息控制重點實驗室,四川 成都 610036; 3. 華東師范大學計算機科學與技術學院, 上海 200062)
電磁目標識別根據通信偵察設備偵測到的目標通信信號參數,識別、確定通信目標的類別、種類和屬性。該技術在民事領域已被廣泛應用于頻譜管理、干擾識別以及認知無線電等。而在軍事領域,它可提供全面、完善的戰場目標信息,有助于作戰人員及時掌握戰場態勢、減少友軍誤傷。
目前針對電磁目標識別的機器學習方法多是在集中式場景下進行的。針對分布式場景下的電磁目標識別的研究較少。然而隨著軍民用電磁裝備的數量、類型以及更新速度快速增長,自適應對抗技術飛速發展以及電磁系統數字化程度越來越高,電磁環境呈現出高度復雜化、動態化的特征。這造成采集信號數據量劇增(達TB、PB甚至EB級),龐大的數據存儲和計算在單機上是遠遠做不到的,且硬件支持的有限性使得在單機上進行大數據處理十分吃力,將計算模型或者數據分布式地部署到多臺、多類型機器上,分別在不同的計算節點上學習,能夠在硬件上實現水平拓展,突破設備硬件限制,提高數據計算的速度和可擴展性,減少任務的耗時。
本文結合電磁目標識別技術及分布式最優化理論,提出了一種基于去中心化隨機梯度下降(decentralized stochastic gradient descent, DSGD)[1]的電磁目標識別方法。并在手機電磁數據上進行了實驗驗證,將數據分布到多個節點中,通過相鄰節點間傳遞梯度,然后使用去中心化隨機梯度下降的方法更新本地節點模型。同時,將所提方法與集中式場景的單機訓練進行了對比,驗證了該方法的有效性。
電磁信號識別是從源電磁信號樣本中識別出對應樣本類別,從而完成相應的識別任務。早期,對電磁信號識別任務使用的是采用信號處理方式直接進行識別[2]。但隨著現代社會和戰場上電磁信號數量的急劇增加,信號密度呈指數級增長,信號形式日趨復雜。傳統電磁目標識別方法難以快速有效應對日益復雜的電磁環境,結合機器學習方法進行電磁目標識別逐漸成為趨勢。Wang等[3]運用將復值神經網絡和網絡壓縮相結合的方法,既提高了識別性能,又降低了模型復雜度和尺寸。Zhang等[4]利用動態曲線擬合和反向傳播神經網絡組成的反饋分類算法,根據信號指紋特征實現了移動電磁目標的無監督識別。文獻[5]通過在時域和頻域注意機制中使用一種新穎的復數傅里葉神經算子塊,可以從不同領域充分學習特征。Wan等[6]利用信號的雙譜和模糊函數作為特征,通過深度學習網絡對特征進行識別,提高了電磁目標識別的性能。Qu等[7]提出一種多域特征融合與集成學習相結合的方法,提高了標記樣本較少的通信輻射源的識別。Hou等[8]提出一種輻射源二維雙譜與卷積神經網絡(convolutional neural network, CNN)相結合的方法。相比其他結合雙譜特征的算法,該方法在精度和復雜度上都有優勢。文獻[9]利用孿生網絡來解決電磁目標跨模式識別的問題,相較于傳統CNN,效果提升了20%。蔣季宏等[10]運用不同信號分析處理方法得到的特征進行拼接融合,實現了電磁信號的小樣本識別。文獻[11]利用電磁信號的特性,設計了一種基于高階累積量的樹形干擾識別分類器,該分類器具有極高的識別率。文獻[12]將決策樹與Ada Boost結合用于雷達電磁信號識別,較好地解決了高密度信號環境下傳統電磁信號識別實時性差、識別精度低的問題。文獻[13]將雷達電磁信號轉化為符號序列,提取多尺度信息熵作為識別特征,利用K最鄰近法(K-nearest neighbor, KNN)進行分類識別,具有良好的抗噪性。張思成等[14]將電磁信號具象化為二維圖像,在保證識別率的同時極大地減少了模型參數計算的規模。
分布式電磁目標識別計算框架旨在利用分布式最優化或分布式機器學習方法來分布式地實現傳統電磁目標識別。分布式最優化方法是指在由多個計算節點構建的網絡中進行機器學習或者深度學習,其目的為實現更大規模的訓練數據和模型,加快訓練效率。目前分布式最優化方法已在智能電網[15]、信息物理融合系統[16]、無人駕駛飛行器系統[17]等很多領域得到應用,但是針對電磁目標識別場景下的分布式研究應用較少。
以下介紹常用的基于分布式最優化或分布式計算的方法。
All-Reduce[18]:該方法在每次迭代過程中,從節點將計算的參數傳遞給主節點,經主節點對所有節點傳遞過來的參數進行處理后,再將其傳給每個從節點,更新從節點參數,實現參數一致性,達到加速訓練的效果。文獻[19]證明了算法的可行性,文獻[20-21]使用該方法實現了分布式平臺以及集群環境。
Ring-AllReduce:該算法將N個節點分布在一個環上,并將每個節點的數據分成N份。在每個循環過程中,當前節點會收到上一個節點傳過來的數據,在此循環下,最終每個節點都會包含最終結果的一份,達到一致性。該方法也在文獻[22]中用于解決圖形處理器(graphic processing unit, GPU)之間的高效通訊。
橫向聯邦學習[23]:主節點將初始模型分發給從節點,然后從節點根據本地數據集分別對模型進行訓練,將訓練后的模型加密后傳至主節點,在主節點將所有模型梯度聚合后再將其加密傳回各從節點。
交替方向乘子法(alternating direction method of multipliers,ADMM)[24-26]:該方法適用于大規模的分布式優化問題的分布式求解。為了處理約束,該方法結合增廣拉格朗日乘子法與Gauss-Seidel計算技巧,實現分布式最優化問題的迭代求解。該方法在網絡通信[27-28]等領域分布式場景中得到廣泛應用。
盡管國內外研究人員取得了大量的研究成果。例如隨著電磁環境日趨復雜,針對傳統基于信號處理的方法難以實現快速準確識別的問題,不少研究人員將機器學習的方法應用于其中以解決該問題,但都是在小樣本或者數據量規模較小的場景下,使用集中式機器學習或者深度學習方法進行識別。結合分布式機器學習進行電磁目標識別的研究還較少。對于大數據背景下的電磁目標識別,分布式機器學習在識別效率高、設備計算及存儲能力要求低等方面有著獨特優勢,將分布式機器學習用于電磁目標識別有著很好的應用前景。
傅里葉變換常用于平穩信號的處理,且只能反映出信號的頻域特性。在現實世界中,需要分析和處理的信號往往是時變的或是非平穩的,其統計量,如相關函數,功率譜等也都是時變函數。在這種情況下,希望得到信號頻譜隨時間的變化,故Gabor于1946年提出了短時傅里葉變換(short-time Fourier transform,STFT),其實質是加窗的傅里葉變換。通過窗函數的不斷移動,得到整段信號的頻譜隨時間的變化,其計算公式如下:

(1)
式中:x(t)為原始信號;h(t-τ)為窗函數,τ表示窗函數移動的位置;F(t,f)為STFT變換后的結果。可以看出,STFT就是先將信號x(t)乘以窗函數h(t-τ)的共軛,再做傅里葉變換。
窗函數每移動一次,就會得到一個復數值。在窗函數移動到信號尾端時,表示處理結束,最終得到一個維度為n×m的復數矩陣。其中,n與窗函數h(t-τ)移動的次數有關,m與窗函數的寬度有關。
目前的神經網絡架構主要有3種,基于卷積池化的殘差網絡(residual network, ResNet)[29]、基于多層感知機制(multi-layer perceptron, MLP)的MLP-mixer[30]和基于注意力機制的Transformer[31]。本文選用前兩者分別作為訓練網絡,以探究不同網絡架構在分布電磁目標識別中影響。
2.2.1 ResNet
ResNet通過引入殘差連接,很好地解決了由于神經網絡加深而引起的網絡退化問題。用ResNet101作為訓練網絡,ResNet101由33個模塊加上一些單獨的卷積層(Conv)、池化層和全連接層組成,其網絡結構如圖1所示。

圖1 殘差網絡101Fig.1 ResNet101
2.2.2 MLP-mixer
MLP-mixer是一種完全基于MLP的網絡結構。在將輸入數據分為多個patch后,輸入進一個全連接層,再經過多個混合層后,進行全局平均池化,最后再經過一個全連接層后輸出類別。其中,每個混合層使用了兩種類型的MLP層、通道混合層和位置混合層。通道混合層通信不同通道上的信息,位置混合層通信不同空間位置上的信息。MLP-mixer的網絡結構如圖2所示。

圖2 MLP-mixerFig.2 MLP-mixer
對于分布式系統架構,其網絡拓撲結構的決定因素是系統設計實現的分布程度。根據具體場景不同,分布式系統的拓撲結構可以設計為星型拓撲、樹型拓撲及點對點型拓撲。分布式拓撲結構示意圖分別如圖3(a)~圖3(c)所示。其中,星型拓撲(見圖3(a))采用嚴格的分層方法進行聚合,聚合發生在單個中心位置;樹型拓撲(見圖3(b))允許中間的節點進行聚合操作,通過每層之間數據信息的計算與傳遞完成分布式感知任務。由于每個節點只需與其父節點和子節點通信,所以樹狀拓撲具有易于擴展和管理的優點;點對點型拓撲(見圖3(c))中的每一個節點都相對獨立,系統沒有為某些節點分配特定的任務,每個節點都擁有完整的信息,并且可以與任何其他節點進行通信。點對點型的拓撲結構比前兩種拓撲結構具有更高的可伸縮性和魯棒性,不容易因單個節點被影響而影響到整個系統。但相應地,系統的通信量也會很大,需要根據實際情況來設計滿足場景需要的分布式拓撲結構。由于本文針對的是去中心場景,所以采用點對點型的拓撲結構。

圖3 分布式拓撲結構Fig.3 Distributed topology structure
在本文場景中,由于電磁數據采集設備分布有多個并放置于不同地點,導致數據分散存儲,并且采集的數據規模較大。如果使用網絡傳輸,數據在通信過程中容易受到網絡的波動,而導致數據不能實時共享。另外,中心化分布式方案采用的是主節點+從節點的模式運行系統。在這種情況下,如果主節點發生故障,很有可能導致系統崩潰。而去中心化的分布式方案剛好能夠規避上述問題。由于去中心化分布式方案在訓練過程中可以只在鄰居節點間傳遞參數,大大減少了網絡中的通信量,而且去中心化的分布式方案沒有主節點,該方案中每個節點的地位都是等同的。理論上而言,任意節點宕機都不會造成系統的崩潰。采用去中心化的分布式訓練方案,更適合本文的應用場景。
本文算法是去中心化分布式方案的一種,它由n個工作節點組成一個連通的點對點型網絡,并協作解決一個一致優化問題。
(2)
式中:fi為工作節點i上待優化的目標模型,fi僅保留在工作節點i上,其他工作節點不可獲取;x為模型參數。為解決上述優化問題,本文算法的所有工作節點僅和相鄰節點進行信息交換,不需要一個融合中心(如參數服務器)來進行參數的同步,降低了拓撲網絡的通信壓力。
去中心化梯度下降不依賴于融合中心,它以下列方式執行梯度下降:
(1) 讓每個工作節點i持有本地參數x(i);


算法1介紹了單個工作節點具體識別的算法流程,其中k為當前迭代序號,i代表當前節點序號,l表示總的迭代輪次。

算法 1 基于DSGD的電磁目標識別1 工作節點i(i∈{1,2,…,n})采集信號數據si2 對采集信號數據si進行預處理:濾波、能量檢測、數據歸一化、切片等,得到s'i3 對s'i進行STFT變換,生成數據集Di4 初始化模型參數x(i)(0),設置初始學習率α5 for k=1,2,…,l6 節點i根據本地數據集Di計算梯度 Δfi(x(i)(k))

7 發送梯度Δfi(x(i)(k))到鄰居節點;8 接收鄰居節點梯度,并進行加權平均: Δfix(i)k+12 =∑nj=1wijΔfj(x(j)(k))9 更新本地參數: x(i)(k+1)=x(i)(k)-αΔfix(i)k+12 10end for
本文采用點對點型的分布式拓撲結構,在算法1的流程中,當且僅當節點i與節點j相鄰時,wij≠0,本文設置wij=1。
從上述算法中可以看出去中心化的梯度下降過程只依賴于相鄰節點的參數數據,而不依賴于全局分布式節點的范圍。在整個迭代過程中,每個節點僅需要發送本地模型梯度到鄰居節點,且通信只存在于相鄰節點之間,極大地減少了通信量。雖然整個模型迭代的時間變長,但是避免了傳統中心化中需要向中心節點傳遞參數而造成的網絡大量通信的問題和節點故障的容錯性問題。
在本節中,本文在采集的手機電磁目標數據上進行實驗驗證,主要從收斂速度、訓練時間、內存占用和識別準確率這幾個方面對比集中式方法和DSGD方法。
本次實驗使用7部手機作為識別目標,分別為兩部榮耀10手機,一部華為P9手機,兩部蘋果6S手機,一部魅族X8手機,一部小米6手機。在屏蔽箱內采集手機發出的電磁信號,時域 8 192點數據,共采集4個批次、每個目標每個批次6 000條樣本,取前3個批次的數據作為訓練集,即訓練集7個目標共126 000條樣本,將第4個批次的數據作為測試集,即測試集共7個目標共42 000條樣本。
在算法流程中介紹到,在對電磁目標信號數據進行訓練之前,需要做相應的預處理。本文采取的預處理方式包括濾波、能量檢測、數據歸一化、切片,以及對信號進行STFT特征提取。在對每條樣本進行STFT變換后,會生成一個224×224的復數矩陣,本文將實部和虛部分開,最終生成維度為2×224×224的樣本。
圖4分別是7部手機一條樣本的原始時域圖和STFT后的時頻圖。



圖4 時域波形圖及STFT時頻圖Fig.4 Time domain diagram and STFT time-frequency diagram
本文總共進行了8次實驗,分別為集中式場景2次,分布式場景6次,均在搭有8塊NVIDIA V100的GPU服務器上進行。
在集中式場景下,僅使用1塊GPU。網絡分別選用ResNet101和MLP-mixer以進行實驗。
在分布式場景下,為了探究不同節點數的影響,本文進行了n=3、4、5這3種不同節點數的實驗;為了探究對于不同神經網絡的適用性,分別選取了ResNet101和MLP-mixer進行實驗。在該場景下,每次實驗選用n塊GPU來分別代表n個節點,并將數據均分到n個節點上,搭建如圖1(e)和圖1(f)的點對點型通信拓撲結構。其中,每個節點向鄰接節點廣播本節點的模型參數梯度值,在節點接收到所有鄰接節點的模型參數梯度值后,再進行本地模型參數的更新,具體更新方法見第2.1節算法介紹。
為了便于對比集中式場景和分布式場景的實驗結果,保證實驗的有效性,本文在每次實驗中的硬件選擇和網絡參數設置保持一致。具體設置如表1所示。

表1 參數設置Table 1 Parameter setting
神經網絡環境均為Pytorch1.9.0、Python3.8,每次實驗共訓練100輪。
經過8次實驗,得到了不同場景中,分別在ResNet和MLP-mixer網絡下訓練的平均訓練時間、內存占用、識別準確率等信息,如表2所示。

表2 訓練結果Table 2 Training results
本文對分布式場景下的多節點識別準確率進行求和平均操作,并取前60輪的結果,得到了不同訓練網絡各場景下識別準確率隨迭代輪次的變化,如圖5所示。圖6為分布式場景下5節點與集中式場景下使用ResNet網絡訓練得到的訓練集識別準確率的變化曲線。由圖6可知,在ResNet網絡下訓練,模型會很快收斂,并保持90%以上的識別準確率,且分布式場景下的訓練效果與集中式相差不到1%。

圖5 訓練集平均準確率變化曲線Fig.5 Average accuracy change curve of training set

圖6 訓練集準確率(ResNet)Fig.6 Accuracy of training set(ResNet)
圖7為分布式場景下5節點與集中式場景下使用MLP-mixer網絡訓練得到的訓練集識別準確率的變化曲線。相比ResNet網絡下的訓練過程,在采用MLP-mixer進行訓練時,在分布式場景下收斂較慢,但最后也能達到92%以上的識別效果。

圖7 訓練集準確率(MLP-mixer)Fig.7 Accuracy of training set(MLP-mixer)
由表3訓練結果可以看出,不同的網絡結構,在訓練集上的識別準確率相差6%左右,在測試集上的識別準確率相差1.5%左右。考慮神經網絡容易擬合訓練集上的數據,所以測試集上的準確率更有參考價值。可見本文方法可以適用于不同網絡。
隨著節點數的增加,單節點的樣本數量有所減少,訓練過程中占用的內存也會相應降低,也能有效減少平均訓練時間,但是識別效果幾乎沒有下降。若單節點性能受限,可以在本文方法的基礎上通過橫向擴充節點數量來降低單節點上的識別壓力,且不會對識別效果產生很大影響。
在現今復雜的戰場環境下,海量數據的分布式數據分析顯得十分重要。戰場的電磁信號是基于作戰任務相關的,不同用途的雷達、通信網,不同位置、不同時間所截獲的電磁信號及活動特征之間存在著密切的協同關系。準確識別電磁信號類別,對提取電磁信號,了解敵方意圖、作戰行動等目的十分重要。本文提出了對海量電磁信號的去中心化的分布式解決方案,能夠在性能有限的分布式節點間訓練出有效模型,從而為電子對抗、聯合火力打擊決策支持提供情報分析結果。