周紅進(jìn), 宋 輝, 范文良, 王 蘇, 谷東亮
(1. 海軍大連艦艇學(xué)院航海系, 遼寧 大連 116018; 2. 國家檢察官學(xué)院信息技術(shù)部, 北京 102206)
慣性導(dǎo)航系統(tǒng)(inertial navigation system, INS)能夠獨立工作、可在不依賴于任何外部信息的條件下,為載體提供位置、速度、航向和姿態(tài)等全量導(dǎo)航信息。INS的這種優(yōu)越特性使其在軍事領(lǐng)域中得到了廣泛應(yīng)用。船用INS具有工作時間長、對定位精度要求高的特點,獨立自主工作的INS的定位誤差隨著時間的延長逐漸發(fā)散且超出誤差限制。為此,通常將INS與全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system, GNSS)進(jìn)行組合導(dǎo)航以提高INS的定位精度、延長INS保精度的時間。在GNSS失效時,INS的定位誤差將快速發(fā)散。
為了提高慣導(dǎo)獨立工作時的定位精度,傳統(tǒng)的做法是測量陀螺漂移和加速度計零偏并在慣導(dǎo)定位解算過程中加以補(bǔ)償,如陀螺殼體旋轉(zhuǎn)法、平臺旋轉(zhuǎn)調(diào)制法、H調(diào)制法、應(yīng)用監(jiān)控陀螺(監(jiān)控器)法等[1-4],這些方法都是陀螺漂移的自校正方法,需要對INS進(jìn)行補(bǔ)充硬件設(shè)計開發(fā),提高了INS的控制復(fù)雜度,也增加了INS的成本。也有利用外部提供的準(zhǔn)確位置(GNSS定位信息)和航向信息估計陀螺漂移,從而對INS進(jìn)行校正的[5-9]方法。在深遠(yuǎn)海航行環(huán)境下,一旦遭遇GNSS拒止,這種方法難以實現(xiàn)。還有通過零速校正提高INS定位精度的[10]方法,這種方法需要艦船周期性的停車,直至獲得零速才可實施,這對于承擔(dān)作戰(zhàn)任務(wù)的艦艇而言是不切實際的。
近年來,基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)技術(shù)發(fā)展迅速,在人工智能等自主學(xué)習(xí)領(lǐng)域已經(jīng)展現(xiàn)出巨大的應(yīng)用前景。神經(jīng)網(wǎng)絡(luò)在慣性導(dǎo)航領(lǐng)域的應(yīng)用研究也開始增多[11-23]。文獻(xiàn)[11]和文獻(xiàn)[12]率先使用單隱藏層的反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural net, BPNN)來預(yù)測定位和速度誤差。文獻(xiàn)[13-16]將小波神經(jīng)網(wǎng)絡(luò)和強(qiáng)跟隨器相結(jié)合,利用位置信息提出INS誤差補(bǔ)償方法。文獻(xiàn)[17-19]總結(jié)了很多基于人工智能的定位誤差抑制算法,提出了自適應(yīng)模糊神經(jīng)網(wǎng)絡(luò)。這些早期的文獻(xiàn)從理論角度探索了神經(jīng)網(wǎng)絡(luò)在慣性導(dǎo)航領(lǐng)域中的應(yīng)用。文獻(xiàn)[20]提出將長短時記憶(long short term memory, LSTM)網(wǎng)絡(luò)用于訓(xùn)練微機(jī)電系統(tǒng)(micro-electric mechanical system, MEMS)的誤差修正模型,在GNSS失效時將MEMS輸入至訓(xùn)練得到的模型,得到東向、北向位置增量,從而提高M(jìn)EMS獨立工作時的定位精度。文獻(xiàn)[21]以當(dāng)前時間、東北向速度增量、姿態(tài)增量為輸入,以東北向位置增量和航姿增量為輸出,構(gòu)建了基于Bagging的神經(jīng)網(wǎng)絡(luò),在全球定位系統(tǒng)(global position systern, GPS)失效時,利用訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)預(yù)測東北向位置增量和航姿增量,進(jìn)行定位修正。文獻(xiàn)[22]采用BPNN神經(jīng)網(wǎng)絡(luò)直接擬合加速度計脈沖輸出與速度增量間的計算關(guān)系,在高超聲速飛行器飛行初始階段存儲INS數(shù)據(jù)和衛(wèi)導(dǎo)數(shù)據(jù),從中段開始訓(xùn)練網(wǎng)絡(luò),在衛(wèi)導(dǎo)中斷的末段啟用神經(jīng)網(wǎng)絡(luò)計算速度增量,開始定位解算。文獻(xiàn)[23]提出改進(jìn)膨脹卷積神經(jīng)網(wǎng)絡(luò)對慣性測量單元(inertial measurement unit, IMU)的陀螺儀誤差進(jìn)行標(biāo)定補(bǔ)償,利用時間卷積神經(jīng)網(wǎng)絡(luò)檢測車輛運(yùn)動狀態(tài)(零速、平面零速、垂向零速),結(jié)合二者處理結(jié)果,采用不變擴(kuò)展卡爾曼濾波(invariant extend Kalman filter, IEKF)進(jìn)行信息融合,估計車輛位置。上述方法訓(xùn)練網(wǎng)絡(luò)的輸出有陀螺漂移、速度增量、位置增量,都需要考慮INS的誤差模型,均存在訓(xùn)練樣本少、訓(xùn)練時間長,模型參數(shù)相對固定、訓(xùn)練得到的模型在后續(xù)INS獨立工作時保精度時間不明等問題。
本文提出一種改進(jìn)的BPNN,該神經(jīng)網(wǎng)絡(luò)由輸入層、1個隱藏層和輸出層組成,以INS原始數(shù)據(jù)作為輸入,以載體位置作為輸出,直接訓(xùn)練網(wǎng)絡(luò)建立INS解算位置的數(shù)學(xué)模型。采用Bayesian算法動態(tài)訓(xùn)練調(diào)整各層間的權(quán)重系數(shù)和偏差值,以抑制由陀螺儀漂移和加速度計零偏造成的定位誤差,結(jié)合理論分析和試驗研究確定了神經(jīng)元個數(shù)、訓(xùn)練數(shù)據(jù)集的分配方案。實船測試結(jié)果表明,INS獨立工作時,經(jīng)過神經(jīng)網(wǎng)絡(luò)修正后的定位誤差顯著低于INS自身的定位誤差,且延長了INS保精度的時間。
船用捷聯(lián)INS(strap-down INS, SINS)在計算機(jī)中建立數(shù)學(xué)平臺,計算機(jī)根據(jù)陀螺儀和加速度計的測量輸出解算載體位置、速度、航姿等信息。圖1所示為船用SINS解算導(dǎo)航參數(shù)的流程[24]。
圖1 船用SINS解算導(dǎo)航參數(shù)流程圖Fig.1 Navigation parameters resolution flowchart of ship SINS
對于船用SINS,姿態(tài)解算非常關(guān)鍵。通常選擇當(dāng)?shù)氐乩硭阶鴺?biāo)系作為導(dǎo)航坐標(biāo)系。載體的姿態(tài)是指載體坐標(biāo)系相對導(dǎo)航坐標(biāo)系的旋轉(zhuǎn)關(guān)系??梢圆捎梅较蛴嘞揖仃囁惴ń馑爿d體姿態(tài)。
(1)
(2)
方程式(1)的解可以寫成如下形式:
(3)
由Ck+1即可解算載體姿態(tài)。
船用捷聯(lián)慣導(dǎo)速度解算方程為
(4)
載體的位置更新方程為
(5)
式中:P為載體在導(dǎo)航坐標(biāo)系下的位置矢量,ξ為載體線速度到經(jīng)緯度變化率的轉(zhuǎn)換矩陣。
式中:RM為卯酉圈半徑;RN為子午圈半徑;h為距離地球表面的高度;φ為載體緯度。
SINS陀螺儀和加速度計的輸出包含常值誤差和隨機(jī)誤差。由式(1)、式(4)、式(5)可以得到SINS誤差方程
(6)
船用SINS原始輸出為陀螺儀測量的載體角速度、加速度計測量的載體線加速度。在已知初始位置和速度的情況下,即可根據(jù)式(1)、式(4)、式(5)進(jìn)行位置、速度和姿態(tài)解算。INS定位結(jié)果與陀螺儀和加速度計的測量量以及時間存在多輸入與多輸出的映射關(guān)系。
(λ,φ)=f(Δt,λINS,φINS,vx,vy,Ax,Ay,Az,ωx,ωy,ωz)
(7)
考慮使用一個合適的神經(jīng)網(wǎng)絡(luò)擬合其映射關(guān)系f,將INS誤差補(bǔ)償模型包含進(jìn)神經(jīng)網(wǎng)絡(luò)擬合的映射關(guān)系中,網(wǎng)絡(luò)直接輸出修正后的經(jīng)緯度。這種方法既可以降低根據(jù)式(6)建立的誤差修正模型帶來的神經(jīng)網(wǎng)絡(luò)復(fù)雜度,提高網(wǎng)絡(luò)訓(xùn)練速度,也有助于提高INS定位修正的效率。
BPNN具有強(qiáng)大的非線性映射能力,且具備結(jié)構(gòu)簡單的優(yōu)點[25],非常適合擬合陀螺儀和加速度計的測量值與INS解算經(jīng)緯度之間的非線性函數(shù)關(guān)系。考慮到INS誤差有其自身內(nèi)在的規(guī)律,為了避免過擬合,提高神經(jīng)網(wǎng)絡(luò)的泛化性,將INS解算的經(jīng)緯度作為第二輸入,這樣就可構(gòu)建一個輸入為x1=(Δt,λINS,φINS,vx,vy,Ax,Ay,Az,ωx,ωy,ωz)、x2=(λGNSS,φGNSS),輸出為y=(λGNSS,φGNSS)的13輸入2輸出的BPNN結(jié)構(gòu)。根據(jù)模型復(fù)雜度的需求,建立含有一個隱藏層的網(wǎng)絡(luò)進(jìn)行訓(xùn)練。如圖2所示為BPNN訓(xùn)練模型。當(dāng)GNSS有效時,x2=(λGNSS,φGNSS),當(dāng)GNSS失效時,x2=(λINS,φINS)。
圖2 BPNN訓(xùn)練模型Fig.2 BPNN training model
隱藏層激活函數(shù)為tansig,輸出層激活函數(shù)為purelin,表達(dá)式為
(8)
GNSS有效時,INS可以正常獲取GNSS定位信息。因此采用GNSS定位結(jié)果與INS定位結(jié)果的差值的均方誤差(mean square error, MSE)作為損失函數(shù),以評價網(wǎng)絡(luò)訓(xùn)練效果。MSE的計算公式為
(9)
式中:K為訓(xùn)練樣本中的數(shù)據(jù)量;λGNSS,φGNSS為衛(wèi)星導(dǎo)航經(jīng)緯度;λy,φy為神經(jīng)網(wǎng)絡(luò)輸出經(jīng)緯度。
神經(jīng)網(wǎng)絡(luò)的權(quán)重直接決定了模型的性能。權(quán)重更新算法直接影響模型對輸入輸出關(guān)系的擬合能力。常用的L-M(Levenberg-Marquart)算法是牛頓法的改進(jìn),能夠避免在雅克比矩陣奇異或病態(tài)時發(fā)生的不收斂的情況。該算法通過直接計算黑塞矩陣,減少了訓(xùn)練中的計算量,對于中等規(guī)模的BPNN有較快的收斂速度[26]。但L-M算法基于點集合訓(xùn)練權(quán)重參數(shù),是一種根據(jù)反向傳播誤差確定性更新權(quán)重參數(shù)的方法,容易過擬合模型。因此,這種方法對于包含各種隨機(jī)噪聲的輸入數(shù)據(jù)集抑制效果較差,模型泛化能力不足。
考慮到INS誤差周期長,訓(xùn)練數(shù)據(jù)集必須足夠長,即至少需要24 h的歷史數(shù)據(jù)才能訓(xùn)練出符合INS誤差規(guī)律的解算模型。本文采用Bayesian算法進(jìn)行權(quán)重更新。Bayesian權(quán)重更新算法不是訓(xùn)練單個網(wǎng)絡(luò),而是訓(xùn)練網(wǎng)絡(luò)集合,每個網(wǎng)絡(luò)的權(quán)重來自共享的學(xué)習(xí)概率分布。Bayesian估計與最大似然估計的區(qū)別是Bayesian估計可求出權(quán)重參數(shù)W的后驗分布P(W|D)(D為輸入數(shù)據(jù)集),這樣就可以為神經(jīng)網(wǎng)絡(luò)的預(yù)測引入不確定性,從而提高神經(jīng)網(wǎng)絡(luò)的泛化能力。
(10)
式中:ΕP(W|D)為期望值。
式(10)需要計算在P(W|D)上的所有可能的神經(jīng)網(wǎng)絡(luò)的預(yù)測值,但是后驗分布P(W|D)難以直接計算。為了計算P(W|D),可以采用變分的方法,使用一個由一組參數(shù)θ控制的分布q(W|θ)逼近真正的后驗分布P(W|D)。比如,可以用高斯分布(μ,σ)近似θ,這樣就把求后驗分布的問題轉(zhuǎn)化為了求最優(yōu)θ的問題。這個過程可以通過最小化兩個分布的KL(Kullback-Leibler)散度實現(xiàn):
(11)
式(11)可以寫成目標(biāo)函數(shù):
F(D,θ)=DKL[q(W|θ)|P(W)]-Εq(W|θ)[lgP(D|W)]
(12)
式(12)的第一項就是變分后驗和先驗的KL散度,第二項的取值依賴于訓(xùn)練數(shù)據(jù)。第一項叫做復(fù)雜性代價,第二項叫做似然代價,用于描述對樣本的擬合程度。
對于P(W),可以給出一個混合尺度高斯先驗分布:
(13)
即對于每個權(quán)重,其分布的先驗都是兩種相同均值、不同標(biāo)準(zhǔn)差的高斯分布的疊加。
繼續(xù)對目標(biāo)函數(shù)式(11)取近似:
(14)
式中:W(i)是處理第i個數(shù)據(jù)點時的權(quán)重采樣。
根據(jù)式(14)可以計算式(12),由式(12)可以計算θ的最優(yōu)分布,進(jìn)而逼近后驗分布P(W|D)。
對于定位修正模型,輸出為經(jīng)度、緯度。輸入為不同時刻的INS原始數(shù)據(jù)和衛(wèi)導(dǎo)定位結(jié)果,包括:時間、東向、北向、天向加速度計測量輸出和陀螺儀測量輸出,INS東向、北向速度,INS經(jīng)度、緯度,衛(wèi)導(dǎo)經(jīng)度、緯度。
輸入序列:x1=(t,λINS,φINS,vx,vy,Ax,Ay,Az,ωx,ωy,ωz)i,x2=(λGNSS,φGNSS)i。輸出序列:y=(λ,φ)i。
訓(xùn)練流程如圖3所示。當(dāng)GNSS有效時,利用GNSS定位結(jié)果,通過反向傳播的隨機(jī)梯度下降法來計算神經(jīng)網(wǎng)絡(luò)參數(shù)。當(dāng)GNSS失效時,采用SINS的數(shù)據(jù)取代GNSS,神經(jīng)網(wǎng)絡(luò)工作在自主修正模式。
圖3 算法訓(xùn)練流程Fig.3 Algorithm training flowchart
由于INS定位誤差包含3種分量:舒勒周期誤差、地球周期誤差和傅科周期誤差。舒勒周期誤差調(diào)制傅科周期誤差。為了避免訓(xùn)練出的模型失真,即背離INS解算數(shù)學(xué)關(guān)系,取訓(xùn)練數(shù)據(jù)集持續(xù)時間約為24 h。
滿足如下條件之一,則停止訓(xùn)練:
(1) 達(dá)到最大迭代周數(shù)1 000;
(2) 訓(xùn)練時間達(dá)到最大限制;
(3) 訓(xùn)練MSE達(dá)到0;
(4) 性能梯度低于最小梯度(一般為1e-7)。
神經(jīng)網(wǎng)絡(luò)訓(xùn)練計算環(huán)境為:CPU:i7_6700@3.4GHz,內(nèi)存16.0 GB,顯卡HD530,操作系統(tǒng)為Windows7。
為了驗證本文提出的INS定位修正方法,實船采集了某型船用SINS的數(shù)據(jù)和GNSS定位數(shù)據(jù)。GNSS系統(tǒng)為Trimble MS860接收機(jī)。海上采集數(shù)據(jù)持續(xù)時間為24 h,艦船航行軌跡如圖4所示。
圖4 艦船航行軌跡Fig.4 Ship trajectory
SINS數(shù)據(jù)輸出頻率為1 Hz,GNSS數(shù)據(jù)輸出頻率為1 Hz。在訓(xùn)練階段,SINS與GNSS進(jìn)行組合導(dǎo)航,以修正INS定位結(jié)果。在驗證階段,關(guān)閉GNSS數(shù)據(jù),直接使用神經(jīng)網(wǎng)絡(luò)修正SINS定位結(jié)果。
神經(jīng)元的個數(shù)與神經(jīng)網(wǎng)絡(luò)處理的問題的復(fù)雜度有關(guān),也直接影響訓(xùn)練效率和網(wǎng)絡(luò)的后續(xù)處理能力和泛化能力。根據(jù)Kolmogorov定理,神經(jīng)元個數(shù)可計算如下:
Nh=2n+1
(15)
式中:n為輸入層結(jié)點個數(shù)。另外,還有一種確定神經(jīng)元個數(shù)的計算公式:
(16)
式中:Ns為訓(xùn)練集樣本數(shù)據(jù)點數(shù);Ni為輸入層結(jié)點個數(shù);No為輸出層結(jié)點個數(shù);α=[2 10]。
本文建立的網(wǎng)絡(luò)輸入層節(jié)點個數(shù)為13,輸出層節(jié)點個數(shù)為2,訓(xùn)練樣本數(shù)據(jù)點數(shù)約為86 400。根據(jù)式(15),神經(jīng)元個數(shù)為27。根據(jù)式(16),神經(jīng)元個數(shù)最少為576。本文參考式(15)、式(16)的結(jié)果,采用試驗的方法確定使用的神經(jīng)元個數(shù)。
將神經(jīng)元個數(shù)分別設(shè)置為30、40、50、60。圖5所示為訓(xùn)練迭代周數(shù)和訓(xùn)練時間隨神經(jīng)元個數(shù)變化的曲線圖。圖6所示為GNSS關(guān)閉后,神經(jīng)網(wǎng)絡(luò)修正后與INS獨立工作定位誤差比對曲線圖。表1為神經(jīng)網(wǎng)絡(luò)修正后與INS獨立工作定位結(jié)果。
表1 INS獨立工作與神經(jīng)網(wǎng)絡(luò)修正后定位誤差Table 1 Position error between independent-working INS and INS with neural networking correction
圖5 訓(xùn)練周數(shù)和時間與神經(jīng)元個數(shù)關(guān)系曲線Fig.5 Training epoch and duration vs. number of neuron
圖6 INS獨立工作與神經(jīng)網(wǎng)絡(luò)修正后定位誤差比對曲線Fig.6 Comparison curve of position error between independent-working inertial navigation system and INS with neural networking correction
從圖5可以看出,隨著神經(jīng)元個數(shù)的增加,訓(xùn)練時間顯著延長,但訓(xùn)練周數(shù)變化微小。這說明隨著神經(jīng)網(wǎng)絡(luò)復(fù)雜度的增大,訓(xùn)練時間成本會顯著增大,對于對實時性要求高的應(yīng)用,則對硬件資源的要求會顯著提高。
從圖6可以看出,神經(jīng)網(wǎng)絡(luò)修正INS定位的效果并不一定隨著神經(jīng)元個數(shù)的增加而變好。神經(jīng)元個數(shù)為30時,在2 h內(nèi),神經(jīng)網(wǎng)絡(luò)修正后定位誤差一致低于INS獨立工作時的定位誤差。當(dāng)神經(jīng)元個數(shù)為40時,在約3 100 s內(nèi),神經(jīng)網(wǎng)絡(luò)修正后的定位誤差小于INS獨立工作時的誤差。在3 100 s之后,神經(jīng)網(wǎng)絡(luò)修正后的定位誤差發(fā)散速度顯然要比INS獨立工作時快;6 800 s之后,神經(jīng)網(wǎng)絡(luò)修正后的定位誤差顯著超過INS獨立工作的定位誤差,神經(jīng)網(wǎng)絡(luò)已經(jīng)不具備誤差修正能力。當(dāng)神經(jīng)元個數(shù)為50時,在2 h內(nèi),神經(jīng)網(wǎng)絡(luò)修正后定位誤差一致明顯低于INS獨立工作的誤差,最小誤差一度為0 m,且誤差隨時間發(fā)散速度低于INS獨立工作時的速度。當(dāng)神經(jīng)元個數(shù)為60時,在約7 200 s內(nèi),神經(jīng)網(wǎng)絡(luò)修正后的定位誤差小于INS獨立工作時的誤差,在其之后神經(jīng)網(wǎng)絡(luò)修正后的定位誤差開始加速隨時間發(fā)散,且大于INS獨立工作時的誤差。
從表1可以發(fā)現(xiàn),神經(jīng)元個數(shù)為50時,對INS定位修正的效果最好,其中誤差均值為640.9 m、均方根誤差為342.4 m,最大值為1 152.8 m;相比INS獨立工作的原值,誤差均值下降63%,均方根誤差基本不變,最大值下降約50%,最小值為0 m。如圖7所示為修正前后INS定位軌跡與GPS定位軌跡。
圖7 INS獨立工作定位軌跡與修正后軌跡(GPS關(guān)閉后2 h)Fig.7 Independent-working INS position trajectory and trajectory with correction (with GPS-off of 2 h)
分析出現(xiàn)上述結(jié)果的原因是:當(dāng)神經(jīng)元個數(shù)不足時,網(wǎng)絡(luò)對INS解算位置的數(shù)學(xué)關(guān)系擬合度不夠,導(dǎo)致誤差偏大;當(dāng)神經(jīng)元個數(shù)過多時,網(wǎng)絡(luò)對INS解算位置的數(shù)學(xué)關(guān)系擬合過度,對由于陀螺漂移和加速度計零偏的隨機(jī)性引起的誤差修正缺乏彈性。合適的神經(jīng)元個數(shù),既能實現(xiàn)INS位置解算模型的擬合,也保證了神經(jīng)網(wǎng)絡(luò)具有一定的泛化能力,從而具有更好的誤差修正能力。
確定神經(jīng)元個數(shù)為50,通過試驗比較本文采用的基于Bayesian的權(quán)重參數(shù)更新方法與傳統(tǒng)的基于L-M算法更新網(wǎng)絡(luò)權(quán)重參數(shù)的方法訓(xùn)練得到的模型性能。表2列出了兩種方法的訓(xùn)練時間、占用內(nèi)存、模型計算時間、修正后的INS定位誤差。其中:訓(xùn)練持續(xù)時間是指利用約24 h的INS和GNSS數(shù)據(jù)訓(xùn)練出定位誤差修正模型參數(shù)所經(jīng)歷的時間;占用內(nèi)存是指訓(xùn)練模型所需要的內(nèi)存;模型計算時間是指批量處理GNSS關(guān)閉后的2 h內(nèi)INS獨立定位數(shù)據(jù)所經(jīng)歷的時間;修正后的INS定位誤差是指經(jīng)過神經(jīng)網(wǎng)絡(luò)模型修正INS原始定位結(jié)果后與GPS定位結(jié)果進(jìn)行比對而得到的誤差。從表2可以看出,L-M方法的模型訓(xùn)練迭代周數(shù)和訓(xùn)練時間相比Bayesian方法多約30%,占用內(nèi)存多90%,模型計算時間接近。L-M修正后INS定位誤差均值為2 941.2 m,誤差均方根為2 190.1 m,最大誤差為16 803.2 m,各項誤差指標(biāo)遠(yuǎn)大于Bayesian方法的修正結(jié)果。L-M方法修正后誤差曲線如圖8所示。由圖8可以發(fā)現(xiàn),在前3 000 s,L-M方法對INS定位誤差具有一定效果,在約3 000 s后,L-M算法已經(jīng)不具備修正INS定位誤差的能力了,且誤差曲線中包含了大量的噪聲。比對試驗結(jié)果進(jìn)一步驗證了L-M算法基于點集合訓(xùn)練權(quán)重參數(shù)導(dǎo)致的過擬合問題。
表2 兩種方法模型性能比較Table 2 Comparison of model performance between two methods
圖8 INS獨立工作與L-M算法修正的定位曲線(神經(jīng)元個數(shù)為60)Fig.8 Position curve of independent-working INS and INS with L-M algorithm correction (60 neurons)
確定神經(jīng)元個數(shù)為50。實驗不同數(shù)據(jù)分配(即訓(xùn)練集、驗證集、測試集比例分布)方案對定位修正的影響。
分配方案A:樣本數(shù)據(jù)個數(shù)為76 755,從數(shù)據(jù)樣本中產(chǎn)生153 510個訓(xùn)練數(shù)據(jù),其中50%的數(shù)據(jù)(76 754個)用于訓(xùn)練網(wǎng)絡(luò),25%的數(shù)據(jù)(38 378個)用于檢測網(wǎng)絡(luò)的泛化能力,25%的數(shù)據(jù)(38 378個)用于獨立評估網(wǎng)絡(luò)在訓(xùn)練中和訓(xùn)練后的性能。
分配方案B:樣本數(shù)據(jù)個數(shù)為76 755,從數(shù)據(jù)樣本中產(chǎn)生153 510個訓(xùn)練數(shù)據(jù),其中70%的數(shù)據(jù)(107 456個)用于訓(xùn)練網(wǎng)絡(luò),15%的數(shù)據(jù)(23 027個)用于檢測網(wǎng)絡(luò)的泛化能力,15%的數(shù)據(jù)(23 027個)用于獨立評估網(wǎng)絡(luò)在訓(xùn)練中和訓(xùn)練后的性能。
分配方案C:樣本數(shù)據(jù)個數(shù)為76 755,從數(shù)據(jù)樣本中產(chǎn)生153 510個訓(xùn)練數(shù)據(jù),其中90%的數(shù)據(jù)(138 158個)用于訓(xùn)練網(wǎng)絡(luò),5%的數(shù)據(jù)(7 676個)用于檢測網(wǎng)絡(luò)的泛化能力,5%的數(shù)據(jù)(7 676個)用于獨立評估網(wǎng)絡(luò)在訓(xùn)練中和訓(xùn)練后的性能。
圖9所示為3種不同的數(shù)據(jù)分配方案訓(xùn)練得到的網(wǎng)絡(luò),在GNSS關(guān)閉后的2 h內(nèi)對INS定位修正的誤差曲線。
圖9 3種訓(xùn)練樣本的INS定位誤差修正曲線Fig.9 Error correction curve of INS position among three training samples
表3所示為3種不同分配方案訓(xùn)練得到的網(wǎng)絡(luò),在GNSS關(guān)閉后,對INS定位誤差進(jìn)行修正后的結(jié)果。
表3 3種數(shù)據(jù)分配方案的INS定位誤差修正結(jié)果Table 3 Position error correction results of INS via three data training distribution schemes
從圖9可以看出,用于訓(xùn)練的數(shù)據(jù)量過少,神經(jīng)網(wǎng)絡(luò)擬合INS位置解算與慣性元件測量量之間的數(shù)學(xué)關(guān)系不準(zhǔn)確,其表現(xiàn)就是神經(jīng)網(wǎng)絡(luò)修正后的INS定位誤差規(guī)律偏離其一般規(guī)律,這一點隨著時間的延長愈發(fā)明顯;訓(xùn)練的數(shù)據(jù)量過多,神經(jīng)網(wǎng)絡(luò)擬合INS位置解算與慣性元件測量量之間的數(shù)學(xué)關(guān)系過于精確,對陀螺儀和加速度計隨機(jī)誤差引起的定位誤差缺乏平滑能力,其表現(xiàn)是修正能力持續(xù)時間縮短,泛化能力變?nèi)酢?/p>
船用INS工作時間長,隨著時間延長,INS獨立工作時的定位誤差將快速發(fā)散并無法使用。為了延長INS獨立工作時保精度的時間,本文使用BPNN模型設(shè)計了INS定位預(yù)測修正方案,基于Bayesian算法更新網(wǎng)絡(luò)權(quán)重系數(shù)。當(dāng)GNSS有效時,采用組合導(dǎo)航的方式提高系統(tǒng)定位精度,并同步存儲INS原始輸出數(shù)據(jù)和GNSS定位結(jié)果;當(dāng)GNSS失效時,利用歷史存儲數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò)參數(shù),將訓(xùn)練完畢的模型用于解算INS位置。結(jié)合實船測試的分析結(jié)果,可以得到如下結(jié)論:
(1) 相比采用L-M算法更新網(wǎng)絡(luò)權(quán)重參數(shù),采用Bayesian算法更新網(wǎng)絡(luò)權(quán)重參數(shù),在訓(xùn)練時間、內(nèi)存占用、模型計算時間等方面都更具優(yōu)勢,而且能夠加強(qiáng)網(wǎng)絡(luò)對陀螺儀和加速度計噪聲的抑制能力,進(jìn)而提高INS定位修正精度。
(2) 神經(jīng)元的個數(shù)以50為宜,神經(jīng)元個數(shù)過少,容易造成網(wǎng)絡(luò)欠擬合;神經(jīng)元個數(shù)過多,將造成網(wǎng)絡(luò)過擬合。欠擬合和過擬合都將導(dǎo)致后續(xù)網(wǎng)絡(luò)修正INS定位的性能下降、持續(xù)時間縮短。
(3) 數(shù)據(jù)集的分配以70%的數(shù)據(jù)用于訓(xùn)練、15%的數(shù)據(jù)用于檢驗網(wǎng)絡(luò)的泛化能力、15%的數(shù)據(jù)用于評估網(wǎng)絡(luò)性能為佳。訓(xùn)練數(shù)據(jù)偏少將會造成對INS解算的數(shù)學(xué)模型擬合不足,導(dǎo)致網(wǎng)絡(luò)解算INS的定位誤差不符合規(guī)律;訓(xùn)練數(shù)據(jù)偏多將造成對INS解算的數(shù)學(xué)模型擬合過于確定,導(dǎo)致網(wǎng)絡(luò)對陀螺儀和加速度計噪聲平滑效果下降。
通過采用上述方法,可以延長INS保精度時間至少2 h。相比INS獨立采用實際的數(shù)學(xué)物理模型解算位置,定位誤差均值下降63%,誤差最大值下降約50%,最小值下降至0 m。