(海軍航空大學(xué) 煙臺 264001)
隨著潛艇隱身技術(shù)的不斷發(fā)展,潛艇運(yùn)行的自噪聲越來越低,而且受海洋環(huán)境噪聲、海洋生物噪聲以及商船漁船的噪聲影響,給搜潛和反潛工作帶來了很大的挑戰(zhàn),如何準(zhǔn)確從其他噪聲中辨識出潛艇和艦艇噪聲成為了搜潛的關(guān)鍵。新的降噪技術(shù)的不斷發(fā)展,大大降低了潛艇目標(biāo)的顯著性特征,使之前使用的線譜、LOFAR(Low Frequency Analysis and Recording)譜、Mel復(fù)倒譜等特征提取技術(shù)提取的特征效果明顯降低,而且由這些方法得出的分類結(jié)果類間相似度很大,同樣削弱了分類效果。因此,如何提取各類目標(biāo)的顯著性差異特征仍是制約水聲目標(biāo)辨識的關(guān)鍵,而深度學(xué)習(xí)(Deep Learning,DL)方法通過模擬人腦神經(jīng)網(wǎng)絡(luò)對物體的由局部到整體的辨識過程,為水聲目標(biāo)辨識提供了一種新的方法,它通過對訓(xùn)練集中的數(shù)據(jù)的學(xué)習(xí),可以自動提取各種不同種類目標(biāo)的分類特征,從而將測試集中的數(shù)據(jù)進(jìn)行正確的分類識別。所以,通過大數(shù)據(jù)量的訓(xùn)練集的訓(xùn)練,可以直接應(yīng)用到對各類水聲目標(biāo)的分類辨識中,而且識別率比之前的方法高。
深度學(xué)習(xí)的概念起源于人工神經(jīng)網(wǎng)絡(luò),在本質(zhì)上是指一類對具有深層結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)進(jìn)行有效訓(xùn)練的方法。神經(jīng)網(wǎng)絡(luò)是一種由許多非線性計算單元(神經(jīng)元)組成的分層系統(tǒng),通常網(wǎng)格的深度就是其中的不包括輸入層的層數(shù)。最早的神經(jīng)網(wǎng)絡(luò)是心理學(xué)家McCulloch和數(shù)學(xué)邏輯學(xué)家Pitts建立的MP模型[1],該模型實際上只是單個神經(jīng)元的形式化數(shù)學(xué)描述,具有執(zhí)行邏輯運(yùn)算的功能,但不能進(jìn)行學(xué)習(xí)。Hebb首先提出了對生物神經(jīng)網(wǎng)絡(luò)有關(guān)學(xué)習(xí)的思想[2]。Rosenblatt隨后提出了感知器模型及其學(xué)習(xí)算法[3]。在隨后的幾十年里,盡管神經(jīng)網(wǎng)絡(luò)的研究出現(xiàn)過一段與Minsky對感知器的批評有關(guān)的低潮期[4],但 Grossberg[5]、Kohonen[6]、Narendra&Thathatchar[7]、von der Malsburg[8]、Widrow&Hoff[9]、Palm[10]、Willshaw&von der Malsburg[11]、Hopfield[12]等仍然逐步提出了許多神經(jīng)網(wǎng)絡(luò)的新模型。最開始的感知機(jī)擁有輸入層、輸出層和一個隱含層。
卷積神經(jīng)網(wǎng)絡(luò)是近年發(fā)展起來并被廣泛應(yīng)用的一種高效的識別方法。20世紀(jì)60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經(jīng)元時發(fā)現(xiàn)其獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu)可以有效地降低反饋神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,繼而提出了卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)。CNN現(xiàn)在被廣泛應(yīng)用于圖像、語音等目標(biāo)的分類識別。
卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)布局更接近于實際的神經(jīng)網(wǎng)絡(luò),它也可以簡化為從一個神經(jīng)元的輸入輸出開始計算來推導(dǎo)整體神經(jīng)網(wǎng)絡(luò)的計算。神經(jīng)網(wǎng)絡(luò)中的單個神經(jīng)單元的模型可以簡化如圖1所示。
圖1 單個神經(jīng)元結(jié)構(gòu)
其中,x1、x2、x3代表輸入的數(shù)據(jù),b表示偏置,hw'b(x)代表數(shù)據(jù)經(jīng)過單個神經(jīng)元變換后得到的輸出。 f函數(shù)為激活函數(shù),在本文中使用Sigmoid函數(shù)作為激活函數(shù)。
當(dāng)多個神經(jīng)元分層次聯(lián)結(jié)在一起組成神經(jīng)網(wǎng)絡(luò)共同對輸入的x1、x2、x3數(shù)據(jù)作用時,所得到的結(jié)果即為神經(jīng)網(wǎng)絡(luò)的輸出。
圖2 卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)是上述神經(jīng)網(wǎng)絡(luò)的特例,其結(jié)構(gòu)有很大的相似之處。卷積神經(jīng)網(wǎng)絡(luò)主要分為五層結(jié)構(gòu):輸入層、卷積層、下采樣層、全連接層和輸出層。
在卷積神經(jīng)網(wǎng)絡(luò)中,起主要作用的是卷積層和下采樣層,在一個卷積神經(jīng)網(wǎng)絡(luò)中可能同時具有多個卷積層和下采樣層,兩者共同組成卷積流。其中,卷積層是卷積神經(jīng)網(wǎng)絡(luò)的核心,它主要用來進(jìn)行特征提取的工作,大部分的計算量都在卷積層中進(jìn)行。下采樣層也叫池化層,主要是為了降低卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)和計算量,防止過擬合。
卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的一個很大的區(qū)別就是卷積神經(jīng)網(wǎng)絡(luò)的輸入層與相應(yīng)的隱含層之間不采用全連接的方式。因為全連接方式會由大量的訓(xùn)練參數(shù)而且全連接所得到的特征不具有旋轉(zhuǎn)不變性、平移不變性等特性。
1)稀疏交互影響
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)使用矩陣乘法來建立輸入與輸出的關(guān)系,卷積神經(jīng)網(wǎng)絡(luò)中對其進(jìn)行了改進(jìn),卷積神經(jīng)網(wǎng)絡(luò)具有稀疏交互的特性,卷積核的大小遠(yuǎn)小于輸入的大小,所以在處理一個包含成千上萬個像素點(diǎn)的圖像時,卷積神經(jīng)網(wǎng)絡(luò)通過只占用幾十到上百個像素點(diǎn)的卷積核來檢測一些小的有意義的特征來描述整幅圖像,大大提高了卷積神經(jīng)網(wǎng)絡(luò)的計算效率。如圖3展現(xiàn)了稀疏連接和全連接的結(jié)構(gòu)對比。
圖3 稀疏連接和全連接結(jié)構(gòu)對比示意圖
2)參數(shù)共享
參數(shù)共享是指在一個模型的多個函數(shù)中使用相同的參數(shù)。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積核的每一個元素都作用在輸入的每一個位置上,卷積運(yùn)算中的參數(shù)共享保證了只需要學(xué)習(xí)一個參數(shù)集合,而不是對于每一位置都需要學(xué)習(xí)一個單獨(dú)的參數(shù)集合。
圖4中上邊的圖表示參數(shù)共享的情況下,當(dāng)卷積核為3核時,卷積核中間參數(shù)的使用情況。由于參數(shù)共享,卷積核中間的參數(shù)被用于所有輸入位置的計算。下邊的圖表示當(dāng)參數(shù)不共享時,全連接模型中權(quán)重矩陣的中間參數(shù)只被使用了一次。
圖4 參數(shù)共享與不共享的連接示意圖
本文在利用基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法對水聲信號進(jìn)行訓(xùn)練時,主要用到了兩種算法:卷積計算方法和反向傳播算法。水聲信號生成的訓(xùn)練集輸入卷積層中時,經(jīng)過卷積計算后輸出權(quán)重系數(shù)矩陣,此時的權(quán)重系數(shù)矩陣不是期望的結(jié)果,其結(jié)果沒有與設(shè)定的標(biāo)簽集產(chǎn)生對應(yīng)關(guān)系,故需要反向傳播算法對其進(jìn)行參數(shù)的調(diào)整,增強(qiáng)訓(xùn)練的效果。
在將水聲信號組成的訓(xùn)練集輸入卷積神經(jīng)網(wǎng)絡(luò)后,需要將其與卷積核進(jìn)行卷積以突出其顯著性特征而淡化無用特征。卷積操作指的是輸入數(shù)據(jù)矩陣和濾波權(quán)重矩陣做內(nèi)積,也就是兩個矩陣的元素逐個相乘后再求和。
如圖5所示,展示了一個3×3的卷積核在5×5的水聲信號上做卷積的過程。每個卷積核都是一種特征提取方式,將圖像中符合條件(激活值越大越符合條件)的部分提取出來。
通過圖5可以看到,卷積核的每一次卷積計算都只是針對輸入水聲信號的一部分?jǐn)?shù)據(jù)窗口進(jìn)行卷積,這就是上文所說的局部連接機(jī)制。而且只是輸入數(shù)據(jù)在不斷改變,而卷積核的權(quán)重參數(shù)自始至終都未發(fā)生改變,這個權(quán)重不變即上文中提到的卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)共享機(jī)制。
水聲信號經(jīng)過卷積計算后,輸出一個權(quán)重系數(shù)矩陣。但此時的權(quán)重系數(shù)矩陣與訓(xùn)練集的標(biāo)簽矩陣并不能對應(yīng)起來,這就需要一個算法對輸出的參數(shù)進(jìn)行調(diào)整,使其能與標(biāo)簽矩陣建立對應(yīng)關(guān)系。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,就是通過已有的樣本,求取使代價函數(shù)最小化時所對應(yīng)的參數(shù)。代價函數(shù)測量的是模型對輸入的水聲信號樣本的預(yù)測值與其真實值之間的誤差,最小化的求解一般使用梯度下降法。其中,最重要的就是求梯度,這可以通過反向傳播算法來實現(xiàn)。
圖5 輸入水聲信號與卷積核的卷積計算過程
為了簡便起見,先從單個神經(jīng)元的訓(xùn)練計算開始。單個神經(jīng)元的結(jié)構(gòu)如圖6所示。假設(shè)一個訓(xùn)練樣本為(x 'y)。在圖6中,x是輸入的水聲信號,通過一個激勵函數(shù)hw'b(x)得到一個輸出a,a再通過代價函數(shù)得到J。
圖6 單個神經(jīng)元結(jié)構(gòu)圖
其中,激勵函數(shù)為Sigmoid函數(shù)。則可以得到關(guān)于W和b的公式:
圖7 單個神經(jīng)元對水聲信號的計算流程圖
在神經(jīng)網(wǎng)絡(luò)對水聲信號的訓(xùn)練過程中,要求代價函數(shù)J關(guān)于W和b的偏導(dǎo)數(shù),可以先求J關(guān)于中間變量a和z的偏導(dǎo):
再根據(jù)鏈導(dǎo)法則,可以求得J關(guān)于W和b的偏導(dǎo)數(shù),即得W 和b的梯度如式(7)和式(8)所示。
以上計算過程中,先計算?J?a,進(jìn)一步計算?J?z,最后求得 ?J?W 和 ?J?b。結(jié)合單個神經(jīng)單元的結(jié)構(gòu)圖以及鏈導(dǎo)法則,可以看出這個過程是將代價函數(shù)的增量?J自后向前傳播的過程,從而稱為反向傳播算法。
本文從時域中對聲信號的特征進(jìn)行提取,從而提取不同目標(biāo)的顯著性特征?;诰矸e神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法從水聲目標(biāo)噪聲中提取最基本的聲音結(jié)構(gòu),建立每種目標(biāo)所特有的聲音特征的對應(yīng),完成對不同水聲信號的分類識別。
海洋中的聲源很多,其中最常見的有四類:商船噪聲、漁船噪聲、艦艇噪聲、潛艇噪聲。將實測的水聲信號噪聲數(shù)據(jù)按照這四個種類進(jìn)行分類,然后根據(jù)卷積神經(jīng)網(wǎng)絡(luò)的需要創(chuàng)建訓(xùn)練集和測試集。基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法所需要的訓(xùn)練集中的元素為一個矩陣,它由對水聲信號采樣得來。訓(xùn)練集的構(gòu)成方法如下:
1)將水聲信號做分幀處理,每幀信號長度為784個采樣點(diǎn),符合短時信號處理的要求。
2)將每幀信號重新組合,使其變成28×28的矩陣形式,從而將所有的幀均變成訓(xùn)練集中的一個元素。
3)對訓(xùn)練集中的樣本做歸一化處理,統(tǒng)一樣本的統(tǒng)計分布性。神經(jīng)網(wǎng)絡(luò)是以樣本在事件中的統(tǒng)計分布概率來進(jìn)行訓(xùn)練和預(yù)測的,且Sigmoid函數(shù)的取值是0到1的,網(wǎng)絡(luò)最后一個節(jié)點(diǎn)的輸出也是如此,所以經(jīng)常要對樣本的輸出做歸一化處理。歸一化主要是為了加快網(wǎng)絡(luò)的學(xué)習(xí)速度。
4)對建立好的訓(xùn)練集中的樣本設(shè)定標(biāo)簽,每個樣本的標(biāo)簽各不相同,通常用0和1的二進(jìn)制組合來設(shè)定相應(yīng)的標(biāo)簽。將設(shè)定好的標(biāo)簽組成新的集合,與輸入數(shù)據(jù)相對應(yīng)。
5)將不同水聲信號均按上述步驟操作組成一個大的訓(xùn)練集,而且將輸入數(shù)據(jù)和標(biāo)簽做好一一對應(yīng)以后,隨機(jī)打亂輸入數(shù)據(jù)的順序,重新組合訓(xùn)練集,防止出現(xiàn)過多的相同類型的噪聲數(shù)據(jù)聚集在一起,同時訓(xùn)練神經(jīng)網(wǎng)絡(luò),造成過擬合的情況。
訓(xùn)練結(jié)束后,一個輸入可得到一個與之相對應(yīng)的假設(shè)函數(shù)hθ(x),從而就可以得到該輸入歸為某一類的概率值。
設(shè)定卷積神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率為1,訓(xùn)練集中總共四類信號,每類信號均是由不同情況下測量的100個音頻信號分別取150幀信號組成,故訓(xùn)練集總共60000幀信號,每類信號各占15000幀。將其分別按照所屬種類設(shè)定好標(biāo)簽后,隨機(jī)打亂順序。每50幀信號進(jìn)行一次循環(huán)訓(xùn)練,得到訓(xùn)練集辨識錯誤曲線如圖8所示。
圖8 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練集辨識錯誤率
另將海洋環(huán)境噪聲、商船漁船噪聲、艦艇噪聲和潛艇噪聲四類信號分別取5000幀組成卷積神經(jīng)網(wǎng)絡(luò)的測試集,然后利用訓(xùn)練完畢的網(wǎng)絡(luò)對其進(jìn)行辨識,辨識結(jié)果如表1所示。
表1 測試集辨識識別率
由表1結(jié)果可以明顯看出,基于卷積神經(jīng)網(wǎng)絡(luò)算法的深度學(xué)習(xí)方法在水聲目標(biāo)辨識中效果顯著。其中,海洋環(huán)境噪聲和商船漁船噪聲的特征與艦艇潛艇噪聲的特征差異比較明顯,而且海洋環(huán)境噪聲與商船漁船的噪聲之間也有很大的差異,故兩者的識別率相比另兩種而言較高。
為了驗證基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法對水聲目標(biāo)分類的辨識性能,將其結(jié)果與傳統(tǒng)水聲目標(biāo)分類方法做比較。
高階譜方法:利用高階譜中的雙譜對所需識別的信號進(jìn)行計算,將計算結(jié)果輸入BP網(wǎng)絡(luò)進(jìn)行分類。
MFCC即Mel頻率倒譜系數(shù),根據(jù)人對語音的感知特性,即對不同頻率的聲波有不同的聽覺靈敏度實現(xiàn)。從低頻到高頻這一頻段內(nèi),按照臨界帶寬的大小由密到疏安排一組帶通濾波器,對輸入信號進(jìn)行濾波,將每個濾波器輸出信號的能量作為信號的基本特征進(jìn)行分類識別。
UDM-NMF方法:即基于非負(fù)矩陣分解的全局基矩陣字典模型,利用非負(fù)矩陣分解方法提取水聲目標(biāo)的特征,基于全局基矩陣字典對水聲目標(biāo)進(jìn)行識別,分類結(jié)果如表2所示。
表2 高階譜方法識別率
表2中展現(xiàn)了不同方法對水聲目標(biāo)的分類結(jié)果,由表2的結(jié)果表明,基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法對水聲目標(biāo)的識別效果遠(yuǎn)好于其他傳統(tǒng)方法。
本文對基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)方法進(jìn)行了研究,著重研究了卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)特點(diǎn)。利用卷積計算方法和反向傳播算法對輸入的水聲信號進(jìn)行訓(xùn)練和計算,通過模擬人腦神經(jīng)網(wǎng)絡(luò)對物體的由局部到整體的辨識過程,對水聲信號生成的訓(xùn)練集進(jìn)行學(xué)習(xí),自主提取水聲目標(biāo)信號中的顯著性特征,從而完成對所需辨識的水聲目標(biāo)的正確分類。