何書鋒 孫鈿奇 王 詔 楊洪山
1(中國地質(zhì)調(diào)查局青島海洋地質(zhì)研究所 山東 青島 266071)2(星環(huán)信息科技(上海)有限公司 上海 200233)
隨著經(jīng)濟發(fā)展,人口數(shù)量增加,陸地可用資源減少,人類對資源的開發(fā)從陸地領(lǐng)域轉(zhuǎn)移到海洋領(lǐng)域。在這種情況下,海洋研究受到很大重視。海洋領(lǐng)域開發(fā)活動中最基礎(chǔ)的任務(wù)是海底地形測量,目的是測量海洋深度及繪制精確的海底地形圖。在如今的海洋測繪中,多波束測深系統(tǒng)[1-3]已經(jīng)成為最主要的海洋測量設(shè)備,覆蓋面廣、精度高、取樣密集是其測量數(shù)據(jù)的主要特征[4]。然而,與陸地測量相比,海洋測量仍存在許多不穩(wěn)定因素,例如機器噪聲、人為因素、海況環(huán)境等[5],因此不可避免地存在數(shù)據(jù)異常值。同時海洋測量還存在動態(tài)效應(yīng),海水阻隔是其主要原因之一。除大氣影響海洋測量外,海洋測量還受到海水運動、海水流速、海水的物理性質(zhì)等與實際海底不一致等的影響,可能給艦船航行帶來危險。
此外,衡量設(shè)備性能最基本和最重要的問題是設(shè)計原則是否先進,但不同制造商有不同的設(shè)計原則,這涉及獲得數(shù)據(jù)可靠性、精度分辨率和信號處理等諸多方面。多波束系統(tǒng)是由單波束回聲測深儀采用幅度檢測原理進行開發(fā)的,因其幅度較強,且橫向波束相對容易檢測,因此可以很容易地檢測中間波束。但由于信號散射變?nèi)?,對?yīng)的檢測結(jié)果也會較差。對此,以相位檢測相干聲吶為設(shè)計原理的多光束系統(tǒng)可彌補這方面的不足。雖然中間光束之間的相位差較小會導(dǎo)致難以檢測,但是側(cè)面光束之間的相位差較大,因此可以進行高精度檢測,以提高設(shè)備精度。根據(jù)這兩個設(shè)計思想,不同的制造商已經(jīng)開發(fā)并生產(chǎn)了自己的多光束系統(tǒng)。但是,隨著科學(xué)技術(shù)的發(fā)展,大多數(shù)制造商不再應(yīng)用單一的設(shè)計思想,而是同時使用幅度檢測(中間光束)和相位檢測(橫向光束)設(shè)計概念。
多波束測量數(shù)據(jù)預(yù)處理的目的是實現(xiàn)海量多波束海底地形數(shù)據(jù)以及各種空間和屬性數(shù)據(jù)的輸入、處理、管理和可視化輸出。多波束數(shù)據(jù)預(yù)處理中的各子模塊有:數(shù)據(jù)格式轉(zhuǎn)換與讀取模塊,聲速剖面處理模塊,定位數(shù)據(jù)處理模塊和姿態(tài)數(shù)據(jù)處理模塊,如圖1所示。
圖1 多波束數(shù)據(jù)預(yù)處理結(jié)構(gòu)圖
任何設(shè)備的開發(fā)都應(yīng)考慮到進行特定測量的目的、水深范圍、精度和分辨率等因素。多波束測深系統(tǒng)使用安裝在水中的轉(zhuǎn)換器傳輸扇形束以接收在海底反射的回波信號,進而根據(jù)水中聲波的傳播特性測量水深。換能器的發(fā)射和接收包括垂直于方向的發(fā)射陣列和接收陣列。發(fā)射陣列平行于船的縱向方向,扇形脈沖聲波在正下方的兩側(cè)對稱地傳輸,并且接收陣列沿船的橫向方向排列。在垂直于母船航向的方向上,通過波束形成技術(shù)在若干個預(yù)成波束角方向上形成若干個波束,根據(jù)各角度聲波到達的時間或相位就可以分別測量出與每個波束對應(yīng)點的水深值。多波束系統(tǒng)是一種大型組合設(shè)備,它的基本組成如圖2所示。以工作站為代表的數(shù)據(jù)處理系統(tǒng)集成了聲波測量、定位、船舶姿態(tài)、聲速剖面和潮汐水平信息幾部分,可以計算波束足跡的坐標(biāo)和深度然后繪制海底平面或三維地圖,最后用于海底勘探。
圖2 多波束系統(tǒng)基本組成
對多波束測深數(shù)據(jù)進行異常檢測的通用方法有三種,分別為魯棒M估計方法[6]、中值濾波方法[7-8]和趨勢面濾波方法[9-10]。魯棒M估計方法的一些參數(shù)十分敏感,例如權(quán)重函數(shù)參數(shù)、初始值參數(shù)等。如果參數(shù)選擇適當(dāng),檢測效果比趨勢面濾波方法強,但該方法計算量很大,適用于復(fù)雜地形的檢測。中值濾波方法對脈沖異常效用極佳,但對小的離群值無效。趨勢面濾波方法的計算簡單,適用于檢測和消除平坦地形中的異常值。在實際應(yīng)用中,由于多波束測深數(shù)據(jù)量大,通常會選擇趨勢面濾波作為簡單可行的異常檢測和消除方法。但是,由于探測數(shù)據(jù)點包含離群值,因此通過常規(guī)曲面擬合獲得的趨勢面通常包含少量異常數(shù)據(jù)點信息,在偏離了實際地形的同時影響了異常檢測的效果,所以需要一種更好的方法進行檢測。本文方法可以有效解決這些問題,在檢測精度提高的同時,還能檢測出離群值中的異常數(shù)據(jù)點。
本文提出一種新的異常檢測方法——深度支持向量[11-14]檢測方法(Support Vector Data Description,SVDD),這是一種基于深度學(xué)習(xí)的多波束海底數(shù)據(jù)異常檢測方法,如圖3所示。該方法在檢測出更多異常值的同時,減少了誤判和漏判的個數(shù),提高了檢測精度。
圖3 深度支持向量模型圖
深度學(xué)習(xí)[15-16]作為機器學(xué)習(xí)的新發(fā)展方向,它可以利用具有多個處理層的模型架構(gòu)來學(xué)習(xí)輸入數(shù)據(jù)間的高階隱含特征。本文將利用深度學(xué)習(xí)的方法分類為“混合”和“完全深度”兩種。混合方法表示在先前的步驟中進行單獨學(xué)習(xí),然后再將這些表示饋入OC-SVM等的數(shù)據(jù)表示。多個抽象級別允許以非常緊湊和分布式的形式表示功能豐富的空間。深度(多層)神經(jīng)網(wǎng)絡(luò)特別適合于學(xué)習(xí)本質(zhì)上分層的數(shù)據(jù)表示,例如圖像或傳統(tǒng)的(淺)異常檢測方法。相反,完全深度的方法直接將表示學(xué)習(xí)目標(biāo)用于檢測異常。借助支持向量機引入了一種新穎的、有多層神經(jīng)網(wǎng)絡(luò)的無監(jiān)督異常檢測方法。SVDD通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)以使網(wǎng)絡(luò)輸出適合最小體積的超球面來學(xué)習(xí)提取數(shù)據(jù)分布變化的公共因素。相比之下,幾乎所有現(xiàn)有的深度異常檢測方法都依賴于重構(gòu)錯誤,這些方法或是混合方法僅用于學(xué)習(xí)表示,或是直接用于表示學(xué)習(xí)和檢測。
自編碼器的學(xué)習(xí)目標(biāo)為通過最小化重構(gòu)誤差來獲得原始數(shù)據(jù)在低維空間上的特征表征。在異常檢測任務(wù)中,自編碼器能夠從正常樣本中學(xué)習(xí)到共性的低維表征并且可以通過解碼器準(zhǔn)確地重構(gòu)數(shù)據(jù),但是對于異常的數(shù)據(jù)由于其缺乏共性特征,所以在編碼和解碼的過程中會存在較大的重構(gòu)誤差。因此將自編碼器學(xué)習(xí)到的低維表征與經(jīng)典方法相結(jié)合能夠有效提升現(xiàn)有異常檢測任務(wù)的準(zhǔn)確度[17-19]。此外,在一些端到端的深度網(wǎng)絡(luò)模型中,可以直接將重構(gòu)誤差的數(shù)值作為異常檢測任務(wù)的衡量指標(biāo)。用于異常檢測的自編碼器主要有四大類:變分自動編碼器,稀疏自動編碼器,去噪自動編碼器,深卷積自動編碼器,其中最后一個變體主要用于帶有圖像或視頻的異常檢測應(yīng)用中的數(shù)據(jù)。
自動編碼器具有降維的目的,并且不直接針對異常檢測。在選擇合適的壓縮度(即降維)時,給出了將自動編碼器用于異常檢測的主要困難。如果沒有壓縮,則自動編碼器將僅學(xué)習(xí)標(biāo)識函數(shù)。在信息減少到單個值的另一種邊緣情況下,平均值將是最佳解決方案,即數(shù)據(jù)表示的“緊湊性”是一個模型的超參數(shù),由于具備不受監(jiān)督的性質(zhì)和數(shù)據(jù)的固有維數(shù)通常難以估計,因此難以選擇正確的平衡。相比之下,本文通過最小化封裝數(shù)據(jù)的超球面的體積,將表示的緊湊性納入本次的深度異常檢測的目標(biāo)中,從而直接定位異常點。除了自動編碼器,Schlegl等[20]提出了一種基于生成對抗網(wǎng)絡(luò)(GAN)的新型深度異常方法,稱為AnoGAN。在這種方法中,首先根據(jù)訓(xùn)練數(shù)據(jù)訓(xùn)練GAN以生成樣本,給定一個測試點,AnoGAN會嘗試在生成器的潛在空間中找到一個點,以生成最接近所考慮的測試輸入的樣本。直觀地講,根據(jù)訓(xùn)練數(shù)據(jù)訓(xùn)練GAN得到樣本后,正常樣本(即來自分布的樣本)應(yīng)該在潛在空間中具有良好的表示能力,而異常樣本則不會。為了找到潛在空間中的點,Schlegl等[20]提出的方法在潛在空間中執(zhí)行梯度下降,以使生成器的學(xué)習(xí)權(quán)重保持穩(wěn)定。最后,AnoGAN還通過重構(gòu)錯誤定義異常分數(shù)。與自動編碼器類似,這種生成方法的主要困難在于如何規(guī)范生成器的緊湊性。
使用SVDD時,通過找到最小尺寸的數(shù)據(jù)封裝超球面,在基于內(nèi)核的SVDD和最小體積估計的基礎(chǔ)上進行構(gòu)建。借助SVDD可以學(xué)習(xí)數(shù)據(jù)的有用特征表示以及進行單類分類時的目標(biāo),為此,本文采用了經(jīng)過聯(lián)合訓(xùn)練的神經(jīng)網(wǎng)絡(luò),可以將數(shù)據(jù)映射到最小體積的超球面中。
(1)
式中:v∈(0,1]為模型的超參數(shù);R為半徑。
與內(nèi)核SVDD中一樣,最小化R2可以最小化超球面的體積。優(yōu)化式(1)中的第二項是通過網(wǎng)絡(luò)后位于球體外部的點的懲罰項,最后一項是超參數(shù)λ>0的網(wǎng)絡(luò)參數(shù)W的權(quán)重衰減調(diào)節(jié)器,其中‖·‖F(xiàn)表示Frobenius范數(shù)。優(yōu)化式(1)使網(wǎng)絡(luò)學(xué)習(xí)參數(shù)W,以使數(shù)據(jù)點緊密映射到超球面的中心c。為此,網(wǎng)絡(luò)必須提取數(shù)據(jù)變化的共同因素。結(jié)果是數(shù)據(jù)的正常示例都緊密映射到中心c,而反常的示例則被映射為遠離超球面的中心或超球面之外。
對于假設(shè)大多數(shù)訓(xùn)練數(shù)據(jù)Dn正常的情況,這通常是在單類分類任務(wù)中的情況,本文提出一個額外的簡化目標(biāo),將單類深度SVDD目標(biāo)函數(shù)定義為:
(2)
式(2)中第二項還是具有超參數(shù)λ>0的網(wǎng)絡(luò)權(quán)重衰減正則化器,也可以認為單類深度SVDD是尋找一個以超球以c為中心的體積最小的超球面。但與軟邊界不同,通過直接懲罰半徑和落在球體之外的數(shù)據(jù)表示來收縮超球體,SVDD通過最小化所有數(shù)據(jù)表示到中心的平均距離來縮小球面。同樣,為了將數(shù)據(jù)(平均)映射到盡可能靠近中心c的位置,神經(jīng)網(wǎng)絡(luò)必須提取變化的公共因子。懲罰所有數(shù)據(jù)點上的平均距離而不是允許某些點落在超球面之外符合以下假設(shè):大多數(shù)訓(xùn)練數(shù)據(jù)來自一類。給定一個測試點x∈X,本文可以通過點到超球面中心的距離來定義SVDD的兩個變體的異常得分:
s(x) =‖φ(x;w*)-c‖2
(3)
式中:w*是訓(xùn)練模型的網(wǎng)絡(luò)參數(shù)。
本文使用隨機梯度下降(SGD)及其變體(例如Adam)和反向傳播來優(yōu)化兩個SVDD目標(biāo)中的神經(jīng)網(wǎng)絡(luò)參數(shù)W,進行訓(xùn)練直到損失收斂到局部最小值。使用SGD可使SVDD在大型數(shù)據(jù)集上很好地擴展,因為它的計算復(fù)雜度在訓(xùn)練批次的數(shù)量上呈線性增長,而不是指數(shù)增長,復(fù)雜度不會大到難于訓(xùn)練,并且每個批次都可以并行處理來提升訓(xùn)練速度(例如使用GPU進行并行處理)。SGD優(yōu)化還可實現(xiàn)迭代或在線學(xué)習(xí),例如一邊用最新的數(shù)據(jù)一邊訓(xùn)練優(yōu)化。由于網(wǎng)絡(luò)參數(shù)W和半徑R通常在不同的尺度上,因此使用一種常見的SGD學(xué)習(xí)速率可能不足以優(yōu)化軟邊界,會出現(xiàn)優(yōu)化時損失一直不能下降的情況。相反,本文采用交替最小化/塊坐標(biāo)下降法交替優(yōu)化網(wǎng)絡(luò)參數(shù)W和半徑R,即在半徑R固定的情況下訓(xùn)練了k個周期的網(wǎng)絡(luò)參數(shù)W;接著在每個第k個周期之后,使用最新更新的網(wǎng)絡(luò)參數(shù)W,根據(jù)網(wǎng)絡(luò)的數(shù)據(jù)表示來求解半徑R,再通過行搜索可以輕松解決R。采用該方法的優(yōu)點在于可進一步提高優(yōu)化邊界速率。
多波束測深系統(tǒng)提供的信息非常豐富,具體內(nèi)容如下:1) 測量水深的基本信息:波束號,經(jīng)度,緯度,水深值;2) 測量船舶位置信息:傾斜度,吃水,航向,速度;3) 中心梁信息:中心梁北坐標(biāo),中心梁東坐標(biāo),側(cè)向距離,航向距離;4) 其他時間信息:行進時間以及角度。具體數(shù)據(jù)如表1所示。此處的水深數(shù)據(jù)是經(jīng)過實時處理的水深值,例如滾動、傾斜、吃水、聲波校正等,指示每個檢測光束的特定位置。本文算法處理的數(shù)據(jù)是其中三種:經(jīng)度、緯度和水深值。
表1 數(shù)據(jù)字段匯總表
3.2.1基于改進GA的異常值檢測算法[21-24]
基于改進GA的異常值檢測算法主要思想如下:1) 在生成初始種群之前,將調(diào)查區(qū)域劃分為多個子空間,以確保每個空間的水深數(shù)據(jù)能夠不斷變化。2) 在實際工作中,有必要先確定選擇規(guī)則,再采用一種基于染色體適應(yīng)度大小排序的選擇算子。
3.2.2截斷最小二乘估計異常值檢測算法[25-26]
截斷最小二乘估計是一種具有高崩潰點的穩(wěn)健估計方法,估計方法的崩潰點值越高,說明可以接受的異常值越多,表明其魯棒性越好。這個方法的目標(biāo)函數(shù)為使升序排列在前半部分的殘差平方和取最小時的估計值,并不是所有數(shù)據(jù)點的殘差平方和取最小時的估計值,因此截斷最小二乘估計的崩潰點高達50%,說明數(shù)據(jù)集中異常值的數(shù)量可占總數(shù)據(jù)的一半,證明它極為健壯。當(dāng)數(shù)據(jù)點集中偏離實際值較大的數(shù)據(jù)點時,該方法能夠有效防止數(shù)據(jù)點中異常值參與參數(shù)估計的計算,從而獲得準(zhǔn)確的參數(shù)估計值。實際地形數(shù)據(jù)統(tǒng)計結(jié)果顯示,異常深度數(shù)據(jù)點不到總數(shù)據(jù)的一半,而由于地形的復(fù)雜度造成的異常深度數(shù)據(jù)點的比例不到十分之一,完全滿足此估計方法的適用條件,但該方法的缺點在于網(wǎng)絡(luò)復(fù)雜,訓(xùn)練的時間較長。
將基于改進GA的異常值檢測算法(方法1)、截斷最小二乘估計異常值檢測算法(方法2)和本文方法進行對比分析,實驗結(jié)果如表2所示。實驗的預(yù)置值包括:測試數(shù)據(jù)的總個數(shù)(總個數(shù))、總個數(shù)中離散的個數(shù)(其中的離散點數(shù))、總個數(shù)中的異常點的個數(shù)(異常點數(shù));實測值包括不是異常點判成了異常點(誤判個數(shù))、是異常點但判成了正常點(判漏個數(shù))、正確判對的數(shù)量(總判對個數(shù))、總判對個數(shù)中正常點判成了正常點(判對的正常點數(shù))、總判對個數(shù)中異常點判成了異常點(判對的異常點數(shù))、總判對個數(shù)中的離散點數(shù)和精度。從實驗結(jié)果可得出本文方法優(yōu)于方法1和方法2,主要體現(xiàn)在:在總個數(shù)和異常點個數(shù)不變的情況下,基于本文方法計算得出的誤判個數(shù)和漏判個數(shù)少于方法1和方法2,總判對個數(shù)多于方法1和方法2,其中正確檢測出來的正常點數(shù)、正確檢測的異常點數(shù)和正確檢測出來的離散點數(shù)都高于其他兩種方法。
表2 方法對比實驗結(jié)果
本文提出基于深度學(xué)習(xí)的多波束海底地質(zhì)數(shù)據(jù)檢測方法,設(shè)計應(yīng)用深度支持向量檢測方法對異常數(shù)據(jù)進行檢測。在海底地形數(shù)據(jù)下進行了實驗對比分析,結(jié)果表明本文方法顯著優(yōu)于基于改進GA的異常值檢測算法和截斷最小二乘估計異常值檢測算法,并且對離散點識別的正確樣本數(shù)也顯著高于兩種對比方法。此外,本文方法在維持較高召回率的同時,在準(zhǔn)確率方面平均比對比方法提升了1百分點左右。實驗結(jié)果表明了本文方法的有效性,同時其為海洋地質(zhì)數(shù)據(jù)分類提供可靠的算法支撐,減少了誤判和漏判的情況,提高了檢測精度。