本發(fā)明屬于系統(tǒng)建模領(lǐng)域,特別是一種基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法。
背景技術(shù):
1、系統(tǒng)建模被廣泛用于化學、機械、電氣和土木工程等領(lǐng)域的系統(tǒng)控制和過程優(yōu)化。一些系統(tǒng)的模型可以用線性參數(shù)形式表示,并且可以應(yīng)用自適應(yīng)控制來實現(xiàn)輸出跟蹤,對其未知的系統(tǒng)進行在線識別和估計。并且系統(tǒng)建模和逆建模均是自適應(yīng)控制、信道均衡和主動噪聲控制、擾動消除等應(yīng)用中的重要組成部分。然而,在實際工程中,大多數(shù)系統(tǒng)的模型不是線性的,并且在執(zhí)行測量或設(shè)計和校準測量儀器時必須考慮其非線性特性。過去的幾十年中,大量的研究集中于非線性系統(tǒng)的系統(tǒng)建模和識別。
2、但對于直升機這種復(fù)雜非線性系統(tǒng)的逆建模仍然面臨著巨大的挑戰(zhàn)。目前實現(xiàn)非線性系統(tǒng)的逆建模的兩種可能方法是:直接逆建模和間接逆建模。直接逆建模和間接逆建模方法均可以通過神經(jīng)網(wǎng)絡(luò)實現(xiàn)。直接逆建模方法的實現(xiàn)方式是按相反的順序向神經(jīng)網(wǎng)絡(luò)學習算法提供輸入-輸出樣本,其中系統(tǒng)輸出樣本作為網(wǎng)絡(luò)輸入,系統(tǒng)輸入樣本作為網(wǎng)絡(luò)期望輸出。使用神經(jīng)網(wǎng)絡(luò)進行直接逆建模是快速的,因為它逼近逆而不需要實際反演非線性模型。然而,當?shù)讓佑成洳豢赡鏁r,它可能導(dǎo)致不正確的學習。間接逆建模方法的實現(xiàn)方式是首先估計正向模型,然后再構(gòu)建估計正向模型的逆模型。間接逆建模方法提供了更大的靈活性,并且通常提供了更好的性能。然而,間接逆建模方法需要分步進行,導(dǎo)致需要更多的時間成本。因此,本領(lǐng)域亟需一種基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法。
3、在背景技術(shù)部分中公開的上述信息僅僅用于增強對本發(fā)明背景的理解,因此可能包含不構(gòu)成本領(lǐng)域普通技術(shù)人員公知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出一種基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法,本發(fā)明可以通過一個可逆神經(jīng)網(wǎng)絡(luò)對直升機非線性系統(tǒng)進行建模,能夠在建立獲得直升機系統(tǒng)正向模型的同時獲得直升機系統(tǒng)的逆向模型,因此,基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法是直接、簡單的。
2、本發(fā)明的目的是通過以下技術(shù)方案予以實現(xiàn)。
3、一種基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法包括以下步驟:
4、第一步驟中,根據(jù)直升機系統(tǒng)的非線性特性,采集直升機非線性系統(tǒng)的輸入輸出數(shù)據(jù),構(gòu)建訓(xùn)練集和測試集;
5、第二步驟中,根據(jù)采集的直升機非線性系統(tǒng)輸入輸出數(shù)據(jù)建立非線性對象的正向和逆向離散模型表達式,設(shè)計可逆神經(jīng)網(wǎng)絡(luò)模型輸入輸出變量的數(shù)目和基本結(jié)構(gòu);
6、第三步驟中,根據(jù)所述非線性對象的正向和逆向離散模型和可逆神經(jīng)網(wǎng)絡(luò)模型,以實際采樣值為參考值,以可逆神經(jīng)網(wǎng)絡(luò)模型的輸出值為估計值,構(gòu)建損失函數(shù);
7、第四步驟中,根據(jù)損失函數(shù),利用訓(xùn)練集數(shù)據(jù)采用adam算法對可逆神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,以獲得訓(xùn)練后的可逆神經(jīng)網(wǎng)絡(luò)模型,基于所述訓(xùn)練后的可逆神經(jīng)網(wǎng)絡(luò)模型的正向過程建立直升機非線性系統(tǒng)正向模型,基于所述訓(xùn)練后的可逆神經(jīng)網(wǎng)絡(luò)模型的逆向過程建立直升機非線性系統(tǒng)逆向模型;
8、第五步驟中,將測試集的數(shù)據(jù)分別正向輸入直升機非線性系統(tǒng)模型,逆向輸入直升機非線性系統(tǒng)逆向模型,驗證直升機非線性系統(tǒng)正向模型和直升機非線性系統(tǒng)逆向模型的準確度,實現(xiàn)在系統(tǒng)輸出中消除噪聲和擾動。
9、在所述的方法中,第一步驟中,根據(jù)直升機系統(tǒng)的復(fù)雜非線性特性,在需要建立模型的輸入和輸出端安裝加速度傳感器,啟動直升機系統(tǒng)或者對直升機系統(tǒng)施加持續(xù)振動激勵,通過輸入和輸出端安裝的傳感器采集直升機非線性對象的輸入輸出振動數(shù)據(jù),將采集獲得的數(shù)據(jù)中部分的數(shù)據(jù)作為訓(xùn)練集,剩余的數(shù)據(jù)作為訓(xùn)練集。
10、在所述的方法中,第二步驟中,根據(jù)采集的直升機非線性系統(tǒng)輸入輸出數(shù)據(jù)建立該直升機對象的正向和逆向離散模型表達式,設(shè)計可逆神經(jīng)網(wǎng)絡(luò)模型輸入輸出變量的數(shù)目和基本結(jié)構(gòu),具體如下:
11、首先,建立該直升機非線性系統(tǒng)的正向離散模型表達式:
12、yt=f(xt,...,xt-a;yt-1,...,yt-b)
13、其中,yt表示t時刻的系統(tǒng)輸出值,f表示該直升機非線性系統(tǒng)的正向函數(shù),xt,...,xt-a表示t時刻及其之前的歷史系統(tǒng)輸入值,yt-1,...,yt-b表示t-1時刻及其之前的歷史系統(tǒng)輸出值。
14、然后,建立該直升機非線性對象的逆向離散模型表達式:
15、xt=g(xt-1,...,xt-a;yt,...,yt-b)
16、其中,xt表示t時刻的系統(tǒng)輸入值,g表示該直升機非線性系統(tǒng)的逆向函數(shù),xt-1,...,xt-a表示t-1時刻及其之前的歷史系統(tǒng)輸入值,yt,...,yt-b表示t時刻及其之前的歷史系統(tǒng)輸出值。
17、再設(shè)計可逆神經(jīng)網(wǎng)絡(luò)模型輸入輸出變量的數(shù)目和基本結(jié)構(gòu)。首先可逆神經(jīng)網(wǎng)絡(luò)的基本單元是一個可逆塊,由兩個互補的仿射耦合層組成。在此,塊的輸入向量u被分成兩個部分,u1和u2,它們由一個系數(shù)為exp(si)和ti(i∈{1,2})的仿射函數(shù)變換,使用元素的乘法(⊙)和加法:
18、v1=u1⊙exp(s2(u2))+t2(u2),
19、v2=u2⊙exp(s1(v1))+t1(v1)
20、給定輸出v=[v1,v2],表達式是平凡可逆的:
21、u2=(v2-t1(v1))⊙exp(-s1(v1)),
22、u1=(v1-t2(u2))⊙exp(-s2(u2))
23、映射si和ti可以是v1和v2的任意復(fù)雜函數(shù),它們本身不一定可逆。可逆神經(jīng)網(wǎng)絡(luò)是由一系列可逆塊組成的,因此,該網(wǎng)絡(luò)具有可逆性,能夠在同一個網(wǎng)絡(luò)中既有正向運算又有逆向運算??赡嫔窠?jīng)網(wǎng)絡(luò)的正向和逆向運算分別表示如下:
24、v=for(u,s,t),
25、u=back(v,s,t).
26、其中,v表示深層可逆網(wǎng)絡(luò)的正向輸出以及逆向輸入,u表示深層可逆網(wǎng)絡(luò)的正向輸入以及逆向輸出,s和t表示深層可逆網(wǎng)絡(luò)中所有可逆塊參數(shù)合集,for表示深層可逆網(wǎng)絡(luò)的正向函數(shù),back表示深層可逆網(wǎng)絡(luò)的逆向函數(shù)。
27、另外,為了增加模型容量在可逆塊之間插入排列層,這將以隨機但固定的方式打亂后續(xù)層輸入的元素。這導(dǎo)致分割u=[u1,u2]在層之間發(fā)生變化,并增強了各個變量之間的交互作用。根據(jù)直升機非線性系統(tǒng)的復(fù)雜程度調(diào)整可逆塊的數(shù)目以及可逆塊的結(jié)構(gòu)。
28、在所述的方法中,第三步驟中,利用訓(xùn)練集數(shù)據(jù)訓(xùn)練搭建好的可逆神經(jīng)網(wǎng)絡(luò)模型,以實際采樣值為參考值,以可逆神經(jīng)網(wǎng)絡(luò)模型的輸出值為估計值,構(gòu)建損失函數(shù)。利用可逆神經(jīng)網(wǎng)絡(luò)建立直升機非線性系統(tǒng)的正向和逆向模型,因此構(gòu)建損失函數(shù)由兩部分組成,其表達式如下:
29、ltotal=lfor+lback
30、其中,ltotal表示可逆神經(jīng)網(wǎng)絡(luò)模型的總損失函數(shù),lfor和lback分別為可逆神經(jīng)網(wǎng)絡(luò)模型的正向和逆向均方誤差損失函數(shù)。lfor是可逆神經(jīng)網(wǎng)絡(luò)正向輸出結(jié)果v和實際系統(tǒng)輸出采樣值y之間對應(yīng)點誤差的平方和的均值,其表達式如下:
31、
32、其中,mse(·)表示均方誤差,n表示樣本數(shù)量。lback由可逆神經(jīng)網(wǎng)絡(luò)逆向輸出結(jié)果u和實際系統(tǒng)輸入采樣值x之間對應(yīng)點誤差的平方和的均值,其表達式如下:
33、
34、在所述的方法中,第四步驟中,根據(jù)損失函數(shù),利用訓(xùn)練集數(shù)據(jù)采用adam算法對可逆神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,基于訓(xùn)練后的可逆神經(jīng)網(wǎng)絡(luò)的正向過程建立直升機非線性系統(tǒng)正向模型;基于訓(xùn)練后的可逆神經(jīng)網(wǎng)絡(luò)的逆向過程建立直升機非線性系統(tǒng)逆向模型,具體如下:
35、可逆網(wǎng)絡(luò)以交替的方式執(zhí)行向前和向后迭代,在執(zhí)行參數(shù)更新之前從兩個方向累計梯度,提供了同時優(yōu)化正向和逆向損耗的機會,因此能夠進行更有效的訓(xùn)練。其中網(wǎng)絡(luò)訓(xùn)練和參數(shù)更新是采用的adam算法進行的,adam是一種自適應(yīng)動量的隨機優(yōu)化方法,經(jīng)常作為深度學習中的優(yōu)化器算法,相對于其他種類的隨機優(yōu)化算法具有很大的優(yōu)勢。
36、在所述的方法中,第五步驟中,將測試集的數(shù)據(jù)分別正向輸入直升機非線性系統(tǒng)模型,逆向輸入直升機非線性系統(tǒng)逆向模型,驗證直升機非線性系統(tǒng)正向模型和直升機非線性系統(tǒng)逆向模型的準確度,實現(xiàn)在系統(tǒng)輸出中消除噪聲和擾動。
37、將測試集的數(shù)據(jù)正向輸入可逆神經(jīng)網(wǎng)絡(luò),基于該可逆神經(jīng)網(wǎng)絡(luò)正向過程所建立的直升機非線性系統(tǒng)正向模型表示為:
38、
39、其中,表示t時刻的可逆神經(jīng)網(wǎng)絡(luò)正向過程所建立的直升機非線性系統(tǒng)正向模型的輸出值,表示可逆神經(jīng)網(wǎng)絡(luò)正向過程所建立的直升機非線性系統(tǒng)正向模型模的函數(shù),表示測試集中t時刻及其之前的歷史系統(tǒng)輸入值,表示測試集中t-1時刻及其之前的歷史系統(tǒng)輸出值;
40、該可逆神經(jīng)網(wǎng)絡(luò)逆向過程所建立的直升機非線性系統(tǒng)的逆模型表達式:
41、
42、其中,表示t時刻的可逆神經(jīng)網(wǎng)絡(luò)逆向過程所建直升機非線性系統(tǒng)逆向模型的輸出值,表示可逆神經(jīng)網(wǎng)絡(luò)逆向過程所建直升機非線性系統(tǒng)逆向模型模的函數(shù),表示測試集中t-1時刻及其之前的歷史系統(tǒng)輸入值,表示測試集中t時刻及其之前的歷史系統(tǒng)輸出值。
43、第五步驟(s5)中,可逆神經(jīng)網(wǎng)絡(luò)正向過程所建立的直升機非線性系統(tǒng)正向模型,以及逆向過程所建立的直升機非線性系統(tǒng)逆模型的準確度由各自模型的輸出和實際采集的數(shù)據(jù)之間的誤差表示;
44、其中,可逆神經(jīng)網(wǎng)絡(luò)正向過程所建立的直升機非線性系統(tǒng)正向模型的誤差表示為:
45、
46、其中,表示測試集中的正向過程所建立的直升機非線性系統(tǒng)正向模型輸出值與系統(tǒng)輸出真值之間的誤差,表示可逆神經(jīng)網(wǎng)絡(luò)正向過程所建模型的輸出值,ytest表示測試集中的系統(tǒng)輸出真值;
47、可逆神經(jīng)網(wǎng)絡(luò)逆向過程所建立的直升機非線性系統(tǒng)逆向模型誤差表示為:
48、
49、其中,表示測試集中的逆向過程所建直升機非線性系統(tǒng)逆向模型輸出值與系統(tǒng)輸入真值之間的誤差,表示可逆神經(jīng)網(wǎng)絡(luò)逆向過程所建直升機非線性系統(tǒng)逆向模型的輸出值,xtest表示測試集中的系統(tǒng)輸入真值。
50、相比于現(xiàn)有技術(shù),本發(fā)明具有以下技術(shù)效果:
51、基于可逆神經(jīng)網(wǎng)絡(luò)建立直升機系統(tǒng)正逆模型的方法,只需要訓(xùn)練一個可逆神經(jīng)網(wǎng)絡(luò)就能夠在建立直升機非線性正向模型的同時實現(xiàn)對應(yīng)的逆向模型建立。該方法避免了現(xiàn)有的直接逆建模和間接逆建模方法需要分別訓(xùn)練兩個網(wǎng)絡(luò)來建立兩個模型的分步耗時長的問題。因此,基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法是直接、簡單的。因此,基于可逆神經(jīng)網(wǎng)絡(luò)的直升機系統(tǒng)正逆模型建立方法是直接、簡單的。
52、上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠使得本發(fā)明的技術(shù)手段更加清楚明白,達到本領(lǐng)域技術(shù)人員可依照說明書的內(nèi)容予以實施的程度,并且為了能夠讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,下面以本發(fā)明的具體實施方式進行舉例說明。