佘雅莉,周 良
(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)
近年來,人們生活水平日益提高,選擇飛機(jī)出行已越來越深入人心,這無疑也推動(dòng)了民航事業(yè)的迅猛發(fā)展。但是,國際上屢見不鮮的飛行事故也引發(fā)了乘坐飛機(jī)的恐慌,對(duì)加強(qiáng)民航安全管理提出了更高的要求。對(duì)于民航空管來說,最重要的事情就是安全。這個(gè)安全不僅是保障客機(jī)的安全,更是要保障機(jī)上乘客的安全。如何在眾多狀態(tài)信息中準(zhǔn)確地識(shí)別民航空管運(yùn)行中的危險(xiǎn)源,是整個(gè)安全管理的核心問題,也是首要環(huán)節(jié)。只有在這基礎(chǔ)上,才能有后續(xù)圍繞危險(xiǎn)源采取的預(yù)防及處理措施。目前,危險(xiǎn)源的識(shí)別主要依賴于人工分析,將領(lǐng)域相關(guān)標(biāo)準(zhǔn)和專家經(jīng)驗(yàn)相結(jié)合,通過標(biāo)準(zhǔn)的評(píng)價(jià)過程來對(duì)危險(xiǎn)源進(jìn)行分析[1-2]。這種方法不僅消耗大量的人力物力資源,且對(duì)參與識(shí)別的工作人員的專業(yè)性與敏銳性要求極高。設(shè)想如果可以通過計(jì)算機(jī)對(duì)過往數(shù)據(jù)進(jìn)行學(xué)習(xí),從而找到內(nèi)部規(guī)則,并將其用于新到來的數(shù)據(jù)分類,就可以更快更高效地識(shí)別危險(xiǎn)源。這也正是機(jī)器學(xué)習(xí)的應(yīng)用之一。為此,文中提出了一種基于在線序列極限學(xué)習(xí)機(jī)的危險(xiǎn)源識(shí)別算法,算法用在線序列學(xué)習(xí)機(jī)[3]在線學(xué)習(xí)危險(xiǎn)源數(shù)據(jù)的深層特征,并結(jié)合自適應(yīng)差分進(jìn)化算法優(yōu)化訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),使識(shí)別結(jié)果更具有準(zhǔn)確性。
極限學(xué)習(xí)機(jī)[4-5]是采用隨機(jī)機(jī)制為單隱藏層神經(jīng)網(wǎng)絡(luò)隱層設(shè)置和選取參數(shù),從而大幅提高學(xué)習(xí)速度并保證泛化能力的一類算法。在危險(xiǎn)源識(shí)別過程中,一般無法一次性獲得所有樣本,而標(biāo)準(zhǔn)的極限學(xué)習(xí)機(jī)采用的是批量學(xué)習(xí)[6-7]的模式,當(dāng)有新的樣本時(shí),需要重新學(xué)習(xí)所有樣本,這樣耗時(shí)較多,并且隨著數(shù)據(jù)量的增加,對(duì)內(nèi)存空間的需求也會(huì)大幅增加。使用在線學(xué)習(xí)的方式,只需學(xué)習(xí)當(dāng)前時(shí)刻新到的樣本,不需要學(xué)習(xí)全部樣本,而且在線學(xué)習(xí)算法對(duì)時(shí)間和空間的要求相對(duì)較低。
在線序列極限學(xué)習(xí)機(jī)(OS-ELM)正是針對(duì)普通極限學(xué)習(xí)機(jī)不能有效學(xué)習(xí)實(shí)時(shí)數(shù)據(jù)集,即在學(xué)習(xí)過程中不斷有新數(shù)據(jù)添加到網(wǎng)絡(luò)中,而提出的一類算法,其核心思想是將在線學(xué)習(xí)引入ELM算法中。影響OS-ELM性能的因素主要是網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)、網(wǎng)絡(luò)連接權(quán)值和閾值,因此危險(xiǎn)源識(shí)別時(shí)需要用適當(dāng)方法來優(yōu)化網(wǎng)絡(luò)連接權(quán)值和隱層偏置。
圖1是HI-OSELM算法的整體流程。HI-OSELM算法分為兩個(gè)部分,一個(gè)是用差分進(jìn)化優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)的過程,一個(gè)是對(duì)危險(xiǎn)源數(shù)據(jù)的在線學(xué)習(xí)。算法首先隨機(jī)生成多組訓(xùn)練網(wǎng)絡(luò)的輸入權(quán)值與隱層偏置,對(duì)它們進(jìn)行變異和交叉,選擇優(yōu)化后的最佳參數(shù),構(gòu)建訓(xùn)練網(wǎng)絡(luò),對(duì)陸續(xù)到達(dá)的危險(xiǎn)源數(shù)據(jù),用輸出權(quán)值的鏈?zhǔn)礁路▌t實(shí)時(shí)更新當(dāng)前輸出權(quán)值,并輸出識(shí)別結(jié)果。
圖1 HI-OSELM算法流程
下面分別從在線學(xué)習(xí)和優(yōu)化網(wǎng)絡(luò)兩個(gè)方面給出算法的原理與步驟。
HI-OSELM算法首先選取一小部分?jǐn)?shù)據(jù)作為初始樣本進(jìn)行初始學(xué)習(xí),獲得初始輸出矩陣和輸出權(quán)值,然后加入新的樣本,利用先前得到的初始輸出矩陣和輸出權(quán)值,按照一定計(jì)算規(guī)則更新輸出權(quán)值,并計(jì)算新樣本的輸出矩陣。此時(shí)可將這個(gè)時(shí)刻到達(dá)樣本看作初始樣本,這個(gè)時(shí)刻的輸出矩陣和輸出權(quán)值看作初始輸出矩陣和輸出權(quán)值,對(duì)于這個(gè)時(shí)刻的輸出權(quán)值按之前的更新方式繼續(xù)更新,以此類推,重復(fù)此操作,實(shí)現(xiàn)在線學(xué)習(xí)。每次只需學(xué)習(xí)新到達(dá)的樣本,對(duì)上一時(shí)刻的樣本不重復(fù)學(xué)習(xí)。
設(shè)初始訓(xùn)練時(shí)危險(xiǎn)源樣本數(shù)量為N0,xi=(xi1,xi2,…,xin)T∈Rn為危險(xiǎn)源特征信息,yi=(yi1,yi2,…,yim)T∈Rm為理想識(shí)別結(jié)果,g(xi)為激活函數(shù),L為網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù),則網(wǎng)絡(luò)輸出可以表示為:
(1)
其中,連接輸入向量與隱層節(jié)點(diǎn)的輸入權(quán)值ai和偏置bi隨機(jī)選取,問題在于求解連接輸出向量與隱層節(jié)點(diǎn)的輸出權(quán)值β0,等價(jià)于求滿足min‖Hβ-Y‖的β。由文獻(xiàn)[8]知,β=H+Y(這里對(duì)推導(dǎo)過程不再贅述),其中H+為H的廣義逆矩陣,H的表示形式如下:
H=
(2)
(3)
(4)
(5)
(6)
由此可見,在線學(xué)習(xí)階段可用式6實(shí)時(shí)更新網(wǎng)絡(luò)輸出權(quán)值。具體步驟如下:
算法1:基于OS-ELM的在線學(xué)習(xí)
輸入:危險(xiǎn)源的狀態(tài)信息集,記作U={Um|m=1,2,…,k,Um={um1,um2,…,umk}Τ},一般危險(xiǎn)源構(gòu)成要素表T,網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)L,激活函數(shù)G(a,b,x)=exp(-‖x-a‖2/b),初始訓(xùn)練數(shù)據(jù)數(shù)量q,每次序列到達(dá)的新數(shù)據(jù)集的大小p
輸出:識(shí)別結(jié)果Z={Zm|m=1,2,…,k}
步驟1:輸入相關(guān)數(shù)據(jù)。
步驟2:初始學(xué)習(xí)。
(1)從U中隨機(jī)選取q個(gè)數(shù)據(jù)作為初始的樣本集N0;
(2)Fori=1 toq
對(duì)N0中每個(gè)樣本,查找危險(xiǎn)源要素表T是否存在其狀態(tài)信息,存在則從(0.5,1]隨機(jī)生成輸入權(quán)值ai,否則,從數(shù)域(0,0.5]隨機(jī)生成輸入權(quán)值ai;隨機(jī)產(chǎn)生隱層節(jié)點(diǎn)閾值bi。
(3)根據(jù)激活函數(shù)計(jì)算網(wǎng)絡(luò)隱層初始輸出的矩陣H0。
步驟3:在線學(xué)習(xí)。
(1)Fori=q+1 toq+p
重復(fù)步驟2中的(2)。
(2)根據(jù)激活函數(shù)計(jì)算此時(shí)的輸出矩陣,記為H1。
(3)用式6計(jì)算輸出權(quán)值β1。
重復(fù)步驟3直至沒有新數(shù)據(jù)。
步驟4: 輸出識(shí)別結(jié)果。
在上一階段,OS-ELM完成了危險(xiǎn)源的初步識(shí)別,但是其泛化能力受自身網(wǎng)絡(luò)結(jié)構(gòu)影響,由于其輸入權(quán)值與偏置選取的隨機(jī)性,無法保證參數(shù)是最優(yōu)的,不合適的參數(shù)有可能會(huì)導(dǎo)致較差的識(shí)別結(jié)果,而危險(xiǎn)源識(shí)別必須以精確度為最高前提。所以,為了提高在線極限學(xué)習(xí)機(jī)危險(xiǎn)源識(shí)別的泛化能力,需要對(duì)訓(xùn)練網(wǎng)絡(luò)進(jìn)行優(yōu)化。
差分進(jìn)化(differential evolution,DE)[10]是一種簡單有效的基于群體差異的并行直接搜索算法,比其他的智能優(yōu)化算法具有更好的全局尋優(yōu)能力、更強(qiáng)的穩(wěn)健性及更好的收斂速度。進(jìn)化過程分為種群初始化和進(jìn)化迭代兩個(gè)階段,在進(jìn)化迭代階段對(duì)當(dāng)前種群進(jìn)行變異和交叉操作,產(chǎn)生一個(gè)新的種群,然后在這兩個(gè)種群中間進(jìn)行一對(duì)一的選擇以產(chǎn)生最終進(jìn)化的種群,不斷重復(fù)這個(gè)過程,直到獲得全局最優(yōu)解為止。
在這個(gè)過程中,變異主要是對(duì)當(dāng)前種群的每一個(gè)個(gè)體向量,通過一個(gè)特定的變異策略生成一個(gè)變異向量。一般的方法就是隨機(jī)選擇初始種群內(nèi)兩個(gè)不同的個(gè)體進(jìn)行矢量減法,把由此得到的差分矢量賦予一定權(quán)值后與第三個(gè)隨機(jī)選擇的個(gè)體進(jìn)行矢量加法產(chǎn)生變異矢量。交叉的過程主要是將原個(gè)體向量與新生成的變異向量按一定規(guī)則混合,以增加擾動(dòng)參數(shù)的多樣性,交叉后產(chǎn)生的向量稱作試驗(yàn)向量。如果試驗(yàn)向量的適應(yīng)度函數(shù)比目標(biāo)向量的適應(yīng)度函數(shù)值低,則淘汰目標(biāo)向量,否則保留原向量,這個(gè)過程就是選擇。循環(huán)“變異→交叉→選擇”,種群在一步步進(jìn)化,因?yàn)榭偸呛瘮?shù)值較低的即更優(yōu)化的解被選擇成為下一代種群的成員,所以最終生成的種群的成員就是全局優(yōu)化解。
在變異過程中生成變異向量的策略[11]有多種,比較常用的如表1所示。
表1 變異策略
為了獲得更好的優(yōu)化性能,讓種群在進(jìn)化過程中自更新地選擇合適的變異策略。用pl,G表示策略l在第G代被選擇的概率(l=1,2,3,4),設(shè)學(xué)習(xí)周期為LP,讓pl,G按如下規(guī)則更新:
變異向量生成后,按式7對(duì)每一個(gè)變異向量vi產(chǎn)生一個(gè)試驗(yàn)向量ui。
(7)
其中,CR為值在[0,1)的服從正態(tài)分布控制擾動(dòng)參數(shù)的交叉因子;randj為(0,1)的隨機(jī)數(shù);jrand為(1,G)的隨機(jī)正整數(shù)。
用這種自適應(yīng)的差分進(jìn)化方式來優(yōu)化上節(jié)所述OS-ELM模型時(shí),將最優(yōu)解即目標(biāo)位置定為使算法對(duì)危險(xiǎn)源的判斷結(jié)果最接近理想輸出的參數(shù)值。這也是種群進(jìn)化過程中選擇向量的衡量依據(jù),可以用均方誤差來定量表述這一依據(jù),即式8達(dá)到最?。?/p>
(8)
從而得到最終的危險(xiǎn)源識(shí)別算法HI-OSELM,過程如下:
輸入:危險(xiǎn)源的狀態(tài)信息集U={Um|m=1,2,…,k,Um={um1,um2,…,umk}Τ},網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)L,危險(xiǎn)源激勵(lì)函數(shù)g(x),初始訓(xùn)練數(shù)據(jù)數(shù)量q,每次序列到達(dá)的新數(shù)據(jù)集的大小p,種群最大迭代次數(shù)M,種群維度NP
輸出:危險(xiǎn)源識(shí)別結(jié)果
步驟1:隨機(jī)生成NP組OS-ELM訓(xùn)練網(wǎng)絡(luò)的隱層節(jié)點(diǎn)參數(shù),構(gòu)成第一代種群的NP個(gè)個(gè)體向量:
其中,aj和bj(j=1,2,…,L)分別表示隨機(jī)生成的輸入權(quán)值和隱層節(jié)點(diǎn)偏置;G表示種群進(jìn)化的代數(shù),k=1,2,…,NP。
步驟2:ForG=1 toM
Fork=1 to NP
(1)選擇對(duì)應(yīng)時(shí)刻表1中概率最大的變異策略生成變異向量vk,G。
(2)按式7生成交叉后的試驗(yàn)向量uk,G。
(3)計(jì)算網(wǎng)絡(luò)的輸出權(quán)值β0并根據(jù)式8計(jì)算對(duì)應(yīng)RMSE,比較試驗(yàn)向量與原向量,選擇RMSE值較小的進(jìn)入到G+1代種群。
End for
End for
步驟3:把步驟2得到的結(jié)果作為OS-ELM的輸入權(quán)值和隱層偏置,初始化模型,轉(zhuǎn)入算法1。
步驟4:輸出危險(xiǎn)源識(shí)別結(jié)果。
從準(zhǔn)確性和訓(xùn)練時(shí)間兩個(gè)方面對(duì)算法進(jìn)行評(píng)估,并將HI-OSELM算法與一般分類算法(SVM、ELM、OS-ELM)進(jìn)行對(duì)比,說明HI-OSELM算法的速度及泛化性能。
由于目前沒有公開的危險(xiǎn)源數(shù)據(jù)庫,該實(shí)驗(yàn)以某民航行政管理系統(tǒng)的數(shù)據(jù)庫作為實(shí)驗(yàn)數(shù)據(jù)庫。從數(shù)據(jù)庫中危險(xiǎn)源狀態(tài)信息表里獲取3 186條數(shù)據(jù),其中2 000條作為訓(xùn)練數(shù)據(jù)集,1 186條作為測(cè)試數(shù)據(jù)集。為了避免實(shí)驗(yàn)的偶然性,對(duì)各算法運(yùn)行20次,取平均時(shí)間和平均準(zhǔn)確率作為實(shí)驗(yàn)結(jié)果。用到的一般危險(xiǎn)源影響要素如表2所示。
在單隱層神經(jīng)網(wǎng)絡(luò)模型中,隱層節(jié)點(diǎn)個(gè)數(shù)是影響分類結(jié)果準(zhǔn)確性及訓(xùn)練時(shí)間的一個(gè)重要因素。當(dāng)節(jié)點(diǎn)數(shù)過少時(shí),訓(xùn)練所需時(shí)間變少,但是結(jié)果準(zhǔn)確性降低;當(dāng)節(jié)點(diǎn)數(shù)過多時(shí),雖然準(zhǔn)確率有所提高,但訓(xùn)練時(shí)間增加了,而且有可能出現(xiàn)“過擬合”現(xiàn)象。實(shí)驗(yàn)1分別比較了ELM、OS-ELM、HI-OSELM算法的準(zhǔn)確率隨網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)的變化,結(jié)果如圖2所示。由實(shí)驗(yàn)結(jié)果可知,OS-ELM和HI-OSELM隱層節(jié)點(diǎn)個(gè)數(shù)在200處有最好的識(shí)別準(zhǔn)確度,ELM在100到210之間準(zhǔn)確度隨隱層節(jié)點(diǎn)個(gè)數(shù)的增加而增長較快,在210之后變化緩慢,并在240之后趨于平衡,但是會(huì)增加時(shí)間消耗。故實(shí)驗(yàn)中,ELM算法隱層節(jié)點(diǎn)個(gè)數(shù)設(shè)置為240,OS-ELM和HI-OSELM設(shè)置為200。
圖2 網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)與準(zhǔn)確率關(guān)系曲線
領(lǐng)域子領(lǐng)域狀態(tài)類別人員知識(shí)水平生理和心理因素意識(shí)和態(tài)度操作機(jī)組資源理論知識(shí)專業(yè)操作技能工作經(jīng)驗(yàn)和技術(shù)抗壓能力身體健康水平心理健康水平飛行時(shí)限工作強(qiáng)度等風(fēng)險(xiǎn)感知能力安全意識(shí)和態(tài)度安全目標(biāo)認(rèn)知非法操作飛行指令準(zhǔn)確性移交問題突發(fā)問題處理能力機(jī)組搭配設(shè)備機(jī)場(chǎng)設(shè)施飛機(jī)設(shè)備故障率設(shè)備維護(hù)錯(cuò)誤設(shè)備軟件工作不正常網(wǎng)絡(luò)安全飛機(jī)維護(hù)錯(cuò)誤飛機(jī)日常使用飛機(jī)系統(tǒng)安全性警告系統(tǒng)安全性環(huán)境自然環(huán)境工作環(huán)境天氣因素(溫度/濕度/風(fēng)力)天氣預(yù)報(bào)有效性鳥擊意外非法干擾升空物體特殊地理環(huán)電磁干擾工作環(huán)境滿意度管理規(guī)章機(jī)構(gòu)制度不適用空域劃設(shè)不合理運(yùn)維管理有效性交流信息真實(shí)度資源配置
除了網(wǎng)絡(luò)隱層節(jié)點(diǎn)個(gè)數(shù)外,初始樣本的大小對(duì)識(shí)別結(jié)果準(zhǔn)確率的影響也尤為重要。為了獲得最佳的識(shí)別結(jié)果,實(shí)驗(yàn)2分別比較了OS-ELM、HI-OSELM算法的準(zhǔn)確率在不同初始訓(xùn)練集大小下的變化,結(jié)果如圖3所示。由圖3可知,算法準(zhǔn)確率一開始隨初始訓(xùn)練樣本個(gè)數(shù)增長變化較快,在310處后逐漸趨于平穩(wěn),漲幅不大,故選310作為訓(xùn)練數(shù)據(jù)集初始學(xué)習(xí)階段樣本個(gè)數(shù)。
根據(jù)文獻(xiàn)[12-14]關(guān)于差分進(jìn)化優(yōu)化問題的經(jīng)驗(yàn)及結(jié)論,將HI-OSELM算法中的種群大小NP定為20,最大種群迭代次數(shù)設(shè)為50。實(shí)驗(yàn)3分別用4種算法對(duì)數(shù)據(jù)集各進(jìn)行了20次實(shí)驗(yàn),得到的平均結(jié)果如表3所示。
圖3 初始樣本大小與準(zhǔn)確率關(guān)系曲線
表3 不同算法訓(xùn)練時(shí)間與準(zhǔn)確率比較
可以看出,HI-OSELM算法相比SVM雖然準(zhǔn)確性相差無幾,但是HI-OSELM訓(xùn)練時(shí)間大大減少,尤其在數(shù)量大的情況下該時(shí)間優(yōu)勢(shì)會(huì)更為明顯。與極限學(xué)習(xí)機(jī)的另兩種算法ELM、OS-ELM相比,由于增加了在線學(xué)習(xí)的部分和優(yōu)化參數(shù)的迭代過程,時(shí)間上明顯比這兩種算法多一些,但是無論是訓(xùn)練準(zhǔn)確率還是測(cè)試準(zhǔn)確率都提高顯著,可以說整體性能更好。
最后,實(shí)驗(yàn)4分析了在線學(xué)習(xí)樣本加入模式對(duì)算法的影響,分別給出逐一增加,逐塊增加和變動(dòng)增加情況下HI-OSELM的學(xué)習(xí)效果,如表4所示。
表4 不同新樣本數(shù)量大小下HI-OSELM的
由表4可知,數(shù)據(jù)不同增長模式下算法準(zhǔn)確率沒有太大變化,彼此都很接近。從時(shí)間的角度看,增長數(shù)據(jù)集擴(kuò)大,算法運(yùn)行時(shí)間減少,1-by-1即逐個(gè)到達(dá)模式下所需時(shí)間最多。需要注意的是,不能據(jù)此將時(shí)間與新數(shù)據(jù)規(guī)模的關(guān)系單純地理解為線性關(guān)系,也不可能將這個(gè)數(shù)據(jù)集設(shè)為很大,一方面失去在線學(xué)習(xí)的意義,另一方面由于計(jì)算機(jī)內(nèi)存和計(jì)算速度有限,運(yùn)行時(shí)間也不可能降到極限值。此外還可以看出,從20-by-20到50-by-50,時(shí)間雖然減少了,但幅度并不大。
針對(duì)危險(xiǎn)源識(shí)別算法中無法實(shí)現(xiàn)在線學(xué)習(xí)的問題,提出了一種基于在線序列極限學(xué)習(xí)機(jī)的危險(xiǎn)源識(shí)別算法HI-OSELM。在建立訓(xùn)練網(wǎng)絡(luò)模型時(shí),由于算法隨機(jī)生成網(wǎng)絡(luò)輸入連接權(quán)值和隱層偏置,因而可能導(dǎo)致網(wǎng)絡(luò)模型結(jié)構(gòu)設(shè)計(jì)不佳,進(jìn)而導(dǎo)致識(shí)別結(jié)果準(zhǔn)確度不夠高。為此,引入自適應(yīng)差分進(jìn)化的智能優(yōu)化方法,將輸入權(quán)值和隱層偏置作為種群成員,經(jīng)過種群變異、交叉、選擇,不斷進(jìn)化,獲得最優(yōu)參數(shù)。網(wǎng)絡(luò)完成初始學(xué)習(xí)后,進(jìn)入在線學(xué)習(xí)階段,新數(shù)據(jù)可以一個(gè)接一個(gè)地到達(dá),也可以幾十個(gè)、幾百個(gè)同時(shí)到達(dá)。仿真實(shí)驗(yàn)表明,該算法對(duì)危險(xiǎn)源具有很好的識(shí)別準(zhǔn)確率,并且具有快速、自學(xué)習(xí)的特點(diǎn),而且對(duì)以往數(shù)據(jù)不重新學(xué)習(xí),只學(xué)習(xí)新數(shù)據(jù),不浪費(fèi)計(jì)算資源,緩解了內(nèi)存壓力。在用差分進(jìn)化優(yōu)化參數(shù)時(shí)算法實(shí)現(xiàn)了變異策略的自適應(yīng)更新,但是,一些參數(shù)如變異因子和交叉因子的選取是在參考許多文獻(xiàn)及同類型實(shí)驗(yàn)后選取了最為合適的值直接設(shè)置在算法中的,今后將繼續(xù)考慮讓這些也能夠完成自適應(yīng)進(jìn)化,以期獲得更高的準(zhǔn)確率。