本發(fā)明涉及基于自注意力和格軌跡分片線性近似的非線性濾波方法,屬于濾波。
背景技術(shù):
1、在現(xiàn)代控制理論的框架下,控制系統(tǒng)的狀態(tài)變量有時不能被直接測量或是受到噪聲影響,因此狀態(tài)估計成為控制系統(tǒng)設(shè)計的重要部分,其中卡爾曼濾波器和擴展卡爾曼濾波器得到廣泛應(yīng)用。然而在實際應(yīng)用中,這些基于模型的濾波器的性能很大程度上取決于系統(tǒng)模型和噪聲參數(shù)的準確性,一旦這些參數(shù)沒有被正確的設(shè)置,卡爾曼濾波器的準確性會大幅下降。
2、為了解決上述問題,許多學(xué)者通過結(jié)合數(shù)據(jù)驅(qū)動的方法來改善卡爾曼濾波,主要分為外部結(jié)合和內(nèi)部嵌套兩種類別。外部結(jié)合這一類別主要利用神經(jīng)網(wǎng)絡(luò)對系統(tǒng)參數(shù)進行辨識或是與卡爾曼濾波器進行融合濾波,神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波器相對獨立?,F(xiàn)有技術(shù)中,譬如,gao等人提出了一種自適應(yīng)卡爾曼濾波導(dǎo)航算法,通過強化學(xué)習(xí)自適應(yīng)地估計過程噪聲協(xié)方差矩陣,提高了導(dǎo)航的魯棒性和準確性。又譬如,tian等人提出了一種基于深度神經(jīng)網(wǎng)絡(luò)的電池狀態(tài)估計方法,其中深度神經(jīng)網(wǎng)絡(luò)的輸出和安時計數(shù)方法的輸出通過線性卡爾曼濾波器進行結(jié)合,這種方法使得電池狀態(tài)估計更加準確迅速。內(nèi)部嵌套這一類別主要將神經(jīng)網(wǎng)絡(luò)嵌入到卡爾曼濾波框架中,神經(jīng)網(wǎng)絡(luò)被用于替代傳統(tǒng)卡爾曼濾波中的某一部分,神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波器緊密結(jié)合。又譬如,jung等人提出了一種記憶卡爾曼濾波器,通過長短期記憶網(wǎng)絡(luò)學(xué)習(xí)轉(zhuǎn)移概率密度函數(shù),克服了傳統(tǒng)卡爾曼濾波的馬爾可夫性質(zhì)和線性的限制。又譬如,revach等人將卡爾曼濾波器與門控循環(huán)單元進行結(jié)合,提出了kalmannet,其中門控循環(huán)單元被用于估計卡爾曼增益,這種濾波方法在模型失配和非線性問題上表現(xiàn)更好。其將神經(jīng)網(wǎng)絡(luò)直接嵌入到卡爾曼濾波框架中,在保留可解釋性的同時結(jié)合了神經(jīng)網(wǎng)絡(luò)強大的擬合能力,是一種較為新穎且富有前景的研究方向。
3、然而目前大多使用的是長短期記憶網(wǎng)絡(luò)或是門控循環(huán)單元對時序數(shù)據(jù)進行學(xué)習(xí),這些循環(huán)神經(jīng)網(wǎng)絡(luò)在捕捉時序數(shù)據(jù)的長距離依賴關(guān)系上表現(xiàn)不佳,同時其遞推嵌套的訓(xùn)練過程存在不穩(wěn)定和效率低下的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供基于自注意力和格軌跡分片線性近似的非線性濾波方法,旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。
2、本發(fā)明的技術(shù)方案涉及非線性濾波方法,根據(jù)本發(fā)明的方法包括以下步驟:
3、s100、獲取非線性系統(tǒng)模型及其初始狀態(tài)估計值;
4、s200、通過嵌入自注意力機制網(wǎng)絡(luò)的卡爾曼濾波算法對非線性系統(tǒng)模型的狀態(tài)進行估計;
5、其中,所述自注意力機制網(wǎng)絡(luò)的訓(xùn)練包括以下步驟:
6、s210、根據(jù)非線性系統(tǒng)模型和初始狀態(tài)估計值構(gòu)建狀態(tài)軌跡,并利用格軌跡分片線性近似方法對原非線性模型進行近似,得到系統(tǒng)的格分片近似模型;
7、s220、根據(jù)非線性系統(tǒng)模型和隨機生成的噪聲構(gòu)建訓(xùn)練、驗證和測試數(shù)據(jù)集,根據(jù)系統(tǒng)的格分片近似模型和批量估計算法從訓(xùn)練數(shù)據(jù)集構(gòu)建預(yù)訓(xùn)練數(shù)據(jù)集;
8、s230、根據(jù)預(yù)訓(xùn)練數(shù)據(jù)集對簡化的自注意力機制網(wǎng)絡(luò)進行批量預(yù)訓(xùn)練后保存網(wǎng)絡(luò)權(quán)重,然后將其嵌入卡爾曼濾波框架中利用訓(xùn)練數(shù)據(jù)集進行端到端的正式訓(xùn)練。
9、進一步,所述步驟s10包括:
10、所述非線性系統(tǒng)模型表示如下:
11、xk=f(xk-1)+wk???????????????????????(2a)
12、yk=h(xk)+vk????????????????????????(2b)
13、wk~n(0,q),vk~n(0,r)???????????????????(2c)
14、式中,f和h分別代表非線性的狀態(tài)轉(zhuǎn)移和觀測函數(shù),xk∈rm代表k時刻的狀態(tài)向量,yk∈rn代表k時刻的觀測值;wk和vk分別代表k時刻的過程噪聲和觀測噪聲,其的協(xié)方差矩陣分別為q和r。
15、進一步,所述步驟s210包括:
16、s211、通過狀態(tài)初始估計以及f(x)得到了一條包含l個狀態(tài)點的狀態(tài)軌跡xtra={xi|i=1,…,l};
17、s212、將所有狀態(tài)點選為線性化點,并在每一狀態(tài)點xi處使用一階泰勒展開構(gòu)造線性段;
18、s213、利用所述線性段構(gòu)建格分片線性模型,以對原非線性系統(tǒng)進行近似。
19、其中,
20、
21、式中,x表示狀態(tài)點,和分別代表在線性化點xi處針對f(x)和h(x)構(gòu)造的線性段;其中構(gòu)造格軌跡分片線性模型fltpwl(x)≈f(x)以及hltpwl(x)≈h(x)。
22、進一步,所述步驟s220中,
23、每條所述訓(xùn)練數(shù)據(jù)包括一段時間內(nèi)的狀態(tài)真值和系統(tǒng)輸出,第i條訓(xùn)練數(shù)據(jù)可以表示如下:
24、di={(xj,yj})|j=1,…,l}?(7)
25、式中,xj和yj分別表示j時刻的狀態(tài)真值和觀測輸出;
26、其中,訓(xùn)練數(shù)據(jù)集包含n條數(shù)據(jù),每條數(shù)據(jù)包含l個時間步的數(shù)據(jù)。
27、進一步,所述步驟s220中,
28、每條所述預(yù)訓(xùn)練數(shù)據(jù)包括網(wǎng)絡(luò)的輸入特征xinput和狀態(tài)真值xj,第i條預(yù)訓(xùn)練數(shù)據(jù)可以表示如下:
29、
30、式中,網(wǎng)絡(luò)的輸入特征xinput={δxk-s,…,δxk-1,δyk-s+1,…δyk},其中δ表示前向更新差異,表示新息;預(yù)訓(xùn)練數(shù)據(jù)集表示為
31、進一步,所述步驟s220包括:
32、s221、在k時刻,通過系統(tǒng)真實狀態(tài)xk找出當(dāng)前時刻格分片線性模型對應(yīng)的線性段和將作為偏置項添加到系統(tǒng)觀測yk上,以獲得格軌跡分片線性模型下的系統(tǒng)模型,其表示如下:
33、
34、s222、采用批量估計算法獲得對狀態(tài)變量的后驗估計,以構(gòu)建預(yù)訓(xùn)練數(shù)據(jù)。
35、進一步,所述步驟s200中,
36、所述自注意力機制網(wǎng)絡(luò)包括兩個線性嵌入層、一個位置編碼層、一個簡化注意力層、兩個全連接層和一個線性映射層;
37、所述步驟s230包括:給定輸入特征δxk-1∈r(b,s,m)和δyk∈r(b,s,n),經(jīng)過兩個線性嵌入層映射并通過其中一個全連接層拼接以產(chǎn)生輸入序列然后經(jīng)過位置編碼層添加位置信息后被送入簡化注意力層,以捕捉序列元素間的依賴關(guān)系,以及輸入序列通過另一個全連接層的多層感知機mlp以捕捉非線性特性,最后通過線性映射層將特征映射為預(yù)測值kk∈r(b,m*n)后輸出;其中,b代表批量大小,s代表滑動窗口的大小,m代表系統(tǒng)狀態(tài)的維數(shù),n代表系統(tǒng)輸出的維數(shù)。
38、進一步,所述步驟s230中,
39、所述卡爾曼濾波框架通過誤差反向傳播進行端到端的訓(xùn)練;
40、其中,損失函數(shù)表示如下:
41、
42、式中,自注意力機制網(wǎng)絡(luò)的所有可訓(xùn)練參數(shù)為θ;
43、其中,平方誤差與卡爾曼增益的導(dǎo)數(shù)關(guān)系表示如下:
44、
45、其中,中間量xj表示j時刻的狀態(tài)真值;表示j時刻的系統(tǒng)狀態(tài)的后驗估計;表示k時刻系統(tǒng)狀態(tài)的先驗估計;表示新息;表示信息的轉(zhuǎn)置;t表示轉(zhuǎn)置矩陣,kk表示卡爾曼增益。
46、本發(fā)明的技術(shù)方案還涉及計算機可讀存儲介質(zhì),其上儲存有程序指令,所述程序指令被處理器執(zhí)行時實施上述的方法。
47、本發(fā)明的技術(shù)方案還涉及基于自注意力和格軌跡分片線性近似的非線性濾波系統(tǒng),所述設(shè)備包括計算機裝置,該計算機裝置包含上述計算機可讀存儲介質(zhì)。
48、本發(fā)明的有益效果如下:
49、本發(fā)明提供了基于自注意力和格軌跡分片線性近似的非線性濾波方法,在高噪聲干擾和模型失配的情況下,相較于傳統(tǒng)的基于模型的卡爾曼濾波算法和已有的結(jié)合神經(jīng)網(wǎng)路的卡爾曼濾波算法,使用本發(fā)明提出的嵌入自注意力機制的卡爾曼濾波能獲得更優(yōu)的濾波效果,可提高針對非線性系統(tǒng)的狀態(tài)估計的準確性和魯棒性。
50、本發(fā)明設(shè)計了一種基于格軌跡分片線性模型和批量估計算法的預(yù)訓(xùn)練方法,改善了使用循環(huán)神經(jīng)網(wǎng)絡(luò)時遞推訓(xùn)練過程不穩(wěn)定和效率低下的問題,同時充分利用了自注意力機制網(wǎng)絡(luò)的并行處理能力,通過批量估計一次估計系統(tǒng)狀態(tài)在一段時間內(nèi)的值來構(gòu)造預(yù)訓(xùn)練數(shù)據(jù),從而避免了卡爾曼濾波的遞推嵌套過程,可有效解決因網(wǎng)絡(luò)通過遞推方式逐步處理狀態(tài)序列數(shù)據(jù)時,存在的訓(xùn)練過程不穩(wěn)定和效率低下的問題。
51、本發(fā)明提出了一種嵌入自注意力機制的卡爾曼濾波算法,其能更好地捕捉狀態(tài)序列之間的依賴關(guān)系,從而獲得更優(yōu)的濾波性能。通過使用單個矩陣x來同時進行注意力分布和輸出序列的乘法,從而簡化了該過程,以及通過減少參數(shù)數(shù)量的簡化方法,既提高效率,又不會損失模型捕捉關(guān)鍵依賴關(guān)系的能力。