陳 煜,賀升權(quán),余 勤
(四川大學(xué) 電氣工程學(xué)院,成都 610065)
自動調(diào)制識別技術(shù)是在先驗知識不足和諸多參數(shù)未知(如信號功率、載波頻率、相位等)的情況下,通信系統(tǒng)接收端對接收信號調(diào)制類型進行判別的技術(shù)。主流的調(diào)制識別方法主要分為三類:基于似然理論、基于特征提取[4-5]和基于深度學(xué)習(xí)[6-13]?;谧畲笏迫坏姆椒ㄓ捎谄鋸?fù)雜性的問題,在調(diào)制識別中存在很大的障礙?;谔卣魈崛〉姆椒ㄊ紫忍崛∪缢矔r時域參數(shù)、高階累積量、星座圖、循環(huán)譜、小波變換等有效特征,再通過支持向量機(Support Vector Machine,SVM)等機器學(xué)習(xí)方法對特征進行擬合從而獲得用于調(diào)制識別的模型,但該方式需經(jīng)驗判斷以對特征進行設(shè)計。
在過去的幾年中,由于深度學(xué)習(xí)的快速發(fā)展,計算機視覺和自然語言處理等領(lǐng)域取得了巨大研究進展,因此有研究學(xué)者嘗試將數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)方法應(yīng)用于調(diào)制識別領(lǐng)域[6-13]。添加更多的特征到輸入和生成更深的對抗網(wǎng)絡(luò)可以提高信號的分類識別精度,但是,在移動式或者嵌入式設(shè)備應(yīng)用場景中,如果模型過于龐大,系統(tǒng)可能面臨內(nèi)存不足、響應(yīng)速度慢的問題,故而大型網(wǎng)絡(luò)難以投入實際應(yīng)用。為此,設(shè)計一個參數(shù)少、響應(yīng)速度快的模型進行訓(xùn)練是很有必要的[14-15]。
文獻[16]提出了一種輕型卷積神經(jīng)網(wǎng)絡(luò)進行調(diào)制分類,0~18 dB的平均識別率為90%。文獻[17]使用了失真校正模塊和分類模塊,從時間和空間的角度有效提取信號特征,并減少冗余參數(shù)量以縮減模型大小。文獻[18]提取了信號的同相正交相關(guān)特征和時域特征,并輸入到輕量型的神經(jīng)網(wǎng)絡(luò)(IQCNet)中,平均識別率達到了86.94%。文獻[19]使用一維卷積、長短時記憶網(wǎng)絡(luò)構(gòu)建輕量級神經(jīng)網(wǎng)絡(luò)提取特征,在提升識別率的同時能夠減少訓(xùn)練參數(shù)數(shù)量、縮短訓(xùn)練時間。
本文利用深度可分離卷積的參數(shù)量小、特征提取能力強的優(yōu)點,搭建基礎(chǔ)特征提取單元,使網(wǎng)絡(luò)模型輕量化;同時對部分輸入增添了跳躍式連接,以融合不同空間的特征;引入了通道洗牌操作,對通道及特征重新分配,加強了不同的通道間的特征學(xué)習(xí)能力。此外,對比了多種激活函數(shù),同時增加通道注意機制,使整個網(wǎng)絡(luò)可以根據(jù)不同通道的重要性進行調(diào)整,從而避免冗余特征的干擾,提高整個網(wǎng)絡(luò)的表達能力。
整體的調(diào)制識別框架如圖1所示。在特征提取階段,數(shù)據(jù)先后輸入到不同步長的基礎(chǔ)結(jié)構(gòu)中,得到了更加全局的、融合了不同通道及空間信息的特征。同時對每個基礎(chǔ)結(jié)構(gòu)網(wǎng)絡(luò)的輸出規(guī)定為64,128,256,然后使用基礎(chǔ)模塊的三階段端到端識別。
(a)整體流程
已有研究提出了4個高效網(wǎng)絡(luò)指南[15],即G1——相同的輸入輸出通道寬度可以最小化內(nèi)存訪問成本;G2——過多的群卷積會增加內(nèi)存訪問成本,從而使模型速度變慢;G3——模型的分支數(shù)量越少,模型的速度越快;G4——元操作不能被忽略。元操作包括加(Add)、RelU、深度卷積(Depth-Wise convolution)等操作。
本文設(shè)計的兩種不同步長的基礎(chǔ)特征提取單元如圖1(b)所示,圖2為經(jīng)過這兩種不同步長的特征提取單元的維度細節(jié)變化圖。圖2(a)表示步長為2的降采樣特征提取單元,在每個單元開始,都將復(fù)制輸入從而生成左右兩分支,左分支由步長為2的深度可分離塊構(gòu)成,右分支由逐點卷積層和步長為2的深度可分離塊構(gòu)成。為滿足G1,令輸入和輸出通道相同。圖2(b)表示步長為1的基礎(chǔ)單元,在每個單元的開始,信道分割將特征通道數(shù)為c的輸入平均分為兩支,每支的通道數(shù)為c/2。按照準則G3,右分支由逐點卷積層和步長為1的深度可分離塊構(gòu)成,為增加非線性,第一層的卷積核的個數(shù)為輸出的1/2;左分支的結(jié)構(gòu)不做處理。為了滿足G4,在卷積之后把兩個分支進行融合,從而使得通道數(shù)量保持不變(G1),再進行信道洗牌(Channel Shuffle)[15]操作來保證兩個分支間的通道間能進行信息交流。
(a)步長為2的特征提取單元細節(jié)
不同步長的深度可分離塊的內(nèi)部結(jié)構(gòu)圖如圖3所示。由圖可見,逐通道卷積是對輸入的每個通道分別進行卷積運算,其能夠在保證特征提取的同時大量減少參數(shù)量,但此方式缺乏通道間的信息交流;而添加的逐點卷積能夠?qū)W習(xí)不同通道間在相同空間位置上的信息,重新組合生成新的特征圖,從而增加了特征的學(xué)習(xí)利用率。
圖3 不同步長的深度可分離塊的內(nèi)部結(jié)構(gòu)
在基礎(chǔ)特征提取單元中,本文將逐通道卷積的卷積核大小設(shè)為5×5,使卷積核不僅可以學(xué)習(xí) I/Q 通道的特征,也可以在一定范圍內(nèi)學(xué)習(xí)到信號的頻域信息;同時,設(shè)置數(shù)量不同的卷積核的個數(shù)來增加整個網(wǎng)絡(luò)的非線性。
此外,為了增加特征通道之間的通信,提高網(wǎng)絡(luò)的特征提取能力,本文引入信道洗牌操作,即實現(xiàn)了特征重組,使信息可以在不同通道之間進行流轉(zhuǎn)。假定將輸入層分為g組,總通道數(shù)為g×n,首先將通道維度拆分為(g,n)兩個維度,然后將這兩個維度轉(zhuǎn)置變成(n,g),最后重塑(reshape)成一個維度(g,n)。具體實現(xiàn)如圖4所示。
(a)普通卷積時的通道及特征變化
為了進一步得到不同特征的通道的重要程度,并針對不同的任務(wù)增強或者抑制不同的通道,本文還引入了通道注意力機制[21]。這種注意力機制主要包括壓縮(Squeeze)和激勵(Excitation)兩部分。壓縮部分是利用全局平均池化技術(shù)(Global Average Pooling,GAP),將特征映射U壓縮到通道描述符z∈Rc,z的第c個元素zc可以通過以下公式計算:
(1)
式中:Fsq(uc)代表對第c個通道的特征映射uc進行壓縮操作;H代表通道的高度;W代表通道的寬度。
為了能夠更好地實現(xiàn)特征復(fù)用,本文把輸入的特征和注意力機制輸出的特征進行了融合,解決了深層網(wǎng)絡(luò)的梯度消失問題的同時加強了特征的傳播,有利于提高識別的準確率。
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)的大腦,它對深度神經(jīng)網(wǎng)絡(luò)的有效性和訓(xùn)練起著核心作用。從f(x)=|x|函數(shù)的光滑逼近中可以找到一個最大函數(shù)的一般逼近公式:
(2)
ReLU函數(shù)由這個公式推演而來,其公式為
fReLU(x)=max(0,x) 。
(3)
但ReLU函數(shù)存在“ReLU死亡問題”,即在網(wǎng)絡(luò)訓(xùn)練過程中,會使50%的神經(jīng)元死亡。為了進一步的提升特征信息的利用率和網(wǎng)絡(luò)性能,本文引入了ReLU6激活函數(shù)和SMU激活函數(shù)[20],計算公式分別如(4)和式(5)所示:
fReLU6(x)=min(6,max(0,x)),
(4)
(5)
式中:α和μ為可學(xué)習(xí)的超參數(shù);erf()為高斯誤差函數(shù),
(6)
ReLU、ReLU6、SMU激活函數(shù)的圖像如圖5所示。對比ReLU6和ReLU可知,ReLU6 對輸出進行了限制,在高維度時提高空間的特征利用率和避免了過擬合;對比SMU和ReLU可知,SMU在原點處具有更好的平滑性和可微特性,避免了信號在細節(jié)處的流失。在高緯度時采用SMU激活函數(shù),能使網(wǎng)絡(luò)模型在不過擬合的情況下提取到更加豐富的細節(jié)特征。
(a)ReLU激活函數(shù)圖像
本文使用的是開源綜合生成數(shù)據(jù)集RML2016.10a進行實驗。數(shù)據(jù)集共220 000條IQ(In-phase Quadrature)數(shù)據(jù),有FM、AM-DSB、AM-SSB、BPSK、QPSK、8PSK、PAM4、QAM16、QAM64、GFSK和CPFSK等11種調(diào)制方式;信噪比范圍[-20,+18]dB,以2 dB為間隔共20種信噪比;每種信噪比下的每種調(diào)制類型的信號數(shù)量為1 000,每條IQ信號樣本長度為128,最后樣本維度表示為(220 000,2,128)。在樣本生成過程,除了加入噪聲外,還考慮了多徑衰落、采樣率偏移和頻率偏移等信道傳輸影響,以模擬真實的通信環(huán)境。
本文硬件環(huán)境為Intel(R) CoreTM i9-9900K CPU @3.6 GHz,32 GB DDR4內(nèi)存及GeForce RTX 2080 Super(16 GB顯存)的64位計算機。
軟件平臺為Windows 10專業(yè)版操作系統(tǒng),Python 3.7(64位)及TensorFlow 2.5深度學(xué)習(xí)框架。在訓(xùn)練深度學(xué)習(xí)模型時使用TensorFlow-GPU版本,硬件加速減少訓(xùn)練時間。
訓(xùn)練過程中的batchsize設(shè)置為64,優(yōu)化器選用的Adam,初始學(xué)習(xí)率為0.001,并引入學(xué)習(xí)率衰減策略,即當(dāng)驗證集準確率在8個周期內(nèi)沒有提升,則學(xué)習(xí)率衰減為原來的1/10。數(shù)據(jù)集劃分是根據(jù)每種信噪比對應(yīng)的每一類調(diào)制信號以7∶1∶2的比例隨機劃分訓(xùn)練集、驗證集和測試集。同時引入早停機制,即觀察驗證集準確率在15個周期內(nèi)有無提升,若沒有提升,則停止訓(xùn)練。
2.3.1 總體識別精度
為體現(xiàn)本文所提出的模型的效果,選取CNN、ResNet-50、LSTM、Dense-121、CLDNN、Sepconv模型作為實驗對比網(wǎng)絡(luò)模型,其中,ResNet-50模型具有50層,Dense-121模型具有121層,Sepconv模型為直接使用深度可分離卷積層代替本文模型中的深度可分離卷積塊得來。各個模型在各信噪比下識別率的比較結(jié)果如圖6所示,可見CNN的最高正確率為74%,ResNet-50的最高正確率有89%,LSTM的最高正確率為86%,CLDNN的最高正確率為87%,Dense-121的最高識別準確率為90%,Sepconv模型的最高準確率為87%,本文模型的識別準確率最高,為91%。
圖6 各個模型的準確率對比
在SNR∈[0,+18]dB時各個模型的準確率對比如表1所示,可以看出當(dāng)信噪比大于0時,本文的平均識別率為90.60%,比其他模型高出1.19%~17.62%。本文的算法將瞬時信息提取出來,豐富了特征的維度,同時利用深度可分離塊的輕量性優(yōu)點,實現(xiàn)了對多種調(diào)制信號的快速、高精度識別。
表1 SNR∈[0,+18]dB時各個模型的準確率對比
SepConv模型是由深度可分離卷積層代替本文模型中的深度可分離塊得來,但是本文模型中的深度可分離塊中分離出來的1×1逐點卷積不僅是平衡輸出通道的作用,還可以高效地低維嵌入單個特征池、卷積后再次進行非線性映射,允許網(wǎng)絡(luò)學(xué)習(xí)更復(fù)雜的功能[22]。得益于1×1逐點卷積的優(yōu)點,本文提出模型的準確率要高于SepConv模型的準確率。
2.3.2 混淆矩陣對比分析
為了區(qū)分每一類信號的識別率,本文繪制了各個模型結(jié)構(gòu)產(chǎn)生的混淆矩陣,如圖7所示,橫軸表示預(yù)測的類型,縱軸表示真實的類型,對角線為各種調(diào)制信號的識別精度,顏色越深說明精度越高。由圖7可見,本文的模型在SNR=0 dB時有最好的識別率,表明本文的模型能夠更好地提取和學(xué)習(xí)特征的信息。
圖7 SNR=0 dB時不同模型生成的混淆矩陣對比
WBFM和AM-DSB都屬于連續(xù)調(diào)制,數(shù)據(jù)集中的WBFM和AM-DSB數(shù)據(jù)是通過采樣模擬音頻信號生成的,存在靜默周期,因此對于所有模型來說識別率都較低。而對于16QAM 和64QAM,它們同屬于正交幅度調(diào)制,在星座圖上是分布在一定范圍內(nèi)的相等模長不同相位或者相同相位不相等模長,一般需要使用兩種模型有針對性地對這兩種調(diào)制信號進行識別。從圖7可以看出,相比于其余的5種算法,本文所提出的模型對16QAM 和64QAM的識別精度有明顯提升,表明本文的模型有較好的魯棒性,從而使得分類識別時有更好的效果。
2.3.3 激活函數(shù)對比分析
為了探究不同激活函數(shù)對模型效果產(chǎn)生的影響,本文通過改變相同卷積下的激活函數(shù)進行實驗,在以上7個模型各自測試了15次,最后取平均值和方差,結(jié)果如表2所示。
表2 ReLU、ReLU6、SMU激活函數(shù)在不同的模型條件下對精度的影響
從表2可以看出,對比ReLU激活函數(shù),ReLU6激活函數(shù)的使用使模型的識別準確率提高了1%~2%,主要原因是ReLU激活函數(shù)的輸出值范圍是[0,∞],低精度的float16無法精確描述其數(shù)值,會帶來精度損失,而ReLU6激活函數(shù)的輸出值范圍是[0,6],對輸出值進行限制,使得在float16的低精度時,也能有很好的數(shù)值分辨率;SMU激活函數(shù)的使用使模型的識別準確率提高了1%~4%,它是由最大函數(shù)的平滑逼近而來的平滑激活函數(shù),在原點處有更好的平滑性和可微性,同時,使用反向傳播技術(shù)更新可訓(xùn)練激活函數(shù)參數(shù),使得可訓(xùn)練的超參數(shù)更加滿足分類識別的要求,從而提高了分類識別精度。
方差的大小意味著每個變量與總體均數(shù)之間的差異。在統(tǒng)計學(xué)中,經(jīng)常用方差衡量隨機變量的離散程度,當(dāng)數(shù)據(jù)分布比較分散時,數(shù)據(jù)波動較大,從而意味著方差較大;反之?dāng)?shù)據(jù)波動較小,方差較小。對比ReLU、ReLU6、SMU所對應(yīng)的實驗可以看出,使用SMU激活函數(shù)的數(shù)據(jù)方差最小,這說明了這組數(shù)據(jù)的波動較小,意味著使用SMU激活函數(shù)可以使結(jié)果更穩(wěn)定,有利于增加網(wǎng)絡(luò)模型的穩(wěn)定性。
2.3.4 復(fù)雜度分析
若假設(shè)輸入特征圖的大小為DF×DF×M,輸出特征圖的大小為DF×DF×N,卷積核大小為DK×DK×M,則普通卷積計算量為
P=DK×DK×M×N×DF×DF,
(7)
而逐通道卷積計算量為
P1=DK×DK×M×DF×DF,
(8)
逐點卷積計算量為
P2=DF×DF×M×N,
(9)
那么逐通道卷積與普通卷積的計算量比為
(10)
深度可分離卷積與普通卷積的計算量比為
(11)
通過式(7)~(11)的理論推導(dǎo)可知,本文所提模型計算量更小,有利于實際應(yīng)用的開展。通過實驗數(shù)據(jù)對比了各個模型的時間復(fù)雜性和模型參數(shù)量,結(jié)果如表3和圖8所示。
表3 各個模型的深度和超參數(shù)量的對比
(a)各個模型的運行時間對比
從表3可以看出,本文的模型結(jié)構(gòu)參數(shù)量為75 000,小于除SepConv模型以外的其他模型參數(shù),這說明了深度可分離塊的使用使得模型具有小巧、輕量的特征。根據(jù)圖8的對比可知,本文模型的運行時間和參數(shù)量都小于CNN、CLDNN和LSTM,但是識別準確率卻遠高于這3種模型;對于識別精度相差不大的ResNet-50和Dense-121,本文提出的模型結(jié)構(gòu)運行只需5.55 min,遠遠小于這兩種模型;而相比于SepConv模型,本文模型的運行時間和參數(shù)量與之相差不大,但有5%的準確率的提升,這說明本文的模型結(jié)構(gòu)具有良好的識別精度,同時在有限的訓(xùn)練周期內(nèi)收斂得更快。
針對現(xiàn)有調(diào)制識別只關(guān)注識別精度,導(dǎo)致模型參數(shù)量過大、識別時間過長等問題,本文設(shè)計了兩種不同步長的特征提取單元,兩者共同包含的深度可分離卷積結(jié)構(gòu)可有效地減少模型超參數(shù)及訓(xùn)練耗時,為輕量型網(wǎng)絡(luò)的搭建提供了新思路。同時,采用通道洗牌及全連接層加強通道間信息交流,提高了模型特征提取、復(fù)用及學(xué)習(xí)的能力;并采用注意力機制為不同特征通道進行加權(quán),進一步挖掘調(diào)制信號內(nèi)部的潛在特征,進而提高了模型的識別準確率。最后,為了保證模型的穩(wěn)定性,本文采用SMU激活函數(shù),相較于ReLU、ReLU6等激活函數(shù),其更能減小識別結(jié)果的波動。本文模型和其他深度學(xué)習(xí)模型均在RML2016.10a數(shù)據(jù)集上進行驗證分析,結(jié)果表明所提模型具有識別率更高、穩(wěn)定性更好、超參數(shù)更少和擬合速度更快的明顯優(yōu)勢。
本文在設(shè)計相關(guān)調(diào)制識別模型過程中,需要人為優(yōu)化相關(guān)結(jié)構(gòu)及參數(shù),這些過程都相對耗時,以后可借鑒神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索算法,利用現(xiàn)代計算機的強大算力,自動搜索設(shè)計適合調(diào)制識別任務(wù)的神經(jīng)網(wǎng)絡(luò)模型。同時,針對本文所設(shè)計的輕量化調(diào)制識別模型,所采用的深度可分離卷積還比較簡單,未來還可采用更先進的卷積函數(shù),對模型進行壓縮,以取得更加高效的調(diào)制識別性能。