?

FPGA平臺輕量化卷積神經網絡輻射源信號識別方法

2023-12-27 12:59肖帥龔帥閣李想王昊陶詩飛
計算技術與自動化 2023年4期
關鍵詞:輕量化注意力卷積

肖帥,龔帥閣,李想,王昊,陶詩飛?

(1.電子信息系統復雜電磁環境效應國家重點實驗室,河南 洛陽 471003;2.南京理工大學 電子工程與光電技術學院,江蘇 南京 210094;3.北方電子設備研究所,北京 100191;4.南湖實驗室,浙江 嘉興 314050)

電磁信號頻譜是一種重要的戰略資源,對電磁信號的有效識別具有重要意義。隨著雷達技術和通信技術的發展,電磁信號的波形具有多樣、捷變以及復合調制等特性,其密度也呈指數級激增,導致信號識別的難度大幅增加。早期學者提出了參數匹配法來識別雷達信號[1]。參數匹配法通過測量截獲雷達信號的參數,并與雷達信號數據庫進行匹配,從而識別出雷達信號。但該方法對先驗知識依賴程度高。針對通信信號,研究人員則提出了自動調制識別方法[2]。自動調制識別方法主要包含基于決策理論的最大似然假設檢驗方法[3]和基于特征提取的統計模式識別算法[4]?;跊Q策理論的方法對信道環境適應性差,容易出現模型失配問題?;诮y計模式識別方法需要人為提取特征,對特征選取要求較高。

傳統人為提取信號特征的方式容易造成信息遺漏,近年來的研究開始利用變換域特征結合深度學習進行信號分類識別[5]。深度學習可以處理多維數據并具有強大的特征提取能力,已廣泛應用于雷達信號[6]和通信信號[7]的識別。利用深度學習識別信號時,為了保證識別的準確率,常常采用深層神經網絡[8]。Lin等[8]便提出了一種殘余注意多尺度累積深度卷積網絡,通過融合殘差連接和注意連接提取到雷達信號豐富的特征,并利用結構多尺度累積連接來提高特征利用率,網絡在低信噪比下仍具有較強的識別能力。雖然深層神經網絡識別準確率高,但是需要巨大的算力、存儲和功耗,難以在邊緣側的小型化設備部署。因此,在信號識別任務中神經網絡的輕量化設計十分重要。神經網絡的輕量化方法主要包含兩類:一方面是對傳統的卷積神經網絡的結構進行改進,形成了以SqueezeNet網絡[8]、MobileNet網絡[10]、ShuffleNet網絡[11]和GoogleNet網絡[12]等為代表的輕量化網絡結構;另一方面研究者通過分析網絡結構的特點提出了模型剪枝、低秩分解、知識蒸餾和參數量化等神經網絡輕量化方法[13]。何重航等[14]利用深度可分離卷積結構設計了輕量化卷積神經網絡,通過對抗學習,對-2 dB~-4 dB的信號識別準確率提升至90%以上,證明了輕量化網絡在信號識別領域的可行性。但經過輕量化設計的神經網絡相比于原始網絡識別準確率降低。因此,探索出一種高效的輕量化方法十分重要。

深度學習的應用和發展的離不開硬件支持,硬件的算力、存儲能力和功耗也成了神經網絡算法設計一個重要的關注點。由于早期中央處理器(Central Processing Unit, CPU)串行執行指令的方式限制了神經網絡的進一步發展,目前更多的神經網絡算法通過圖形處理器 (Graphic Processing Unit, GPU)完成。但GPU在算力增加的同時,功耗也成倍增加,在邊緣場景應用受限。因此,學者開始使用現場可編程邏輯門陣列(Field Programmable Gate Array, FPGA)加速神經網絡推理[15]。FPGA具有可編程性、可重用性和低功耗的優點,能夠實現并行計算。面對現代電磁信號認知的低延時和低功耗需求,FPGA具有很大優勢。目前FPGA加速神經網絡大多將權重和中間特征圖緩存在外部存儲器DDR中,存儲器和計算單元之間數據傳輸存在較大的延遲。孫明等[16]采用乒乓結構減少了這種延遲,并針對FPGA進行了網絡的并行化設計。但這些方法僅考慮了硬件層面的加速,對網絡的輕量化設計考慮較少。

針對上述問題,本文利用深度神經網絡提取信號的時頻特征,通過知識蒸餾融合深度可分離卷積完成神經網絡輕量化,并建立注意力特征圖以提高知識蒸餾的效率,減少因網絡輕量化造成的準確率損失,然后面向FPGA對輕量化網絡進行結構優化和并行設計,完成輕量化信號識別方法從算法設計到硬件部署的完整流程。本文在第1節闡述了基于知識蒸餾的神經網絡輕量化的方法;在第2節基于FPGA加速了第1節設計的輕量化信號識別網絡;在第3節給出了輕量化網絡識別信號的結果,并分析了算法和硬件系統的有效性;第4節總結了本文工作并對工作的擴展性做出了展望。

1 基于知識蒸餾的輕量化分類網絡設計

輕量化信號識別方法包括知識蒸餾和FPGA加速兩部分,總體框圖如圖1所示。知識蒸餾利用教師網絡和學生網絡提取信號的時頻特征,通過最小化注意力損失和蒸餾損失實現學生網絡對教師網絡的學習,利用深度可分離卷積進一步稀疏網絡,實現了將教師網絡輕量化為學生網絡的目的。最后在FPGA平臺通過參數量化、參數融合、循環優化和流水線設計等方法加速信號的識別過程。

圖1 輕量化信號識別系統總體框圖

1.1 基于響應的知識蒸餾

知識蒸餾利用教師-學生網絡模型實現網絡的輕量化,是一種有效的神經網絡輕量化方法。最基本的知識蒸餾利用學生網絡分類輸出學習教師網絡的分類輸出,從而將大型教師網絡的分類能力遷移到小型學生網絡中,其損失函數如式(1)所示。

Ltotal=αLsoft+(1-α)Lhard

(1)

其中Ltotal為總損失,Lsoft為對網絡輸出向量的交叉熵損失,Lhard為對實際分類目標的交叉熵損失,α為Lsoft的比例系數。

1.2 基于注意力圖的知識蒸餾

基本的知識蒸餾中學生網絡僅對教師網絡的結果進行學習,知識遷移能力有限。本文引入注意力特征圖來增強時頻圖中信號表現的特征,并融合深度可分離卷積進一步降低網絡參數量。

為了使注意力圖有效用于知識蒸餾,本文設計的教師網絡與學生網絡整體結構相似,如圖2所示。

教師網絡和學生網絡的第一層均為16通道的普通卷積,第一層之后的每一個BLOCK都由普通卷積層、歸一化層和普通卷積層構成,并在每一個歸一化層后增加ReLU激活函數來增加網絡的非線性。學生網絡中的BLOCK 0-2通道數分別為16、32、64,教師網絡中的BLOCK 0-2通道數分別為16、32、64的整數倍。每一個BLOCK中的第一層都使卷積步長為2以降低特征圖尺寸。最后使用全局平均池化降低特征尺寸,并使用全連接層來完成分類。

圖2 基于注意力圖的知識蒸餾

注意力圖(Attention Map, AM)模擬了生物視覺中的注意力,能使神經網絡關注特征圖中更加需要學習的區域。時頻特征的提取在空間上更加關注信號所在區域,與空間注意力圖關注目標所在區域的特性一致。因此,本文選擇空間注意力圖來增強信號的特征。注意力圖在生成時,利用一個映射將三維的特征圖轉化為二維的空間注意力圖。本文采用式(2)所示方法。

(2)

圖3以NLFM信號為例給出了神經網絡中不同層次的注意力圖,AM 0-AM4分別是第一卷積層及BLOCK 0-2后的注意力圖??梢钥闯?隨著深度加深,神經網絡的注意力越集中于信號特征所處區域,有利于知識蒸餾中特征信息的傳遞。

圖3 NLFM信號在卷積神經網絡中的注意力圖

知識蒸餾過程中,學生網絡一方面要學習教師網絡輸出的概率分布,同時也需要學習教師網絡中間的三層注意力圖。因此,損失函數由兩部分構成,如式(3)所示。

(3)

為了進一步稀疏網絡,降低網絡的參數量,將BLOCK中的普通卷積用深度可分離卷積代替。深度可分離卷積主要由分組卷積和點卷積組成。輸入通道為N,輸出通道為M,卷積核尺寸為K,普通卷積參數量Wc和深度可分離卷積參數量Wd分別表示為式(4)和式(5)。

Wc=N×M×K2

(4)

Wd=N×K2+N×M

(5)

因此,在融合深度可分離卷積后,卷積神經網絡的參數量和計算量約變為原始參數量的1/M+1/K2,降低了神經網絡推理對硬件存儲的要求。

2 FPGA平臺加速流程

為了有效加速輕量化的學生網絡,本文以16比特定點數量化權重,8比特用于表示小數,8比特用于表示整數,并針對知識蒸餾得到的輕量化學生網絡的結構特點,對歸一化層和其鄰近的前一層卷積層進行了參數融合,最后利用FPGA設計了流水并行的乘累加陣列加速學生網絡的推理過程。

對于輸入特征值x到輸出特征值y的映射,卷積層和歸一化層分別表示為式(6)和式(7)。

(6)

(7)

式(6)中,γ表示尺度因子;β表示偏移因子,這里使用特征圖的每個通道的平均值和方差的無偏估計作為μ和σ2;ε為很小的正數,防止分母為0。式(7)中,ω為權重參數;b為偏置項;N為卷積核大小。將式(7)代入式(6)可得融合后的權重參數為式(8)和式(9)。

(8)

(9)

經過參數融合,參數個數減少,輸出特征圖緩存減少3層,有效降低了資源消耗。

卷積核包含1×1和3×3兩種小尺寸,因此將針對卷積核尺寸的循環置于內層,對輸入數據進行復用。卷積計算時,輸入數據和卷積核權重進行乘累加運算,由于卷積核尺寸為3×3,得到一個輸出數據需要9個乘累加周期。將內層循環展開,9個輸入數據和9個權重數據可以同時讀取,在同一個乘累加周期完成乘法運算,并能在3個乘累加周期內通過加法樹得到輸出的特征值,每一個卷積運算的速度約提高為原來的3倍。

通道維則采用流水線設計。一次計算包括數據讀取、結果計算和數據寫回三個獨立過程。如圖4所示,流水線設計可以使不同數據的計算在時間維度出現一定重疊,在上一個數據計算的同時讀取下一個數據,掩蓋讀取數據的時間,加快了推理速度。

3 實驗仿真與分析

使用10種信號參數如表1所示,采用率為2GHz,利用 Choi-Williams分布得到時頻圖并轉化為32×32大小的單通道灰度圖作為神經網絡的輸入。

圖4 通道維數據流水設計

表1 信號參數表

圖5給出了其中兩種信號時頻圖。對同一個信號,600張時頻圖用作訓練集,200張時頻圖用作測試集。

圖5 2FSK和2PSK信號的時頻圖

首先對教師網絡進行預訓練,初始學習率設置為0.01,每迭代60次衰減為原來的0.2倍,每64張時頻圖作為一個批次,在型號為RTX2080的GPU上利用Pytorch 1.8.1搭建神經網絡,迭代150次完成訓練。

在預訓練教師網絡時,通過改變教師網絡BLOCK數來探索深度對教師網絡性能的影響。結果如圖6所示。

圖6 教師網絡識別準確率變化曲線

隨著深度的增加,教師網絡的準確率有所提升,當網絡BLOCK數大于15時,網絡提升性能不再明顯。同時,當網絡寬度即通道數變為原來2倍時,網絡準確率得到一定提升,但此時教師網絡和學生網絡參數量差距增加,可能導致知識蒸餾效果變差。因此利用圖中BLOCK數為12和15的四個教師網絡進行知識蒸餾,得到學生網絡識別結果如表2所示。其中BLOCK數代表了神經網絡的層數,寬度則表示BLOCK 0-2的卷積通道數。

表2中,與網絡1相比,網絡3深度增加,網絡4深度和寬度同時增加,但網絡4對應的學生網絡識別準確率相比網絡3對應學生網絡更低,表明本文所用的知識蒸餾方法中學生網絡的準確率除了受教師網絡準確率影響,在一定范圍也受限于教師網絡和學生網絡之間參數量的差距。因此,最后采用網絡3作為教師網絡訓練學生網絡。相比于未經輕量化的教師網絡,輕量化后的學生網絡參數下降81.8%。為了進一步驗證輕量化卷積神經網絡識別信號的有效性,利用學生網絡和其他幾種網絡對不同信噪比下的10種信號識別,結果如圖7所示。圖7中四種網絡的參數量如表3所示。LeNet5、AlexNet8和ResNet18分別是文獻[17]~文獻[19]中所采用的信號識別網絡??梢钥闯?隨著深度的增加,LeNet5、AlexNet8和ResNet18對信號識別準確率逐漸提升,但準確率最高的ResNet18在信噪比低于-6dB時仍然低于本文提出的學生網絡。圖7和表3表明通過本文知識蒸餾得到的學生網絡在參數量大量降低的情況下仍然具有較高的識別準確率,證明了本文所采用的輕量化方法的有效性。

表2 不同教師網絡知識蒸餾結果

圖7 不同網絡識別準確率變化曲線

表3 不同網絡模型對應參數量

在ZYNQ7020加速輕量化的學生網絡時,權重參數存儲在片上緩存RAM中,通過SD卡將圖片數據導入DDR,利用ARM控制DMA-AXI總線實現計算陣列和存儲器、ARM之間的數據交互,完成神經網絡圖片輸入-數據計算-結果輸出的推理流程加速。

表4給出了本文方法和其他文獻所用方法的對比。文獻[20]利用ZYNQ7020對一個三層網絡進行流水線設計,但未對訪存做優化,網絡推理延遲較高。本文經過輕量化無須將中間計算結果和參數存儲至DDR,從而提高了推理速度,在性能上要優于文獻[20]的方法。

表5展示了不同硬件平臺識別效果。在GPU端對-12dB的信號進行識別,準確率為95.01%,權重經過16位量化后,在FPGA端準確率為93.25%??梢钥闯?量化使得準確率降低1.76%,識別時間為86 ms,同時也消耗更少的資源,使網絡在性能和速度上達到平衡,且FPGA所消耗的功耗遠小于GPU。

表4 其他文獻對比

表5 GPU平臺和FPGA平臺對比

4 結 論

本文提出了一種面向FPGA平臺的輕量化輻射源信號識別方法。該方法利用了深度神經網絡提取信號的時頻特征,通過改進的知識蒸餾實現了神經網絡輕量化。知識蒸餾過程通過注意力圖有效增強了教師網絡與學生網絡之間的信息傳遞,在融合了深度可分離卷積后,網絡參數量下降了81.8%,并能在參數量大量降低的同時在信號分類任務中具備較高識別準確率。最后,根據FPGA并行特性設計了輕量化卷積神經網絡加速器,通過改進循環策略、融合層間參數和流水線設計加速了信號識別過程,功耗低至2W??梢钥闯?本文設計的輕量化網絡可以應用于邊緣側并表現出良好的能耗性能,為輕量化信號分類研究提供了一種方法。

猜你喜歡
輕量化注意力卷積
讓注意力“飛”回來
汽車輕量化集成制造專題主編
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
A Beautiful Way Of Looking At Things
瞄準掛車輕量化 鑼響掛車正式掛牌成立
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合