韓 超
(海裝沈陽局駐大連地區(qū)第一軍事代表室 大連 116000)
雷達(dá)航跡預(yù)測(cè)是雷達(dá)目標(biāo)跟蹤的關(guān)鍵環(huán)節(jié),其主要目的是利用目標(biāo)航空器的歷史航跡數(shù)據(jù),預(yù)估其未來軌跡。隨著戰(zhàn)場(chǎng)環(huán)境日益復(fù)雜和干擾技術(shù)的快速發(fā)展,對(duì)敵對(duì)目標(biāo)的航跡預(yù)測(cè)需要面對(duì)更多的干擾因素,由此帶來的誤差問題對(duì)雷達(dá)機(jī)動(dòng)航跡預(yù)測(cè)提出了日益嚴(yán)峻的考驗(yàn)。
目前關(guān)于飛行器的短期預(yù)測(cè)算法大致可分為兩類。其中一類方法為傳統(tǒng)機(jī)器學(xué)習(xí),運(yùn)用卡爾曼濾波算法對(duì)觀測(cè)數(shù)據(jù)進(jìn)行最小二乘估計(jì),使用諸如卡爾曼濾波算法[1]、競(jìng)爭神經(jīng)網(wǎng)絡(luò)[2]、支持量機(jī)[3]、灰色模型結(jié)合馬爾科夫鏈[4]等方法對(duì)飛行器的航跡進(jìn)行處理,并給出軌跡預(yù)測(cè)。此類方法的缺陷是較為明顯的,那就是依賴專家知識(shí)搭建目標(biāo)飛行器的動(dòng)力學(xué)方程,無法進(jìn)行實(shí)時(shí)預(yù)測(cè),且易受到外部環(huán)境因素的影響。另一類方法為神經(jīng)網(wǎng)絡(luò)算法的若干變種[5],相較于上面一類算法,它們具備用時(shí)短、通用性強(qiáng)等特點(diǎn),能夠滿足對(duì)飛行器軌跡預(yù)測(cè)的實(shí)時(shí)、高效的要求,但針對(duì)復(fù)雜的海面飛行器軌跡預(yù)測(cè)問題,神經(jīng)網(wǎng)絡(luò)的映射表達(dá)能力有限,參數(shù)難以調(diào)整,且在本質(zhì)上算法更容易使得損失函數(shù)的訓(xùn)練結(jié)果落入局部最優(yōu)點(diǎn)而不是全局最優(yōu)點(diǎn),且無法針對(duì)時(shí)間序列上的變化進(jìn)行建模。
本文充分結(jié)合PSO算法和LSTM網(wǎng)絡(luò)的設(shè)計(jì)思想,以PSO優(yōu)化實(shí)現(xiàn)LSTM航跡預(yù)測(cè)網(wǎng)絡(luò)在訓(xùn)練中的自動(dòng)調(diào)參,通過對(duì)LSTM超參數(shù)的全局尋優(yōu),實(shí)現(xiàn)航跡預(yù)測(cè)效果的提升。
定義1若一個(gè)遞歸神經(jīng)網(wǎng)絡(luò)隱藏層單元具備如下特征,則稱該單元為LSTM單元。
圖1 LSTM隱藏層單元結(jié)構(gòu)圖
其中,it為輸入門,ot為輸出門,ft為遺忘門;ht-1為t-1時(shí)刻隱藏層狀態(tài),ht為t時(shí)刻隱藏層狀態(tài);xt為t時(shí)刻輸入層狀態(tài);σ為Sigmoid函數(shù),tanh為雙曲正切函數(shù),Ct為t時(shí)刻單元狀態(tài);Ct-1為t-1時(shí)刻單元狀態(tài);為記憶單元的輸入狀態(tài)。算法的執(zhí)行步驟如下。
步驟1利用遺忘門篩選ht-1和xt信息
式中,bf為遺忘門的偏置項(xiàng)。
步驟2利用輸入門確定此時(shí)須更新的數(shù)值和即將加入的新單元狀態(tài)
式中,bt,bC為輸入門的偏置項(xiàng);Wt,WC為輸入門權(quán)重。
步驟3綜合輸入門和遺忘門的信息計(jì)算單元狀態(tài)Ct:
步驟4利用輸出門,將Ct傳遞給激活函數(shù)獲得最終輸出:
PSO算法是一種對(duì)多維搜索空間內(nèi)最優(yōu)解的搜尋算法。其核心原理是在空間內(nèi)維持一定數(shù)量的粒子,每個(gè)粒子均代表問題的一個(gè)可能解,包含位置、速度和適應(yīng)度三項(xiàng)指標(biāo)。粒子在解空間內(nèi)移動(dòng),并通過粒子間信息交互,不斷迭代尋找較優(yōu)區(qū)域,從而實(shí)現(xiàn)在整個(gè)解空間內(nèi)的最優(yōu)化過程。
PSO算法的實(shí)現(xiàn)步驟如圖2所示。
圖2 PSO算法流程圖
步驟1初始化粒子群參數(shù)。設(shè)目標(biāo)粒子群位于D維解空間中,包含N個(gè)粒子,個(gè)體歷史最優(yōu)適應(yīng)度值為fp,種群歷史最優(yōu)適應(yīng)度值為fg,則有初始粒子群參數(shù)如下所示。
式中,Xid和Vid為第i個(gè)粒子的位置與速度;Pid,pbest為個(gè)體最優(yōu)解;Pd,gbest為種群最優(yōu)解。
步驟2若全局最優(yōu)位置滿足最小界限,則輸出全局最優(yōu)位置并結(jié)束,否則執(zhí)行步驟3。
步驟3對(duì)粒子速度進(jìn)行迭代更新。
式中,ω為慣性權(quán)重,表征了粒子維持當(dāng)前運(yùn)動(dòng)趨勢(shì),在全局與局部極值間的平衡;c1和c2為學(xué)習(xí)因子,用于調(diào)整粒子向自身與全局最優(yōu)值前進(jìn)的步長;r1和r2為滿足[0,1]間均勻分布的隨機(jī)數(shù)。
步驟4對(duì)粒子位置進(jìn)行迭代更新。
式中,λ為速度系數(shù)。
步驟5根據(jù)步驟3與步驟4中的結(jié)果,對(duì)比歷史個(gè)體最優(yōu)位置與全局最優(yōu)位置,若較好,則將其保存為個(gè)體最優(yōu)位置或全局最優(yōu)位置,并跳轉(zhuǎn)至步驟2。
經(jīng)典的PSO算法在解空間尋優(yōu)過程中可能會(huì)出現(xiàn)容易陷入局部極值、搜索精度低等問題。為了加快收斂速度、避免陷入局部最優(yōu)值,本文構(gòu)建了慣性權(quán)重與學(xué)習(xí)因子的動(dòng)態(tài)變化公式,將固定參數(shù)轉(zhuǎn)換為非線性變換參數(shù),以改善收斂的精度和速度。
步驟1慣性權(quán)重ω的自適應(yīng)改進(jìn)。慣性參數(shù)決定了粒子的歷史飛行狀態(tài)對(duì)當(dāng)前飛行速度的影響力,對(duì)于在局部尋優(yōu)與全局尋優(yōu)間取得均衡具有重要意義。慣性權(quán)重應(yīng)當(dāng)與粒子種群狀態(tài)有關(guān):在尋優(yōu)的初期,應(yīng)當(dāng)盡可能擴(kuò)張每個(gè)粒子的搜索空間;在尋優(yōu)后期,應(yīng)當(dāng)逐步收斂至適應(yīng)度值較好的區(qū)域,并進(jìn)行精細(xì)搜索。其表達(dá)式為
式中,g為當(dāng)前的迭代次數(shù);a為慣性權(quán)重的最大值值,b為慣性權(quán)重的最小值;gmax代表迭代次數(shù)的最大值。
步驟2學(xué)習(xí)因子c1和c2的自適應(yīng)改進(jìn)。其中,是粒子自我認(rèn)知的體現(xiàn),用于對(duì)粒子自身知識(shí)進(jìn)行總結(jié);是粒子社會(huì)認(rèn)知的體現(xiàn),用于向表現(xiàn)更好的粒子學(xué)習(xí);在尋優(yōu)初期,我們需要關(guān)注個(gè)體自我認(rèn)識(shí)的能力,而后期則應(yīng)注重個(gè)體獲取社會(huì)信息的能力。由此其表達(dá)式為
式中,g為當(dāng)前迭代次數(shù);gmax為最大迭代次數(shù);e1和f1取值1,e2和f2取值2。
由于航跡數(shù)據(jù)在微觀上具備小幅震蕩特征。在這樣的前提下,如果LSTM模型的參數(shù)過多而訓(xùn)練樣本不足時(shí)(這種情況極為常見),會(huì)誘發(fā)過擬合現(xiàn)象,表現(xiàn)為航跡圖像上的毛刺與震蕩,泛化性和準(zhǔn)確性變差。為了解決這一問題,我們?cè)贚STM模型中引入Dropout正則化層,其核心思想是在每輪訓(xùn)練中令隨機(jī)部分LSTM單元暫時(shí)失活,使模型不再依賴于部分節(jié)點(diǎn)之間的耦合作用,如圖3所示。
圖3 PSO算法流程圖
Dropout層的算法步驟如下。
步驟1利用伯努利法設(shè)置激活概率ρ。設(shè)網(wǎng)絡(luò)的激活函數(shù)為Sigmoid函數(shù),輸入為X=[x1,...,xm],單元初始權(quán)重為W=[ω1,...,ωm],則LSTM單元的激活值如下式所示。
式中,M為服從伯努利分布的掩模矩陣,其中每個(gè)元素為1的概率為ρ;b為偏置值。
步驟2通過ρ備份并刪除BiSRU網(wǎng)絡(luò)隱藏層中的部分單元,并進(jìn)行本輪訓(xùn)練。
步驟3恢復(fù)在步驟2中刪除的BiSRU網(wǎng)絡(luò)隱藏層單元。轉(zhuǎn)至步驟2,直至所有數(shù)據(jù)訓(xùn)練完成。
將基于自適應(yīng)權(quán)重的PSO算法與LSTM算法進(jìn)行結(jié)合,構(gòu)建組合模型,如圖4所示。設(shè)目標(biāo)飛行器第k個(gè)雷達(dá)航跡點(diǎn)特征Fk坐標(biāo)輸入該模型的格式為
圖4 PSO-LSTM模型結(jié)構(gòu)圖
式中:Lngk為當(dāng)前時(shí)刻點(diǎn)的經(jīng)度,Latk為當(dāng)前時(shí)刻點(diǎn)的緯度,Heightk為當(dāng)前時(shí)刻點(diǎn)的高度,t為當(dāng)前時(shí)刻時(shí)間。
步驟1航跡數(shù)據(jù)預(yù)處理。包括坐標(biāo)系轉(zhuǎn)換、重復(fù)航跡點(diǎn)剔除、缺失航跡點(diǎn)填充、異常值處理等步驟,并按7:3的比例切割為訓(xùn)練集與預(yù)測(cè)集。
步驟2初始化粒子種群X。設(shè)置粒子群種群規(guī)模、迭代次數(shù)、初始速度與位置區(qū)間。
步驟3初始化粒子速度、位置。隨機(jī)產(chǎn)生一個(gè)X中粒子xi,0(α,ε,ρ),其中,(α,ε,ρ)為粒子群的尋優(yōu)參數(shù),α為LSTM層的隱藏層單元數(shù);ε為學(xué)習(xí)率;ρ為Dropout層丟棄概率。
步驟4設(shè)置本文模型的誤差指標(biāo)為適應(yīng)度值,包含均方根誤差(Root Mean Square Error,RMSE)與平均絕對(duì)值誤差(Mean Absolute Error,MAE)兩種指標(biāo)。其中,RMSE通常表示為真實(shí)值與預(yù)測(cè)值偏差值的標(biāo)準(zhǔn)差;MAE是絕對(duì)誤差的平均值,通常表示為偏差在樣本上的均值。對(duì)兩種指標(biāo)的定義如下。
式中,n為航跡數(shù)據(jù)集內(nèi)樣本點(diǎn)數(shù)量;xi為第i個(gè)航跡樣本點(diǎn)的實(shí)際值;為第i個(gè)航跡樣本點(diǎn)的預(yù)測(cè)值。
步驟5根據(jù)適應(yīng)度值變化,更新單個(gè)粒子的個(gè)體最優(yōu)位置與全局最優(yōu)位置,并更新自身的位置坐標(biāo)與速度。
步驟6粒子群迭代更新,直至適應(yīng)度值RMSE與MAE趨于穩(wěn)定,并確定尋優(yōu)參數(shù)(α,ε,ρ)數(shù)值。
步驟7將最優(yōu)參數(shù)輸入至LSTM網(wǎng)絡(luò),訓(xùn)練并進(jìn)行預(yù)測(cè)。
為了證明模型的有效性,仿真實(shí)驗(yàn)在某型多源信息融合系統(tǒng)仿真平臺(tái)上完成。我們選擇雷達(dá)數(shù)據(jù)集中的5000個(gè)包含正常值和異常值的連續(xù)航跡數(shù)據(jù)流進(jìn)行預(yù)測(cè)。并使用BP神經(jīng)網(wǎng)絡(luò)、FC-LSTM算法與本文的PSO-LSTM算法進(jìn)行對(duì)比實(shí)驗(yàn)。
PSO-LSTM航跡預(yù)測(cè)模型初始參數(shù)設(shè)置如表1所示,尋優(yōu)參數(shù)范圍設(shè)置如表2所示。
表1 PSO-LSTM初始參數(shù)設(shè)置
表2 PSO-LSTM尋優(yōu)參數(shù)范圍設(shè)置
由圖5(a)可見,適應(yīng)度值在26次迭代后趨于穩(wěn)定,可得到最優(yōu)解;由圖5(b)可見,LSTM隱藏層神經(jīng)元單元數(shù)量同樣在26次迭代后穩(wěn)定,最優(yōu)神經(jīng)元數(shù)量為25;由圖5(c)可見,學(xué)習(xí)率在11次迭代后趨于穩(wěn)定,最優(yōu)學(xué)習(xí)率為0.0087;由圖5(d)可見,Dropout層概率在40次迭代后趨于穩(wěn)定,最優(yōu)概率為0.45。
圖5 PSO優(yōu)化超參數(shù)變化曲線
由圖6與表3所示,PSO-LSTM航跡預(yù)測(cè)模型的RMSE為5.953121,相對(duì)于FC-LSTM模型降低了0.32,相對(duì)于BP模型降低了3.47;PSO-LSTM模型的MAE為4.841432,相對(duì)于FC-LSTM模型降低了0.65,相對(duì)于BP模型降低了3.06。說明PSO-LSTM模型相對(duì)于傳統(tǒng)算法改進(jìn)了尋優(yōu)能力,在預(yù)測(cè)精準(zhǔn)度與準(zhǔn)確性上有所提升。
圖6 航跡預(yù)測(cè)效果圖
表3 不同預(yù)測(cè)模型評(píng)估指標(biāo)
本實(shí)驗(yàn)使用的計(jì)算機(jī)配置為AMD Ryzen 7 3700X8-Core Processor 3.60 GHz,Windows操作系統(tǒng)。實(shí)驗(yàn)數(shù)據(jù)為人工生成,實(shí)驗(yàn)使用Python語言在Pytorch平臺(tái)下訓(xùn)練。
本文提出了一種基于改進(jìn)PSO優(yōu)化的LSTM航跡預(yù)測(cè)模型,利用PSO算法解決了LSTM網(wǎng)絡(luò)的自動(dòng)參數(shù)尋優(yōu)問題,能夠降低人為因素對(duì)網(wǎng)絡(luò)的干擾,高效地實(shí)現(xiàn)重要超參數(shù)的自動(dòng)調(diào)整。使用某飛行器數(shù)據(jù)進(jìn)行實(shí)驗(yàn),本文模型相對(duì)傳統(tǒng)模型的RMSE與MAE值均有下降,證明了本文方法的有效性。