蘇續軍 呂學志
1 (陸軍工程大學石家莊校區一系 河北 石家莊 050003)2(陸軍炮兵訓練基地模擬訓練中心 河北 宣化 075100)
目前,無人機由于其自身特點和優越性能在軍事、經濟等領域得到了廣泛應用,地位愈顯重要。隨著無人機技術越來越先進,無人機構造組成越來越復雜,由于受操控技能的熟練性和各種環境因素的影響,無人機故障時有發生。為了避免故障發生,減少對作戰、訓練任務的影響,對無人機故障進行預測并分析造成故障的重要因素尤為重要。
國內外相關研究主要集中在大型無人機系統上。大型無人機系統的誤操作率往往比有人駕駛飛機大一到兩個數量級[1]研究發現人為錯誤占早期大型無人機事故的21%至80%[2],而最近的研究發現它接近56%~69%[3]。從理論上講,提高無人機自動化程度和操控人員的經驗水平可以減少大型無人機中的人為錯誤[4]。為了避免大型無人機與其他飛行器碰撞[5],以及避免造成地面人員或財產的傷害[6],研究建議繼續開發[7]感知技術、規避技術、自動著陸技術[8]。其他研究認為環境因素對大型無人機和有人駕駛飛機可靠性有很大影響,例如風速和風向[9]。
與載人飛行器相比,可用于無人機系統分析的數據要少得多。因此,大多數無人機可靠性研究傾向于通過指定最小故障率來滿足可靠性目標[10-11],或利用故障樹分析[12-14]、故障模式和影響分析[15-17]對無人機可靠性進行分析。這些無人機可靠性研究都是基于理論的分析,而不是基于數據的分析。本文將通過BP神經網絡技術,建立無人機的故障預測模型,并分析影響無人機可靠性的重要因素,擴展之前的研究概念。
本文的研究目標是利用已有的無人機飛行數據集進行處理,采用BP神經網絡技術建立無人機故障預測模型,并分析影響無人機可靠性的重要因素。
在本文中,使用“故障”這一術語來描述阻止無人機完成任務的任何事件?!肮收稀边@一術語取決于使用無人機執行的任務。用于該分析的數據背景是實驗室級測試。本文分析的無人機任務是飛行實驗,其產品是飛行報告。因此,出于本文的目的,如果無人機未能收集實驗計劃收集的數據,則認為無人機飛行實驗故障。如果無人機在起飛時墜毀,那顯然是故障,因為沒有收集數據。如果無人機在飛行中遭遇緊急情況,并自動安全著陸,但是沒有收集到所有測試數據,那么盡管系統保持完好無損,但仍然是故障的。如果在收集所有數據后無人機硬著陸,則該飛行不被視為故障,因為盡管在著陸時無人機受損,但完成任務。
相關無人機數據集來自某實驗中心2010年到2016年的各種型號無人機飛行記錄。飛行記錄包括測試的無人機型號、飛行員、飛行過程描述以及測試現場的環境條件。無人機包括成熟的民用無人機和處于試驗階段的軍用原型機。無人機可以由操控手(地面站操作員)手動控制飛行,或者完全自動飛行,或者同時采用兩種飛行模式。通常操控手(地面站操作員)地面飛行員提供方位,而自動飛行儀負責確保無人機的飛行速度和高度。出于分析的需要,僅當操控手負責控制無人機所有飛行參數時,無人機才被認為是在手動模式下飛行。無人機數據集包括1 054次飛行的20個特征因素,以及每次飛行的結果(故障/無故障)。有關變量如表1所示。

表1 原始屬性

續表1
并非每次無人機飛行都有完整的數據。例如,一些飛行缺少風速和溫度,而另一些飛行缺少過程描述,因此沒有飛行故障記錄。如果發現在飛行記錄中缺少重要特征值,則從數據集中刪除該條飛行記錄。前954次飛行數據(來自總共1 104次的飛行數據,涵蓋2010年1月到2016年9月)用于建模,而剩余的99次飛行(2016年10月至12月)用于數據驗證。
神經網絡長期以來一直用于分類目的。典型的前饋神經網絡包括輸入層、隱藏層和輸出層,通過將輸入向量逐層加權非線性處理最終得到輸出向量,從而產生分類。本文使用的前饋人工神經網絡結構如圖1所示,它具有1個隱藏層和1個分類器節點。

圖1 神經網絡結構
首先,對數據集進行歸一化,每個特征輸入值減去該特征的平均值并除以其標準差來歸一化。


圖2 隱藏層節點內部工作原理示意圖
BP算法的學習過程由信號的正向傳播與誤差的逆向傳播兩個過程組成。正向傳播時,輸入信號經過隱層的處理后,傳向輸出層。若輸出層節點未能得到期望的輸出,則轉入誤差的逆向傳播階段,將輸出誤差按某種形式,通過隱層向輸入層返回,并“分攤”給隱層節點與輸入層節點,從而獲得各層單元的參考誤差或稱誤差信號,作為修改各單元權值的依據。這種信號正向傳播與誤差逆向傳播修改著各單元權值,是周而復始進行的。權值不斷修改的過程,也就是網絡學習的過程(或稱訓練過程)。此過程一直進行到網絡輸出的誤差逐漸減少到可接受的程度或達到設定的學習次數為止,BP算法學習過程的流程圖如圖3所示。

圖3 隱藏層節點內部工作原理
只有一部分數據(通常為60%~70%)進行網絡訓練,而剩余數據被用于驗證和測試。反向傳播用于僅調整訓練數據子集的網絡權重。驗證數據通過網絡前饋以確定它們的映射錯誤。通常,當驗證數據錯誤最小時,網絡被認為是最優化的。因為具有足夠節點的神經網絡可以映射任意復雜的表面,所以驗證數據集用于防止過度擬合。

本文的無人機故障建模采用信噪比(SNR)顯著性指標[20]。此度量是基于權重的,并使用注入的噪聲輸入作為所有候選特征的比較。通過采用候選特征i權重的平方和與注入噪聲的比率(并轉換為分貝尺度)來計算顯著性度量:
(1)
神經網絡是隨機初始化的,通??梢詾橄嗤妮斎氘a生不同的結果。為了解釋這種隨機性,針對若干神經網絡計算每個特征的信噪比顯著性指標。信噪比顯著性指標用于對特征變量進行排序,之后刪除最不顯著的特征(排名最低的)并再計算神經網絡對測試數據集的平均分類準確度,當刪除特征變量后的分類精度顯著下降時,刪除的最后一個特征變量將保留在神經網絡模型中。如果沒有明顯的下降,分析人員可以自行決定分類準確度可接受的截止點。模型中保留下來的特征變量被認為是重要的。
模型性能評價主要使用受試者工作特征(Receiver Operating Characteristic, ROC)曲線和混淆矩陣。
ROC曲線是一種非常有效的模型評價方法,可為選定臨界值給出定量提示。ROC曲線是根據一系列不同的二分類方式(臨界值或者閾值),將真陽性率(Sensitivity,靈敏度)為縱坐標,假陽性(1-Specificity,1-特異性)為橫坐標繪制的曲線。該曲線下的積分面積(Area Under Curve, AUC)大小與每種方法的優劣密切相關,反映分類器正確分類的統計概率,其值越接近1說明該算法的效果越好。
混淆矩陣(Confusion Matrix)是模式識別領域中一種常用的表達形式。它描繪樣本數據的真實屬性與識別結果類型之間的關系。是評價分類器性能的一種常用方法。假設對于N類模式的分類任務,識別數據集D包括T0個樣本,每類模式分別含有Ti個數據(i=1,2,…,N)。采用某種識別算法構造分類器C,cmij表示第i類模式被分類器C判斷成第j類模式的數據量,則可得到如下N×N維混淆矩陣CM(C,D)。
(2)
混淆矩陣中元素的行下標對應目標的真實屬性,列下標對應分類器產生的識別屬性。對角線元素表示各模式能夠被分類器C正確識別的數據量,而非對角線元素則表示發生錯誤判斷的數據量。
構建了基于BP神經網絡無人機故障預測模型,并進行特征篩選。用于此分析的數據集包含n=1 064次飛行完整數據,并且Pr{FAILURE=0}=0.68和Pr{FAILURE=1}=0.32。因為所有特征變量都存在于基本模型中,通過順序移除非顯著特征變化對模型進行了改進。刪除相關性較大的特征變量,例如風差,因為它是另外兩個變量的函數。計算輸入數據的相關矩陣,得到如表2所示的顯著相關性。

表2 人工神經網絡(ANN)輸入的顯著相關性
出于解釋原因,“自動飛行次數”被排除在考慮之外。跟“自動飛行次數”相比較,記錄和解釋“飛行總數”更容易。同樣,“最小風速”被排除在考慮范圍之外。其決策價值低于“最大風速”,因為大多數法規和安全要求都規定了無人機飛行的最大風力等級。預計“待機間隔天數”和“型號間隔天數”在模型中不顯著,所以模型中并不保留這兩個特征變量。
選擇具有1個隱藏層(18個隱藏節點)、使用反向誤差傳播的前饋神經模型。統一加入隨機噪聲變量,數據隨機分組,分為訓練和測試集(分別為90%、10%)。隨機初始化和訓練神經網絡,并計算每個特征的信噪比顯著性。從模型中刪除排名最不顯著的特征。按表3中給出的順序移除特征。

表3 BP神經網絡故障預測模型的特征移除順序
將測試集誤分類率與神經網絡的移除特征的數量作圖,以確定在模型中保留的最佳特征數(參見圖4)。該圖顯示錯誤分類率下降,直到9到11個特征刪除后,錯誤分類率急劇增加。將三個候選模型(分別具有9、10和11個特征的模型)進行相互比較。具有10個特征的模型以最低的平均測試集錯誤分類率表現最佳。最佳模型的權重是從表現最佳的候選模型中選出的。使用ROC曲線(參見圖5)和混淆矩陣(參見圖6)驗證了最終模型的性能。
該模型保留了以下特征變量:手動駕駛、飛行次數、操控手飛行次數、型號飛行次數、飛行總數、場地飛行次數和原型機。該模型的ROC曲線的AUC表明模型要好于猜測,可以更好地預測無人機飛行故障,并且混淆矩陣表現出87%的準確度。

圖4 為BP神經網絡故障預測模型測試集誤分類率隨移除特征變量變化圖

圖5 BP神經網絡故障預測模型的ROC曲線(AUC=0.87)

預測01真0298實1558
圖6 BP神經網絡故障預測模型的混淆矩陣
對無人機和載人飛機事故的文獻回顧表明,人為錯誤是飛機故障的主要原因,增加飛行員經驗有助于降低故障率。 但是,并沒有發現操控手經驗(“操控手飛行次數”和“操控手間隔天數”)顯著影響故障率。同樣地,“最大風速”也并未顯著影響故障率。這主要是由于測試人員在飛行之前會判斷誰應該操控無人機或者哪些風對于給定的測試飛行是安全的,這足以使這兩個因素不會影響測試飛行。
無人機的故障率隨著所有平臺的“飛行總數”(NFTOT)以及“型號飛行次數”的增加而減少,這說明更好的組織經驗同樣可以降低故障率。
最重要的結論是軍用原型機故障率是民用成熟機的6倍,而手動飛行模式下的故障率是自動駕駛模式的2倍。減少故障率的簡單方法是盡可能用商用成熟機代替軍用原型機,特別是在載荷高價值或執行重要任務時。此外,應盡可能用自動駕駛模式代替手動操控模式,尤其是對于重要的飛行任務。
本文介紹了如何利用神經網絡對無人機系統事故進行預測,對利用無人機系統故障數據集預測無人機故障問題進行了描述,給出了建模思路和方法框架,介紹了人工神經網絡,并探討了使用特征變量顯著性篩選技術識別故障影響因素。在實例中利用本文提出的方法對無人機故障進行了預測,并量化了統計上顯著的故障因素。提出了預防故障的建議,驗證了方法的可行性與有效性。該方法可以充分利用故障數據中隱含的信息,以及多種神經網絡的優點,具有一定的通用性與實用性。在以后的研究中,可以采用其他特征變量選擇方法,如因子分析、主成分分析等;可以采用其他數據建模方法,如Logistics回歸、SVM、深度學習網絡等;采集無人機的各種性能數據、測試數據等,分析這些因素對無人機故障的影響。