劉峙江 趙晴晴 徐立軍
(北京理工大學(xué)信息與電子學(xué)院,北京 100081)
海洋是孕育生命的搖籃,更是巨大的資源寶庫。海洋資源的開發(fā)和利用,對緩解資源緊缺現(xiàn)狀、促進(jìn)國民經(jīng)濟(jì)發(fā)展具有重要意義。近年來隨著水下應(yīng)用設(shè)備的不斷增加,海洋信息傳輸需求大幅增長。水聲通信是水下遠(yuǎn)距離信息傳輸?shù)闹饕绞剑诤5踪Y源探測、海洋環(huán)境開發(fā)及軍事、國防等領(lǐng)域都發(fā)揮了重要作用。
前導(dǎo)信號檢測是水聲通信的關(guān)鍵環(huán)節(jié),只有成功檢測到前導(dǎo)信號,接收機(jī)才能進(jìn)行后續(xù)的通信數(shù)據(jù)處理[1-2]。前導(dǎo)信號檢測性能對通信質(zhì)量具有重要影響,信號虛警會(huì)導(dǎo)致數(shù)據(jù)量上升,增加非必要的功耗,造成通信資源的浪費(fèi);信號漏檢則會(huì)導(dǎo)致有效數(shù)據(jù)丟失,造成通信失敗。因此,如何提升前導(dǎo)信號檢測的有效性和準(zhǔn)確性,是水聲通信中的一個(gè)關(guān)鍵問題。
目前常用的前導(dǎo)檢測算法主要可以分為能量檢測法和匹配濾波法兩類。能量檢測法[3-5],主要是利用一段時(shí)間內(nèi)前導(dǎo)信號與背景噪聲各自累計(jì)能量的差別來進(jìn)行檢測,這類方法實(shí)現(xiàn)簡單,且不需預(yù)先已知發(fā)射前導(dǎo)信號的類型和其他信息,是最早應(yīng)用于水聲通信前導(dǎo)信號檢測領(lǐng)域的方法之一,但在信噪比較低的情況下,前導(dǎo)信號的能量和噪聲的能量相差不大,難以選擇一個(gè)合適的門限進(jìn)行判別,此時(shí)虛警概率會(huì)明顯上升,檢測性能大幅降低。
匹配濾波法所用的匹配濾波器,在聲吶、雷達(dá)等領(lǐng)域已被廣泛應(yīng)用。匹配濾波器是高斯白噪聲背景下的最優(yōu)檢測器,它通過對接收信號與本地信號進(jìn)行相關(guān)運(yùn)算,將相關(guān)峰值與門限值進(jìn)行比較以實(shí)現(xiàn)前導(dǎo)信號檢測[6]。但當(dāng)背景噪聲為色噪聲時(shí),其檢測性能較差。針對這個(gè)問題,Conte 等人提出了歸一化匹配濾波算法[7]。歸一化匹配濾波算法,將接收信號與本地信號的相關(guān)系數(shù)作為判決量,實(shí)現(xiàn)前導(dǎo)信號檢測,其抗噪聲性能好,但無法有效對抗多徑效應(yīng),在信道結(jié)構(gòu)比較復(fù)雜的情況下,檢測性能會(huì)明顯降低。在這種情況下,從接收信號的時(shí)頻圖中卻可以觀察到比較明顯的特征,用肉眼可以較容易識別出前導(dǎo)信號。
CNN 能夠模擬肉眼識別圖像的機(jī)理,具有很強(qiáng)的圖像分類能力[8],因此可以利用其識別不同信號所對應(yīng)的時(shí)頻圖以實(shí)現(xiàn)信號分類[9]。文獻(xiàn)[10]將CNN 應(yīng)用于水聲通信前導(dǎo)檢測問題中,通過利用經(jīng)典CNN Lenet-5 識別時(shí)頻圖以實(shí)現(xiàn)前導(dǎo)信號檢測,檢測性能顯著高于傳統(tǒng)算法,且在復(fù)雜信道條件下仍能保持較好的檢測性能。
但經(jīng)典CNN 的運(yùn)算量和參數(shù)量普遍較大[11],難以滿足水聲通信的時(shí)效性和水下通信機(jī)低能耗的要求。因此本文在經(jīng)典CNN 結(jié)構(gòu)的基礎(chǔ)上,利用深度可分離卷積和全局平均池化技術(shù),并結(jié)合水聲通信前導(dǎo)檢測問題的具體特點(diǎn),設(shè)計(jì)了一種緊湊神經(jīng)網(wǎng)絡(luò)。在完成緊湊網(wǎng)絡(luò)的訓(xùn)練后,又利用基于通道間獨(dú)立性的過濾器剪枝技術(shù)和訓(xùn)練后量化技術(shù),對緊湊神經(jīng)網(wǎng)絡(luò)進(jìn)行進(jìn)一步壓縮,最終得到一個(gè)輕量化神經(jīng)網(wǎng)絡(luò)。該輕量化神經(jīng)網(wǎng)絡(luò)的檢測性能和經(jīng)典CNN 相差不大,能夠有效對抗復(fù)雜信道環(huán)境,且其所需參數(shù)量和運(yùn)算量相比于經(jīng)典CNN 大幅下降,能夠很好地滿足水聲通信的時(shí)效性和水下通信機(jī)低能耗的要求。
基于CNN 的水聲通信前導(dǎo)信號檢測方法,通過用時(shí)頻分析方法預(yù)處理接收信號和用CNN 識別時(shí)頻圖兩步實(shí)現(xiàn)前導(dǎo)信號檢測。首先,利用合適的時(shí)頻分析方法提取接收信號的時(shí)頻域聯(lián)合特征,獲得其二維時(shí)頻圖,將一維信號檢測問題轉(zhuǎn)換為二維圖像識別問題。其次,利用預(yù)先訓(xùn)練好的CNN 識別二維時(shí)頻圖,對其進(jìn)行二分類,將前導(dǎo)信號的時(shí)頻圖和背景噪聲及干擾信號的時(shí)頻圖區(qū)分開,最終實(shí)現(xiàn)前導(dǎo)信號檢測。
雙曲調(diào)頻信號是水聲通信系統(tǒng)中最常用的前導(dǎo)信號,其瞬時(shí)頻率隨時(shí)間的變化趨勢呈雙曲線,在時(shí)頻圖中特征明顯。此外,雙曲調(diào)頻信號還具有良好的相關(guān)性和多普勒不變性,能夠用于水聲通信前導(dǎo)信號檢測環(huán)節(jié)后的幀同步環(huán)節(jié)。因此本文選擇雙曲調(diào)頻信號作為前導(dǎo)信號,其數(shù)學(xué)表達(dá)式為:
其中,A(t)為矩形包絡(luò);f1為信號起始頻率;f2為信號截止頻率;T為信號持續(xù)時(shí)長。
對式(2)求導(dǎo)可知,雙曲調(diào)頻信號的瞬時(shí)頻率表達(dá)式為:
其中,fi(0)=f1;fi(T)=f2。
若f1<f2,fi(t)是一個(gè)遞增函數(shù),稱s(t)為升頻雙曲調(diào)頻信號,本文選用升頻雙曲調(diào)頻信號作為前導(dǎo)信號,其調(diào)頻規(guī)律如圖1所示。
圖1 升頻雙曲調(diào)頻信號的調(diào)頻規(guī)律示意圖Fig.1 Upsweeping hyperbolic frequency modulation signal frequency modulation diagram
雙曲調(diào)頻信號是瞬時(shí)頻率隨時(shí)間變化的非平穩(wěn)信號,傅里葉變換無法反映其瞬時(shí)頻率的時(shí)變特征,而通過時(shí)頻分析技術(shù)所得的時(shí)頻圖則可以反映這種特征。常用的時(shí)頻分析技術(shù)包括短時(shí)傅里葉變換(Short-Time Fourier Transform,STFT)、Wigner分布、小波變換等。Wigner 分布的時(shí)頻分辨率較高,但會(huì)在時(shí)頻圖中引入交叉干擾項(xiàng)。小波變換雖不會(huì)引入交叉干擾項(xiàng),但其頻率尺度是非線性的,不能在時(shí)頻圖中準(zhǔn)確反映雙曲調(diào)頻信號瞬時(shí)頻率的變化趨勢。STFT具有較低的計(jì)算復(fù)雜度,且時(shí)頻圖能夠準(zhǔn)確地體現(xiàn)雙曲調(diào)頻信號瞬時(shí)頻率的變化趨勢。因此,本文采用STFT 作為預(yù)處理接收信號的方法。STFT 的具體實(shí)現(xiàn)方法為:選取一個(gè)時(shí)間、頻率分辨率均有限的窗函數(shù),用其截取不同時(shí)間段內(nèi)近似平穩(wěn)的非平穩(wěn)信號片段,分別計(jì)算這些信號片段的傅里葉變換,這些傅里葉變換在二維時(shí)頻平面上沿時(shí)間軸拼接即得到STFT。用STFTx(t,Ω)表示信號x(t)的STFT,其表達(dá)式如下式所示:
以某典型接收前導(dǎo)信號為例,圖2 展示了其時(shí)域波形,圖3 展示了其時(shí)頻圖和歸一化匹配濾波結(jié)果。從歸一化匹配濾波結(jié)果可以看出,該數(shù)據(jù)信道多徑較為復(fù)雜。在這種情況下,歸一化匹配濾波算法難以選擇合適門限以實(shí)現(xiàn)準(zhǔn)確檢測,但用肉眼觀察時(shí)頻圖,卻能夠根據(jù)時(shí)頻圖中所體現(xiàn)出的升頻雙曲調(diào)頻信號的特征識別出前導(dǎo)信號,這說明選取STFT作為接收信號的預(yù)處理方式是合適的。
圖2 典型接收前導(dǎo)信號的時(shí)域波形Fig.2 Time domain waveform of typical receiving preamble signal
圖3 典型接收前導(dǎo)信號的歸一化匹配濾波結(jié)果和時(shí)頻圖Fig.3 The normalized matched filtering result and time-frequency diagram of the typical receiving preamble signal
用于圖像分類的經(jīng)典CNN,一般是先通過卷積層部分提取圖片特征,再通過全連接層部分完成分類[12]。卷積層部分,實(shí)現(xiàn)圖片高維抽象特征的提取。全連接層部分,對這些特征進(jìn)行線性組合并通過激活函數(shù)引入非線性,實(shí)現(xiàn)特征到分類概率的非線性映射。Lenet-5就是一種經(jīng)典CNN,適合于處理特征相對不是很復(fù)雜、類別數(shù)較少的樣本。
文獻(xiàn)[10]為保證前導(dǎo)信號時(shí)頻圖能夠體現(xiàn)足夠多的細(xì)節(jié)特征,將其維度設(shè)置為64×64,網(wǎng)絡(luò)的輸入尺寸也隨之變?yōu)?4×64,同時(shí)調(diào)整全連接層神經(jīng)元數(shù)目和各層輸出通道數(shù)以適應(yīng)輸入數(shù)據(jù)的維度,得到Lenet-5_64,其結(jié)構(gòu)如圖4所示。
圖4 Lenet-5_64結(jié)構(gòu)示意圖Fig.4 The structural diagram of Lenet-5_64
本文設(shè)計(jì)了一種輕量化神經(jīng)網(wǎng)絡(luò),用于水聲通信前導(dǎo)信號檢測。設(shè)計(jì)過程具體分為緊湊神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和模型壓縮兩部分,先構(gòu)建一個(gè)參數(shù)量和運(yùn)算量較低的緊湊神經(jīng)網(wǎng)絡(luò),再利用剪枝和量化技術(shù)對訓(xùn)練后的緊湊網(wǎng)絡(luò)進(jìn)行進(jìn)一步壓縮,最終得到一個(gè)輕量化網(wǎng)絡(luò)。
本文以經(jīng)典CNN Lenet-5 為基礎(chǔ),采用全局平均池化和深度可分離卷積等技術(shù),并結(jié)合水聲通信前導(dǎo)信號檢測問題的特點(diǎn)選擇網(wǎng)絡(luò)層數(shù)和各層輸出通道數(shù),提出了一種用于水聲通信前導(dǎo)信號檢測的緊湊神經(jīng)網(wǎng)絡(luò)。
3.1.1 全局平均池化
全連接層的存在使得經(jīng)典CNN 所需參數(shù)量較大,并且使得用特征較為簡單的樣本訓(xùn)練出來的網(wǎng)絡(luò)有過擬合的風(fēng)險(xiǎn)。因此本文用全局平均池化層(Global Average Pooling,GAP)[13]替換大部分全連接層,只保留最后一層全連接層,以降低網(wǎng)絡(luò)所需參數(shù)量,同時(shí)防止過擬合。GAP 層不包含任何可訓(xùn)練參數(shù),僅對卷積層部分輸出的所有特征圖分別進(jìn)行平均運(yùn)算,將每個(gè)特征圖映射為一個(gè)數(shù)。GAP 層的原理如圖5所示。
圖5 GAP層原理示意圖Fig.5 The schematic diagram of GAP layer
對于“卷積層+全連接層”結(jié)構(gòu)的網(wǎng)絡(luò),即使卷積層學(xué)習(xí)到的特征比較低級,全連接層也可以通過學(xué)習(xí)調(diào)整自身大量的參數(shù)做到很好的分類,所以此時(shí)卷積層更傾向?qū)W習(xí)低級的通用特征。用GAP層替代全連接層后,模型的學(xué)習(xí)壓力集中到了卷積層,此時(shí),卷積層不僅需要學(xué)習(xí)到低級的通用特征,還需要學(xué)習(xí)到更高級的分類特征。所以,只要令卷積層部分有足夠的網(wǎng)絡(luò)容量,用GAP 層替換大部分全連接層,對網(wǎng)絡(luò)起到正則地作用,就可以通過訓(xùn)練將特征提取和大部分分類的功能集中在卷積層部分。另外,雙曲調(diào)頻信號的時(shí)頻圖特征相對簡單,主要是紋理、邊緣、棱角等淺層特征,且只需進(jìn)行二分類,所以對網(wǎng)絡(luò)的深層特征提取能力要求相對較低。綜上,用GAP 層替換大部分全連接層,可以在保持足夠好分類性能的條件下,大幅減少網(wǎng)絡(luò)所需參數(shù)量。
3.1.2 深度可分離卷積
用GAP 層替換大部分全連接層,大幅減少了網(wǎng)絡(luò)所需參數(shù)量。此時(shí),為了保證卷積層部分的學(xué)習(xí)能力,需適當(dāng)增加卷積層的層數(shù)和每層的輸出通道數(shù)。雖然卷積層相比于全連接層,所需參數(shù)量較少,但卻需要較大的運(yùn)算量。因此,本文利用深度可分離卷積[14]代替標(biāo)準(zhǔn)卷積,以降低卷積層運(yùn)算量。深度可分離卷積將標(biāo)準(zhǔn)卷積拆分為逐通道卷積和逐點(diǎn)卷積兩步。逐通道卷積核的每一個(gè)通道與輸入中的每一個(gè)通道分別進(jìn)行卷積運(yùn)算,完成平面方向的特征提取。逐點(diǎn)卷積核將逐通道卷積各通道的輸出結(jié)果加權(quán)求和,完成深度方向的特征組合。相比于標(biāo)準(zhǔn)卷積,深度可分離卷積在運(yùn)算量和參數(shù)量方面都明顯下降。對于一個(gè)卷積核尺寸為K×K、輸入特征圖尺寸為W×H、輸入通道數(shù)和輸出通道數(shù)分別為Cin和Cout的卷積層,其標(biāo)準(zhǔn)卷積的運(yùn)算量為:
深度可分離卷積的運(yùn)算量為:
深度可分離卷積和標(biāo)準(zhǔn)卷積的運(yùn)算量之比近似為:
同理,深度可分離卷積核和標(biāo)準(zhǔn)卷積核的參數(shù)量之比近似為:
由式(7)和式(8)可知,相比于使用標(biāo)準(zhǔn)卷積核的網(wǎng)絡(luò),引入深度可分離卷積技術(shù)的網(wǎng)絡(luò),卷積運(yùn)算的運(yùn)算量和卷積核的參數(shù)量都有較大的下降。
3.1.3 緊湊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本文提出的用于水聲通信前導(dǎo)信號檢測的緊湊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖6所示。該緊湊神經(jīng)網(wǎng)絡(luò)卷積層個(gè)數(shù)設(shè)置為3,最后一層卷積層的輸出特征圖中每個(gè)像素點(diǎn)感受野的大小均為32×32。相對較小的感受野能夠捕獲更多細(xì)粒度的細(xì)節(jié)特征,適合提取雙曲調(diào)頻信號時(shí)頻圖主要包含的紋理、邊緣、棱角等淺層特征。通過GAP層將卷積層的輸出特征圖進(jìn)一步濃縮,最后再通過一層全連接層對這些特征信息進(jìn)行加權(quán)組合,經(jīng)softmax層得到分類概率,完成分類。此外,隨著卷積層層數(shù)的遞增,輸出特征圖的尺寸隨之遞減,為保證每層卷積層都有足夠的參數(shù)量,每層卷積層的輸出通道數(shù)也逐漸遞增。由式(7)和式(8)可知,由于采用了深度可分離卷積,本文所提緊湊網(wǎng)絡(luò)相比于標(biāo)準(zhǔn)卷積神經(jīng)網(wǎng)絡(luò),卷積運(yùn)算的運(yùn)算量和卷積核的參數(shù)量均降低了約25倍。
圖6 緊湊神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)示意圖Fig.6 The diagram of compact neural network’s structure
文獻(xiàn)[15]表明,神經(jīng)網(wǎng)絡(luò)中的參數(shù)普遍存在冗余。因此對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行壓縮,在保證網(wǎng)絡(luò)性能變化不大的前提下,大幅降低網(wǎng)絡(luò)參數(shù)量和運(yùn)算量是可能的。本文首先采用一種基于通道間獨(dú)立性的過濾器剪枝方法,對訓(xùn)練后的本文所提緊湊網(wǎng)絡(luò)進(jìn)行壓縮[16],以降低網(wǎng)絡(luò)的參數(shù)量和運(yùn)算量,再利用訓(xùn)練后量化技術(shù),進(jìn)一步壓縮剪枝后的網(wǎng)絡(luò),使得網(wǎng)絡(luò)的參數(shù)量和運(yùn)算量進(jìn)一步下降。
3.2.1 基于通道間獨(dú)立性的過濾器剪枝
剪枝技術(shù)是通過一定的準(zhǔn)則來衡量一個(gè)神經(jīng)網(wǎng)絡(luò)中不同組成部分的重要性,去除重要性相對較低的部分,使得神經(jīng)網(wǎng)絡(luò)在不損失或損失極少精度的情況下,所需參數(shù)量大大降低。
剪枝粒度用于描述剪枝操作中所選操作單元相對于神經(jīng)網(wǎng)絡(luò)的級別或尺度,例如神經(jīng)元尺度就是最細(xì)的粒度,而濾波器剪枝就是較粗的粒度。根據(jù)剪枝粒度的不同,可以將常用剪枝方法分為權(quán)重剪枝和過濾器剪枝兩類。權(quán)重剪枝[17]剪除的對象是網(wǎng)絡(luò)中重要程度較低的神經(jīng)元,細(xì)粒度的剪枝保證了這種方法對網(wǎng)絡(luò)參數(shù)的高壓縮比,但剪枝后所得到的權(quán)重矩陣是稀疏的,需要專用的硬件和硬件庫才能達(dá)到實(shí)際的壓縮和加速效果。過濾器剪枝[18]剪除的對象則是整個(gè)過濾器,能夠獲得結(jié)構(gòu)化稀疏模式,在降低參數(shù)量的同時(shí),不需要專用的硬件和硬件庫來實(shí)現(xiàn)[19]。因此,本文選用過濾器剪枝技術(shù)進(jìn)行網(wǎng)絡(luò)壓縮。
剪枝技術(shù)需要通過某種準(zhǔn)則判斷網(wǎng)絡(luò)不同部分的重要程度,以確定要剪除的對象。最早的過濾器剪枝方法是以過濾器為導(dǎo)向的,這類方法利用不同過濾器的范數(shù)作為評估過濾器的重要性的剪枝準(zhǔn)則[20]。近些年來,特征導(dǎo)向的過濾器剪枝方法開始興起,這類方法首先確定重要性較低的特征圖,進(jìn)一步剪除其相對應(yīng)的過濾器[21-22]。實(shí)驗(yàn)證明,特征導(dǎo)向的過濾器剪枝方法,精度、壓縮比、運(yùn)算量等均強(qiáng)于過濾器導(dǎo)向的過濾器剪枝方法[22]。因此,本文選擇特征導(dǎo)向的過濾器剪枝方法。
本文采用一種基于通道間獨(dú)立性的特征導(dǎo)向過濾器剪枝方法,用特征圖展平矩陣核范數(shù)的變化量來度量通道獨(dú)立性,并將其作為過濾器剪枝的剪枝準(zhǔn)則,來衡量不同過濾器的重要性[16]。
設(shè)第l層卷積層輸出特征圖尺寸為cl×h×w,輸出特征圖集合,αl中每個(gè)特征圖展平成一維向量,作為矩陣的一行,得到矩陣Al。因此αl中第i個(gè)特征圖的通道獨(dú)立性(Channel Independence,CI)可以表示為:
其中,‖?‖*表示核范數(shù),⊙表示哈達(dá)瑪積。是第i行元素全為0,其余行元素全為1的掩碼矩陣。
過濾器對應(yīng)輸出特征圖的CI越小,說明過濾器重要程度越低。在對網(wǎng)絡(luò)進(jìn)行剪枝時(shí),根據(jù)某一具體卷積層的剪枝稀疏度,計(jì)算出其需要剪除的過濾器的個(gè)數(shù)W,剪除CI最小的W個(gè)特征圖對應(yīng)的過濾器。標(biāo)準(zhǔn)卷積層的每一個(gè)輸出特征圖,都對應(yīng)一個(gè)單獨(dú)的過濾器,因此直接剪除過濾器很自然。標(biāo)準(zhǔn)卷積的過濾器剪枝原理如圖7所示。但深度可分離卷積將卷積運(yùn)算拆分為了逐通道卷積和逐點(diǎn)卷積,不同的最終輸出特征圖均與相同的逐通道卷積輸出特征圖有關(guān),區(qū)別只在于逐點(diǎn)卷積核的權(quán)重不同。因此,對于本文所提的緊湊網(wǎng)絡(luò),需改變剪枝的剪除對象,在確定最小的W個(gè)CI所對應(yīng)的特征圖后,需剪除的只有它們所對應(yīng)的逐點(diǎn)卷積核。深度可分離卷積的過濾器剪枝原理如圖8所示。
圖7 標(biāo)準(zhǔn)卷積過濾器剪枝的原理示意圖Fig.7 The schematic diagram of standard convolution filter pruning
圖8 深度可分離卷積過濾器剪枝的原理示意圖Fig.8 The schematic diagram of depth-separable convolution filter pruning
3.2.2 訓(xùn)練后量化
神經(jīng)網(wǎng)絡(luò)的量化,是將神經(jīng)網(wǎng)絡(luò)中大部分浮點(diǎn)權(quán)重值轉(zhuǎn)換為定點(diǎn)整數(shù)表示,同時(shí)將運(yùn)算替換成定點(diǎn)整數(shù)運(yùn)算,使網(wǎng)絡(luò)中大部分的浮點(diǎn)運(yùn)算都能使用定點(diǎn)整數(shù)運(yùn)算替代,從而減少網(wǎng)絡(luò)所需參數(shù)量和運(yùn)算量。以常用的8 bit 量化為例,將神經(jīng)網(wǎng)絡(luò)每層的32 位浮點(diǎn)數(shù)權(quán)重,轉(zhuǎn)換為8 位定點(diǎn)數(shù)的存儲(chǔ)方式,網(wǎng)絡(luò)的參數(shù)量減少為原來的約25%。另外,將32位浮點(diǎn)數(shù)運(yùn)算轉(zhuǎn)換成8 位定點(diǎn)數(shù)運(yùn)算,網(wǎng)絡(luò)運(yùn)算量也將有所下降。
常用的神經(jīng)網(wǎng)絡(luò)量化方法有:訓(xùn)練后量化和量化感知訓(xùn)練。訓(xùn)練后量化方法不需要重新訓(xùn)練或有標(biāo)簽的數(shù)據(jù),幾乎不需要調(diào)整超參數(shù),是一種工程實(shí)現(xiàn)簡單且不需要大量計(jì)算成本的量化方法。量化感知訓(xùn)練方法需要微調(diào)和有標(biāo)簽的數(shù)據(jù),但可以保證較高的量化后精度。在大多數(shù)情況下,訓(xùn)練后量化方法足以實(shí)現(xiàn)接近浮點(diǎn)精度的8 bit 量化[23-24]。因此本文采用訓(xùn)練后量化方法對剪枝后的緊湊網(wǎng)絡(luò)進(jìn)行8 bit量化。具體需對輸入數(shù)據(jù)、輸出數(shù)據(jù)、模型參數(shù)和激活函數(shù)分別進(jìn)行量化。模型參數(shù)的量化公式為[20]:
其中,Q表示量化后的整數(shù),r表示量化前的浮點(diǎn)數(shù),s表示量化的尺度因子,Z表示0 經(jīng)量化后對應(yīng)的整數(shù)。量化參數(shù)s和Z的計(jì)算公式為[20]:
將模型訓(xùn)練數(shù)據(jù)集作為校準(zhǔn)數(shù)據(jù)集,通過前向傳播統(tǒng)計(jì)量化前網(wǎng)絡(luò)中浮點(diǎn)數(shù)的分布,統(tǒng)計(jì)得到最大值rmax和最小值rmin。Qmax和Qmin分別是8 bit 整數(shù)所能表示的最大值和最小值。激活函數(shù)ReLU 經(jīng)過量化后變?yōu)椋?/p>
其中,q1表示激活函數(shù)的輸入值,q2表示激活函數(shù)的輸出值,Z表示0 經(jīng)量化后對應(yīng)的整數(shù)。輸入數(shù)據(jù)的量化和模型參數(shù)的量化相同,而輸出數(shù)據(jù)需要進(jìn)行反量化,以保證模型量化后的最終輸出仍為浮點(diǎn)數(shù),反量化的公式為[20]:
本文實(shí)驗(yàn)所用計(jì)算機(jī)硬件配置為:AMD Ryzen 7 5800H with Radeon Graphics處理器,CPU頻率3.20 GHz,GPU 加速顯卡為 NVIDIA GeForce RTX 3060 GPU,深度學(xué)習(xí)開發(fā)框架為Pytorch1.12.0。訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí),參數(shù)的選取如表1所示。
表1 網(wǎng)絡(luò)訓(xùn)練參數(shù)Tab.1 Training parameters of neural network
訓(xùn)練過程中,采用隨機(jī)失活(Dropout)和早停(Early-Stopping)防止過擬合。對緊湊神經(jīng)網(wǎng)絡(luò)剪枝時(shí)每層卷積層均采用30%的剪枝稀疏度,以平衡網(wǎng)絡(luò)的壓縮程度和網(wǎng)絡(luò)性能。用同樣的參數(shù)進(jìn)行10 次訓(xùn)練,分別測試10 次訓(xùn)練所得網(wǎng)絡(luò)的性能,最后取平均,以避免單次訓(xùn)練的偶然性。
本文實(shí)驗(yàn)所用數(shù)據(jù)集基于2018 年3 月千島湖通信實(shí)驗(yàn)構(gòu)建。實(shí)驗(yàn)發(fā)射的前導(dǎo)信號為HFM信號,信號帶寬6 kHz,中心頻率12 kHz,采樣率96 kHz,信號長度為21.3 ms。基于實(shí)驗(yàn)數(shù)據(jù)構(gòu)建的數(shù)據(jù)集包含300 m、700 m、1000 m、1500 m、2000 m、2500 m、3000 m 共7 種通信距離下的數(shù)據(jù),數(shù)據(jù)集共包含10080 個(gè)樣本,其中正負(fù)樣本各占50%。從數(shù)據(jù)集中隨機(jī)抽取樣本,按照“訓(xùn)練集∶驗(yàn)證集∶測試集=7∶1∶2”的比例對數(shù)據(jù)集進(jìn)行劃分。
7 個(gè)通信距離每個(gè)通信距離下都發(fā)射720 個(gè)前導(dǎo)信號,總計(jì)有5040 個(gè)前導(dǎo)信號,在原始接收信號中截取全部5040個(gè)前導(dǎo)信號作為數(shù)據(jù)集的正樣本。從每個(gè)原始接收信號的非前導(dǎo)信號部分中盡可能地截取負(fù)樣本,由于原始接收信號的時(shí)長較長,所以截取出的原始負(fù)樣本數(shù)較多,總計(jì)有96625個(gè),從其中隨機(jī)抽取5040 個(gè)作為數(shù)據(jù)集的負(fù)樣本。負(fù)樣本主要包含背景噪聲、沖激干擾、窄帶干擾等,結(jié)合湖試環(huán)境分析,背景噪聲近似認(rèn)為是高斯白噪聲,沖擊干擾可能是湖中的一些生物活動(dòng)所導(dǎo)致的,窄帶干擾可能是其他聲學(xué)系統(tǒng)工作時(shí)所產(chǎn)生的,典型負(fù)樣本的時(shí)頻圖如圖9所示。
圖9 典型負(fù)樣本的時(shí)頻圖Fig.9 Time-frequency figures of typical negative samples
將接收信號與本地信號相關(guān),測量各個(gè)通信距離下的信道沖激響應(yīng),圖10為信道測量結(jié)果,橫軸表示信道時(shí)延,縱軸表示時(shí)間。300 m、700 m、1000 m、1500 m、2000 m、2500 m、3000 m 共7 種通信距離下通信數(shù)據(jù)的信噪比分別為33.10 dB、32.22 dB、31.95 dB、26.16 dB、24.12 dB、15.35 dB、9.96 dB。信道測量結(jié)果和不同通信距離數(shù)據(jù)的信噪比顯示,本文所用實(shí)驗(yàn)數(shù)據(jù)水聲信道條件極為復(fù)雜,時(shí)間空間變化明顯,多徑、混響和噪聲嚴(yán)重,隨著距離增加主徑逐漸變?nèi)?,距離超過2000 m 不再存在明顯主徑,極大增加了前導(dǎo)信號檢測的難度。
通常利用檢測概率(Probability of detection,Pd)和虛警概率(Probability of false alarm,Pf)兩個(gè)指標(biāo),來衡量前導(dǎo)信號檢測算法的性能。檢測概率表示被判為正樣本的正樣本TT占全部正樣本T的比例,計(jì)算公式為:
虛警概率表示被判為正樣本的負(fù)樣本NT占全部負(fù)樣本N的比例,計(jì)算公式為:
由圖11 和圖12 可知,在通信距離較近時(shí),由于信道條件較好,歸一化匹配濾波算法和基于CNN 的方法都具有很好的性能。而在2000 m 以上通信距離的測試數(shù)據(jù)中,由于嚴(yán)重的多徑效應(yīng),歸一化匹配濾波算法的性能大幅下降,最低的檢測概率只有75%左右,而基于CNN 的方法,仍能保持較高的檢測概率。另一方面,由圖12 可知,基于CNN 的方法的虛警概率整體要低于歸一化匹配濾波算法。綜上,基于CNN 的方法的檢測性能要優(yōu)于歸一化匹配濾波算法。
圖11 不同通信距離下三種算法的檢測概率Fig.11 Probability of detection of three algorithms at different communication distances
圖12 不同通信距離下三種算法的虛警概率Fig.12 Probability of false alarm of three algorithms at different communication distances
結(jié)合圖10中的信道測量結(jié)果進(jìn)行具體分析,本文所用實(shí)驗(yàn)數(shù)據(jù)集數(shù)據(jù)的信道多徑較為復(fù)雜。通信距離為2000 m 以下的低米數(shù)數(shù)據(jù),信噪比很高,雖多徑較為復(fù)雜,但高信噪比足以彌補(bǔ)復(fù)雜多徑帶來的檢測性能損失,因此三種檢測算法在低米數(shù)時(shí)數(shù)據(jù)上的檢測性能均較好,檢測概率接近100%,虛警概率均較低,大部分都在1%以下。而通信距離為2000 m 以上的高米數(shù)數(shù)據(jù),信噪比相對于低米數(shù)數(shù)據(jù)有所下降,雖仍屬于高信噪比,但由于多徑較為復(fù)雜,此時(shí)下降后的信噪比已不足以彌補(bǔ)復(fù)雜多徑帶來的檢測性能損失,因此三種算法的檢測性能均開始出現(xiàn)下降。其中,歸一化匹配濾波算法的性能下降得最為明顯,虛警概率有略微的上升,檢測概率平均下降了約20%。而基于CNN 的檢測算法檢測性能下降得相對較少,虛警概率有略微的上升,檢測概率平均僅下降了約3%。
衡量神經(jīng)網(wǎng)絡(luò)算法的復(fù)雜度,往往采用參數(shù)量和運(yùn)算量兩個(gè)參數(shù)。參數(shù)量指的是存儲(chǔ)神經(jīng)網(wǎng)絡(luò)所需的總參數(shù)量,運(yùn)算量指的是網(wǎng)絡(luò)進(jìn)行一次前向推理所需的浮點(diǎn)運(yùn)算次數(shù)。由表2可知,用于水聲通信前導(dǎo)信號檢測的經(jīng)典CNN Lenet-5_64[10],參數(shù)量和運(yùn)算量均較大,而本文所提的緊湊網(wǎng)絡(luò),相比Lenet-5_64,參數(shù)量下降了約99.9%,運(yùn)算量下降了約92.9%。對訓(xùn)練后的緊湊網(wǎng)絡(luò)進(jìn)行剪枝并量化后,最終得到的輕量化網(wǎng)絡(luò),參數(shù)量進(jìn)一步下降了約96.7%,運(yùn)算量進(jìn)一步下降了約91.7%。最終得到的輕量化網(wǎng)絡(luò),在保證網(wǎng)絡(luò)檢測性能和Lenet-5_64相比下降不大的前提下,極大地降低了網(wǎng)絡(luò)的參數(shù)量和運(yùn)算量。
表2 基于神經(jīng)網(wǎng)絡(luò)方法的參數(shù)量及運(yùn)算量對比Tab.2 Comparison of parameters and computation amount of neural network based methods
針對基于經(jīng)典CNN 的水聲通信前導(dǎo)檢測算法參數(shù)量大、運(yùn)算量高的問題,本文利用深度可分離卷積和全局平均池化技術(shù),結(jié)合水聲通信前導(dǎo)信號檢測問題的具體特點(diǎn),設(shè)計(jì)了一種用于水聲通信前導(dǎo)信號檢測問題的緊湊神經(jīng)網(wǎng)絡(luò),并通過基于通道間獨(dú)立性的過濾器剪枝技術(shù)和訓(xùn)練后量化技術(shù)等網(wǎng)絡(luò)壓縮方法對其進(jìn)行進(jìn)一步壓縮,最終得到一個(gè)輕量化網(wǎng)絡(luò)。在千島湖湖試數(shù)據(jù)上的測試結(jié)果表明,與基于經(jīng)典CNN 的方法相比,本文所提輕量化網(wǎng)絡(luò)在保證檢測性能與經(jīng)典CNN 相差不大的同時(shí),參數(shù)量和運(yùn)算量大幅降低,能夠很好地滿足水聲通信的時(shí)效性和水下通信機(jī)低能耗的要求。下一步的工作包括在網(wǎng)絡(luò)中引入發(fā)射信號的信息以增強(qiáng)網(wǎng)絡(luò)的魯棒性、嘗試在硬件上部署算法等。