王玉偉,高 永
(海軍航空大學(xué),山東煙臺(tái)264001)
目前,飛行動(dòng)作識(shí)別主要依賴于專家系統(tǒng)技術(shù)。其中,飛行動(dòng)作知識(shí)庫(kù)是識(shí)別過(guò)程中的關(guān)鍵技術(shù)。一般情況下,專家系統(tǒng)知識(shí)庫(kù)是領(lǐng)域?qū)<腋鶕?jù)常年積累的經(jīng)驗(yàn)制定和維護(hù)[1-2]。然而飛行動(dòng)作識(shí)別規(guī)則完全由專家人工提取,會(huì)存在表達(dá)方式、認(rèn)識(shí)水平、專家意見(jiàn)不統(tǒng)一等因素,在知識(shí)庫(kù)建立的過(guò)程中容易存在效率低下,規(guī)則建立不充分或冗余等問(wèn)題。因此,研究一種從飛行數(shù)據(jù)自動(dòng)提取規(guī)則的方法顯得尤為重要。
針對(duì)飛行動(dòng)作識(shí)別規(guī)則提取,學(xué)者們展開(kāi)了大量的研究工作,空軍工程大學(xué)的王新亮等[3-5]分別采用了粒子群優(yōu)化算法(PSO)、人工免疫算法(AIS)、量子遺傳算法(QGA)三種智能優(yōu)化算法進(jìn)行提取,在規(guī)則提取問(wèn)題中取得了一定優(yōu)化效果。然而,傳統(tǒng)智能優(yōu)化算法在實(shí)際應(yīng)用中普遍存在調(diào)節(jié)參數(shù)過(guò)多,早熟收斂,容易陷入局部極值問(wèn)題[6-16]。為此,本文將一種新型仿生智能優(yōu)化算法——鯨魚(yú)優(yōu)化算法(Whale Optimization Algorithm,WOA)應(yīng)用于飛行動(dòng)作識(shí)別規(guī)則提取的問(wèn)題中。
鯨魚(yú)被認(rèn)為是世界上最大的哺乳動(dòng)物。成年鯨魚(yú)可長(zhǎng)到30 m,體重180 t。有研究表明鯨魚(yú)的大腦某些區(qū)域的共同細(xì)胞和人類相似,稱之為梭形細(xì)胞區(qū)域,這些細(xì)胞負(fù)責(zé)判斷,情緒和人類的社會(huì)行為[17-18]。WOA算法有包圍獵物,搜索獵物和螺旋泡網(wǎng)捕食機(jī)動(dòng)3個(gè)數(shù)學(xué)模型。
1.1.1 包圍獵物
駝背鯨可以識(shí)別獵物位置并圈選它們。由于最優(yōu)設(shè)計(jì)在搜索空間中的位置并不是先驗(yàn)知道的,所以WOA算法假定當(dāng)前最佳候選解決方案是目標(biāo)獵物或接近最優(yōu)。在定義了最佳搜索代理之后,其他搜索代理將嘗試將其位置更新為最佳搜索代理。此行為表示為:
系數(shù)A、B的計(jì)算式如下:
式(2)、(3)中:a在整個(gè)過(guò)程中從2線性地減少到0;r是取值范圍為[0,1]的一個(gè)隨機(jī)系數(shù)。
1.1.2 泡泡網(wǎng)攻擊法
模仿駝背鯨的氣泡網(wǎng)行為進(jìn)行數(shù)學(xué)建模,設(shè)計(jì)了2種方法。
1)收縮包圍機(jī)制。該行為是通過(guò)降低式(2)中a值來(lái)實(shí)現(xiàn)的,同時(shí)A也隨著a的減小而減小。A是區(qū)間[-a,a]中的隨機(jī)值,搜索代理的新位置可以在代理的原始位置和當(dāng)前最佳代理的位置之間的任何位置定義。
2)螺旋更新位置。該方法首先計(jì)算位于(x,y)處的鯨魚(yú)和位于(x*,y*)處的獵物之間的距離;然后,在鯨魚(yú)和獵物的位置之間創(chuàng)建一個(gè)螺旋方程,以模仿駝背鯨的螺旋形運(yùn)動(dòng),即:
式(4)中:D′= |X*(t)-X(t)|;b是定義對(duì)數(shù)螺線形狀的常數(shù);l是[-1,1]中的隨機(jī)常數(shù)。
鯨魚(yú)沿著縮小的圓形螺旋路徑在獵物周圍徘徊。為了模擬這種同時(shí)發(fā)生的行為,假設(shè)有50%的概率可以選擇縮小的環(huán)繞機(jī)制,或者選擇螺旋模型來(lái)更新鯨魚(yú)的位置。在優(yōu)化期間,數(shù)學(xué)模型如下:
p是[0 ,1]中的一個(gè)隨機(jī)數(shù),除了氣泡網(wǎng)攻擊法,座頭鯨還隨機(jī)搜索獵物。
1.1.3 搜索獵物
同樣的方法基于變化的矢量同樣可以利用來(lái)搜索獵物。事實(shí)上,鯨魚(yú)可根據(jù)彼此的位置搜索獵物。也就是說(shuō),當(dāng)數(shù)值A(chǔ)大于1或等于1時(shí),系數(shù)A取隨機(jī)值,迫使鯨偏離獵物,從而尋找其他更合適的獵物,這與泡泡網(wǎng)攻擊階段相反,其根據(jù)隨機(jī)選擇的搜索代理更新在搜索階段的位置,取代目前發(fā)現(xiàn)的最佳搜索代理。此機(jī)制增強(qiáng)了搜索捕食能力,允許WOA算法執(zhí)行全局搜索。數(shù)學(xué)模型如下:
Xrand在式(6)、(7)中是當(dāng)前鯨群中隨機(jī)選擇的位置。
為了驗(yàn)證鯨魚(yú)優(yōu)化算法的性能,選取Rastrigin標(biāo)準(zhǔn)測(cè)試函數(shù)進(jìn)行測(cè)試,其表達(dá)式如下:
Rastrigin函數(shù)為多峰函數(shù),存在比較多的局部極小點(diǎn),各個(gè)變量之間相互獨(dú)立,其最優(yōu)狀態(tài)和最優(yōu)值為min(F(x*))=F(0,0,…,0)=0。選取粒子群優(yōu)化算法PSO和鯨魚(yú)優(yōu)化算法WOA進(jìn)行對(duì)比。
其中,粒子群算法PSO參數(shù)設(shè)置為:位置變化上限Pmax為5.12,位置變化下線Pmin為-5.12,局部影響c1為0.8,全局影響c2為0.8,慣性權(quán)重系數(shù)w1、w2分別為0.9、0.1。鯨魚(yú)優(yōu)化算法參數(shù)設(shè)置為:最大值ub為5.12,最小值lb為-5.12。其中共同參數(shù)設(shè)置有:種群規(guī)模sizepop為100,進(jìn)化迭代次數(shù)為200,變量個(gè)數(shù)n為30。
圖1是對(duì)Rastrigin測(cè)試函數(shù)重復(fù)運(yùn)行50次2種算法每一種的平均最優(yōu)解變化曲線。算法測(cè)試結(jié)果性能的數(shù)值對(duì)比,如表1所示。由表1及圖1可以看出WOA測(cè)試結(jié)果,最優(yōu)值和迭代次數(shù)都明顯優(yōu)于PSO算法。
圖1 Rastrigin測(cè)試函數(shù)平均最優(yōu)值對(duì)比Fig.1 Rastrigin test function average optimal value comparison
表1 Rastrigin函數(shù)測(cè)試結(jié)果對(duì)比Tab.1 Comparison of Rastrigin function test results
利用鯨魚(yú)群算法提取飛行動(dòng)作規(guī)則的基本思路:首先進(jìn)行飛行規(guī)則屬性選擇。本文提取了12個(gè)動(dòng)作屬性作為決策變量,再對(duì)規(guī)則進(jìn)行了二進(jìn)制編碼,并由數(shù)據(jù)求出12個(gè)規(guī)則的邊界;初始化鯨魚(yú)種群,隨機(jī)生成個(gè)體,鯨魚(yú)群中每個(gè)個(gè)體代表了一組飛行規(guī)則;然后,設(shè)定目標(biāo)函數(shù),確定每個(gè)鯨魚(yú)個(gè)體所處空間位置的優(yōu)劣,利用鯨群的不同形式的捕食策略不斷更新當(dāng)前鯨魚(yú)個(gè)體的空間位置,反復(fù)迭代直到獲得最優(yōu)個(gè)體,即規(guī)則提取的最優(yōu)解。具體步驟如下:
1)屬性選擇。飛機(jī)飛行過(guò)程中會(huì)采集各種數(shù)據(jù),其中與飛行動(dòng)作最為密切的參數(shù)有高度H、速度v、航向角θ、滾轉(zhuǎn)角φ、俯仰角γ。在飛行動(dòng)作時(shí)間段內(nèi),由這5個(gè)關(guān)鍵參數(shù)提取了12個(gè)動(dòng)作識(shí)別屬性。識(shí)別屬性定義為:為高度差;為速度差;為航向角差;為高度累加變化量;為速度累加變化量;為航向角累加變化量 ;為滾轉(zhuǎn)角累加變化量;為俯仰角累加變化量;C9=max(φi)為最大滾轉(zhuǎn)角;C10=min(φi)為最小滾轉(zhuǎn)角;C11=max(γi)為最大俯仰角;C12=min(γi)為最小俯仰角。
2)規(guī)則編碼。規(guī)則的獲取過(guò)程就是對(duì)各個(gè)屬性相互結(jié)合、取舍的過(guò)程。因此,根據(jù)屬性的取舍對(duì)規(guī)則采取二進(jìn)制編碼的方法,編碼的長(zhǎng)度與規(guī)則數(shù)量相同。從獲取的正例樣本中,統(tǒng)計(jì)C1~C12及每個(gè)參數(shù)的最大值和最小值,得出24條規(guī)則邊界值。將24個(gè)規(guī)則邊界按規(guī)定的順序排列,如:minC1,minC2,…,minC12;maxC1,maxC2,…,maxC12。
編碼為0表示沒(méi)有選擇此規(guī)則,編碼為1表示選中此規(guī)則。如100000000000100000000000表示選中的規(guī)則為:{C1>minC1C1<maxC1} 。
3)目標(biāo)函數(shù)設(shè)置。目標(biāo)函數(shù)是評(píng)價(jià)種群所表示規(guī)則優(yōu)劣程度的尺度。好的目標(biāo)函數(shù)應(yīng)該符合如下條件,規(guī)則應(yīng)該盡量多的符合正例;規(guī)則應(yīng)該盡量多排斥反例;規(guī)則數(shù)量應(yīng)適中。根據(jù)以上條件,設(shè)計(jì)目標(biāo)函數(shù)為:
式(9)中:a為規(guī)則排斥反例的數(shù)量;max(a)為全部的反例數(shù)量;b為選中規(guī)則的數(shù)量;max(b)=24是所有規(guī)則的數(shù)量;λ為比例系數(shù)。
由式(9)可知,規(guī)則越排斥反例,解越好,目標(biāo)函數(shù)值則越大。比例系數(shù)λ是規(guī)則正確性與簡(jiǎn)潔性的比例,系數(shù)過(guò)大,得到規(guī)則數(shù)量過(guò)多,出現(xiàn)冗余規(guī)則,影響后期識(shí)別效率;系數(shù)過(guò)小,得到規(guī)則數(shù)量過(guò)少,造成識(shí)別精度不夠。經(jīng)多次仿真實(shí)驗(yàn)得到,系數(shù)取3~5時(shí),結(jié)果較理想。
以平飛為實(shí)驗(yàn)動(dòng)作來(lái)提取規(guī)則,其中,選取正例樣本23個(gè),反例樣本26個(gè),空間維度24。設(shè)置種群規(guī)模為20,迭代次數(shù)為50。其中,1個(gè)平飛正例,1個(gè)平飛反例,如圖2、3所示。
圖2 正例Fig.2 Positive example
圖3 反例Fig.3 Counter example
采用Matlab編程,流程如下:
1)導(dǎo)入數(shù)據(jù)樣本,正例z1~z23,反例f1~f26;
2)提取數(shù)據(jù)屬性C1~C12,并用正例樣本統(tǒng)計(jì)得出24個(gè)規(guī)則邊界值 minC1,minC2,…,minC12,maxC1,maxC2,…,maxC12;
3)初始化種群,包括最優(yōu)個(gè)體位置的位置初始化,以及最優(yōu)個(gè)體目標(biāo)函數(shù)值的初始化;設(shè)置種群規(guī)模,迭代次數(shù),最大最小值;
4)進(jìn)行第一次尋優(yōu)過(guò)程,計(jì)算種群目標(biāo)函數(shù)值,得到第一次尋優(yōu)的最優(yōu)個(gè)體位置及目標(biāo)函數(shù)值,更新種群,再進(jìn)行第二次尋優(yōu)。到尋優(yōu)次數(shù)達(dá)到50時(shí),運(yùn)行結(jié)束。
將算法獨(dú)立運(yùn)行15次,得到最優(yōu)解為:
其目標(biāo)函數(shù)值均收斂到4.815,對(duì)應(yīng)4條飛行動(dòng)作識(shí)別規(guī)則為:
物理含義為:高度差小于8.51 m,高度差大于-11.63 m,高度累加變化量小于20.34 m,航向角累加變化量小于6.84°。且規(guī)則對(duì)應(yīng)正例全部符合,反例沒(méi)有漏判。
為證明鯨魚(yú)算法在飛行動(dòng)作識(shí)別規(guī)則提取的優(yōu)越性能,復(fù)現(xiàn)了文獻(xiàn)[5]基于PSO的規(guī)則提取方法。由于原PSO優(yōu)化算法是對(duì)連續(xù)函數(shù),文中的解形式是符號(hào)化的01形式,無(wú)法用正常PSO算法計(jì)算,因而采用了離散二進(jìn)制PSO,即BPSO算法進(jìn)行計(jì)算,具體理論和公式見(jiàn)文獻(xiàn)[5]。
將BPSO算法獨(dú)立運(yùn)行15次,其最優(yōu)解為:
其目標(biāo)函數(shù)值收斂到4.52,對(duì)應(yīng)8條規(guī)則:
物理意義為:高度差大于-11.63 m,速度差大于-0.58,航向角累加變化量大于0.087,俯仰角累加變化量大于0.054,高度差小于8.51 m,高度累加變化量小于20.34 m,航向角累加變化量小于6.84°滾轉(zhuǎn)角最大值小于0.72°。
2種算法運(yùn)行迭代曲線對(duì)比如圖4所示。由圖4和規(guī)則可以看出,WOA算法相比于BPSO收斂的目標(biāo)函數(shù)值更大,結(jié)果更優(yōu),且規(guī)則更加簡(jiǎn)潔,沒(méi)有冗余規(guī)則。
圖4 WOA與BPSO迭代曲線對(duì)比Fig.4 Comparison of WOAand BPSO iteration curves
本文針對(duì)智能優(yōu)化算法提取飛行動(dòng)作規(guī)則存在早熟收斂,容易陷入局部極值現(xiàn)象,介紹了一種新型仿生智能優(yōu)化算法——鯨魚(yú)優(yōu)化算法。經(jīng)過(guò)Rastrigin測(cè)試函數(shù)及仿真實(shí)例表明,鯨魚(yú)優(yōu)化算法尋優(yōu)精度高于傳統(tǒng)智能優(yōu)化算法PSO,提取的規(guī)則相比BPSO方法更簡(jiǎn)潔、有效,提高了飛行動(dòng)作識(shí)別知識(shí)庫(kù)建立的效率和精度,工程應(yīng)用性較強(qiáng)。