倪俊帥,趙 梅,胡長青
(1.中國科學(xué)院聲學(xué)研究所東海研究站,上海 201815;2.中國科學(xué)院大學(xué),北京 100049)
船舶輻射噪聲識別是被動聲吶研究領(lǐng)域的一項難題,一直以來受到國內(nèi)外學(xué)者的廣泛關(guān)注。海洋事業(yè)的蓬勃發(fā)展,海上活動日益頻繁,海洋權(quán)益保障和國防建設(shè)等方面對船舶輻射噪聲識別提出了更高的要求。隨著深度學(xué)習(xí)和人工智能的發(fā)展及其在各領(lǐng)域取得的顯著成果,將深度學(xué)習(xí)應(yīng)用于船舶輻射噪聲識別成為了研究的熱點。船舶輻射噪聲中包含著一定的特征信息,特征提取是噪聲識別不可缺少的重要環(huán)節(jié)。已有的特征提取方法主要有:功率譜估計、小波變換、短時傅里葉變換、梅爾倒譜系數(shù)、希爾伯特-黃變換等。在此基礎(chǔ)上將深度學(xué)習(xí)應(yīng)用于船舶輻射噪聲的識別,取得了一定的研究成果。嚴韶光等[1]采用Welch 功率譜估計方法提取特征,并采用深度自編碼網(wǎng)絡(luò)對船舶輻射噪聲進行識別,得到了比BP 網(wǎng)絡(luò)更好的識別效果。李俊豪等[2]提取了船舶輻射噪聲的時頻特征,設(shè)計卷積神經(jīng)網(wǎng)絡(luò)進行識別,識別率得到了明顯的提高。朱可卿等[3]提取了船舶輻射噪聲的頻譜、梅爾倒譜系數(shù)、線譜特征,并采用卷積神經(jīng)網(wǎng)絡(luò)對特征的圖像進行識別。曾賽等[4]提出了水下目標多模態(tài)深度學(xué)習(xí)識別方法,提高了船舶輻射噪聲識別的正確率。
雖然以上對船舶輻射噪聲特征提取和識別算法的研究已經(jīng)取得了一定的成果,但現(xiàn)實中船舶輻射噪聲識別是包含未知船舶的開集識別。目前識別算法多為“監(jiān)督式學(xué)習(xí)”的閉集識別,即在已有的船舶輻射噪聲樣本上訓(xùn)練網(wǎng)絡(luò)模型并對模型的識別性能進行評估,然后用訓(xùn)練好的網(wǎng)絡(luò)模型去識別船舶輻射噪聲。這樣一來模型只能夠識別訓(xùn)練集中包含的類別,而對于訓(xùn)練集中未包含的類別,則無法給出正確的識別結(jié)果。這一問題在一定程度上降低了識別系統(tǒng)的可靠性和準確率。張凱等[5]提出了基于相似度分布的開集人臉識別算法,提取樣本的相似度分布特征,然后運用線性判別分析算法實現(xiàn)開集識別。Bendale 等[6]提出了深度學(xué)習(xí)輸出層的Openmax 函數(shù)激活方法,取代Softmax 函數(shù)激活實現(xiàn)開集識別。Perera 等[7]應(yīng)用生成模型重建已知類別樣本,提高已知與未知樣本的類間距離,實現(xiàn)未知樣本的檢測。郝云飛等[8]將對抗生成網(wǎng)絡(luò)應(yīng)用于信號調(diào)制方式的開集識別,取得了較高的識別正確率。以上開集識別方法在人臉識別等領(lǐng)域取得了較好的效果,而船舶輻射噪聲隨機性強,提取的可識別特征少,特征不穩(wěn)定,相似船舶很難區(qū)分。船舶輻射噪聲識別屬于小樣本識別,很難滿足生成對抗網(wǎng)絡(luò)訓(xùn)練樣本需求。實現(xiàn)船舶輻射噪聲的開集識別,還有待于進一步的研究。
為了提高船舶輻射噪聲識別系統(tǒng)的性能,實現(xiàn)開集識別,本文提出了基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)和改進K-means 的船舶輻射噪聲開集識別方法。采用Welch 功率譜估計方法提取特征,設(shè)計并運用DNN 模型進一步提取特征向量,提高數(shù)據(jù)的可分性;改進了K-means 算法,選擇更符合數(shù)據(jù)分布的聚類中心,并在此基礎(chǔ)上實現(xiàn)了開集識別。
假定隨機信號序列x(n),n=0,1,…,N?1,將其分為L段,每段長度為M,相鄰兩段的重疊長度為M?K,第i段數(shù)據(jù)加窗后可表示為[9]
其中:a(n)為窗函數(shù);K為一整數(shù);L為分段數(shù);它們之間滿足:
第i段數(shù)據(jù)的功率譜估計為
其中:
式(3)中,U為歸一化因子,作用是保證得到的譜估計是真實譜的漸進無偏估計,U表示為
由此得到的平均周期圖法功率譜估計為
深度神經(jīng)網(wǎng)絡(luò)(DNN)由輸入層、隱藏層和輸出層組成。它具有強大的非線性建模能力,不但可以有效學(xué)習(xí)特征向量中的分類信息,抽象出具有更好分類性能的特征向量,還能夠達到數(shù)據(jù)降維和提高運算性能的效果。多分類深度神經(jīng)網(wǎng)絡(luò)的代價函數(shù)為
式中:yn和tn分別為網(wǎng)絡(luò)輸出層第n個神經(jīng)元的實際值和期望值,c為類別數(shù)。
DNN 的期望輸出向量可看作c組單位正交基,具有最好的分類特性。損失函數(shù)值衡量的是實際輸出與期望輸出的差異,因此,網(wǎng)絡(luò)損失值越小,輸出向量的可分性越好。
DNN 的隱藏層采用Relu 函數(shù)激活,Relu 函數(shù)的表達式為
DNN 的輸出層采用Softmax 函數(shù)激活,Softmax函數(shù)的表達式為
整個網(wǎng)絡(luò)采用自適應(yīng)學(xué)習(xí)率的誤差反向傳播算法[10]進行迭代,最小化代價函數(shù)并更新權(quán)值。迭代過程采用optimizer 優(yōu)化器進行參數(shù)優(yōu)化。
DNN通過Softmax函數(shù)將輸入特征向量映射向c個單位正交基,代價函數(shù)越小,映射越逼近。所以,越靠近網(wǎng)絡(luò)輸入層,特征向量包含的目標的特征信息越豐富,越靠近輸出層,特征向量包含的目標的分類信息越多。文獻[6]的研究表明,輸出層Softmax 激活前的特征向量具有更好的開集性能。因此,本文選用該層輸出的特征向量進行船舶輻射噪聲開集識別。
K-means 算法[11]是典型的無監(jiān)督學(xué)習(xí)算法。實際的聚類應(yīng)用沒有任何關(guān)于訓(xùn)練樣本的真實分類信息,因此目標是根據(jù)特征的相似性對樣本進行分組。
K-means 算法可以通過以下4 個步驟來實現(xiàn):
(1)隨機從樣本中挑選k個重心作為初始聚類中心。
(2)將每個樣本分配到最近的重心uj,j∈{1,…,k}。
(3)把重心移到已分配樣本的中心。
(4)重復(fù)步驟(2)和(3),直到集群賦值不再改變,或達到設(shè)置的最大迭代次數(shù)。
傳統(tǒng)的K-means 算法有受初始值和離群點的影響,每次結(jié)果都不穩(wěn)定;容易收斂到局部最優(yōu)解;無法解決“簇”分布差別比較大的情況等缺點。K-mean++算法[12]在其基礎(chǔ)上對初始聚類中心的選擇進行了改進,提高了模型的收斂速率,降低了誤差。
為有效解決上述問題并實現(xiàn)開集識別,本文以傳統(tǒng)K-means 算法為基礎(chǔ),結(jié)合Kernel K-means[13]的改進思想,引入“半監(jiān)督學(xué)習(xí)”機制,對K-means聚類中心選擇和判決策略進行如下改進:(1)在第一步中采用部分標識樣本以確定初始聚類中心。(2)標識樣本在后續(xù)的聚類步驟中標簽保持不變。(3)分別應(yīng)用余弦系數(shù)、Dice 系數(shù)等相似性度量方法確定聚類中心。(4)對待測樣本識別時,設(shè)定閾值,最大相似度小于閾值時識別為未知類別。
本文所提船舶噪聲開集識別方法具體包括如下兩個過程:
(1)運用深度神經(jīng)網(wǎng)絡(luò)(DNN)提取船舶輻射噪聲的特征向量。
首先,對船舶噪聲進行Welch 方法的譜估計,獲得歸一化的單邊功率譜。其次,設(shè)計深度神經(jīng)網(wǎng)絡(luò),將功率譜部分離散的功率值作為特征參數(shù)訓(xùn)練和驗證網(wǎng)絡(luò)模型,改變起始頻率和帶寬進行重復(fù)訓(xùn)練和驗證,選擇網(wǎng)絡(luò)最小損失函數(shù)值對應(yīng)的起始頻率和帶寬,確定輸入特征向量的提取方法。最后,將訓(xùn)練集樣本輸入已訓(xùn)練的最小損失網(wǎng)絡(luò)進行分類,提取網(wǎng)絡(luò)輸出層softmax 函數(shù)激活前的值作為特征向量。該過程的流程如圖1 所示。
圖1 DNN 提取特征向量流程圖 Fig.1 Flow chart of feature vector extraction by DNN
(2)針對過程(1)中DNN 提取的訓(xùn)練集特征向量,將分類正確且置信度大于0.95 的樣本繼續(xù)作為已標識樣本,即正樣本,其余樣本作為未標識樣本,即難負樣本,訓(xùn)練改進策略的K-means 模型,確定聚類中心。然后,將DNN 提取的測試集樣本特征向量輸入訓(xùn)練好的聚類模型,設(shè)定閾值進行開集識別。改進的K-means 開集識別流程如圖2 所示。
圖2 改進的K-means 開集識別流程圖 Fig.2 Flow chart of open set recognition by improved K-means
實驗采用2018 年6 月在某湖試中實測的船舶輻射噪聲數(shù)據(jù)。該實驗采用Ocean Sonics 生產(chǎn)的icListen-900 自容式水聽器,工作頻帶為1 Hz~100 kHz,以潛標形式布放湖底采集噪聲數(shù)據(jù)。實驗設(shè)備布放圖如圖3 所示。實驗地點選擇在游船頻繁經(jīng)過的水域,采集的目標船舶輻射噪聲具有通過特性,受其他船只噪聲干擾較小。
圖3 實驗設(shè)備布放圖 Fig.3 Layout of experimental equipment
實測目標為10 艘不同的游船,分別記為目標Ⅰ~Ⅹ。對獲取的輻射噪聲信號預(yù)處理共得到數(shù)據(jù)4 560 段,每段數(shù)據(jù)長度均為3 s,采樣率為32 kHz。將目標Ⅹ記為未知船舶,其他目標記為已知船舶,訓(xùn)練集、驗證集、測試集中各類樣本組成如表1 所示。
表1 數(shù)據(jù)集樣本組成 Table 1 Sample composition of data sets
對采集的每一段數(shù)據(jù)均做Welch 方法的功率譜估計,分段數(shù)為5,重疊率為0.5,窗函數(shù)選用漢明(Hamming)窗,頻率采樣間隔為1 Hz。由于高識別性的線譜主要集中在200 Hz 以內(nèi)的低頻部分,且2 000 Hz 以內(nèi)的連續(xù)譜形態(tài)變化也是重要的識別因素之一。因此采用不同的方法對功率譜進行截取。起始頻率分別選擇1、21、41、81、101 Hz,點數(shù)分別選擇300、600、900、1 200、1 500。
本文設(shè)計的深度神經(jīng)網(wǎng)絡(luò)(DNN)具有三個隱藏層,其輸入層節(jié)點數(shù)n為輸入特征向量的維數(shù),由截取功率譜的點數(shù)決定。網(wǎng)絡(luò)各層的節(jié)點數(shù)和訓(xùn)練的參數(shù)數(shù)量如表2 所示。
表2 層節(jié)點數(shù)和參數(shù)數(shù)量 Table 2 Number of layer nodes and parameters
采用不同的截取方法獲得的特征向量訓(xùn)練和驗證本文設(shè)計的深度神經(jīng)網(wǎng)絡(luò)(DNN)。當起始頻率為21 Hz、點數(shù)為1 200 時,即選用頻率21~1 220 Hz 對應(yīng)的功率值作為特征向量時,DNN 的驗證損失最小,最小值收斂于8.29×10-4。在此條件下,網(wǎng)絡(luò)迭代20 次的精度和損失曲線分別如圖4 和圖5所示。迭代完成后,網(wǎng)絡(luò)對訓(xùn)練集分類的平均正確率為99.1%,對驗證集分類的平均正確率為97.3%。
圖4 訓(xùn)練和驗證精度曲線 Fig.4 Accuracy curves for training and verification
圖5 訓(xùn)練和驗證損失曲線 Fig.5 Loss curves for training and verification
接下來,獲取網(wǎng)絡(luò)對訓(xùn)練集的分類結(jié)果、置信度、特征向量,并根據(jù)本文改進K-means 策略訓(xùn)練聚類模型,確定聚類中心。其中分類結(jié)果正確且置信度大于0.95 的樣本數(shù)為1 959。將本文方法確定的聚類中心和K-means++算法確定的聚類中心通過PCA[14]降維,如圖6 所示。
圖6 本文方法與K-means++算法確定的聚類中心 Fig.6 The clustering centers determined by the proposed method and K-means++method
由圖6 可以看出,本文方法確定的聚類中心和K-means++算法確定的聚類中心有部分較為接近,這是因為對應(yīng)類別的數(shù)據(jù)難負樣本較少,且與其他類別的差異較大;本文方法確定的聚類中心更能反映實際數(shù)據(jù)的重心,重心之間的平均相對距離更遠,更有利于開集識別。
用本文改進K-means 方法對測試集樣本進行開集識別,并與K-means++算法進行對比,在不同閾值下,分別采用歐式距離、余弦距離、Dice 系數(shù)、曼哈頓距離作為相似性度量方法的ROC 曲線分別如圖7 所示。其中RFR為錯誤拒絕率(False Rejection Rate,FRR),表示所有正例(已知類)中被預(yù)測為負例(未知類)的比例,RFA為錯誤接受率(False Acceptance Rate,FAR),表示所有負例(未知類)中被預(yù)測為正例(已知類)的比例。
由圖7 可以看出,采用歐式距離、曼哈頓距離、Dice 系數(shù)且RFA<0.6,以及采用余弦系數(shù)且RFA<0.1時,本文方法的FRR 均小于DNN+K-means++方法的FRR。本文方法對船舶輻射噪聲進行開集識別,具有更小的錯誤率。當RFA=RFR時,開集識別正確率如表3 所示。
表3 RFR=RFA時兩種方法對4 種相似性度量的開集識 別正確率 Table 3 Open set recognition accuracies of the two methods for four different similarity measures when RFR=RFA
圖7 兩種方法對4 種相似性度量開集識別的ROC 曲線 Fig.7 ROC curves of open set recognition by the two methods for four different similarity measures
采用4 種不同的相似性度量方法,當RFR=RFA時,本文方法的開集識別正確率均在90%以上,相比于DNN+K-means++方法平均高出6.2 個百分點。
接下來,對獲取的船舶輻射噪聲分別添加信噪比為10、0、?10 dB 的實驗船發(fā)動機噪聲、漁船輻射噪聲,信噪比定義為
式中:Xt為待識別船舶輻射噪聲信號,Xn為實驗船發(fā)動機輻射噪聲信號,N為信號長度。選用余弦系數(shù)進行相似性度量,本文方法對含噪聲的船舶輻射噪聲信號開集識別正確率如表4 所示。
表4 加噪聲后本文方法開集識別正確率 Table 4 Open set recognition accuracy of the proposed method after adding noise
本文方法具有較好的魯棒性,在實驗船發(fā)動機噪聲和漁船噪聲干擾的情況下,依然能對目標船舶有效地實現(xiàn)開集識別。當信噪比大于0 dB 時,開集識別正確率達到83%以上。
為實現(xiàn)船舶輻射噪聲的開集識別,本文提出了一種基于DNN 和改進K-means(DNN+K-means++)的開集識別算法。根據(jù)網(wǎng)絡(luò)最小損失原則選取功率譜特征,得到了分類性能良好的初始特征向量;應(yīng)用深度神經(jīng)網(wǎng)絡(luò)進一步提取特征向量,在降維的同時提高了數(shù)據(jù)的可分性;采用改進的K-means 算法,獲得了更符合數(shù)據(jù)分布的聚類中心并實現(xiàn)了船舶輻射噪聲的開集識別。實驗結(jié)果表明,該方法對實測船舶輻射噪聲數(shù)據(jù)有較好的識別效果,4 種不同的相似性度量方法下,該方法的開集識別性能均優(yōu)于DNN+K-means++方法。采用余弦系數(shù)進行相似性度量時,開集識別正確率最高。對實測信號添加實驗船發(fā)動機噪聲或漁船噪聲后,本文方法的識別正確率較高,具有較好的魯棒性。