鞠東豪,李 宇,王宇杰,張春華
(1.中國科學院 聲學研究所,北京 100190;2.中國科學院大學,北京 100039;3.中國科學院 先進水下信息技術重點實驗室,北京 100190)
近年來,各類航行器和傳感器不斷更新迭代,在海洋探測及識別領域取得了極大的進步,與此同時也對水下目標探測技術和航行器的智能化程度有了更高的要求,水下被動目標識別技術作為水下探測技術和航行器智能化的關鍵一環(huán),一直以來受到了國內外學者的廣泛關注,但是由于特殊種類的艦船輻射噪聲(如:軍用艦船、潛艇、魚雷等)獲取難度較高且?guī)в蓄悇e標簽的數(shù)據(jù)稀少,這為艦船輻射噪聲分類識別工作增加了許多難度。許多學者通過對艦船輻射噪聲數(shù)據(jù)的分析提出了一系列基于人的先驗知識提取特征的方法,1997年聲學所的吳國清等[1]提出在艦船噪聲圖譜的基礎上使用模糊神經網絡進行艦船輻射噪聲的分類識別;章新華等[2]將小波變換用于艦船輻射噪聲的特征提取,并且使用BP(back propagation)神經網絡進行分類,該方法具有一定的分類正確率;此外,Tucker等[3]受到聲納兵人耳識別的啟發(fā),利用聽覺特征進行水下目標的識別。上述各類方法都基于人為設定的特征量進行特征提取,依賴于設計者的先驗知識,由于沒有充分利用水下大量的無類標數(shù)據(jù),所以限制了這類方法的準確性和泛化能力。
除此上述方法外,還有許多機器學習特征提取算法也被人應用于艦船輻射噪聲的特征提取當中,其中比較具有代表性的是主成分分析(principal component analysis, PCA)算法[4],這類方法具有簡單易行的特點,但是因為PCA算法沒有利用已有的數(shù)據(jù)標簽進行訓練,所以對于目標分類識別算法而言難以保證提取的特征具有很強的區(qū)分度。
近年來深度神經網絡技術不斷發(fā)展,深度神經網絡算法使用類似大腦的多層結構來分層對特征進行處理,同淺層網絡相比深度神經網絡可以學習到更加抽象的特征,且隨著網絡層數(shù)加深學習到的特征對于環(huán)境變化的魯棒性則越強,故該方法具有很強的環(huán)境適應性。越來越多的學者將深度神經網絡算法和水聲目標識別這一任務相結合,提出了一系列基于深度神經網絡的水聲目標識別算法,Williams[5]使用卷積神經網絡(convolutional neural networks, CNN)對水聲圖像進行了識別,取得了較高的分類正確率。但相比于水聲圖像識別領域,艦船輻射噪聲的帶類標樣本數(shù)量稀少,難以訓練出理想的分類模型。2017年楊宏暉等[6]使用(deep belief nets,DBN)算法對深度神經網絡進行預訓練,并使用少量帶有標簽的樣本進行神經網絡的全局優(yōu)化,這種無監(jiān)督和有監(jiān)督結合的方式能夠更加充分地利用水下大量的無類標數(shù)據(jù),為本文的工作提供很好的基礎。
自編碼器(autoencoder, AE)是一種無監(jiān)督的深度學習方法,往往應用于數(shù)據(jù)降維和特征學習等任務中,是生成模型理論的一個重要組成部分。本文提出一種基于堆棧稀疏去噪自編碼器(stack sparse denoising auto-encoder, SSDAE)的用于水下目標識別的神經網絡。提取具有噪聲魯棒性的特征一直是水下目標特征提取的一個重要內容,本文通過對輸入數(shù)據(jù)人為添加噪聲,從而使訓練出的神經網絡模型具有更強的噪聲魯棒性,并利用堆棧自編碼器的訓練深度神經網絡以提取目標的深層特征,此外通過對艦船輻射噪聲頻譜成分的分析,在代價函數(shù)中加入稀疏懲罰項,以此得到更加具有代表性的頻域稀疏特征。
本文使用Softmax算法對經過SSDAE預訓練的神經網絡進行有監(jiān)督的全局微調,這一過程利用有類標數(shù)據(jù),通過全局微調可以提升神經網絡提取特征的區(qū)分度,通過與多類特征提取算法對比試驗可以看出,本文所提出的SSDAE-Softmax聯(lián)合處理算法具有更好的分類效果。
對于接收到的艦船輻射噪聲時域數(shù)據(jù)要對其變換為低頻分析與記錄譜圖(low frequency analysis recording, LOFAR),即LOFAR譜。由于水聲信號具有非平穩(wěn)的特點,所以采用短時傅里葉變換(short time fourier transform, STFT)來繪制LOFAR譜,STFT變換公式如式(1)所示
(1)
式中:w(t)為窗函數(shù);s(t)為艦船輻射噪聲時域信號。除STFT變換外,為了保證訓練過程當中模型的收斂速度,往往還需要對每個特征值分別進行標準化,本文使用min-max標準化方法[7],min-max標準化根據(jù)S(τ,ω)的最大最小值進行規(guī)范化,將S(τ,ω)矩陣中的值轉化至[0,1]內,轉化公式如式(2)所示
(2)
式中:maxS,minS分別為矩陣S(τ,ω)中的最大值和最小值;SNorm(τ,ω)為經過min-max標準化后的LOFAR譜矩陣。經過STFT變換和數(shù)據(jù)標準化以后的漁船輻射噪聲LOFAR圖,如圖1所示。
圖1 漁船輻射噪聲標準化LOFAR圖
由圖1可以看出,艦船輻射噪聲頻域由線譜和連續(xù)譜組成,其中線譜分量能量更加集中,視覺上具有十分明顯的特征,這些穩(wěn)態(tài)的線譜分量是由艦船上的機械部件循環(huán)往復運動產生的,本文希望從數(shù)據(jù)當中學習并提取這類特征作為目標識別的主要依據(jù)。
本章對堆棧稀疏去噪自編碼器神經網絡算法進行介紹,該方法通過給輸入數(shù)據(jù)添加噪聲的方式訓練出更加具有魯棒性的神經網絡模型,可以更好地適應復雜多變的水下環(huán)境,并且結合對艦船輻射噪聲產生機理的先驗知識,在代價函數(shù)中加入稀疏懲罰項,有針對性的提取稀疏特征,從而提高分類的正確率,利用大量的無類標數(shù)據(jù),通過自編碼器堆疊的方式逐層訓練出具有提取艦船輻射噪聲特征能力的神經網絡模型。
自編碼器神經網絡是神經網絡算法的一種,屬于一種無監(jiān)督的學習算法,同傳統(tǒng)的神經網絡一樣利用了誤差反向傳播算法,其特殊之處在于自編碼器要求期望輸出向量和輸入向量的近似值,換言之,自編碼器的目標是重構原始輸入。一般的自編碼器神經網絡具有三層結構,分別是:輸入層、隱藏層和輸出層,自編碼器的網絡結構如圖2所示。
圖2 常規(guī)自編碼器神經網絡結構示意圖
對于單隱藏層自編碼器而言,將原始輸入數(shù)據(jù)x∈RN映射到隱藏層表示為h∈RN′,這一過程被稱為對原始數(shù)據(jù)的編碼,如式(3)所示
h=fθ(x)=σe(Wx+b)
(3)
式中:θ={W,b},W為一個N′×N的權重矩陣,b為偏置向量;σe(·)為編碼過程中的激活函數(shù)。經過編碼后的原始數(shù)據(jù)再經過隱藏層重構原始數(shù)據(jù),這一過程被稱為解碼,如式(4)所示
y=gθ′(h)=σd(W′h+b′)
(4)
式中:θ′={W′,b′};y∈RN為自編碼器輸出;σd(·)為解碼過程中的激活函數(shù);一般情況下W′=WT,對于N個樣本的數(shù)據(jù)集,自編碼器的二次代價函數(shù),如式(5)所示
(5)
式中:J(θ)為N個樣本的平均重構誤差;xm為第m個樣本;ym為第m個樣本的重構結果。除二次代價函數(shù)外,交叉熵函數(shù)作為代價函數(shù)可以提高自編碼器的學習效率,所以交叉熵函數(shù)往往也被作為自編碼器的代價函數(shù),如式(6)所示
(6)
為了提升算法的魯棒性和泛化能力,避免對數(shù)據(jù)的過擬合現(xiàn)象出現(xiàn),將自編碼器輸入加入隨機噪聲進行“破壞”,從而迫使神經網絡學會去除噪聲從而獲取沒有污染過得真實輸入,這樣一來可以提取出輸入數(shù)據(jù)中更加具有魯棒性的特征。這種加噪聲的方式有很多種。Ogasawara等[7]使用對于輸入x隨機選取vd個元素并將其置零,其余數(shù)據(jù)保持不變,通過訓練將已經置零的數(shù)據(jù)位填充;也可以通過對數(shù)據(jù)直接加入高斯白噪聲來來引入噪聲,將引入隨機噪聲的輸入數(shù)據(jù)設為xn∈RN,去噪自編碼器(denoising autoencoder, DAE)的隱藏層表達式更新為式(7)
h=fθ(xn)=σe(Wxn+b)
(7)
重構原始數(shù)據(jù)的表達式更新為
y=gθ′(h)=σd(W′h+b′)
(8)
使帶噪輸入產生的輸出y盡可能的接近純凈的輸入數(shù)據(jù)x,同常規(guī)自編碼器一樣最小化代價函數(shù)
(9)
此時的y為帶有隨機噪聲的x的函數(shù)。
對于被動聲納識別算法而言頻域上離散窄帶的分量往往具有大多數(shù)艦船輻射噪聲的特征,這些特征主要由艦船的主機、推進裝置、輔機等機械噪聲構成,使用上述頻域稀疏特征不僅能夠提升提升網絡的分類效率,還可以有針對性的提取艦船輻射噪聲當中的稀疏特征,同時增加數(shù)據(jù)的可分性。稀疏自編碼器一般通過給隱藏層神經元增加稀疏懲罰來實現(xiàn),使隱藏層只有少部分神經元被激活,我們定義神經元的平均活躍度為
(10)
(11)
加入稀疏性限制,需要對代價函數(shù)加入稀疏懲罰因子,如式(12)所示
(12)
(13)
式中:J(θ)同上文所述;β為新加入的稀疏懲罰項的系數(shù)。
深層神經網絡具有更好的非線性表達能力,為了提取艦船輻射噪聲深層的抽象特征,需要深層的神經網絡進行特征提取,但是往往隨著網絡層數(shù)增加在數(shù)據(jù)訓練過程當中會出現(xiàn)梯度不穩(wěn)定的現(xiàn)象,堆棧自編碼可以構建深層網絡的同時避免上述情況的發(fā)生。SSDAE算法是將SDAE進行疊加,每次只訓練一個隱藏層的神經網絡,逐層進行訓練從而構建出具有多個隱藏層的神經網絡,SSDAE的訓練示意圖,如圖3所示。
圖3 SSDAE訓練流程示意圖
由圖3可知,SSDAE逐層訓練過程是前一個SDAE神經網絡訓練的隱藏層輸出作為下一個SDAE神經網絡的輸入,設第k個SDAE的編碼過程如式(14)所示
h(k+1)=σe(W(k+1)h(k)+b(k+1)),k=0,1,…,n-1
(14)
式中:h(0)為最原始的輸入數(shù)據(jù),即2.1節(jié)中的x;h(n-1)為最終SSDAE提取的深層特征,解碼的過程如式(15)所示
y(k+1)=σd(W′(L-k)y(k)+b′(k+1)),k=0,1,…,n-1
(15)
式中,y(0)為第一個解碼層輸出,即h(n)。最后一個解碼層輸出結果為重構的原始輸入數(shù)據(jù)。再整個訓練的過程中,每更新一層的參數(shù)都保證上一層的參數(shù)不會改變,逐層訓練后再將自編碼器視為一個整體進行全局的無監(jiān)督微調,對模型進行統(tǒng)一的修正。利用SSDAE算法一方面可以通過逐層訓練避免梯度彌散現(xiàn)象;另一方面也通過訓練獲得了較好的神經網絡參數(shù),避免了局部極值的出現(xiàn)。
如2.3節(jié)所述,SSDAE可以以無監(jiān)督的方式利用大量無類標數(shù)據(jù)訓練特征提取神經網絡,但對于水下目標識別任務而言,該方法所提取的水下目標噪聲特征的區(qū)分度不足,本章應用Softmax分類器利用少量有類標數(shù)據(jù)對SSDAE神經網絡進行全局微調,從而提升算法的分類正確率。
Softmax是Logistic回歸模型的在多分類問題上的推廣,假設訓練集由N個樣本構成:{(x(1),y(1)),…,(x(N),y(N))},對于k類的分類問題,類標y可以取k個不同的值,即:y(i)∈{1,2,3,…,k},對于每個輸入都有對應各個類別的概率
(16)
代價函數(shù)表示為
(17)
式中,I{·}為指示函數(shù),大括號內表達式為真則數(shù)值為1,反之為0。本文為了防止參數(shù)值過大,對代價函數(shù)加入一個權重約束項,如式(18)所示
(18)
式中,d為Softmax分類器輸入層維數(shù),Softmax分類器的輸出表征了多種不同類別之間的相對概率,通過對比概率得到對應輸入的類別輸出。
由于水下環(huán)境復雜多變,而且近年來隨著減振降噪技術的發(fā)展,各類航行器的隱蔽性逐漸增強,獲取有類標的艦船輻射噪聲這一任務變得十分困難,如何在小樣本的情況下有效提取特征并準確分類就成為了水下目標探測中亟待解決的問題。本文應用SSDAE-Softmax聯(lián)合分類算法來解決這一小樣本識別問題,首先利用SSDAE算法基于大量易獲取的水下無類標樣本對于深度神經網絡進行預訓練,從無類標樣本中獲取先驗知識,再利用Softmax算法利用少量有類標的艦船輻射噪聲樣本進行全局微調。SSDAE-Softmax聯(lián)合分類算法神經網絡結構圖示意圖,如圖4所示。
圖4 SSDAE-Softmax聯(lián)合分類算法神經網絡示意圖
由圖4可知,將SSDAE的解碼部分去除,保留其編碼層,以此來提取艦船輻射噪聲的深層特征。SSDAE-Softmax聯(lián)合分類算法的算法訓練流程如下所示:
步驟1數(shù)據(jù)預處理;
步驟2使用大量無類標數(shù)據(jù)訓練SSDAE神經網絡,得到深度神經網絡的初始參數(shù);
步驟3設置Softmax層的初始參數(shù);
步驟4將有類標數(shù)據(jù)作為輸入,對SSDAE-Softmax神經網絡進行全局參數(shù)的微調。
經過上述訓練之后的神經網絡,H2輸出即為SSDAE-Softmax算法所提取的深度特征,Softmax層的輸出即為網絡的分類結果。一方面SSDAE-Softmax算法利用有類標數(shù)據(jù)進行訓練,提升所提取特征的區(qū)分度提升分類正確率;另一方面相比于未經過大量無類標數(shù)據(jù)預訓練的神經網絡而言SSDAE-Softmax能夠更好地利用已有的無類標數(shù)據(jù),在小樣本的條件下也達到較高的分類正確率。
本文使用海試收集到的5類艦船輻射噪聲作為數(shù)據(jù)集對本文所提出的算法進行評價,具體參數(shù)如表1所示。
表1 本文使用數(shù)據(jù)集信息
除表1數(shù)據(jù)外,本文還使用湖試海試收集到的時長約為3 h的漁船噪聲數(shù)據(jù)以及時長約為1 h的環(huán)境噪聲數(shù)據(jù)進行SSDAE神經網絡的預訓練。
4.2.1 預處理參數(shù)
對原始數(shù)據(jù)預處理分為繪制LOFAR譜、數(shù)據(jù)標準化兩部分。本文使用STFT變換繪制艦船輻射噪聲的LOFAR譜,使用漢明窗作為滑動窗,窗長nsc=2 s,相鄰窗重疊率nov=0.5,每個窗口fft點數(shù)nfft=44 100。由于艦船輻射噪聲特征主要集中于0~1 500 Hz頻段,故截取0~1 500 Hz的數(shù)據(jù)作為處理頻段。
4.2.2 神經網絡參數(shù)設置
利用網格搜索算法尋找最優(yōu)的訓練參數(shù),網格搜索算法是一種窮舉搜索的調參手段,通過循環(huán)遍歷來求得一個可以使模型分類效果最好的參數(shù)集。待搜索的參數(shù)以及區(qū)間,如表2所示。
表2 網格搜索參數(shù)
經過網格搜索后可以得出最優(yōu)的神經網絡參數(shù)集,如表3所示。
表3 最優(yōu)參數(shù)集
下文均使用上述參數(shù)集進行SSDAE神經網絡訓練。
除SSDAE算法以外還有許多機器學習領域的數(shù)據(jù)特征提取算法,其中比較有代表性的是:主成分分析算法、線性判別分析算法以及局部線性嵌入算法(locally linear embedding, LLE)。
本文將上述三種傳統(tǒng)機器學習特征特征提取算法同本文提出的SSDAE-Softmax聯(lián)合處理算法進行對比,分類器均使用Softmax分類器,訓練集占有類標樣本的比例為0.7。首先,以二分類問題為例定義分類正確率Ac、精確率Pr、召回率Re以及F1值(F1-score)四項評價指標如式(19)~式(22)所示
(19)
(20)
(21)
(22)
式中:TP,TN分別為被正確劃分為正例和負例的樣本個數(shù);P,N分別為正例和負例的樣本總個數(shù)。使用蒙特卡洛方法繪制不同信噪比下上述四種方法的分類評價指標曲線,如圖5所示。
圖5 不同信噪比下各方法分類結果對比圖
由表2所示結果可見,PCA-Softmax、LDA-Softmax、LLE-Softmax三種算法對于艦船輻射噪聲數(shù)據(jù)均具有一定的分類正確率,但是分類效果都要略差于本文所提出的SSDAE-Softmax算法。由圖5結果可以看出,SSDAE-Softmax算法可以更好地對含噪聲數(shù)據(jù)進行分類,相較于其他三類算法在低信噪比下仍有較好的分類效果,但在信噪比低于-10 dB時分類正確率有明顯下降。此外為了體現(xiàn)本文所提出的SSDAE-Softmax算法在小訓練集下的分類效果,本文在信噪比為-10 dB的條件下對比了不同訓練集占總數(shù)據(jù)量比重下的各類方法的分類效果,如圖6所示。
圖6 不同訓練集占比下各方法分類結果對比圖
由圖6可以看出,本文所提出的SSDAE-Softmax算法在少量訓練樣本的情況下依然有較高的分類正確率,主要原因是本文使用了SSDAE進行預訓練,將大量的無類標數(shù)據(jù)預先進行訓練,使神經網絡能夠從無類標數(shù)據(jù)中獲得先驗知識,從而能夠在少量有類標樣本的條件下得到相比于其他方法更高的分類正確率。
為了更加直觀的驗證本文所提出的SSDAE-Softmax算法對于艦船輻射噪聲的特征提取能力,我們利用主成分分析算法在信噪比為-10 dB的條件下分別提取原始頻域特征以及微調后SSDAE輸出特征的前三個主元,對三個主元成分進行可視化的結果如圖7所示。
圖7 特征提取散點對比圖
由圖7可以明顯看出,直接使用原始數(shù)據(jù)進行PCA提取的前三個主元成分的特征完全混疊在一起,很難將五種艦船輻射噪聲數(shù)據(jù)分開,而經過本文所提出的SSDAE-Softmax算法提取的特征,將數(shù)據(jù)將目標1、目標3、目標5三類數(shù)據(jù)很好的聚集在一起,且這三類艦船輻射噪聲類別之間的邊界分明,但是目標3和目標5出現(xiàn)了交叉混疊的現(xiàn)象,目標3和目標5的頻譜特征如圖8所示。
由圖8可見,目標3與目標5的LOFAR譜在低頻的特征較為類似,且兩類目標的頻譜特征均不穩(wěn)定,在這種情況下兩類目標特征提取的結果可能存在一定的混疊現(xiàn)象,一般需要對信號進行增強處理提取穩(wěn)定特征來解決這一問題。
圖8 目標3與目標5 LOFAR譜對比圖
針對水下復雜環(huán)境以及小樣本條件下的艦船輻射噪聲識別問題,提出了一種基于SSDAE-Softmax算法的水下目標識別方法。使用大量易獲取的無類標樣本進行SSDAE特征提取神經網絡的訓練,并且在代價函數(shù)中引入了稀疏懲罰項,使特征具有更強的區(qū)分度,再使用少量有類標的樣本對模型進行全局微調,形成具有分類能力的SSDAE-Softmax神經網絡模型。經過海試數(shù)據(jù)驗證,SSDAE-Softmax算法能夠顯著地提升在低信噪比下的識別能力,性能明顯優(yōu)于PCA、LDA以及LLE;且在訓練集占比較低的情況下SSDAE-Softmax算法依然可以保證較高的分類正確率,證明本文算法具有較強的環(huán)境自主適應能力。