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