夏悠然, 管 軍,2,*, 易文俊
(1. 南京理工大學瞬態(tài)物理國家重點實驗室, 江蘇 南京 210094; 2. 江蘇科技大學電子信息學院, 江蘇 鎮(zhèn)江 212100)
準確獲得彈丸氣動參數(shù)是無控彈丸減少落點散布、實現(xiàn)精確打擊的關(guān)鍵[1]。在靶場進行射擊試驗,利用雷達、彈載記錄儀等設(shè)備采集彈丸實際飛行數(shù)據(jù),利用參數(shù)辨識技術(shù)從實測數(shù)據(jù)中間接提取的彈丸氣動參數(shù),能夠比理論計算法和風洞實驗法更好地反映彈丸實際運動狀態(tài)[2]。彈丸氣動參數(shù)辨識技術(shù)是飛行器氣動參數(shù)辨識的重要分支,研究彈丸氣動參數(shù)辨識方法,可以有效提高無控彈射表的編制精度,提高打擊精度[3],具有重要的理論研究意義和工程應用價值。Warner和Norton為氣動參數(shù)辨識的研究奠定了基礎(chǔ)[4]。隨著現(xiàn)代統(tǒng)計學理論、控制理論與計算機技術(shù)的飛速發(fā)展,參數(shù)辨識技術(shù)蓬勃發(fā)展[5]。目前較為成熟的參數(shù)辨識方法有最小二乘法[6-9]、極大似然法[10-13]、Kalman濾波法[14-17],以及智能算法[18-21]等。極限學習機(extreme learning machine, ELM)[22]是黃廣斌等人提出的一種用于訓練單隱含層前饋神經(jīng)網(wǎng)絡(luò)(single hidden layer feedforward neural networks, SLFNs)的算法。ELM隨機產(chǎn)生輸入權(quán)重和隱含層神經(jīng)元的閾值,隨機生成的輸入權(quán)重和閾值彼此獨立,無需迭代調(diào)整,通過求解隱含層輸出矩陣的Moor-Penrose廣義逆矩陣即可得到隱含層與輸出層之間的連接權(quán)值。與其他傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)(feedforward neural network, FNN)學習算法相比,ELM具有全局泛化能力良好、實時性高以及需要手動調(diào)節(jié)的參數(shù)少等優(yōu)點,在云計算、數(shù)據(jù)可視化以及隨機投影等方面得到了廣泛應用[23-25]。當運用ELM解決預測問題時,輸入權(quán)重和隱含層神經(jīng)元閾值直接決定了預測結(jié)果的精度,合適的輸入權(quán)重和閾值能夠有效提高預測精度。但是,ELM隨機產(chǎn)生輸入權(quán)重和隱含層神經(jīng)元閾值的方式容易導致預測結(jié)果產(chǎn)生發(fā)散現(xiàn)象。針對這一現(xiàn)象,許多研究人員進行了相關(guān)研究[26-30]。其中,經(jīng)典的思路為利用群智能算法尋優(yōu)產(chǎn)生ELM輸入權(quán)重和隱含層神經(jīng)元閾值,將求解ELM輸入權(quán)重和隱含層神經(jīng)元閾值問題轉(zhuǎn)化為最優(yōu)解問題[31-33]。粒子群優(yōu)化(particle swarm optimization, PSO)算法是由Kennedy等人[34]通過模仿鳥類覓食提出的群智能優(yōu)化算法。與其他的群智能優(yōu)化算法(如遺傳算法[35]、蟻群算法[36]等)相比,PSO算法具有自身結(jié)構(gòu)簡單、易于實現(xiàn)、全局搜索能力強、收斂速度快[37]等優(yōu)點,被廣泛應用到神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[38-39]、調(diào)度問題[40-41],以及動態(tài)優(yōu)化問題[42-43]。為了克服基本PSO算法迭代收斂速度慢、易陷入局部最優(yōu)的問題,在基本PSO算法中引入自適應更新策略和粒子變異策略,提出了一種自適應變異粒子群優(yōu)化(adaptive mutation particle swarm optimization, AMPSO)算法以提高算法的尋優(yōu)效率。最后,在標準氣象條件下,應用AMPSO-ELM算法高效、精確地辨識出某型無控高速旋轉(zhuǎn)彈丸的氣動參數(shù)。
本文采用修正質(zhì)點彈道模型(簡稱4D模型)作為參數(shù)辨識的理論模型,4D模型建立在地面坐標系下,其具體表達式為
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
彈丸相對于空氣的速度Vr為
(9)
動力平衡角αe的直接計算公式為
(10)
(11)
(12)
(13)
式(10)~式(13)中的相關(guān)參數(shù)計算如下:
(14)
(15)
(16)
(17)
(18)
(19)
Vrx=Vx-Wx
(20)
Vry=Vy
(21)
Vrz=Vz-Wz
(22)
利用PSO算法及其改進算法優(yōu)化ELM算法辨識彈丸氣動參數(shù),是對多種算法的綜合應用。PSO算法及其改進算法負責尋優(yōu),產(chǎn)生ELM的輸入權(quán)重和隱含層神經(jīng)元閾值,ELM在此基礎(chǔ)上實現(xiàn)彈丸氣動參數(shù)辨識。本節(jié)將會對ELM、 PSO和AMPSO算法做出詳細說明。
與傳統(tǒng)的SLFNs算法不同,ELM算法隨機產(chǎn)生輸入權(quán)重和隱含層神經(jīng)元閾值。隨機產(chǎn)生的權(quán)重和閾值彼此獨立且無需迭代調(diào)整,因此ELM又可看作是廣義的SLFNs,其基本結(jié)構(gòu)如圖1所示。
圖1 ELM結(jié)構(gòu)Fig.1 ELM structure
給定N組訓練樣本(xj,tj)∈Rn×Rm,其中xj是n維輸入向量,tj是m維目標向量。對于隱含層神經(jīng)元個數(shù)為L、激活函數(shù)為G(ai,bi,xj)的ELM,網(wǎng)絡(luò)輸出
(23)
式中:ai,bi分別為輸入權(quán)重和隱含層神經(jīng)元閾值;βi為連接第i個隱含層神經(jīng)元和輸出神經(jīng)元之間的連接權(quán)值向量。式(23)可以簡化為矩陣形式:
Hβ=T
(24)
其中,
H(a1,a2,…,aN,b1,b2,…,bL,x1,x2,…,xN)=
(25)
(26)
H是ELM的隱含層輸出矩陣,一旦給定訓練集并且隨機產(chǎn)生隱含層神經(jīng)元的權(quán)重和閾值(ai,bi),根據(jù)式(25)進行正向計算,便可迅速求解H。
(27)
式中:H+是H的Moore-Penrose廣義逆矩陣。
ELM算法可以被簡單分為3個步驟,具體步驟如算法1所示。
算法 1 ELM算法輸入:訓練集{(xj,tj)|xj∈Rn,tj∈Rm,j=1,2,…,N};激活函數(shù)G(ai,bi,xj);隱含層神經(jīng)元個數(shù)L步驟1 隨機產(chǎn)生權(quán)重和閾值(ai,bi);步驟2 根據(jù)式(24)計算隱含層輸出矩陣H;步驟3 根據(jù)式(27)計算輸出連接權(quán)值矩陣β。
PSO算法中的每個粒子都具有記憶性且代表D維解空間內(nèi)的一個可行解,通過計算每個粒子的適應度函數(shù)值,挑選出種群中的全局最優(yōu)以及個體最優(yōu),并對每個粒子的速度、位置信息進行迭代更新,直至得到最優(yōu)解。其基本步驟可以描述如下:
步驟1根據(jù)具體最優(yōu)化問題確定相關(guān)參數(shù)。主要包括:種群規(guī)模E、粒子維數(shù)D、速度慣性權(quán)重ω、個體認知系數(shù)c1、社會認知系數(shù)c2、最大迭代次數(shù)kmax等。
步驟2初始化種群。隨機產(chǎn)生E組D維初始粒子Xi=(xi1,xi2,…,xiD)T(i=1,2,…,E)及其對應速度Vi=(vi1,vi2,…,viD)T。
步驟3速度位置更新。根據(jù)下式更新粒子的速度和位置信息:
(28)
(29)
(30)
式中:f(·)為適應度函數(shù)。
(31)
步驟5判斷是否滿足迭代停止條件。若滿足,則輸出最優(yōu)解;若不滿足,則返回步驟3繼續(xù)迭代,直至達到最大的迭代次數(shù)。
AMPSO算法是在基本PSO算法的基礎(chǔ)上,引入自適應更新策略以及粒子變異策略,提高算法的收斂速度和尋優(yōu)精度。自適應更新策略根據(jù)個體粒子與種群最優(yōu)粒子之間的距離自適應調(diào)整速度慣性權(quán)重ω的大小,粒子變異策略則借鑒了遺傳算法中的變異操作,設(shè)立早熟判別機制來判斷算法是否陷入局部最優(yōu),并且通過變異算子使粒子具備跳出局部最優(yōu)解的能力。
2.3.1 適應更新策略
基于上述內(nèi)容,本文提出了一種全新的自適應更新策略,使得速度慣性權(quán)重能夠根據(jù)迭代次數(shù)以及粒子當前位置與種群最優(yōu)位置間的距離實時更新,讓粒子快速進入全局最優(yōu)解的區(qū)間范圍,進行精確搜索。其表達式為
(32)
式中:ωmax是粒子最大速度慣性權(quán)重;ωmin是粒子最小速度慣性權(quán)重。
2.3.2 粒子變異策略
方差σ2能夠反映粒子的收斂程度,σ2越小,種群狀態(tài)越趨于收斂,算法陷入局部最優(yōu)的概率越高。方差σ2的具體表達式為
(33)
(34)
式中:μ為高斯白噪聲。
2.3.3 AMPSO 算法流程
AMPSO算法的流程如圖2所示。
圖2 AMPSO算法流程圖Fig.2 AMPSO algorithm flowchart
為了驗證AMPSO算法的有效性,本文選取了標準測試函數(shù)Sphere函數(shù)fSp和Schaffer函數(shù)fSc進行100次獨立算法測試實驗。fSp和fSc的函數(shù)表達式為
(35)
(36)
100次獨立測試實驗中算法的相關(guān)參數(shù)設(shè)置如表1所示。
表1 相關(guān)參數(shù)設(shè)置
表2給出了100次獨立測試實驗后獲得的平均計算結(jié)果。測試結(jié)果表明,在基本PSO算法中引入自適應更新策略以及粒子變異策略能夠有效提高算法精度,降低收斂迭代次數(shù)。在粒子數(shù)相同的情況下,對于同一個測試函數(shù),AMPSO算法的尋優(yōu)結(jié)果更加接近理論值,收斂速度更快。
表2 不同測試函數(shù)的測試結(jié)果
針對某型無控高速旋轉(zhuǎn)彈丸,在標準大氣條件下利用4階龍格庫塔法(積分步長為0.01)求解修正質(zhì)點彈道方程,得到8 000組彈道數(shù)據(jù)。表3給出了初始彈道諸元設(shè)置。彈丸飛行速度隨時間變化的規(guī)律如圖3所示。
表3 彈道諸元
圖3 彈丸速度-時間曲線Fig.3 Projectile velocity-time curve
彈道數(shù)據(jù)包含彈丸飛行速度、位置、姿態(tài)等信息。不同信息具有不同的量綱,不同量綱會影響數(shù)據(jù)的分析結(jié)果。因此,對8 000組原始數(shù)據(jù)集進行預處理,消除不同量綱之間的影響,提高算法精度。
以輸入數(shù)據(jù)為例,min-max normalization公式如下:
(37)
除了對數(shù)據(jù)進行歸一化處理,為了避免連續(xù)數(shù)據(jù)之間的高度共線性對網(wǎng)絡(luò)辨識結(jié)果產(chǎn)生干擾,隨機打亂數(shù)據(jù)集,選取6 000組彈道數(shù)據(jù)作為訓練樣本,選取2 000組數(shù)據(jù)作為預測樣本。
3.2.1 ELM模型結(jié)構(gòu)確定
ELM模型中需要手動設(shè)置的參數(shù)較少,主要包括:輸入層節(jié)點數(shù)、隱含層神經(jīng)元數(shù)、輸出層節(jié)點數(shù)以及激活函數(shù)。
(1) 輸入層節(jié)點數(shù)M
(2) 隱含層神經(jīng)元數(shù)L
隱含層神經(jīng)元數(shù)影響網(wǎng)絡(luò)訓練時間以及預測精度。合理設(shè)置隱含層節(jié)點數(shù),可大幅提升預測精度。隱含層神經(jīng)元數(shù)過少,模型泛化能力弱,預測精度低;隱含層神經(jīng)元數(shù)過多,計算量增大,導致訓練時間過長,并且最終的預測結(jié)果也可能由于過擬合而發(fā)散。由于隱含層神經(jīng)元個數(shù)的理論確定方法的缺失,本文在選取隱含層神經(jīng)元個數(shù)時,采用循環(huán)疊加的方式確定隱含層神經(jīng)元個數(shù)。確定隱含層神經(jīng)元個數(shù)的偽代碼流程如下所示。
輸入:E0,Lmax輸出:L1 While L 隱含層神經(jīng)元個數(shù)L迭代增加,每次增加5。在每次迭代過程中,需要計算辨識誤差EL,當辨識誤差EL小于設(shè)定誤差E0或者改變L,會導致辨識誤差增大,則輸出此時的L為隱含層神經(jīng)元個數(shù)。 (3) 輸出層節(jié)點數(shù)O (4) 激活函數(shù)G(ai,bi,xj) 激活函數(shù)能夠?qū)⒎蔷€性特性引入到網(wǎng)絡(luò)中,提高模型的泛化能力。Sigmoid函數(shù)能夠?qū)⑤斎氲倪B續(xù)實值映射至[0,1]區(qū)間,這恰好與min-max normalization映射后的區(qū)間重合;此外,ELM的輸入權(quán)重和閾值無需通過梯度下降進行調(diào)整,可以避免由Sigmoid函數(shù)導致的梯度消失問題。因此,本文選取Sigmoid函數(shù)作為ELM的激活函數(shù)。 3.2.2 APSO-ELM算法流程 APSO-ELM算法的流程如圖4所示。 圖4 AMPSO-ELM算法流程圖Fig.4 AMPSO-ELM algorithm flowchart 圖5 Cx2辨識結(jié)果Fig.5 Identification result of Cx2 圖6 Cx0辨識結(jié)果Fig.6 Identification result of Cx0 圖辨識結(jié)果Fig.7 Identification result of 圖辨識結(jié)果Fig.8 Identification result of 圖辨識結(jié)果Fig.9 Identification result of 圖辨識結(jié)果Fig.10 Identification result of 圖辨識結(jié)果Fig.11 Identification result of 表4給出了100次獨立實驗后,3種算法的模型結(jié)構(gòu)、平均辨識精度以及平均辨識時間。其中,辨識精度由均方誤差(mean square error, MSE)體現(xiàn)。MSE作為常見的網(wǎng)絡(luò)性能評價函數(shù),能夠反映估計量和被估計量之間的差異程度。MSE的數(shù)量級越小,辨識精度越高,MSE的具體表達式為 (38) 式中:Py表示預測樣本數(shù);observedt表示第t個實際觀測值;predictedt表示第t個模型預測值。 表4 3種方法辨識結(jié)果 從模型結(jié)構(gòu)角度來看,利用PSO以及AMPSO算法優(yōu)化ELM,可以有效減少隱含層神經(jīng)元數(shù),簡化模型結(jié)構(gòu);從辨識精度角度來看,PSO以及AMPSO算法優(yōu)化產(chǎn)生ELM的輸入權(quán)重和閾值,能夠使得輸入權(quán)重和閾值包含更多輸入樣本信息,從而提高辨識精度;從辨識時間角度來看,雖然PSO算法簡化了模型結(jié)構(gòu),但是由于PSO算法的尋優(yōu)迭代過程增加了算法辨識時間,因此PSO-ELM算法的辨識時間約為ELM辨識時間的2.4倍,而在引入自適應更新策略和粒子變異策略后,算法尋優(yōu)時間降低,AMPSO-ELM的辨識時間略高于ELM的辨識時間,僅為PSO-ELM的50%。 本文創(chuàng)新性地在PSO算法中引入自適應更新策略和粒子變異策略,改善了算法的收斂速度和尋優(yōu)精度,并將改進后的算法與ELM結(jié)合提出了一種AMPSO-ELM算法,利用該算法實現(xiàn)了某型無控高速旋轉(zhuǎn)彈丸的氣動參數(shù)辨識,并基于仿真實驗得到了如下結(jié)論: (1) PSO及其改進算法優(yōu)化ELM,迭代尋優(yōu)產(chǎn)生ELM的輸入權(quán)重和隱含層神經(jīng)元閾值,能夠有效地簡化模型結(jié)構(gòu),提高辨識精度; (2) AMPSO-ELM算法能夠有效辨識某型無控高速旋轉(zhuǎn)彈丸的氣動參數(shù),并且通過該方法得到的氣動參數(shù)精度可以滿足實際工程需要; (3) 與ELM算法相比,PSO-ELM算法雖然提高了辨識精度,但是由于迭代收斂速度過慢,導致算法實時性降低。本文所提出的AMPSO-ELM算法由于引入了自適應更新策略以及粒子變異策略,辨識精度高且實時性好。3.3 仿真驗證
4 結(jié) 論