楊爽, 曾向陽
(西北工業(yè)大學 航海學院,陜西 西安 710072)
水聲目標識別是水聲信號處理領(lǐng)域的重要研究方向和難題之一。由于復(fù)雜海洋環(huán)境中噪聲的影響,實驗室仿真效果很好的識別方法應(yīng)用于現(xiàn)實場景時,效果可能不如預(yù)期。因此,抑制噪聲干擾、提高識別方法的魯棒性對于識別方法的實際應(yīng)用非常關(guān)鍵。
傳統(tǒng)水聲目標被動識別系統(tǒng)中,特征提取和分類器通常是相對獨立的2個環(huán)節(jié),因而噪聲抑制或依賴于信號預(yù)處理,或在特征提取環(huán)節(jié)進行。其中,預(yù)處理方面的降噪方法已有大量的研究;在特征提取環(huán)節(jié),也有一些抗噪特征提取方法。陸晨翔等[1]提出水下目標信號的結(jié)構(gòu)化稀疏特征提取方法,可借助稀疏貝葉斯學習模型,利用相鄰幀樣本間的相關(guān)性信息增強窄帶線譜成分,在噪聲失匹配條件下,能夠保持較高的識別率。連梓旭[2]提出了基于Gammatone頻率倒譜系數(shù)的水聲目標特征提取方法以及基于Gammatone濾波器組與子帶瞬時頻率的水聲目標特征提取方法。這2種方法能夠有效地提升水聲目標識別系統(tǒng)的性能,具有較強的魯棒性。
近幾年,深度學習(deep learning,DL)理論廣受關(guān)注,也為水聲目標識別技術(shù)提供了新的思路[3]。王強等[4]研究了深度學習方法在水聲目標識別中的適用性,建立卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)和深度置信網(wǎng)絡(luò)(deep brief networks,DBN)模型。3種實測水聲目標的識別結(jié)果表明,利用深度學習模型進行水聲目標識別是一種可行的途徑。盧安安等[5]將長短時記憶(long short-term memory,LSTM)網(wǎng)絡(luò)應(yīng)用于水聲目標識別。LSTM 結(jié)構(gòu)在梅爾頻率倒譜系數(shù)(mel frequency cepstral coefficient, MFCC)特征上的識別效果要優(yōu)于常規(guī)的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks, RNN)、CNN和深度神經(jīng)網(wǎng)絡(luò)(deep neural networks, DNN),說明網(wǎng)絡(luò)利用更多的時序信息往往會取得更好的效果。但是,LSTM網(wǎng)絡(luò)的前后依賴導(dǎo)致RNN并行計算較為困難,所以其計算速度遠沒有CNN快。Tao Lei等[6]基于對LSTM模型的研究,提出了簡單循環(huán)單元(simple recurrent unit, SRU),在自然語言處理(natural language processing, NLP)任務(wù)方面證明了SRU的有效性。在分類和問題回答數(shù)據(jù)集上,SRU比cuDNN優(yōu)化的LSTM加速5~9倍。
本文將SRU方法引入水聲目標識別,利用深度學習端到端的處理能力,基于孟慶昕等[7]的研究,利用原始時域波形對目標進行分類識別,時域波形結(jié)構(gòu)特征隱含了音色信息。在此基礎(chǔ)上,提出一種多尺度稀疏SRU模型,通過與CNN模型的對比實驗,檢驗其識別性能。
RNN權(quán)重系數(shù)是共享的,即在一次算法迭代中,循環(huán)節(jié)點使用相同的權(quán)重系數(shù)處理所有的時間步[8]。對于單向RNN,循環(huán)節(jié)點中不同的時間步所學習到的特征依賴于當前時間步前的所有時間步的輸入和隱含狀態(tài),所以,每個時間步所學習到的時間長度是不同的。RNN結(jié)構(gòu)如圖1所示。
圖1 RNN結(jié)構(gòu)Fig.1 Structure of RNN
常規(guī)的RNN網(wǎng)絡(luò)是串行結(jié)構(gòu),當前層的計算必須等到上一層完全執(zhí)行完畢后才可以開始,嚴重限制了網(wǎng)絡(luò)的運算速度。為了解決這一問題,Tao Lei等[6]提出了一種具有并行計算和序列建模能力的SRU網(wǎng)絡(luò)。
單層SRU的計算為:
ft=σ(WfXt+vf?ht-1+bf)
(1)
rt=σ(WrXt+vr?ht-1+br)
(2)
(3)
(4)
SRU能夠并行運算的關(guān)鍵在于前一時刻隱含狀態(tài)ht-1的使用方式。在門控循環(huán)單元(gated recurrent unit, GRU)網(wǎng)絡(luò)中,ht-1與參數(shù)矩陣相乘來計算2個門控的隱含狀態(tài),門控狀態(tài)的每個維數(shù)都依賴于ht-1的所有項,而計算必須等到ht-1完全完成后才能進行。SRU網(wǎng)絡(luò)為了便于并行計算,式(1)和式(2)使用vf?ht-1、vr?ht-1這種點乘的方式代替矩陣相乘,通過這種簡化,隱含狀態(tài)的每個維數(shù)都變得獨立,因此SRU網(wǎng)絡(luò)中大部分計算是可并行的。這種并行結(jié)構(gòu)提高了SRU計算速度。
受到特征融合在豐富分類特征信息方面的優(yōu)勢啟發(fā),提出了基于多尺度稀疏SRU的融合深度神經(jīng)網(wǎng)絡(luò)用于水聲目標輻射噪聲分類識別。深度網(wǎng)絡(luò)通過多層隱層學習輸入數(shù)據(jù)的特征表達,不同隱層學習到的特征是不同的,這些特征可以被認為是輸入數(shù)據(jù)不同的特征表達形式。網(wǎng)絡(luò)底層獲取低層次特征,頂層學習高層次特征。越低層次的特征越能反映數(shù)據(jù)的局部特性,高層次的特征則具有抽象性和不變性。受到CNN模型Inception[10]架構(gòu)的啟發(fā),網(wǎng)絡(luò)不是單純地通過增加模型的深度和寬度提高網(wǎng)絡(luò)的表達能力,而是可以通過一種非均勻的稀疏結(jié)構(gòu)來實現(xiàn)多尺度的特征表達。
這種多尺度的特征表達也可以應(yīng)用于RNN網(wǎng)絡(luò)中。SRU作為一種可并行的RNN,同時具備了時間序列建模能力和計算成本低的優(yōu)點。本文將多尺度的特征表達應(yīng)用在SRU中,提出了一種多尺度稀疏SRU模型,利用不同層SRU學習到的不同特征表達,對輸入數(shù)據(jù)多尺度的特征進行融合,將融合后的特征組合作為分類器(模型頂層)的特征輸入,完成多類目標的分類識別任務(wù)。
多尺度稀疏SRU模型框架結(jié)構(gòu)如圖2所示。圖2(a)是模型的總體架構(gòu),由輸入層、4個SRU塊、多特征層(特征融合層)和1個全連接層構(gòu)成。圖2(b)是SRU塊結(jié)構(gòu),每個SRU塊都由一個n(n=1,2,3,4) 層堆疊的SRU網(wǎng)絡(luò)和一個層標準化(layer normalization, LN)構(gòu)成。LN多用于RNN網(wǎng)絡(luò)中,在通道方向上對目標輸入進行歸一化操作,保證數(shù)據(jù)在通道方向上分布一致。同時,每個SRU塊在模型輸入和多特征層間添加跳躍連接,構(gòu)成了網(wǎng)絡(luò)的局部構(gòu)造。跳躍連接多應(yīng)用于較深的網(wǎng)絡(luò)結(jié)構(gòu)中,比深度模型直接學習輸入和輸出之間的映射更容易收斂,同時解決了SRU在訓(xùn)練過程中的梯度消散問題。4個SRU塊中的SRU分別為1層、2層、3層和4層;隱含節(jié)點數(shù)分別為16、32、64和256。每個SRU塊內(nèi)部結(jié)構(gòu)都是全連接的、非稀疏的,4個SRU塊之間則是稀疏連接的。可以將4個SRU塊理解為稀疏連接的濾波器組,將4個濾波器組連接成一個單一的輸出向量,形成下一階段的輸入,即將4個SRU塊的輸出合并構(gòu)成多特征層,多特征層包含不同層SRU學習到的特征表達。批量標準化(batch normalization, BN) 操作應(yīng)用于多特征層之后,通過對數(shù)據(jù)批次歸一化,加快網(wǎng)絡(luò)收斂速度,同時防止網(wǎng)絡(luò)的梯度消失和梯度爆炸。模型頂層連接一層全連接層。全連接層作為判別層輸出各類水聲目標樣本的實際輸出(概率)。
實驗基于實際海域測試得到的3類水聲目標(艦船、商船及某水下目標)數(shù)據(jù),采樣頻率均為8 kHz。每類水聲目標數(shù)據(jù)包含 15 個片段,每個片段的聲音長度截取5 s。首先對水聲目標數(shù)據(jù)進行預(yù)處理。對每段目標數(shù)據(jù)分幀,每幀長為100 ms,幀移為0,即每0.1 s的目標數(shù)據(jù)為一個樣本,總計3類目標共2 250個樣本。目標數(shù)據(jù)被嚴格地被劃分為訓(xùn)練集、驗證集和測試集。使用總樣本的3/5作為訓(xùn)練,1/5作為驗證,1/5作為測試。表1中總結(jié)了3類水聲目標樣本的統(tǒng)計數(shù)量。將3類目標的訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)進行標準化處理(零均值化同時方差歸一化),消除聲源距離遠近對目標樣本的影響,提取它們的時域波形作為網(wǎng)絡(luò)模型的輸入,構(gòu)建時間序列網(wǎng)絡(luò)模型。測試時,為了構(gòu)建噪聲失匹配條件,分別給3類目標測試數(shù)據(jù)加帶限白噪聲,生成SNR分別為-20、-15、-10、-5、0、5、10、15和 20 dB的測試數(shù)據(jù),再對測試數(shù)據(jù)進行標準化處理。
圖2 多尺度稀疏SRU模型Fig.2 Multi-scale sparse SRU model
表1 3類水聲目標樣本數(shù)量Table 1 Number of samples of three types of underwater acoustic targets
本文使用3種模型與提出的網(wǎng)絡(luò)模型進行對比:1)多尺度稀疏SRU模型(未加跳躍連接);2)多層SRU模型;3)多層CNN模型。其中模型2)和模型3)的架構(gòu)和參數(shù)設(shè)置在下面分別進行介紹。
3.2.1 多層SRU模型
圖3是多層SRU模型架構(gòu),由輸入層、4層堆疊SRU和2個全連接層構(gòu)成。模型中,4層堆疊SRU的隱藏節(jié)點數(shù)設(shè)為256,每層SRU后都添加了隨機失活(dropout)層防止網(wǎng)絡(luò)過擬合,網(wǎng)絡(luò)單元的隨機失活概率為0.1。第1個全連接層使用ReLU作為激活函數(shù),激活前使用BN操作對輸入數(shù)據(jù)進行批量歸一化。第2個全連接層作為判別層輸出各類水聲目標樣本的實際輸出(概率)。
圖3 多層SRU模型Fig.3 Multi-layer SRU model
3.2.2 多層CNN模型
圖4是多層CNN模型架構(gòu),由輸入層、3個一維卷積層、3個一維池化層和2個全連接層構(gòu)成。模型中,每層卷積層進行ReLU激活,激活前都執(zhí)行BN操作,后加一維池化層來降低數(shù)據(jù)的空間尺寸。3個一維卷積層中卷積核的大小為3,數(shù)量分別為32、64和128,一維池化層中卷和核的大小為3。第1個全連接層使用ReLU作為激活函數(shù),激活前使用BN操作對輸入數(shù)據(jù)進行批量歸一化,激活后添加隨機失活層防止網(wǎng)絡(luò)過擬合,網(wǎng)絡(luò)單元的隨機失活概率為0.5。第2個全連接層作為判別層輸出各類水聲目標樣本的實際輸出(概率)。
完成模型構(gòu)建后,需要對模型進行訓(xùn)練(訓(xùn)練過程包括驗證)和測試。其中,訓(xùn)練過程的評價指標是損失(loss)和正確識別率(accuracy),測試過程的指標是F1值。
網(wǎng)絡(luò)模型中損失函數(shù)用來衡量網(wǎng)絡(luò)模型的實際輸出(概率)和期望輸出(概率)之間的差異(誤差)。網(wǎng)絡(luò)模型在訓(xùn)練過程中,首先進行前向傳播計算實際輸出(概率),再通過反向梯度傳播算法更新網(wǎng)絡(luò)參數(shù),降低損失函數(shù)的損失值來不斷減小誤差,使模型的實際輸出(概率)越來越接近期望輸出(概率)。因此網(wǎng)絡(luò)訓(xùn)練過程中計算獲得的損失值越小,網(wǎng)絡(luò)模型的識別性能越好。4種網(wǎng)絡(luò)模型的訓(xùn)練均采用稀疏分類交叉熵損失函數(shù)來計算損失,采用自適應(yīng)力矩估計(adaptive moment estimation, Adam)算法優(yōu)化梯度,學習率為0.001。正確識別率是正確分類的水聲目標占所有水聲目標的百分比。
圖4 多層CNN模型Fig.4 Multi-layer CNN model
對訓(xùn)練好的網(wǎng)絡(luò)模型進行測試時,使用F1值對網(wǎng)絡(luò)模型進行誤差度量。F1值的定義為:
(5)
其中:
式中:TP為預(yù)測是目標i(i=1,2,3)實際也是目標i的個數(shù);FN為預(yù)測不是目標i實際是目標i的個數(shù);FP為預(yù)測是目標i實際不是目標i的個數(shù);TN為預(yù)測不是目標i實際也不是目標i的個數(shù)。P為查準率(所有預(yù)測是目標i的目標中,實際是目標i的比例),R為召回率(所有實際為目標i的目標中,成功預(yù)測為目標i的比例)。F1值可以看作是P和R的加權(quán)平均值。本文使用F1值評價不同算法的優(yōu)劣。F1值越高,算法性能越好。
3.4.1 網(wǎng)絡(luò)模型的訓(xùn)練
4種模型的輸入都是不添加額外噪聲的水聲目標時域波形。模型的訓(xùn)練和驗證都在GPU上進行,使用cuDNN來加快模型的訓(xùn)練速度。圖5~8分別是4種模型損失和正確識別率隨訓(xùn)練次數(shù)的變化曲線。表2是4種模型的驗證結(jié)果和每次訓(xùn)練的花費時間。
圖5 多尺度稀疏SRU模型損失和正確識別率隨訓(xùn)練次數(shù)的變化曲線Fig.5 Losses and accuracy of the multi-scale sparse SRU model on classification
圖6 多尺度稀疏SRU模型(未加跳躍連接)損失和正確識別率隨訓(xùn)練次數(shù)的變化曲線Fig.6 Losses and accuracy of the multi-scale sparse SRU model without skip connections on classification
圖7 多層SRU模型損失和正確識別率隨訓(xùn)練次數(shù)的變化曲線Fig.7 Losses and accuracy of the multi-layer SRU model on classification
圖8 多層CNN模型損失和正確識別率隨訓(xùn)練次數(shù)的變化曲線Fig.8 Losses and accuracy of the multi-layer CNN model on classification
從圖5~8的(a)可以看出,隨著訓(xùn)練次數(shù)的增加,模型損失均收斂。其中多層CNN模型的訓(xùn)練損失波動較大,可能會影響網(wǎng)絡(luò)的穩(wěn)健性。從圖5~8的(b)中可以看出,隨著訓(xùn)練次數(shù)的增加,訓(xùn)練集和驗證集的正確識別率都趨于穩(wěn)定。其中,多尺度稀疏SRU模型訓(xùn)練到第6次時模型參數(shù)已達到最優(yōu),獲得了驗證集最優(yōu)正確識別率。與之相比,未加跳躍連接的多尺度稀疏SRU模型訓(xùn)練到第22次時獲得了驗證集最優(yōu)正確識別率,因此添加跳躍連接使得模型收斂加快,減少模型訓(xùn)練時間。
綜合表2的內(nèi)容可以看出,多尺度稀疏SRU模型(未加跳躍連接)的正確識別率和損失是最優(yōu)的。多層SRU模型通過簡單的堆疊SRU,很難獲得與多層CNN相媲美的正確識別率。除此之外,3種SRU模型每次訓(xùn)練花費的時間都多于多層CNN模型。即SRU雖然弱化了RNN網(wǎng)絡(luò)中的前后依賴結(jié)構(gòu),但是算法中仍然存在反饋,使得訓(xùn)練不能完全并行,導(dǎo)致訓(xùn)練時間較多層CNN模型長。
表2 4種模型的驗證結(jié)果和每次訓(xùn)練花費時間Table 2 Validation results of the four models and the processing time per epoch
3.4.2 噪聲失匹配條件下網(wǎng)絡(luò)模型的測試分析
為了測試網(wǎng)絡(luò)模型在噪聲失匹配條件下的識別性能,將訓(xùn)練好的4種網(wǎng)絡(luò)模型應(yīng)用于噪聲失匹配條件下的水聲目標分類識別任務(wù),對模型進行進一步分析。3.1節(jié)中為了構(gòu)建噪聲失匹配條件,分別給3類水聲目標測試集數(shù)據(jù)加帶限白噪聲,生成SNR分別為-20、-15、-10、-5、0、5、10、15和 20 dB的水聲目標數(shù)據(jù)?,F(xiàn)將不同SNR條件下測試集數(shù)據(jù)的時域波形作為網(wǎng)絡(luò)模型的輸入,對4種網(wǎng)絡(luò)模型的分類識別性能進行測試。
圖9為不同SNR下,4種模型的F1值變化曲線,“未加噪聲”標注表示測試樣本不添加額外的帶限白噪聲,和訓(xùn)練樣本保持同一噪聲環(huán)境的情況。可以看出,3種SRU模型的F1值在SNR小于5 dB時均高于多層CNN模型。提出的多尺度稀疏SRU模型的F1值在SNR小于15 dB 條件下高于多層CNN模型,在SNR為20 dB和“未加噪聲”條件下與多層CNN模型相同。同時可以看出,跳躍連接對噪聲失匹配條件下多尺度稀疏SRU模型F1值的影響甚微。
圖9 4種模型的F1值Fig.9 F1 scores of the four models
水聲目標的時域波形本質(zhì)上是時間序列信號,包含了幅度和相位信息,信息保留完整,其生成和感知都是一個動態(tài)的層次。時間序列信號具有時間上的相關(guān)性,即相鄰幀信號甚至長距離幀之間特征相關(guān)。對于SRU,網(wǎng)絡(luò)提取的時間特征和由時間延遲產(chǎn)生的歷史隱層狀態(tài)共同輸入給隱層產(chǎn)生當前狀態(tài)和輸出。因此網(wǎng)絡(luò)最后時刻的輸出和所有時刻的輸入是相關(guān)的,是所有時刻輸入的相關(guān)函數(shù)[11]。4種網(wǎng)絡(luò)模型的測試結(jié)果表明,SRU能夠利用水聲時域波形時間上的相關(guān)性,生成具有噪聲魯棒的內(nèi)部特征表示,從而使得SRU能夠適應(yīng)復(fù)雜的噪聲環(huán)境,抑制噪聲失配帶來的影響。提出的多尺度稀疏SRU模型對不同層的SRU進行并聯(lián),獲得了多尺度的特征信息,使得網(wǎng)絡(luò)模型在獲得更高F1值的同時能夠抑制噪聲的干擾。
1)本文提出的多尺度稀疏SRU模型對不同層數(shù)堆疊的SRU塊并聯(lián),獲得多尺度的特征信息,使得網(wǎng)絡(luò)模型獲得了較高正確識別率;同時提出模型的F1值在低SNR下高于多層CNN模型,說明提出的模型能夠抑制噪聲失匹配帶來的影響。
2)通過4種網(wǎng)絡(luò)模型的對比實驗發(fā)現(xiàn),3種SRU模型的F1值在SNR小于5 dB時均高于多層CNN模型。說明SRU這種循環(huán)神經(jīng)網(wǎng)絡(luò)在低SNR條件下有能力生成具有噪聲魯棒的內(nèi)部特征表示。
3)3種SRU模型每次訓(xùn)練花費的時間都多于多層CNN模型,所以在面向?qū)嶋H應(yīng)用時需要考慮如何縮減訓(xùn)練時間。提出的多尺度稀疏SRU模型在輸入層和多特征層(特征融合層)之間添加跳躍連接,加快了模型收斂,減小了訓(xùn)練時間。
循環(huán)神經(jīng)網(wǎng)絡(luò)由于具有內(nèi)部反饋機制,擅長處理序列信號。水聲目標時域信號是一個典型的包含幅值和相位信息的序列信號,其波形結(jié)構(gòu)特征隱含了音色信息,所以本文從最原始的時域波形入手,研究提出的具有內(nèi)部反饋機制的網(wǎng)絡(luò)模型對序列數(shù)據(jù)在噪聲失匹配條件下的適應(yīng)性問題。在后續(xù)的研究中,將提取時域波形結(jié)構(gòu)特征,與提出的模型聯(lián)合,進一步研究分類識別系統(tǒng)的性能。