王紅濱, 張帥, 何鳴, 陳夏可
(1.哈爾濱工程大學 計算機科學與技術學院,黑龍江 哈爾濱 150001; 2.黑龍江科技大學 計算機科學與信息工程學院,黑龍江 哈爾濱 150022)
水下聲信號標注的發展緩慢,導致水聲信號的模式識別任務面臨水下聲信號數據集少,數據集的數據量不夠大以及數據集不夠準確的現狀。并且由這些數據集訓練出的模型泛化能力較低,對細微的噪聲和干擾敏感,不能正確進行模式識別。傳統的標注方法通過人工對聲音信號進行標注,不僅費時費力,經濟效益也不高,同時受標注人員專業性的限制,其標注的準確性往往也不能達到要求。
聲紋識別技術[1-3]通過對一種或多種聲音信號的特征進行分析,可辨別聲音信號,判斷某一個聲音信號是否由某物或者某人發出。在聲紋識別領域,一般通過聲學模型提取出聲紋的聲學特征,再根據得到的聲學特征采用識別算法,對聲音進行識別分類、標注。一般常用的聲紋特征為線性預測倒譜系數(linear prediction cepstral coefficients,LPCC)[4-5]、梅爾頻率倒譜系數(Mel Frequency cepstrum coefficient,MFCC)[6-7]等。
傳統的識別技術一般基于統計模型,例如隱馬爾可夫模型(Hidden Markov model,HMM)[8],高斯混合模型(Gaussian mixture model,GMM)[8],高斯混合模型-通用背景模型(Gaussian mixture model-universal background model,GMM-UBM)[9]等,屬于早期常用的聲紋識別方法。這些方法模型在現在的部分場景中雖然還可以繼續使用,但是它們使用場景過于單一、使用范圍小,不能使用在一些場景復雜的應用中,而現在的聲紋識別多要求應用于復雜的場景中[10]。因此,眾多的深度學習方法被應用到聲紋的模式識別任務中。基于卷積神經網絡(convolutional neural networks, CNN)[11]、循環神經網絡(recurrent neural network, RNN)[12]等多種神經網絡的各種聲紋識別系統層出不窮。其中有百度提出的一種端到端的Deep Speaker[13-15],谷歌推出的Google Cloud 聲紋識別平臺。同時,在國際聲紋識別比賽中,各種基于深度學習的聲紋識別模型屢次刷新最好成績,目前單網絡模型中識別率最好的是ECAPA-TDNN[16]模型,該模型是一種基于CNN進行改進的模型。同時,還有將不同的網絡模進行融合,例如將CNN和RNN相結合的RBFNN-CNN[17]。
本文使用聲紋識別技術[1]進行水下聲信號數據自動標注,利用傳統的聲學模型計算出水下聲信號的聲學特征。針對水聲信號自動標注任務,基于深度學習的方法,提出了多層優選卷積(multilayer optimal convolution, MOC),并進行水聲信號特征嵌入的提取,完成分類及標注。
SE-Block通過使用擠壓[18]與激勵操作[19]得到不同通道的權重,模型可自主判定哪些特征嵌入的重要性。但卻有可能導致部分重要的特征嵌入丟失,從而降低了模型的性能[20]。為了減少該操作帶來的特征嵌入的損失,本文使用1個一維卷積層取代SE-Block中的第1個全連接層,減少了使用全連接層帶來巨大的參數量。本文通過使用卷積層,可有效地減少參數計算量,提升了模型的計算速度,減少運算時間。相較于全連接層,使用一維卷積層能夠捕捉到輸入更多的低級特征,更深層的卷積層可以基于此進一步提取更高級語義特征,因而能夠大大減少特征嵌入損失。
本文在一維卷積層后引入優選卷積層(optimal convolution layer,OC-Layer),OC-Layer利用優選算法找出每層中最合適的卷積核,通過優選卷積操作能夠在聲學信號特征中進行小范圍內跨信道交互,以便獲取更優、更具有代表性的特征嵌入。考慮到不同的OC-Layer操作之后得到的特征信息不同,因此采用多層特征融合思想,將多層OC-Layer的輸出進行聚合。
基于以上想法,本文提出了一種優選卷積層注意力機制(optimal convolution attention mechanism,OCA),本文稱為OCA-Block,本文采用一維優選卷積層即為OC1d-Layer。模塊結構如圖1所示,k為卷積核大小,n為奇數,表示在優選層中有k= (1,3,…,n)的卷積核。

注:Conv1D為一維卷積
本文在每個OC1d-Layer中設置了多個大小不同的卷積核。卷積核尺寸與處理過的聲學模型有關,利用其信號的聲學特征維度設置卷積層的最大核尺寸。本文數據集中的聲學特征為梅爾頻譜,頻域維度尺寸為80維,k=7時最大的卷積核尺寸為:
k=lbc
(1)
式中:c為聲學特征的頻域維度的大小;k為卷積核尺寸,向上取整,若k為偶數,則k+1。
本文對更大尺寸的卷積核也進行了研究。在每個OC1d-Layer中都有(n+1)/2個卷積核即(1,3,…,n)。針對這些不同尺寸的卷積核,本文使用相似度方法計算每2個不同卷積核運算出來的輸出,找出相似度最優的2個卷積核,取卷積核尺寸大的作為該層的卷積核。因為2個不同尺寸的卷積核,大的卷積核卷積后產生的數據參數較少。后面的OC1d-Layer以此類推。本文使用了余弦相似度、漢明距離、斯皮爾曼相關系數[21-23]這3個相似度算法進行實驗研究。
針對OCA-Block,考慮到OC1d-Layer作為整個模型中的子模塊,層數不宜過深,經過實驗驗證,3層是比較合理的設置。
本文通過將注意力機制以及殘差思想[24-26]進行結合,提出了如圖2所示的優選卷積殘差模塊,稱為OCA-Res2Block。在該模塊中首先使用了一個Res2Block模塊,然后在該模塊后面接入一個基于注意力的OCA-Block。簡單地增加模塊數量并不一定能夠對模型的性能產生積極影響,反而可能會降低模型的運行效率。本文進一步研究了OCA-Res2Block模塊的個數,并展開了一系列探索性實驗。

注:1.Conv1D為一維卷積,2.BN為批處理歸一化,3.ReLU為激活函數。
本文中對多種聲紋識別系統[27-28]進行了研究,并提出了圖3所示的MOC,將多層特征融合和注意力機制結合。

注:1.C、T分別為輸入的大小,2.k為卷積核大小,3.d為空洞卷積的膨脹率,4.S為類別數,5.FC為全連接層
本文中采取浙江省德清縣對河口水庫音頻作為的數據集。為了保證數據集具有普遍性,該數據集考慮到了時間、溫度、天氣、距離、深度、頻率等多種環境因素。整個數據集包含3個時間段(上午、中午、下午);5種深度(1、3、5、7、9 m);2種頻率(單頻CW、調頻LFM);2種距離(75、150 m)即聲源到聲音接收器的距離;32個通道;每種音頻數據錄制90 s。本文從整個數據集中抽取2組數據,同時為了便于實驗將90 s的完整數據切分為900份0.1 s的片段,即2組數據包含75 MB、150 MB的CW、LFM,同時每組數據有32個通道。由于使用設備的原因在進行梅爾特征提取時,采樣率設置為1 000 000。在實驗數據集中,本文將數據集設置為訓練集與測試集2種,所占比例為80%:20%。
在實驗中,本文將標注準確率作為評價指標。標注準確率為在標注任務過程之中,標注正確的樣本占總測試樣本的比值:
Acc=∑St/L(S)
(2)
式中:St為在數據集S中標注為t,即標注正確的數據個數;L(S)為數據集S的總樣本數。
本文中將正常水聲信號和其中的噪音進行分類標注。為從不同角度探索模型優化的可能性,進行了4種類型的實驗。分別關注于簡化OCA-Res2Block模塊數量以實現時間優化、OC1d-Layer的層數、OC1d-Layer中卷積核的選擇,以及不同卷積核相似度計算方法。每種類型的實驗都包括了多個實驗組。作為參照,本文選用了當前單網絡模型中識別率最高的ECAPA-TDNN作為基線模型。在MOC的默認設置中,配置了一個OCA-Block,OC1d-Layer的層數為3,OC1d-Layer中的卷積核尺寸設置為K=7,即每個OC1d-Layer包含1、3、5、7共4種尺寸的卷積核,相似度計算采用斯皮爾曼相關系數。
2.3.1 OCA-Res2Block的時間優化實驗
本文以運行時間及數據標注的準確率作為評判指標,采用MOC,分別設置一個OCA-Res2Block、2個OCA-Res2Block,標記為F1、F2,除了OCA-Res2Block個數,其他參數為默認設置參數,包括OC1d-Layer的層數設置為3,OC1d-Layer中的卷積核尺寸設置為K=7。實驗時間優化實驗結果如表1所示。

表1 OCA-Res2Block時間優化實驗結果表
由表1可得,F1模型的運算時間遠低于F2模型和基線模型,運算時間分別優化了55.4%、43.5%,但是F1在準確率方面與F2模型最高的準確率持平、比基線模型最多高出1.17%。同時可以發現F2模型的運算時間比基線模型高出21.1%,但是其準確率要高于基線模型。由此說明使用F1模型即本文提出的OCA-Res2Block模塊的使用注意力機制和優選算法是有效的,以及適當的減少模型模塊的構成能夠減輕模型的計算壓力和運行時間。同時可以看到在這2組數據中提出的MOC模型比基線模型從運行時間和準確率2個方面都有較大提升,即MOC全面優于基線模型。
2.3.2 OCA-Block中OC1d-Layer層數設置實驗
在該類實驗中,本文用數據標注的準確率作為評判指標,在實驗過程中,本文將OC1d-Layer層數分別設置為3、5、7層標記為O3,O5,O7,除了OC1d-Layer層數,其他參數為默認設置參數,包括OC1d-Layer的層數設置為3,OC1d-Layer中的卷積核尺寸設置為K=7。實驗結果如表2所示。

表2 OC1d-Layer層數實驗結果表
由以上結果可分析出:在MOC中將優選卷積層的層數設置為3層時,在距離為75 M時CW與LFM中最大的準確率分別為96.35%以及99.04%;在距離為150 M時CW與LFM中最大的準確率分別為93.23%及98.70%。說明本文中提出3層OC1d-Layer有效,隨意加深層數對模型并無益處。因為并行的邏輯層只增加收斂速度,而本模型并沒有隨便增加層數。并且過多的層數可能會導致模型本身更加復雜,如果訓練數據本就不多,很容易造成過擬合的問題。通過實驗結果可以發現無論幾層OC1d-Layer的MOC的準確率都比基線模型的準確率更高,即說明MOC優于基線模型的。
該類實驗說明本文中提出的OC1d-Layer有效,并且從實驗的結果可以推測出層數的閾值為3。
2.3.3 OC1d-Layer中優選算法的對比實驗
在該類實驗中,本文用數據標注的準確率作為評判指標,并驗證優選算法的有效性以及最佳的卷積核尺寸。在實驗過程中,除了卷積核尺寸和個數,其他參數為默認設置參數,包括OC1d-Layer的層數設置為3,OC1d-Layer中的卷積核尺寸設置為K=7。在實驗中,本文設置OC1d-Layer中的卷積核尺寸以及卷積核數如表3所示。

表3 卷積核尺寸以及卷積核數表
優選算法實驗結果如表4所示。

表4 優選算法實驗結果表
由以上結果可得,將OC1d-Layer中的最大卷積核尺寸設置為7,在這2組數據中標注準確率均達到最優,K7模型優于基線模型,本文提出的優選算法有效。同時,也可以發現在75 M的CW數據中,K5、K11的標注準確率低于基線模型的標注準確率,說明了本文中設置的K7是當前最優的,也證明了在OC1d-Layer中設置卷積核尺寸以及個數應該按照聲學模型產生的聲信號特征進行設置。
2.3.4 OC1d-Layer中相似度算法的對比實驗
該類實驗主要將3種相似度算法進行研究。本文用數據標注的準確率作為評判指標,在實驗過程中,采用的相似度函數分別為余弦相似度、漢明距離、斯皮爾曼相關系數標記為Mc、Mh、Ms,除了相似度算法,其他參數為默認設置參數,包括OC1d-Layer的層數設置為3,OC1d-Layer中的卷積核尺寸設置為K=7。相似度算法實驗結果如表5所示。

表5 相似度算法實驗結果表
由以上結果可分析出,在75 M的LFM數據中,余弦相似度與斯皮爾曼相關系數算法準確率為99.04%;75 M的CW數據中,斯皮爾曼相關系數算法準確率為96.35%。而在150 M的CW數據中,斯皮爾曼相關系數算法準確率為93.23%;在150 M的LFM數據中,余弦相似度算法準確率為98.70%。在OC1d-Layer中使用不同的相似度算法得到的準確率不同,但在相同的數據集中,準確率的差別不到1%。從整體來說,在這3種算法中,斯皮爾曼相關系數算法較為合適。本文使用斯皮爾曼相關系數算法作為相似度算法合理。在模型中無論使用哪種算法,其標注準確率都高于基線模型。
1)本文使用優選、注意力機制、多層特征融合等策略,實現了MOC在運算時間和標注準確率方面的預期目標。
2)本文MOC在河口水庫采集的音頻數據集上取得了的標注準確率為99.04%,高于基線模型的97.92%;同時運行時間較少了43.5%。本文提出的方法使用時間更短,并且對水聲數據的標注準確率更高。
3)相同環境下,LFM波形數據的標注準確率高于CW波形數據。該模型的使用提高了水聲信號標注的準確率和效率。
在以后研究中,將進一步研究MOC的改進,同時考慮將2個網絡模型并行使用的研究,進一步提高水下聲信號自動標注的標注性能。