蔡體菁,胡嘯林
(東南大學(xué) 儀器科學(xué)與工程學(xué)院,江蘇 南京 210096)
重力測(cè)量對(duì)于人們了解地球重力場(chǎng)、地球內(nèi)部物質(zhì)分布等具有重要意義,其中得到高精度的重力值是重力測(cè)量的關(guān)鍵。為了充分發(fā)揮??罩亓x測(cè)量效率,對(duì)其工作初始段測(cè)量數(shù)據(jù)精度研究具有重要意義。為此本文提出了一種基于長(zhǎng)短期記憶網(wǎng)絡(luò)的重力測(cè)量誤差補(bǔ)償方法,用于提高海空重力儀初始段測(cè)量精度。1997年長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)被提出,LSTM有過(guò)許多版本(如Coupled LSTM、Peephole LSTM、GRU等),其適用于時(shí)間長(zhǎng)序列的處理要求。近年來(lái)LSTM在諸多領(lǐng)域取得了發(fā)展,如預(yù)測(cè)水質(zhì)變化[1],實(shí)現(xiàn)水庫(kù)旱雨季水位的預(yù)測(cè)[2],在股市中期貨指數(shù)預(yù)測(cè)[3]方面也發(fā)揮了很大作用。在結(jié)合重力測(cè)量與數(shù)據(jù)處理方面,程一等[4]提出了一種基于深度學(xué)習(xí)的航空重力梯度測(cè)量事后誤差補(bǔ)償方法。結(jié)合對(duì)于長(zhǎng)時(shí)間序列數(shù)據(jù)的處理要求,LSTM具有很大的優(yōu)勢(shì)。在LSTM結(jié)構(gòu)中的重要性依次排列為遺忘門(mén)、輸入門(mén)與狀態(tài)更新、輸出門(mén),LSTM通過(guò)內(nèi)部的門(mén)機(jī)制,在處理信息時(shí)可以選擇性地記住或忘記一些信息;同時(shí)為了最小化訓(xùn)練誤差,使用梯度下降法,每次循環(huán)結(jié)束時(shí)修改權(quán)重,最終達(dá)到較好的預(yù)測(cè)效果,很好地進(jìn)行數(shù)據(jù)分析擬合,達(dá)到較高的實(shí)驗(yàn)精度。
長(zhǎng)短期記憶網(wǎng)絡(luò)源自循環(huán)神經(jīng)網(wǎng)絡(luò),是一個(gè)鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)基本的LSTM結(jié)構(gòu)圖如圖1所示。
圖1 長(zhǎng)短期記憶網(wǎng)絡(luò)結(jié)構(gòu)圖
1.1.1 遺忘門(mén)
遺忘門(mén)的含義是對(duì)于上一單元中LSTM的信息進(jìn)行選擇性舍棄。其中遺忘門(mén)輸出值為ft。圖1中遺忘門(mén)的狀態(tài)調(diào)整式為
ft=σ(Wf·[ht-1,Xt]+bf)
(1)
在獲得輸入Xt后,LSTM會(huì)將當(dāng)前的輸入與上一單元的輸出ht-1整合,即[ht-1,Xt],設(shè)置Sigmoid為激活函數(shù),通過(guò)誤差反向傳播來(lái)調(diào)整參數(shù)Wf、bf大小。Sigmoid能夠?qū)⑤斎胄畔⒄现羀0,1]區(qū)間,若該集合中的子集通過(guò)Sigmoid后變?yōu)?,即代表該子集需要舍棄,若通過(guò)Sigmoid后變?yōu)?,即代表該子集需要完全保留。
1.1.2 輸入門(mén)與狀態(tài)更新
數(shù)據(jù)信息通過(guò)遺忘門(mén)進(jìn)行選擇性遺忘的同時(shí)也需要對(duì)部分信息選擇性記憶,輸入門(mén)輸出值為it,則圖1中輸入門(mén)調(diào)整式為
it=σ(Wi·[ht-1,Xt]+bi)
(2)
狀態(tài)更新式為
(3)
1.1.3 單元狀態(tài)
在圖1中LSTM的單元狀態(tài)Ct為經(jīng)過(guò)t時(shí)刻后當(dāng)前單元的信息集合,其中包含遺忘門(mén)輸出信息、輸入門(mén)與狀態(tài)更新輸出信息、輸出門(mén)輸出信息。單元狀態(tài)表達(dá)式為
(4)
1.1.4 輸出門(mén)
在圖1中輸出門(mén)為對(duì)處理后的信息選擇性輸出,輸出門(mén)輸出值為ht,其計(jì)算過(guò)程與遺忘門(mén)、輸入門(mén)類(lèi)似,故不再贅述。其中輸出門(mén)狀態(tài)調(diào)整式為
ot=σ(Wo·[ht-1,Xt]+bo)
(5)
ht=ot·tanh(Ct)
(6)
考慮到神經(jīng)網(wǎng)絡(luò)模型無(wú)具體數(shù)學(xué)公式表達(dá)式,若需實(shí)現(xiàn)實(shí)時(shí)溫漂誤差補(bǔ)償功能,則不能以加速度計(jì)輸出來(lái)分析建模。而應(yīng)以加速度計(jì)輸出溫漂誤差來(lái)分析建模,模型設(shè)計(jì)思路:根據(jù)已知加速度計(jì)數(shù)據(jù)計(jì)算出對(duì)應(yīng)溫漂誤差,以誤差結(jié)合溫度進(jìn)行訓(xùn)練,得到未來(lái)誤差的預(yù)測(cè),通過(guò)對(duì)比預(yù)測(cè)值與實(shí)際值可判斷模型預(yù)測(cè)精度。建模步驟如下:
1) 加載數(shù)據(jù)。設(shè)置對(duì)應(yīng)的學(xué)習(xí)數(shù)據(jù)與實(shí)際對(duì)比數(shù)據(jù)。
2) 數(shù)據(jù)標(biāo)準(zhǔn)化。對(duì)原始數(shù)據(jù)進(jìn)行縮放以達(dá)到更好的擬合。
3) 確定變量和響應(yīng)。
4) 設(shè)計(jì)LSTM具體結(jié)構(gòu)。采用一次預(yù)測(cè)一個(gè)時(shí)間步長(zhǎng),設(shè)置網(wǎng)絡(luò)訓(xùn)練次數(shù)、初始學(xué)習(xí)率、迭代周期等。
5) 對(duì)比實(shí)際值和預(yù)測(cè)值,更新LSTM網(wǎng)絡(luò)的輸入數(shù)據(jù)和傳遞狀態(tài)。
6) 得到預(yù)測(cè)值后,進(jìn)行誤差補(bǔ)償。
該模型與一般神經(jīng)網(wǎng)絡(luò)不同之處在于程序設(shè)計(jì)中使用預(yù)測(cè)值更新網(wǎng)絡(luò)狀態(tài),使網(wǎng)絡(luò)能根據(jù)當(dāng)次計(jì)算誤差不斷修正預(yù)測(cè)值,建模流程圖如圖2所示。
圖2 實(shí)驗(yàn)流程圖
現(xiàn)以加速度計(jì)X向分量為例,采用LSTM模型對(duì)加速度計(jì)X向進(jìn)行溫漂誤差建模分析,其效果如圖3所示。
圖3 加速度計(jì)X向分量溫漂誤差預(yù)測(cè)效果對(duì)比
該模型對(duì)加速度計(jì)X、Y、Z向分量溫漂誤差預(yù)測(cè)計(jì)算如表1所示。
表1 LSTM模型預(yù)測(cè)溫漂誤差
由表1可知,該LSTM模型對(duì)加速度計(jì)X向分量溫漂誤差總體預(yù)測(cè)誤差為1.17 mGal,對(duì)加速度計(jì)Y向分量溫漂誤差總體預(yù)測(cè)誤差為0.98 mGal,對(duì)加速度計(jì)Z向分量溫漂誤差總體預(yù)測(cè)誤差為2.18 mGal,對(duì)加速度計(jì)三軸溫漂誤差預(yù)測(cè)精度均能穩(wěn)定在毫伽量級(jí),實(shí)現(xiàn)了對(duì)溫漂誤差較高精度的預(yù)測(cè)。
現(xiàn)以該模型為基礎(chǔ),通過(guò)Matlab實(shí)際數(shù)據(jù)仿真出具體的隱藏層個(gè)數(shù)、梯度閾值、學(xué)習(xí)速率等信息在導(dǎo)航計(jì)算機(jī)中構(gòu)建LSTM溫漂誤差模型。該模型對(duì)加速度計(jì)X向溫漂誤差補(bǔ)償如圖4所示。
圖4 模型對(duì)加速度計(jì)X向溫漂誤差補(bǔ)償
經(jīng)LSTM模型補(bǔ)償前后的加速度計(jì)在不同溫度下輸出均值與標(biāo)準(zhǔn)差如表2~4所示。
表2 加速度計(jì)X向分量誤差補(bǔ)償前后對(duì)比
表3 加速度計(jì)Y向分量誤差補(bǔ)償前后對(duì)比
表4 加速度計(jì)Z向分量誤差補(bǔ)償前后對(duì)比
經(jīng)計(jì)算,補(bǔ)償前加速度計(jì)X向分量全溫輸出標(biāo)準(zhǔn)差為0.001 315 m/s2,補(bǔ)償后其全溫輸出標(biāo)準(zhǔn)差為0.000 069 m/s2,輸出標(biāo)準(zhǔn)差降低了94.75%;補(bǔ)償前加速度計(jì)Y向分量全溫輸出標(biāo)準(zhǔn)差為0.000 558 m/s2,補(bǔ)償后其全溫輸出標(biāo)準(zhǔn)差為0.000 034 m/s2,輸出標(biāo)準(zhǔn)差降低了93.91%;補(bǔ)償前加速度計(jì)Z向分量全溫輸出標(biāo)準(zhǔn)差為0.002 697 m/s2,補(bǔ)償后其全溫輸出標(biāo)準(zhǔn)差為0.000 150 m/s2,輸出標(biāo)準(zhǔn)差降低了94.44%,這表明該長(zhǎng)短期記憶網(wǎng)絡(luò)模型對(duì)初始段溫漂誤差具有較好的的抑制效果。
長(zhǎng)短期記憶網(wǎng)絡(luò)訓(xùn)練模型,根據(jù)數(shù)據(jù)量的大小、離散程度、影響因子等確定輸入層、隱藏層的具體結(jié)構(gòu),確定訓(xùn)練數(shù)據(jù)與測(cè)試數(shù)據(jù)。設(shè)置指定步長(zhǎng)的訓(xùn)練序列,在每一個(gè)時(shí)間步長(zhǎng),長(zhǎng)短期記憶網(wǎng)絡(luò)都學(xué)習(xí)預(yù)測(cè)下一個(gè)時(shí)間步長(zhǎng)的值,確定學(xué)習(xí)速率的合適值。經(jīng)過(guò)海空重力儀初始段實(shí)測(cè)數(shù)據(jù),驗(yàn)證了該方法具有很好的誤差補(bǔ)償效果,提高了海空重力儀的測(cè)量精確性。