程錦盛,杜選民,周勝增,曾 賽
(上海船舶電子設(shè)備研究所,上海 201108)
由于水聲環(huán)境的復(fù)雜性及水聲對抗技術(shù)的不斷發(fā)展,傳統(tǒng)被動聲吶目標(biāo)識別中,基于經(jīng)驗(yàn)及數(shù)學(xué)推理的模糊專家系統(tǒng)的局限性日益明顯。而人耳聽覺系統(tǒng)在多目標(biāo)、低信噪比下的優(yōu)異性能,成為新的研究熱點(diǎn)。王磊等[1]提出基于聽覺外周模型的水聲目標(biāo)識別方法。李秀坤等[2]利用Gammatone濾波器構(gòu)建人耳聽覺模型,進(jìn)行水下目標(biāo)識別。
隨著計算機(jī)硬件技術(shù)、信號處理技術(shù)的進(jìn)一步發(fā)展,以機(jī)器學(xué)習(xí)(Machine Learning,ML)、深度學(xué)習(xí)(Deep Learning,DL)技術(shù)為代表的人工智能(Artificial Intelligence,AI)技術(shù),已經(jīng)在手寫字符識別、語音識別、圖像理解、機(jī)器翻譯等各個方面取得了一定成就,也為水聲目標(biāo)識別提供了新的思路。常國勇等[3]提出了從能量角度出發(fā),采用小波變換、經(jīng)驗(yàn)?zāi)B(tài)分解處理,以BP神經(jīng)網(wǎng)絡(luò)進(jìn)行水聲目標(biāo)識別的方法。吳姚振等[4]提出了提取目標(biāo)聽覺特征,經(jīng)BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)進(jìn)行分類的水聲目標(biāo)識別方法。曾向陽等[5]提出了智能水聲目標(biāo)識別系統(tǒng)的理論和設(shè)計實(shí)例。
本文根據(jù)水聲目標(biāo)信號特點(diǎn),提取目標(biāo)經(jīng)典聽覺感知特征——梅爾倒譜(Mel Frequency Cepstrum Coefficient,MFCC)特征,并引入機(jī)器學(xué)習(xí)中的幾種典型方法——K近鄰算法(K-nearest Neighbor,KNN)、支持向量機(jī)(Support Vector Machine,SVM)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN),對兩類水聲目標(biāo)進(jìn)行監(jiān)督學(xué)習(xí)識別研究。根據(jù)樣本特性及算法特點(diǎn),建立目標(biāo)樣本集及網(wǎng)絡(luò)模型;調(diào)整網(wǎng)絡(luò)模型參數(shù),分別進(jìn)行預(yù)訓(xùn)練,并進(jìn)行泛化性能測試,以獲得網(wǎng)絡(luò)參數(shù)最優(yōu)設(shè)置方案;建立海試數(shù)據(jù)測試樣本集,對預(yù)訓(xùn)練網(wǎng)絡(luò)模型的識別性能進(jìn)行統(tǒng)計分析。并給出了相應(yīng)的樣本集建立、網(wǎng)絡(luò)模型設(shè)計和參數(shù)設(shè)置方案。
目標(biāo)識別能力是聲吶性能的重要部分,目標(biāo)特征的提取和選擇是提高目標(biāo)識別率的關(guān)鍵。當(dāng)前被動聲吶目標(biāo)識別主要依靠聲吶員聽覺感知,結(jié)合目標(biāo)時域、頻域、時頻域特征來完成。因此,對人類視覺、聽覺等生理感知特征的研究具有重要的現(xiàn)實(shí)意義。
在被動聲吶發(fā)現(xiàn)水下快速目標(biāo)并進(jìn)行初步判斷后,經(jīng)過大致距離估算,啟用主動聲吶對目標(biāo)進(jìn)行精確定位。本文對被動聲吶目標(biāo)輻射噪聲提取MFCC特征進(jìn)行識別研究。
MFCC特征是一種經(jīng)典的人耳聽覺感知特征。根據(jù)聽覺機(jī)理的相關(guān)研究發(fā)現(xiàn),人耳對不同頻率聲波的靈敏度不同。Mel頻率尺度反映了人耳頻率感知的非線性特征,更符合人耳聽覺特性,而MFCC是在Mel頻率域提取的倒譜參數(shù)。
Mel頻率與實(shí)際頻率的具體關(guān)系可表示為:
式中,f為實(shí)際頻率,臨界頻率帶寬隨頻率的變化而變化,并與Mel頻率的增長一致,在1 000 Hz以下大致呈線性分布,帶寬為 100 Hz 左右,在 1 000 Hz 以上呈對數(shù)增長,這就使得人耳對低頻信號比高頻信號更敏感。Mel頻率的提出是為了方便人耳對不同頻率聲學(xué)信號的感知特性的研究。
按式(1)變換到Mel域后,Mel帶通濾波器組的中心頻率按照Mel頻率刻度均勻劃分。用Mel濾波器組對語音頻譜進(jìn)行濾波和加權(quán)使語音信號更加逼近人類的聽覺特性。
MFCC的計算過程如下:
將端點(diǎn)檢測后的目標(biāo)噪聲信號經(jīng)過預(yù)加重、分幀、加窗處理,再將時域分幀信號經(jīng)過N點(diǎn)的離散傅里葉變換后得到線性頻譜,轉(zhuǎn)換公式為:
將上述對數(shù)頻譜經(jīng)過離散余弦變換(DCT)得到Mel頻率倒譜系數(shù)(即MFCC系數(shù))
監(jiān)督學(xué)習(xí)(Supervised Learning)是指:給定一組輸入x和輸出y的訓(xùn)練集,學(xué)習(xí)如何關(guān)聯(lián)輸入和輸出的過程。即利用一組已知類別的樣本,通過調(diào)整分類器的參數(shù),使其達(dá)到所要求性能的過程。
本文選取機(jī)器學(xué)習(xí)中經(jīng)典的KNN、SVM、CNN和DBN識別模型,對兩類被動聲吶目標(biāo)MFCC特征進(jìn)行監(jiān)督學(xué)習(xí)和識別分析。
KNN學(xué)習(xí)模型工作機(jī)制為:給定測試樣本,基于某種距離度量找出訓(xùn)練集中與其最靠近的k個訓(xùn)練樣本,然后基于這k個近鄰樣本的信息來進(jìn)行預(yù)測[6 – 7]。
KNN通過測量不同特征值之間的距離進(jìn)行分類。其思路為:如果一個樣本在特征空間中的k個特征空間中最鄰近的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。
具體流程為:
1)計算已知類別數(shù)據(jù)集合匯總的點(diǎn)與當(dāng)前點(diǎn)的距離;
2)按照距離遞增次序排序,選取與當(dāng)前點(diǎn)距離最近的k個點(diǎn);
3)確定距離最近的前k個點(diǎn)所在類別的出現(xiàn)頻率;
4)返回距離最近的前k個點(diǎn)中頻率最高的類別作為當(dāng)前點(diǎn)的預(yù)測分類。
KNN算法的結(jié)果很大程度上取決于近鄰數(shù)k的選擇,此處距離一般使用歐氏距離或曼哈頓距離:
KNN算法的優(yōu)勢在于:依據(jù)k個對象中占優(yōu)的類別進(jìn)行決策,而非單一的對象類別決策;且通過計算對象間距離作為各個對象之間的非相似性指標(biāo),避免了對象之間的匹配問題。
SVM由Vapnik等于1995年提出,是一種基于統(tǒng)計學(xué)習(xí)理論的模式識別方法。SVM基于結(jié)構(gòu)風(fēng)險最小化準(zhǔn)則,能夠在訓(xùn)練誤差和分類器容量之間達(dá)到較好的平衡,在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多獨(dú)特優(yōu)勢[8]。
分類問題最基本的思路,就是基于訓(xùn)練集在樣本空間找到一個劃分超平面,將不同類別的樣本分開。樣本空間中,劃分超平面可通過式(5)描述:
其中ω為超平面法向量,b為偏置項,滿足關(guān)系:
距離超平面最近的幾個訓(xùn)練樣本點(diǎn)使式(6)等號成立,被稱為“支持向量”,2個異類支持向量到超平面的距離之和被稱為間隔:
求解分類最優(yōu)超平面的過程即尋找最大間隔的過程,而最大化間隔,僅需最大化,等價于最小化,則尋找最優(yōu)超平面的問題可寫為:
對非線性可分問題,則將樣本從原始空間映射到高維特征空間,將非線性可分為題轉(zhuǎn)化為線性可分為題。常用的核函數(shù)有:線性核函數(shù)、高斯核函數(shù)、Sigmoid 核函數(shù)等[6,9]。
CNN最初是針對二維形狀的識別而設(shè)計的一種多層傳感器,在平移情況下具有高度不變性,在縮放和傾斜的情況下也具有一定的不變性。LeCun等提出了權(quán)值共享技術(shù),又將卷積層和降采樣層結(jié)合構(gòu)成卷積神經(jīng)網(wǎng)絡(luò)的主要結(jié)構(gòu),形成了現(xiàn)代卷積神經(jīng)網(wǎng)絡(luò)的雛形LeNet結(jié)構(gòu),這是第一個真正的多層結(jié)構(gòu)學(xué)習(xí)網(wǎng)絡(luò),利用空間相對關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能[10, 11]。本文主要選用LeNet結(jié)構(gòu)進(jìn)行改進(jìn)和識別研究。
CNN是一種特殊的前饋神經(jīng)網(wǎng)絡(luò)模型,其最顯著的特點(diǎn)在于其局部感受野的概念和層層迭代的結(jié)構(gòu)[12]。CNN一般由輸入層、卷積層、下采樣層、全連接層及輸出層組成。
以圖2中用于手寫字符識別的LeNet網(wǎng)絡(luò)為例:先將樣本圖像進(jìn)行規(guī)整后輸入網(wǎng)絡(luò);經(jīng)過卷積層C1、C3將樣本圖像與卷積核進(jìn)行卷積操作,得到若干特征圖;在降采樣層C2,C4進(jìn)行模糊和泛化;最后通過全連接層,生成和輸出識別結(jié)果。
其中,樣本與卷積核進(jìn)行卷積后,經(jīng)激活函數(shù)映射,可得到輸出特征:
由卷積層和下采樣層的組合迭代,可不斷將目標(biāo)低維特征提取出來,并組合成為抽象的高維特征,某種程度上實(shí)現(xiàn)了網(wǎng)絡(luò)的“抽象思維”,而且在多維特征的學(xué)習(xí)中可以有效關(guān)注維度之間的關(guān)聯(lián)性。同時,引入BP算法,使CNN網(wǎng)絡(luò)訓(xùn)練更高效,應(yīng)用更廣泛。
在網(wǎng)絡(luò)訓(xùn)練過程中,將訓(xùn)練樣本集分為相同大小批次(batch)進(jìn)行訓(xùn)練,對誤差函數(shù)采用梯度下降算法進(jìn)行迭代訓(xùn)練直至收斂。學(xué)習(xí)率決定梯度下降速度,若太小,會導(dǎo)致誤差函數(shù)收斂過慢,若太大,則參數(shù)更新幅度過大,導(dǎo)致網(wǎng)絡(luò)收斂到局部最優(yōu)點(diǎn),或誤差函數(shù)發(fā)生異常上升。試驗(yàn)中設(shè)定學(xué)習(xí)率,以獲得穩(wěn)定的梯度下降。
DBN由Hinton等于2006年提出,是一種無監(jiān)督貪婪逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題提供了新的途徑。DBN以受限波茲曼機(jī)(RBM:Restricted Boltzmann Machine)為基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu),可以進(jìn)行逐層堆疊。這種結(jié)構(gòu)對于形成逐層抽象網(wǎng)絡(luò)結(jié)構(gòu)比其他網(wǎng)絡(luò)模型更容易實(shí)現(xiàn)[14]。
RBM是一種特殊的馬爾可夫隨機(jī)場(MRF:Markov Random Field,MRF),一個RBM包含一個由隨機(jī)單元構(gòu)成的隱層(一般為伯努利分布)和一個由隨機(jī)的可見預(yù)測單元構(gòu)成的可見層(一般為伯努利或者高斯分布)[15]。RBM網(wǎng)絡(luò)的特點(diǎn)是:在給定可視層單元狀態(tài)時,各隱層單元的激活條件獨(dú)立;給定隱層單元狀態(tài)時,可見層單元的激活條件也獨(dú)立。且只要隱層單元的數(shù)目足夠,RBM可以擬合任意離散分布[16 – 18]。
其中E為RBM能量函數(shù):
其中Z為歸一化函數(shù):
DBN由多個RBM堆疊,進(jìn)行無監(jiān)督預(yù)訓(xùn)練獲得權(quán)值,再對生成模型進(jìn)行調(diào)優(yōu)。DBN訓(xùn)練過程中,首先充分訓(xùn)練第1個RBM;固定第1個RBM的權(quán)重和偏移量,然后使用其隱性神經(jīng)元的狀態(tài),作為第2個RBM的輸入向量;充分訓(xùn)練第2個RBM后,將第2個RBM堆疊在第1個RBM的上方;重復(fù)上述步驟多次直至所有RBM訓(xùn)練結(jié)束。DBN調(diào)優(yōu)過程中,除了頂層RBM,其他層RBM的權(quán)重被分成向上的認(rèn)知權(quán)重和向下的生成權(quán)重;之后經(jīng)Contrastive Wake-Sleep算法調(diào)整和更新網(wǎng)絡(luò)參數(shù)。
DBN網(wǎng)絡(luò)可以用來對數(shù)據(jù)的概率分布建模,也可以用來對數(shù)據(jù)進(jìn)行分類。試驗(yàn)中,為每種目標(biāo)樣本分別建立了DBN模型進(jìn)行識別研究,DBN模型經(jīng)RBM逐層預(yù)訓(xùn)練之后,再進(jìn)行參數(shù)調(diào)優(yōu)。
試驗(yàn)中對A、B兩類水聲目標(biāo)海試數(shù)據(jù)進(jìn)行分析和識別研究。先選取海試數(shù)據(jù)建立樣本集,對網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練及泛化性測試,以獲得最優(yōu)網(wǎng)絡(luò)參數(shù)設(shè)置方案及預(yù)訓(xùn)練網(wǎng)絡(luò);再另選海試數(shù)據(jù)建立樣本集,以預(yù)訓(xùn)練網(wǎng)絡(luò)對新樣本集進(jìn)行識別研究。
監(jiān)督學(xué)習(xí)模型的識別泛化性能可通過試驗(yàn)測試進(jìn)行評估,常采用一個“測試集”來測試模型的識別性能,并以測試集“測試誤差”作為模型泛化誤差的近似[6]。測試集樣本也從樣本真實(shí)分布中獨(dú)立同分布采樣而得,且與訓(xùn)練集互斥,即測試樣本盡量不在訓(xùn)練集中出現(xiàn)、未在模型訓(xùn)練過程中使用過。
試驗(yàn)中,采用“留出法”,將樣本集劃分為2個互斥的集合,其中A、B類目標(biāo)各隨機(jī)抽取80%作為訓(xùn)練集,其余20%作為測試集。
其中,識別率采用預(yù)訓(xùn)練網(wǎng)絡(luò)對樣本集的識別正確數(shù),除以樣本總數(shù)得到,所有試驗(yàn)方案重復(fù)3次,結(jié)果取均值。
試驗(yàn)中根據(jù)樣本集參數(shù)設(shè)置,分別對信號分幀后各自提取特征建立樣本集。試驗(yàn)中信號分幀長度80 ms,幀移50%。
首先,對歷次海試數(shù)據(jù)按信噪比進(jìn)行排序,其中A類目標(biāo)6次海試數(shù)據(jù)按信噪比由高到低編為A1–A6,B類目標(biāo)4次海試數(shù)據(jù)按信噪比由高到低編為B1–B4,每段數(shù)據(jù)長約 200 s。
選取A類目標(biāo)數(shù)據(jù)A1、A3、A5,B類目標(biāo)數(shù)據(jù)B1、B3,分別提取MFCC樣本構(gòu)建網(wǎng)絡(luò)預(yù)訓(xùn)練及泛化性測試樣本集;另取A類目標(biāo)數(shù)據(jù)A2、A4、A6,B類目標(biāo)數(shù)據(jù)B2、B4,分別提取MFCC樣本建立目標(biāo)識別樣本集,通過預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行識別分析。
其次,針對不同監(jiān)督學(xué)習(xí)模型對樣本的要求,對網(wǎng)絡(luò)預(yù)訓(xùn)練及泛化性測試樣本集、目標(biāo)識別樣本集分別進(jìn)行處理。
對KNN、SVM模型,以每幀數(shù)據(jù)提取的MFCC參數(shù)作為一個樣本,對樣本每一參數(shù)進(jìn)行標(biāo)記,生成table格式樣本;對CNN模型,將10幀數(shù)據(jù)提取的一維MFCC特征組合生成二維矩陣作為一個樣本,樣本重疊率80%;對DBN模型,每幀數(shù)據(jù)提取的MFCC特征作為一個樣本,所有樣本分別歸一化至[0,1]。
表 1 為各監(jiān)督學(xué)習(xí)模型建立的樣本集大小Tab. 1 Databases for various unsupervised learning models
試驗(yàn)中,結(jié)合Matlab平臺Classification Learner APP、DeepLearnToolbox,對各樣本集分別建立識別網(wǎng)絡(luò)進(jìn)行相關(guān)研究。
首先對KNN、SVM、CNN、DBN模型,分別設(shè)定不同網(wǎng)絡(luò)參數(shù),以預(yù)訓(xùn)練樣本集進(jìn)行訓(xùn)練,直至網(wǎng)絡(luò)誤差函數(shù)收斂;再以泛化性測試集對預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行泛化性測試,對比各參數(shù)設(shè)置方案下的網(wǎng)絡(luò)泛化性能,獲得最優(yōu)參數(shù)設(shè)置方案,保存預(yù)訓(xùn)練網(wǎng)絡(luò)進(jìn)行新樣本集識別研究。
對KNN模型,根據(jù)目標(biāo)信號特點(diǎn),分別以近鄰數(shù)為1、10、100,距離選擇歐氏距離、平方反比加權(quán)歐氏距離進(jìn)行預(yù)訓(xùn)練。
對SVM模型,根據(jù)目標(biāo)信號特點(diǎn),調(diào)整核函數(shù)為線性核函數(shù)、二次多項式核函數(shù)、三次多項式核函數(shù)、高斯核函數(shù)進(jìn)行預(yù)訓(xùn)練。
對CNN模型,根據(jù)目標(biāo)信號特點(diǎn),在LeNet5結(jié)構(gòu)的基礎(chǔ)上進(jìn)行相關(guān)改進(jìn),調(diào)整參數(shù)預(yù)訓(xùn)練多個CNN網(wǎng)絡(luò)進(jìn)行識別。設(shè)定學(xué)習(xí)率,以獲得穩(wěn)定的梯度下降。調(diào)整卷積核大小3×3、5×5,分批訓(xùn)練規(guī)模為50個樣本、100個樣本,隱含層為2層、4層,組合為多種參數(shù)設(shè)置方案進(jìn)行預(yù)訓(xùn)練,直至網(wǎng)絡(luò)對訓(xùn)練集識別均方誤差收斂;
部分網(wǎng)絡(luò)模型預(yù)訓(xùn)練結(jié)果如圖4和圖5所示。
各參數(shù)設(shè)置方案對應(yīng)的網(wǎng)絡(luò)預(yù)訓(xùn)練完畢后,對泛化性測試集進(jìn)行識別,統(tǒng)計識別誤差以表征預(yù)訓(xùn)練網(wǎng)絡(luò)泛化性能。得到預(yù)訓(xùn)練網(wǎng)絡(luò)泛化性能最優(yōu)的參數(shù)設(shè)置方案為:KNN模型參數(shù)選擇歐氏距離,10個近鄰樣本;SVM模型參數(shù)選擇高斯核函數(shù);CNN模型參數(shù)選擇學(xué)習(xí)率,分批訓(xùn)練規(guī)模為100個樣本,核函數(shù)大小為3×3,網(wǎng)絡(luò)隱含層為4層;DBN模型參數(shù)選擇學(xué)習(xí)率,動量momentum=0.5,3個RBM,RBM包含隱藏單元200個,分批訓(xùn)練規(guī)模為50個樣本。
以預(yù)訓(xùn)練網(wǎng)絡(luò)對目標(biāo)識別樣本集進(jìn)行識別分析,所有試驗(yàn)重復(fù)3次結(jié)果取均值。分別計算預(yù)訓(xùn)練網(wǎng)絡(luò)對兩類目標(biāo)的識別性能,識別結(jié)果如表2所示。
表 2 各預(yù)訓(xùn)練網(wǎng)絡(luò)目標(biāo)識別性能(%)Tab. 2 Recognition accuracy of various pre-trained networks (%)
試驗(yàn)結(jié)果表明,4種模型對A類目標(biāo)識別率達(dá)到100%,KNN模型對B類目標(biāo)的識別率較低,SVM、CNN、DBN模型對B類目標(biāo)的識別結(jié)果相近,其中DBN模型對B類目標(biāo)識別性能最佳。
本文從被動聲吶目標(biāo)識別出發(fā),用4種監(jiān)督學(xué)習(xí)模型對A、B兩類水聲目標(biāo),不同次海試、不同信噪比數(shù)據(jù)中提取的MFCC特征樣本進(jìn)行了識別研究。分析海試數(shù)據(jù)處理及多種模型識別結(jié)果可得到以下結(jié)論:
提取目標(biāo)MFCC特征并以監(jiān)督學(xué)習(xí)模型進(jìn)行識別的方法,用于被動聲吶目標(biāo)識別具有可行性,其運(yùn)算速度快、識別率較高的特點(diǎn)對于提高被動聲吶目標(biāo)識別性能有一定優(yōu)勢;水聲環(huán)境復(fù)雜多變,試驗(yàn)中僅對有限數(shù)據(jù)按照信噪比粗略排序后進(jìn)行識別分析,信噪比條件對各識別模型性能的影響有待進(jìn)一步量化和分析研究;由于樣本集規(guī)模及特征維數(shù)較小,CNN、DBN兩種深度學(xué)習(xí)模型在大數(shù)據(jù)、高階特征挖掘中的優(yōu)勢未得到充分體現(xiàn)。