楊 靜,陸銘華,馬潔瓊,吳金平,劉星璇
(1.海軍潛艇學(xué)院,山東 青島 266041;2.國(guó)防科技大學(xué) 系統(tǒng)工程學(xué)院,長(zhǎng)沙 410073;3.92020 部隊(duì),山東 青島 266001)
時(shí)間序列在現(xiàn)實(shí)生活中廣泛存在,尤其在軍事戰(zhàn)術(shù)對(duì)抗領(lǐng)域,作戰(zhàn)對(duì)抗單元接收到的傳感器探測(cè)信號(hào)、上級(jí)指令等數(shù)據(jù)均以時(shí)間為序。然而,受限于戰(zhàn)場(chǎng)環(huán)境存在的“迷霧”,即觀測(cè)數(shù)據(jù)往往存在較高的不確定性和信息質(zhì)量誤差,傳統(tǒng)的戰(zhàn)術(shù)輔助決策模型很難有效挖掘觀測(cè)數(shù)據(jù)的時(shí)序特征,缺乏有效利用歷史時(shí)序數(shù)據(jù)并對(duì)未來趨勢(shì)進(jìn)行預(yù)測(cè)的手段[1]。
隨著無人作戰(zhàn)平臺(tái)的發(fā)展,水下對(duì)抗中目標(biāo)不明、解算要素不明和環(huán)境不明的復(fù)雜態(tài)勢(shì)給無人作戰(zhàn)平臺(tái)的決策帶來了極大挑戰(zhàn)。在水下防御問題中,防御決策取決于對(duì)來襲武器的類型判定、行動(dòng)判斷和對(duì)抗演化態(tài)勢(shì)的評(píng)估,這種“態(tài)勢(shì)”主要來自于目標(biāo)識(shí)別、目標(biāo)解算、環(huán)境計(jì)算3 類情報(bào)處理系統(tǒng)的數(shù)值解算信息[2]。傳統(tǒng)解目標(biāo)運(yùn)動(dòng)要素方法通過基于最小二乘的濾波法實(shí)現(xiàn)運(yùn)動(dòng)要素解算,缺少對(duì)目標(biāo)性能、對(duì)抗環(huán)境等外部變量的充分關(guān)聯(lián),極其依賴于指揮員的經(jīng)驗(yàn)設(shè)定初值[3]。
本文將水下戰(zhàn)術(shù)對(duì)抗觀測(cè)信息建模為多變量時(shí)間序列預(yù)測(cè)問題,并提出一種利用觀測(cè)時(shí)序信息進(jìn)行態(tài)勢(shì)建立的方法。用多變量態(tài)勢(shì)的綜合判斷和挖掘代替單純基于解算的觀測(cè)信息,充分利用作戰(zhàn)平臺(tái)上的觀測(cè)時(shí)序信息挖掘戰(zhàn)場(chǎng)態(tài)勢(shì)信息,極大提高決策的能力。首先,將外部變量和觀測(cè)時(shí)序相結(jié)合,構(gòu)建多變量時(shí)序數(shù)據(jù)預(yù)測(cè)框架,為應(yīng)對(duì)戰(zhàn)術(shù)對(duì)抗觀測(cè)不確定性提供新的解決思路。然后,構(gòu)建一種交替循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu),將單變量自回歸預(yù)測(cè)與多變量關(guān)系特征提取相結(jié)合,提高模型預(yù)測(cè)的應(yīng)用范圍和預(yù)測(cè)精度。最后,將觀測(cè)缺失權(quán)重與預(yù)測(cè)殘差相結(jié)合,納入注意力分?jǐn)?shù)計(jì)算和損失函數(shù)反向傳播,降低模型預(yù)測(cè)插補(bǔ)帶來的累積誤差,提高預(yù)測(cè)準(zhǔn)確度。
當(dāng)潛艇防御魚雷時(shí),對(duì)魚雷位置的預(yù)測(cè)可以建模為不完全時(shí)間序列預(yù)測(cè)問題。時(shí)間序列預(yù)測(cè)方法大致可分為基于統(tǒng)計(jì)的方法[4-5]和基于神經(jīng)網(wǎng)絡(luò)[6-7]的方法?;诮y(tǒng)計(jì)的方法通常假定時(shí)間序列的某種分布或函數(shù)形式,通過預(yù)測(cè)未來時(shí)刻分布的均值和方差,以祖先采樣或蒙特卡羅(Monte Carlo)采樣[8]方式求解未來時(shí)刻值的區(qū)間。而基于神經(jīng)網(wǎng)絡(luò)的方法[9-11]有利于動(dòng)態(tài)挖掘多變量之間的關(guān)系、從時(shí)間序列數(shù)據(jù)中提取重要信息,從本質(zhì)上說也是基于對(duì)未來時(shí)刻概率分布的擬合[12],再對(duì)概率上的最大后驗(yàn)估計(jì)參數(shù)進(jìn)行估計(jì),通過梯度下降的方式求解估計(jì)參數(shù)。基于統(tǒng)計(jì)的方法通常無法處理大量存在相關(guān)的時(shí)間序列?;谏窠?jīng)網(wǎng)絡(luò)的方法如LSTNet[13]、Transformer[14]、FCN-LSTM[15]、DeepAR[16]等的出 現(xiàn),使現(xiàn)有方法可以以機(jī)器學(xué)習(xí)參數(shù)估計(jì)的方式進(jìn)行多變量時(shí)間序列的預(yù)測(cè)。時(shí)序預(yù)測(cè)的模型適用于存在明顯趨勢(shì)性、周期性的商業(yè)時(shí)間序列,在銷售預(yù)測(cè)[17]、天氣預(yù)測(cè)[18]、用電量預(yù)測(cè)[19]、交通預(yù)測(cè)[20]等領(lǐng)域取得了廣泛應(yīng)用。
受到這些時(shí)序數(shù)據(jù)處理模型的啟發(fā),本文考慮利用多變量時(shí)序建模防御對(duì)抗過程中的目標(biāo)位置預(yù)測(cè)。由于水下環(huán)境復(fù)雜,規(guī)避敵來襲魚雷時(shí)主要依賴于3 類信息:目標(biāo)運(yùn)動(dòng)要素(航向、速度、距離),目標(biāo)類型(決定其速度范圍、尺寸、行動(dòng)規(guī)則、探測(cè)性能)和環(huán)境信息(決定其觀測(cè)視野)。為說明水下防御中的時(shí)序數(shù)據(jù),第1.1 節(jié)首先對(duì)該防御態(tài)勢(shì)的仿真流程進(jìn)行簡(jiǎn)要描述。
以水下防御魚雷的對(duì)抗為基本背景,我方潛艇利用聲誘餌規(guī)避敵來襲的魚雷,基于該設(shè)定構(gòu)建仿真模型,該過程如圖1 所示(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖1 潛艇防御魚雷示意圖Fig.1 Schematic diagram of submarine defense torpedo
在圖1 中,用紅色和黑色區(qū)分?jǐn)澄译p方,紅色代表我方水下潛艇和一枚聲自導(dǎo)誘餌,黑色代表敵攻擊型UUV 和兩枚齊射聲自導(dǎo)魚雷武器。目前,利用戰(zhàn)術(shù)仿真推演研究水下對(duì)抗問題是公認(rèn)的提高戰(zhàn)術(shù)決策水平的有效途徑[21-23]?;趹?zhàn)術(shù)對(duì)抗仿真系統(tǒng),本文對(duì)潛艇水下防御問題中可能出現(xiàn)的3 種魚雷、3 種誘餌、2 類潛艇,分別在512 種各類初始距離、舷角組合條件下構(gòu)造初始態(tài)勢(shì)N=9 216 種,并以3 s為時(shí)間步長(zhǎng)記錄下上帝視角(完全數(shù)據(jù))和紅方視角(缺失數(shù)據(jù))的總計(jì)時(shí)間步長(zhǎng)為120 步(6 min)對(duì)抗過程的時(shí)序數(shù)據(jù)集。
在仿真模擬的過程中,水下對(duì)抗記錄3 類實(shí)體:C={潛艇,魚雷,誘餌},將每個(gè)實(shí)體的特征信息組織成一個(gè)特征維度為10 維的時(shí)序樣本,每個(gè)時(shí)刻的紅方(潛艇,誘餌)時(shí)序特征集M={經(jīng)度,維度,深度,速度,航向,探測(cè)半徑,探測(cè)半角,轉(zhuǎn)向半徑,航行狀態(tài),轉(zhuǎn)向角度}總計(jì)10 個(gè)特征,藍(lán)方(潛艇,魚雷)時(shí)序特征集M={相對(duì)舷角,速度,航向,探測(cè)半徑,探測(cè)半角,轉(zhuǎn)向半徑,識(shí)別半徑,識(shí)別半角}。其中,對(duì)抗時(shí)間不足6 min 的樣本以補(bǔ)0 的方式進(jìn)行處理。態(tài)勢(shì)預(yù)測(cè)的輸出是預(yù)測(cè)未來時(shí)刻的目標(biāo)“距離”,這是目前水下潛艇被動(dòng)聲吶工作模式條件下無法準(zhǔn)確求解的最重要決策參數(shù)之一[24],準(zhǔn)確快速的敵我距離預(yù)測(cè)將為后續(xù)仿真優(yōu)化提供重要支撐。需要說明的是,本文假設(shè)潛艇選擇1 枚聲誘餌防御來襲魚雷,采用文獻(xiàn)[25]的方法優(yōu)化誘餌航行時(shí)間、航行轉(zhuǎn)角,且假設(shè)由多外部變量導(dǎo)致的魚雷行動(dòng)變化是可預(yù)測(cè)的[26],因此通過充分挖掘時(shí)序信息,實(shí)現(xiàn)對(duì)敵我距離預(yù)測(cè)具備理論上的可行性。
通過建模仿真方法對(duì)潛艇防御魚雷問題進(jìn)行量化分析可知,在規(guī)避敵魚雷攻擊過程中只有快速準(zhǔn)確地判定來襲魚雷的位置,才能建立完整的“初始態(tài)勢(shì)”。然而考慮到真實(shí)情況中完整“初始態(tài)勢(shì)”獲取的困難性,目前已有幾十種[23-25]解目標(biāo)運(yùn)動(dòng)要素的方法用于目標(biāo)位置推斷。本文提出通過挖掘和利用持續(xù)觀測(cè)的動(dòng)態(tài)、靜態(tài)多變量數(shù)據(jù)及其特征關(guān)系,提高模型對(duì)目標(biāo)位置的預(yù)測(cè)能力。綜合考慮位置預(yù)測(cè)的準(zhǔn)確性和實(shí)時(shí)性需求,構(gòu)建模型需要解決以下3 個(gè)問題:
1)由于多變量時(shí)序數(shù)據(jù)具備不同的趨勢(shì)性,因此需要針對(duì)多變量特征設(shè)計(jì)有效的自回歸預(yù)測(cè)算法以提高對(duì)不同特征的把握和預(yù)測(cè)準(zhǔn)確性。
2)多變量時(shí)序由于各種原因存在采樣頻率不一致的問題,需要將不同程度的數(shù)據(jù)缺失以統(tǒng)一框架進(jìn)行自適應(yīng)地表示。
3)多變量間存在復(fù)雜的非線性關(guān)系,需要充分提取多變量之間的關(guān)系,提高模型在部分觀測(cè)不明、外部變量不明情況下的魯棒性和遷移能力。
針對(duì)問題1),本文為每個(gè)時(shí)序觀測(cè)變量按照時(shí)間方向(簡(jiǎn)稱橫向)進(jìn)行基于自回歸編碼的特征表示,動(dòng)態(tài)及靜態(tài)的自回歸編碼均可以對(duì)不同變量趨勢(shì)進(jìn)行有效表征。針對(duì)問題2),針對(duì)每個(gè)特征在時(shí)間窗口T可能存在不同程度缺失的問題,在訓(xùn)練集上利用T個(gè)時(shí)刻的歷史數(shù)據(jù)進(jìn)行橫向訓(xùn)練時(shí),充分考慮在時(shí)間窗口內(nèi)每個(gè)特征的缺失率,在反向傳播時(shí)將缺失率納入反向傳播損失考慮。針對(duì)問題3),每個(gè)時(shí)刻輸入的M個(gè)多變量數(shù)據(jù),維持一個(gè)滑動(dòng)窗口L,先對(duì)M×L的多變量時(shí)序特征利用1D 卷積和池化進(jìn)行特征提取,再對(duì)拉平后的序列利用注意力機(jī)制和可變權(quán)重LSTM 進(jìn)行預(yù)測(cè),將這種多變量間特征提取的方式稱為縱向。
縱橫交替循環(huán)神經(jīng)網(wǎng)絡(luò)模型包括3 個(gè)部分:一個(gè)橫向基于單變量的自回歸的單變量橫向預(yù)測(cè)模型,一個(gè)基于自適應(yīng)窗口的方向傳播權(quán)重分配器以及一個(gè)基于滑動(dòng)窗口的CNN-LSTM 縱向預(yù)測(cè)模型。其總體架構(gòu)如圖2 所示。第1 節(jié)簡(jiǎn)述了水下對(duì)抗態(tài)勢(shì)數(shù)據(jù)的組成形式,其中,外部靜態(tài)變量也以時(shí)序的方式組織,使用仿真推演3 s 等間隔方式對(duì)數(shù)據(jù)進(jìn)行描述,不同趨勢(shì)的變量在這一組織方式下變成“缺失”數(shù)據(jù),下面對(duì)本文模型的數(shù)據(jù)組織和記錄形式進(jìn)行闡述。
圖2 交替循環(huán)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)Fig.2 Structure of alternating recurrent neural network
根據(jù)上述問題背景,時(shí)間序列預(yù)測(cè)主要包括兩種情況:
其中:式(1)代表對(duì)于未來時(shí)序的預(yù)測(cè),僅與過去歷史信息有關(guān);式(2)代表對(duì)未來時(shí)刻的預(yù)測(cè),與過去t-1 時(shí)刻和外部變量x有關(guān)。對(duì)于未來時(shí)刻敵我距離的預(yù)測(cè),是式(1)和式(2)兩種情況的組合,表達(dá)式如下:
其中:輸入X代表外部變量;Y代表具有趨勢(shì)性的時(shí)序變量。對(duì)于總樣本空間N×C×T×M,M個(gè)特征中包含外部變量和時(shí)序變量?jī)深愄卣?。假設(shè)訓(xùn)練時(shí)間窗口為Tx,待預(yù)測(cè)時(shí)間窗口為Ty,則對(duì)于每個(gè)時(shí)序特征,其輸入X包括外部變量和時(shí)序變量,表達(dá)式如下:
其中:每列代表一個(gè)時(shí)刻的輸入變量個(gè)數(shù);每行代表單變量長(zhǎng)度為Tx的時(shí)間序列。
對(duì)于預(yù)測(cè)序列長(zhǎng)度為Ty,橫向數(shù)據(jù)在填充的同時(shí),利用橫向預(yù)測(cè)模型對(duì)未來長(zhǎng)度為Ty的數(shù)據(jù)進(jìn)行預(yù)測(cè),并將預(yù)測(cè)數(shù)據(jù)記為:
由式(5)可知,當(dāng)預(yù)測(cè)一個(gè)長(zhǎng)度為Ty輸出時(shí)序時(shí),輸入包括兩部分,即Ty長(zhǎng)度的輸入時(shí)序特征和輸入時(shí)序的外部變量特征。其中轉(zhuǎn)向半徑、探測(cè)距離等外部變量特征具有全局性,因此在Tx時(shí)刻和Ty時(shí)刻均可以看做共享參數(shù)。然而,對(duì)于目標(biāo)舷角X的變化,敵我航向H的變化等,在已知?dú)v史時(shí)刻Tx時(shí),需要根據(jù)其變化趨勢(shì)先預(yù)測(cè)Ty段的時(shí)序變化趨勢(shì),這個(gè)過程可以基于自回歸模型的橫向預(yù)測(cè)方法來實(shí)現(xiàn)。在預(yù)測(cè)未來Ty時(shí)刻時(shí),考慮Xin和橫向預(yù)測(cè)Ty兩部分輸入,并通過縱向預(yù)測(cè)模型和權(quán)重分配器預(yù)測(cè)距離趨勢(shì)。
基于自回歸的橫向預(yù)測(cè)過程如圖3 所示,主要目的是解決由多變量構(gòu)成的時(shí)間序列,擬合、學(xué)習(xí)和預(yù)測(cè)其不同的趨勢(shì),同時(shí),考慮到多個(gè)變量存在不同的采樣頻率,其數(shù)據(jù)并非等間隔的,因此橫向預(yù)測(cè)還需要將所有的單變量通過特征表示形成一個(gè)統(tǒng)一的樣本序列。在對(duì)多個(gè)變量分別在其時(shí)間窗口進(jìn)行預(yù)測(cè)處理后,自回歸表征數(shù)據(jù)需要基于該時(shí)間窗口進(jìn)行歸一化,以縮小不同變量從表征量綱上帶來的差距。橫向預(yù)測(cè)包括兩個(gè)部分:一是對(duì)多變量的統(tǒng)一特征表示,表征后的數(shù)據(jù)包括數(shù)據(jù)和掩碼,掩碼記錄每個(gè)變量是插補(bǔ)變量還是觀測(cè)值,目的是在計(jì)算反向傳播損失時(shí),給誤差水平賦予不同的損失權(quán)重;二是對(duì)統(tǒng)一特征表示的數(shù)據(jù)進(jìn)行基于單變量的自回歸預(yù)測(cè),基于歷史信息Tx,給出未來長(zhǎng)度為Ty的單變量預(yù)測(cè)區(qū)間。
圖3 基于自回歸的橫向預(yù)測(cè)Fig.3 Horizontal prediction based on auto regression
2.2.1 基于自適應(yīng)窗口的橫向自回歸插補(bǔ)
橫向模型首先需要利用歷史信息對(duì)當(dāng)前時(shí)刻的缺失數(shù)據(jù)進(jìn)行填充,并維持一個(gè)掩碼向量,標(biāo)記區(qū)分填充數(shù)據(jù)和原始數(shù)據(jù)。首先,對(duì)于時(shí)間窗口Tx,用數(shù)據(jù)缺失程度向量ηt表示每個(gè)變量的缺失率,同時(shí)維護(hù)其對(duì)應(yīng)的缺失狀態(tài)掩碼F:
考慮到如果缺失率ηt過高,很難保證子序列的學(xué)習(xí)效果。因此,本文設(shè)置一個(gè)閾值,當(dāng)缺失率過高時(shí)增大訓(xùn)練窗口,目的是通過對(duì)長(zhǎng)歷史數(shù)據(jù)的學(xué)習(xí)得到相對(duì)更可靠的趨勢(shì)預(yù)測(cè)?;谧曰貧w模型對(duì)多元時(shí)間序列構(gòu)建基于滑動(dòng)窗口的參數(shù)擬合模型,通過擬合模型填充最近缺失(自適應(yīng)窗口填充每次只針對(duì)最后一個(gè)或最后一段時(shí)間,因此前序填充后數(shù)據(jù)可以是非缺失數(shù)據(jù),直接應(yīng)用回歸擬合模型)。
2.2.2 基于自回歸的橫向預(yù)測(cè)
通過基于自適應(yīng)窗口的數(shù)據(jù)填充,本文構(gòu)建一個(gè)自回歸模型實(shí)現(xiàn)對(duì)多變量的表征與預(yù)測(cè):
其中:g(t)代表趨勢(shì)項(xiàng);Xt代表所有的外部變量(如目標(biāo)轉(zhuǎn)向半徑、探測(cè)半徑等裝備參數(shù)相關(guān)的變量);ε表示觀測(cè)值可能的隨機(jī)誤差總和,誤差可能來源于過程波動(dòng)、觀測(cè)設(shè)備誤差和部分模型/經(jīng)驗(yàn)錯(cuò)誤(如忽略了一些其他觀測(cè)值X,或者X和y之間的非線性關(guān)系),以及來自于仿真模型蒙特卡羅模擬過程中,因?yàn)榛A(chǔ)數(shù)據(jù)生成時(shí)需要描述隨機(jī)性而產(chǎn)生的誤差等,通??梢约僭O(shè)ε是具有平穩(wěn)協(xié)方差的隨機(jī)變量,具有不可重復(fù)特性。
橫向單變量自回歸模型的目的是對(duì)每個(gè)時(shí)序變量和外部變量通過自回歸進(jìn)行有效的特征表示,既可以提高模型對(duì)輸入的抗干擾能力,也可以通過自回歸預(yù)測(cè)降低數(shù)據(jù)缺失、噪聲等帶來的影響。對(duì)每個(gè)變量的分布進(jìn)行建模時(shí)存在兩個(gè)基本假設(shè):
1)預(yù)測(cè)目標(biāo)未來距離時(shí),假設(shè)目標(biāo)按照預(yù)定的方式行動(dòng),且決定行動(dòng)的外部變量都是可獲得的。
2)對(duì)距離以外的單變量預(yù)測(cè)時(shí),要求在外部變量已知條件下時(shí)序變量具備可預(yù)測(cè)性。
這兩點(diǎn)要求在水下對(duì)抗背景下均可實(shí)現(xiàn),即接到魚雷報(bào)警并對(duì)目標(biāo)距離進(jìn)行預(yù)測(cè)時(shí),由于目標(biāo)高速性和對(duì)抗緊急性,近似認(rèn)為目標(biāo)服從等速直航特性。而當(dāng)使用誘餌對(duì)魚雷進(jìn)行軟規(guī)避時(shí),在觀測(cè)方位、轉(zhuǎn)向半徑、速度等外部要素明確情況下,來襲魚雷的轉(zhuǎn)向、搜索等行動(dòng)是一個(gè)隨著時(shí)間連續(xù)變化的非線性函數(shù)。其中,速度、轉(zhuǎn)向角度等是一個(gè)飽和趨勢(shì)項(xiàng),即其趨勢(shì)是逐漸接近一個(gè)上限,如式(9)所示,而方位坐標(biāo)則是一個(gè)線性趨勢(shì)項(xiàng),如式(10)所示。
其中:k代表時(shí)序的增長(zhǎng)趨勢(shì);δ代表數(shù)據(jù)的增長(zhǎng)率變化,考慮到模型運(yùn)動(dòng)過程發(fā)生改變意味著未來預(yù)測(cè)的非線性趨勢(shì)突變,這種變化可以由數(shù)據(jù)變化增長(zhǎng)率來表示;b是偏置項(xiàng);a是一個(gè)二進(jìn)制向量,用于表示時(shí)間t是否超過了改變點(diǎn)。這里,對(duì)不同的變量參數(shù)分別進(jìn)行擬合。a 的表達(dá)式如下:
橫向循環(huán)預(yù)測(cè)得到的輸入為Xin,輸出為Ypredict。在橫向預(yù)測(cè)過程中,模型關(guān)注于捕捉基于時(shí)間演化的趨勢(shì)關(guān)系。但是考慮到真實(shí)情況下輸入特征維度往往具備高維特征,且多變量之間存在著相互影響的關(guān)系,在單變量橫向預(yù)測(cè)時(shí)很難捕捉到。因此,引入一個(gè)縱向關(guān)系模型,在時(shí)序預(yù)測(cè)的同時(shí)更好地處理輸入特征之間可能存在的關(guān)系。縱向預(yù)測(cè)首先通過一個(gè)卷積和池化層提取多變量時(shí)間序列的不同特征,再利用序列模型,即基于單步迭代預(yù)測(cè)Tx長(zhǎng)度的時(shí)序數(shù)據(jù),通過自注意力機(jī)制實(shí)現(xiàn)基于輸入序列對(duì)未來長(zhǎng)度為Ty的預(yù)測(cè)。其中,每個(gè)序列在橫向預(yù)測(cè)前已經(jīng)對(duì)多維特征進(jìn)行了歸一正則化,再分別經(jīng)過2個(gè)LSTM 層、2 個(gè)Dropout 層、1個(gè)自注意力層、1 個(gè)全 連接層和1 個(gè)線性回歸層,得到縱向預(yù)測(cè)的Tx經(jīng)過可變權(quán)重反向傳播訓(xùn)練縱向預(yù)測(cè)網(wǎng)絡(luò),將橫向輸出的未來特征作為縱向預(yù)測(cè)的輸入,通過預(yù)測(cè)層得到最終長(zhǎng)度為Ty的輸出?;跈M向填充的縱向長(zhǎng)序列預(yù)測(cè)的流程如圖4 所示。
圖4 基于橫向填充的縱向長(zhǎng)序列預(yù)測(cè)流程Fig.4 Procedure of vertical long sequence prediction based on horizontal filling
注意力機(jī)制針對(duì)長(zhǎng)時(shí)間序列進(jìn)行趨勢(shì)學(xué)習(xí),每個(gè)特征X在經(jīng)過2 個(gè)LSTM 層后,其隱層向量通過自注意力函數(shù)計(jì)算上下文,計(jì)算方法如下:
最后,將計(jì)算的隱層和上下文通過拼接操作共同作為預(yù)測(cè)層的輸入,得到預(yù)測(cè)結(jié)果。
考慮到缺失填充往往是針對(duì)最近的t時(shí)刻,而對(duì)未來t+1 時(shí)刻的預(yù)測(cè)需要用到從1 到t時(shí)刻的所有輸入,然而缺失填充數(shù)據(jù)和真實(shí)觀測(cè)數(shù)據(jù)不同,其預(yù)測(cè)本身存在著誤差。引入對(duì)訓(xùn)練樣本和驗(yàn)證誤差分布作為損失反向傳播的可變權(quán)重,具體的做法是:把樣本集的先驗(yàn)信息作為元采樣的輸入,給多數(shù)類的每個(gè)樣本設(shè)計(jì)一個(gè)加權(quán),將計(jì)算得到的權(quán)重作為每個(gè)樣本前面的系數(shù)。對(duì)于每個(gè)數(shù)據(jù)樣本集D,其反向傳播時(shí)的預(yù)測(cè)誤差損失權(quán)重服從正態(tài)分布,即η~gμ,σ(μ|D),其中g(shù)μ,σ為高斯方程,定義如下:
對(duì)于當(dāng)前的滑動(dòng)窗口Tx,缺失值所在類為N,非缺失值所在類為M,則D=N∪M,對(duì)于每個(gè)(xi,yi)∈N,其權(quán)重計(jì)算如下:
此外,在基于缺失率構(gòu)建反向傳播的損失函數(shù)時(shí),采用基于窗口損失的可變權(quán)重?fù)p失函數(shù)代替原有的回歸損失函數(shù)。傳統(tǒng)的損失函數(shù)采用基于L2的損失:
這種損失函數(shù)可以更快地收斂,但是MSE 損失對(duì)于異常值的敏感度更高,其假設(shè)服從高斯分布,對(duì)于異常值的抗干擾能力較差。因此,模型通過計(jì)算L1 損失,即計(jì)算平均絕對(duì)誤差(Mean Absolute Error,MAE)損失來反應(yīng)時(shí)序數(shù)據(jù)回歸預(yù)測(cè)時(shí)的趨勢(shì),即:
基于MAE 的損失計(jì)算的時(shí)預(yù)測(cè)值與真實(shí)值之間的線性關(guān)系,基本假設(shè)服從拉普拉斯分布,本身對(duì)于異常值更加健壯,但由于是線性關(guān)系,因此計(jì)算時(shí)收斂速度更慢。為綜合考慮模型的魯棒性和收斂速度,本文采用式(17)作為模型損失函數(shù)。LSTM 層的每個(gè)細(xì)胞單元在反向傳播訓(xùn)練時(shí),其損失的計(jì)算都是帶權(quán)重的損失。
其中:損失權(quán)重η的取值為0~1,記錄每個(gè)特征維度在當(dāng)前時(shí)間窗口上的缺失程度;τ代表兩種損失的比例分配;τ2的存在能在反向傳播梯度計(jì)算時(shí)保持平穩(wěn)性。
本文采用水下攻防仿真模型產(chǎn)生的仿真數(shù)據(jù)集,同時(shí),為了驗(yàn)證模型在時(shí)間序列預(yù)測(cè)問題上的有效性,還選取了15 min 采樣頻率的電力數(shù)據(jù)集。數(shù)據(jù)集的介紹具體如下:
1)仿真數(shù)據(jù)集。如第1.1 節(jié)介紹,本文構(gòu)建了輸入特征大小為9 216×3×120×10 維的特征數(shù)據(jù);輸出是9 216×120 維的目標(biāo)與我艇實(shí)際距離值。對(duì)于上述樣本數(shù)據(jù),首先采取隨機(jī)缺失策略進(jìn)行缺失處理,并維持同等大小的掩碼記錄缺失位置,隨機(jī)缺失后得到的數(shù)據(jù)集的總體缺失比例分別為20%、40%、60%。
2)電力數(shù)據(jù)集。該數(shù)據(jù)集包含6 維輸入,記錄每15 min 采樣一次的來自5 個(gè)裝置的能量監(jiān)控,以及對(duì)應(yīng)的時(shí)間,輸出是對(duì)“油溫”值的記錄。本文采用了文獻(xiàn)[11]的位置編碼方法,將第1 維度時(shí)間通過位置和周期編碼變成了4 維與時(shí)間相關(guān)的編碼特征。
本文提出的對(duì)比方法包括單變量時(shí)間序列方法和多變量時(shí)間序列方法兩大類,其實(shí)驗(yàn)基本設(shè)置如下:在橫向處理時(shí),設(shè)定窗口為T=10?在縱向模型中,輸入樣本窗口為Tx,即[Tx,M,1]個(gè)輸入,M為輸入特征的維度;序列被折疊為的矩陣;第1 個(gè)卷積核長(zhǎng)度為10,深度3,卷積核100 個(gè);第2 個(gè)卷積核長(zhǎng)度為10,深度為100,卷積核100個(gè),卷積步長(zhǎng)均為1;經(jīng)過的池化核長(zhǎng)度為3,步長(zhǎng)為3,池化后長(zhǎng)度為(Tx-6) ×M;LSTM 隱層為128,共有兩層LSTM。
為證明本文方法的有效性,將本文方法與單變量方法和多變量方法進(jìn)行對(duì)比。關(guān)于對(duì)比方法的介紹具體如下:
1)單變量方法,包 括Prophet[4]和LSTM[5]。Prophet 是一種考慮時(shí)間序列預(yù)測(cè)的趨勢(shì)性、季節(jié)性和外部變量的方法。LSTM 是一種采用基本LSTM進(jìn)行時(shí)間序列預(yù)測(cè)的方法。
2)多變量方法,包 括DA-RNN[9]、LSTNet[13]、DeepAR[16]。在DA-RNN 方法中,為了和其他方法保持一致,將xt改為xt-1,長(zhǎng)度T=10(文中的最優(yōu)窗口),編碼器和解碼器隱層均選擇128。在LSTNet 方法中,電力數(shù)據(jù)集按照原文設(shè)定選p=64,24,公測(cè)數(shù)據(jù)集選擇最小周期p=2;同時(shí),文中Horizon值設(shè)定為1,以便于和其他實(shí)驗(yàn)方法進(jìn)行對(duì)比。在DeepAR 方法中,基于深度神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)方法通過預(yù)測(cè)時(shí)間序列在每個(gè)時(shí)間步上的概率分布來完成時(shí)間序列的建模。
時(shí)間序列預(yù)測(cè)模型的評(píng)估指標(biāo)選用回歸指標(biāo)MSE 和MAE,其定義如下:
本節(jié)將從動(dòng)態(tài)填充和橫向特征預(yù)測(cè)兩個(gè)方面驗(yàn)證時(shí)間序列預(yù)測(cè)效果。
3.2.1 時(shí)間序列預(yù)測(cè)動(dòng)態(tài)填充效果評(píng)估
動(dòng)態(tài)序列填充利用1 到t-1 時(shí)刻的真實(shí)值/填充值對(duì)t時(shí)刻進(jìn)行預(yù)測(cè)。傳統(tǒng)的缺失數(shù)據(jù)填充通常采用基于前向值的填充或者是基于滑動(dòng)窗口平均值/中位數(shù)填充的策略,但是這種數(shù)據(jù)填充很難有效對(duì)抗異常點(diǎn),且缺乏對(duì)未來較長(zhǎng)時(shí)間趨勢(shì)的預(yù)測(cè)手段。
圖5和圖6分別是在電力公測(cè)數(shù)據(jù)集(簡(jiǎn)稱ETT-m)和仿真數(shù)據(jù)集60%數(shù)據(jù)缺失條件下本文所提的橫向填充方法與前向值填充方法的效果對(duì)比。由于兩個(gè)數(shù)據(jù)集均具備高維輸入特性,因此僅隨機(jī)選取其中一個(gè)特征繪圖,以體現(xiàn)兩種方法在填充效果上的差距。由圖5 和圖6 可以看到,在數(shù)據(jù)缺失較多的情況下,利用橫向填充的方式能大幅提高缺失數(shù)據(jù)填充的可靠性。特別是在仿真數(shù)據(jù)集上,對(duì)于觀測(cè)方位的預(yù)測(cè),橫向動(dòng)態(tài)填充可以通過對(duì)其方位變化趨勢(shì)的學(xué)習(xí),得到更好的預(yù)測(cè)效果。
圖5 60%數(shù)據(jù)缺失條件下ETT-m 數(shù)據(jù)集的預(yù)測(cè)結(jié)果對(duì)比Fig.5 Comparison of prediction results of ETT-m date set under 60% data missing conditions
圖6 60%數(shù)據(jù)缺失條件下仿真數(shù)據(jù)集的預(yù)測(cè)結(jié)果對(duì)比Fig.6 Comparison of prediction results of simulation data set under 60% data missing conditions
3.2.2 橫向預(yù)測(cè)效果對(duì)比實(shí)驗(yàn)
橫向預(yù)測(cè)的目標(biāo)是利用自注意力機(jī)制和多維觀測(cè)數(shù)據(jù)之間的相互關(guān)系,學(xué)習(xí)歷史觀測(cè)數(shù)據(jù)中所蘊(yùn)含的分布關(guān)系,從而對(duì)未來一個(gè)時(shí)間段的變化趨勢(shì)做出預(yù)測(cè)。其中訓(xùn)練數(shù)據(jù)的輸入時(shí)間窗口長(zhǎng)度Tx與待預(yù)測(cè)序列的未來時(shí)間窗口長(zhǎng)度Ty對(duì)模型預(yù)測(cè)效果有很大影響,表1 是不同方法在不同時(shí)間窗口、不同缺失率下的預(yù)測(cè)結(jié)果。
表1 不同方法在不同時(shí)間窗口下的預(yù)測(cè)結(jié)果 Table 1 Prediction results of different methods under different time windows
采用平均均方誤差(Mean Squared Error,MSE)和平均絕對(duì)誤差來衡量預(yù)測(cè)結(jié)果的優(yōu)劣,其計(jì)算式見式(15)和式(16),MSE 和MAE 的值越小代表預(yù)測(cè)值與真實(shí)值的差距越小,預(yù)測(cè)效果越理想。
由表1 可知,隨著待預(yù)測(cè)長(zhǎng)度Ty的增加,模型預(yù)測(cè)的MSE 值相比于真實(shí)的Ty值增加,代表其預(yù)測(cè)的準(zhǔn)確率下降。橫向預(yù)測(cè)最重要的目的是對(duì)缺失數(shù)據(jù)進(jìn)行填充,而預(yù)測(cè)的數(shù)據(jù)可以作為縱向預(yù)測(cè)時(shí)的參考輸入。
縱向預(yù)測(cè)采用5 個(gè)歷史采樣點(diǎn)和橫向長(zhǎng)度為Tx的預(yù)測(cè)值共同作為縱向預(yù)測(cè)的輸入,并將輸出結(jié)果與橫向預(yù)測(cè)的輸出值通過線性回歸擬合,作為最終的預(yù)測(cè)輸出。表2 給出了在不同時(shí)間窗口條件下,不同方法的縱向預(yù)測(cè)結(jié)果對(duì)比。表中加粗?jǐn)?shù)字代表該組數(shù)據(jù)最優(yōu)值,加下劃線的數(shù)字代表該組數(shù)據(jù)的次優(yōu)結(jié)果,“交替”代表本文所提出的縱向橫向交替預(yù)測(cè)方法。
表2 不同時(shí)間窗口下的縱向預(yù)測(cè)結(jié)果對(duì)比 Table 2 Comparison of vertical prediction results under different time windows
以預(yù)測(cè)窗口長(zhǎng)度30 為例,圖7 給出了30%數(shù)據(jù)缺失條件下公測(cè)數(shù)據(jù)集和仿真數(shù)據(jù)集最終輸出y值的預(yù)測(cè)效果。
圖7 30%數(shù)據(jù)缺失條件下不同數(shù)據(jù)集的預(yù)測(cè)結(jié)果Fig.7 Prediction results of different data set under 30% missing data conditions
通過上述實(shí)驗(yàn)可以看出,交替循環(huán)神經(jīng)網(wǎng)絡(luò)在大部分情況下都達(dá)到了最優(yōu)或次優(yōu)的預(yù)測(cè)效果,證明了本文模型的有效性。
為驗(yàn)證可變權(quán)重?fù)p失對(duì)本文模型訓(xùn)練的影響,分別對(duì)使用不同類型的損失函數(shù)在縱向預(yù)測(cè)時(shí),在完全數(shù)據(jù)、30%數(shù)據(jù)缺失和60%數(shù)據(jù)缺失時(shí)的效果進(jìn)行評(píng)估,結(jié)果如表3 所示,其中:MSE 和MAE 值是針對(duì)原始未經(jīng)隨機(jī)缺失數(shù)據(jù)樣本計(jì)算的,計(jì)算長(zhǎng)度為預(yù)測(cè)區(qū)間Ty=20 時(shí)所對(duì)應(yīng)的值;“VL”表示使用式(17)的損失函數(shù)訓(xùn)練;L1 和L2 分別代表采用基于MAE 的損失函數(shù)和基于MSE 的損失函數(shù)。
表3 不同損失函數(shù)及不同缺失數(shù)據(jù)條件下的預(yù)測(cè)結(jié)果對(duì)比Table 3 Comparison of prediction results under different loss functions and different missing data conditions
由表3 可知,可變權(quán)重?fù)p失的引入大幅提升了模型預(yù)測(cè)性能。圖8 是3 種不同損失函數(shù)在完全數(shù)據(jù)條件下訓(xùn)練時(shí)所對(duì)應(yīng)的損失值,迭代次數(shù)均為300次,訓(xùn)練長(zhǎng)度Tx取值180。
圖8 不同損失函數(shù)對(duì)應(yīng)的訓(xùn)練損失值Fig.8 Training loss values corresponding to different loss functions
由圖8 可知,相比于LMSE[圖8(a)]、LMAE[圖8(b)],采用本文式(18)的損失函數(shù)[圖8(c)],且考慮缺失數(shù)據(jù)填充造成的可能誤差,可以更好地提高訓(xùn)練的效果。
本文將水下防御對(duì)抗建模為多變量時(shí)間序列預(yù)測(cè)問題,通過自回歸實(shí)現(xiàn)對(duì)不同變量趨勢(shì)的預(yù)測(cè)與表征,通過將不同程度的數(shù)據(jù)缺失以統(tǒng)一框架進(jìn)行自適應(yīng)表示,以解決多變量時(shí)序存在缺失的問題。使用縱向時(shí)序預(yù)測(cè)模型充分提取多變量之間的關(guān)系,提高模型在部分觀測(cè)不明、外部變量不明情況下的魯棒性和遷移能力。實(shí)驗(yàn)結(jié)果表明,本文通過基于深度LSTM 的縱橫交替預(yù)測(cè)和回歸方法,結(jié)合基于損失權(quán)重的損失函數(shù)反向傳播,實(shí)現(xiàn)了較長(zhǎng)時(shí)間段的數(shù)據(jù)插補(bǔ)和趨勢(shì)預(yù)測(cè),對(duì)水下目標(biāo)的位置預(yù)測(cè)具有一定參考價(jià)值。下一步將針對(duì)基于深度LSTM的模型進(jìn)行改進(jìn),探究在水下對(duì)抗中進(jìn)行序貫決策的方法。