張克明,蔡遠文,任元
(1.航天工程大學 研究生院,北京101416; 2.航天工程大學 宇航科學與技術系,北京101416)
隨著中國航天事業(yè)的發(fā)展,航天任務趨于繁重,系統(tǒng)安全可靠性要求越來越高。航天作為復雜巨系統(tǒng),加之日趨惡劣的太空環(huán)境,其安全及技術難度不斷加大。1986年1月28日,美國“挑戰(zhàn)者”號航天飛機發(fā)射73 s時發(fā)生爆炸,7名航天員和1名教師喪生,耗資12億美元的發(fā)射活動以失敗告終。中國近期發(fā)生的幾起航天發(fā)射事故,除事故直接巨大損失外,對中國航天事業(yè)發(fā)展造成了難以彌補的影響和損失。為實現(xiàn)故障事前預警、隱患盡早排除,而不是事后總結經(jīng)驗教訓,除加強科學管理外,還要在傳統(tǒng)故障診斷檢測方法基礎上,引進人工智能大數(shù)據(jù)等高新技術,對樣本稀少或者難以獲取的航天異常事件開展有針對性的精準檢測,實現(xiàn)常態(tài)化航天事故預防。
異常事件檢測(Anomaly Events Detection,AED)是近年來人工智能領域的研究熱點,在鐵路軌道異常檢測、石油燃氣管道異常檢測、橋梁異常檢測、地震波聲學檢測、裝備故障監(jiān)控異常報警及智能家居、公共安全監(jiān)控、無人駕駛等領域都有很好的應用前景。異常事件檢測在國內(nèi)外都得到了廣泛研究應用[1-2]。
異常事件檢測傳統(tǒng)方法主要包括信號分析[3-4]、信息熵[5]、統(tǒng)計分析和聚類[6]等。信號分析主要用于音頻信號異常檢測,優(yōu)點是算法成熟,不足是檢測精度低。信息熵用于衡量信息、事件的無序程度,多用于對網(wǎng)絡流量、信號進行異常檢測,優(yōu)點是無監(jiān)督,不需要標記樣本,不足是需要嚴謹?shù)男畔⒄摲椒ǎy以發(fā)現(xiàn)未知異常事件。統(tǒng)計分析方法基于數(shù)據(jù)的經(jīng)驗分布進行異常檢測,優(yōu)點是可以對任意分布數(shù)據(jù)進行異常檢測,問題在于現(xiàn)實中數(shù)據(jù)不一定符合某種分布,檢測結果不確定。聚類方法假設稀疏樣本或遠離正常樣本的數(shù)據(jù)為異常樣本,優(yōu)點是簡單、快速,處理大數(shù)據(jù)集高效,缺點是參數(shù)選取難,數(shù)據(jù)不平衡或存在孤立點、離群點,難以處理[7-11]。
隨著深度神經(jīng)網(wǎng)絡技術的發(fā)展,國際上開始采用自動編碼器、卷積網(wǎng)絡、生成對抗網(wǎng)絡(Generative Adversarial Nets,GAN)等方法開展異常事件檢測研究。An和Cho[12]于2015年提出基于變分自動編碼器(Variational Autoencoder,VAE)使用重構概率進行異常檢測,但存在部分關鍵性能不佳問題。Lim等[13]于2017年提出使用一維卷積循環(huán)網(wǎng)絡進行稀有音頻事件檢測,主要用于對音頻事件進行檢測。
由于航天領域具有環(huán)境復雜、技術難、風險高、投入大和高度重視安全等特點,航天異常故障具有不確定性、發(fā)展性和分散性等典型特性[14]。美國國家航空航天局(NASA)從20世紀70年代便開始研究航天診斷技術,建立航天器故障診斷平臺,保證了航天器的可靠運行,延長了航天器使用壽命,提高了發(fā)射成功率,降低了運行風險。中國自20世紀70年代成功發(fā)射第一顆衛(wèi)星以來,一直非常重視故障診斷和維護保障工作,并于2014年成立了航天器在軌故障診斷與維修實驗室[15]。常用航天故障及異常分析方法主要有信號分析、概率統(tǒng)計、專家診斷、知識推理等。這些方法存在重視診斷維護,缺少事前異常預警;側重專家知識推理,欠缺數(shù)據(jù)精準檢測;主要針對已有案例故障,難以檢測未知、無樣本、沒出現(xiàn)過的異常事件等不足[16]。隨著人工智能技術的發(fā)展成熟,在航天領域研究應用深度學習、神經(jīng)網(wǎng)絡和大數(shù)據(jù)等技術成為必然。國內(nèi),蘇振華等[17]基于BP神經(jīng)網(wǎng)絡的衛(wèi)星故障診斷法,以及燕飛和秦世引[18]基于RBF神經(jīng)網(wǎng)絡和M距離的衛(wèi)星故障診斷等研究都是良好的開端,但還存在早期神經(jīng)網(wǎng)絡學習效率低、收斂速度慢、需要大量標記數(shù)據(jù)等問題。本文應用國際最新深度神經(jīng)網(wǎng)絡學習技術,提出了基于生成對抗網(wǎng)絡的航天異常事件檢測方法,不需進行數(shù)據(jù)標注,在沒有異常事件樣本的條件下,全部采用正常數(shù)據(jù)進行學習訓練,對沒有出現(xiàn)過的未知航天異常事件進行精準檢測預警[19]。
2014年,生成對抗網(wǎng)絡自Goodfellow等[20]提出以來,迅速用于語音識別、圖像處理、數(shù)據(jù)增強和事件檢測等方面。Schlegl等[21]開展基于生成對抗網(wǎng)絡的無監(jiān)督異常監(jiān)測引導標記發(fā)現(xiàn)研究,用于診斷醫(yī)學圖像異常病變。Michelsanti和Tan[22]開展基于條件生成對抗網(wǎng)絡的語音增強和噪聲魯棒性說話人識別研究。在相關專業(yè)領域都取得了很好的試驗結果。
生成對抗網(wǎng)絡的原理受博弈論中的二人零和博弈啟發(fā),即二人的利益之和為零,一方的所得正是另一方的所失。生成對抗網(wǎng)絡主要由生成器G和判決器D組成,如圖1所示。生成器G輸入隨機變量Z,輸出由G生成的盡量服從真實數(shù)據(jù)分布的生成數(shù)據(jù)G(Z)。判決器D輸入真實數(shù)據(jù)X或生成器生成的數(shù)據(jù)G(Z),輸出數(shù)據(jù)來源概率。生成器G的目的是盡量學習真實的數(shù)據(jù)分布,而判決器D的目的是盡量正確判別輸入數(shù)據(jù)是來自真實數(shù)據(jù)還是來自生成器生成的數(shù)據(jù)[23]。
圖1 生成對抗網(wǎng)絡結構示意圖Fig.1Schematic diagram of structure of generative adversarial nets
如何訓練生成對抗網(wǎng)絡呢?首先,優(yōu)化判決器D,在給定生成器G的情況下,D(X)相當于輸入真實數(shù)據(jù)時的輸出,期望結果最大,預測結果越接近1越好。D(G(Z))相當于輸入生成數(shù)據(jù)時的輸出,期望結果越小越好,即D(G(Z))越小越好,預測結果越接近0越好。但是D(X)越大與D(G(Z))越小在同一個目標函數(shù)中優(yōu)化時矛盾,因而把D(G(Z))改為求1-D(G(Z))越大越好,即求式(1)越大越好[24]。
其次,優(yōu)化G,此時輸入隨機變量,輸出生成樣本。期望生成樣本的預測結果D(G(Z))越大越好,1-D(G(Z))越小越好,如下:
合并式(1)和式(2),得最大最小化目標函數(shù)為
航天器無論是在試驗還是在實際發(fā)射、運行中,異常事件都非常少,異常事件的典型樣本缺乏,難以覆蓋異常事件分布,本文提出了一種新的不需要使用異常事件進行訓練,只利用大量正常事件樣本訓練,實現(xiàn)對航天異常事件的檢測。航天正常事件原始數(shù)據(jù)主要來源于系統(tǒng)的音頻、視頻傳感器,各分系統(tǒng)和關鍵模塊及環(huán)境等的監(jiān)控、監(jiān)測和遙測、遙控等數(shù)據(jù)。
圖2 航天異常事件檢測結構組成Fig.2 Structure constitution of space anomaly events detection
基于生成對抗網(wǎng)絡的航天異常事件檢測主要由正反2個生成對抗網(wǎng)絡和檢測器組成,結構如圖2所示。正生成對抗網(wǎng)絡由正生成器和判決器組成,先訓練判決器判別事件是來自輸入事件X還是來自正生成器生成正常事件Gn(Z)的判決能力,隨后訓練正生成器生成模擬正常事件Gn(Z)的能力,系統(tǒng)不斷迭代,循環(huán)訓練,持續(xù)提高正生成器的正常事件模擬生成能力和判決器的判決能力[25]。
反生成對抗網(wǎng)絡由反生成器和判決器組成。反生成器最大可能生成非正常事件,即努力模擬異常事件。先訓練判決器判別事件是來自輸入事件X還是來自反生成器生成的模擬異常事件Ga(Z)的判決能力,隨后訓練反生成器生成模擬異常事件Ga(Z)的能力,系統(tǒng)不斷迭代,循環(huán)訓練,持續(xù)提高反生成器的模擬異常事件生成能力和判決器的判決能力。
檢測時,主要通過檢測器,計算輸入事件X與正生成器生成的模擬事件Gn(Z)的歐氏距離差,以及與反生成器生成的模擬事件Ga(Z)的歐氏距離差,計算異常事件分值,設置合理的閾值,將分值高的事件作為異常事件檢出。
生成模型在人工智能領域占有重要地位,生成方法和判別方法是機器學習中的2個分支。生成模型是生成方法學習得到的模型,涉及對數(shù)據(jù)的分布假設和分布參數(shù)的學習,能夠根據(jù)學習來的模型生成新的數(shù)據(jù)樣本。生成模型主要有自動編碼器(autoencoder)、自回歸模型(autoregressive models)和生成對抗網(wǎng)絡等。
正生成對抗網(wǎng)絡輸入大量正常數(shù)據(jù)訓練收斂后,正生成器捕捉正常事件分布。檢測時輸入未知樣本輸入X,正生成器生成隨機變量Z的映射gn(Z,Θ),如果X為正常事件,具有相似事件分布,則gn(Z,Θ)約等于X,具有較小的樣本距離。如果X為異常事件,事件分布不一致,則gn(Z,Θ)不約等于X,具有較大的樣本距離。
反生成對抗網(wǎng)絡輸入大量正常數(shù)據(jù)訓練收斂后,反生成器捕捉異常事件分布。檢測時輸入未知樣本X,反生成器生成隨機變量Z 的映射ga(Z,Θ),如果X為正常事件,事件分布不一致,則ga(Z,Θ)不約等于X,具有較大的樣本距離。如果X為異常事件,具有相似事件分布,則ga(Z,Θ)約等于X,具有較小的樣本距離。
如果生成器成功地學習到訓練數(shù)據(jù)分布的良好近似,檢測時根據(jù)輸入事件與生成事件的樣本距離大小,實現(xiàn)對異常事件的精確檢測。
生成對抗網(wǎng)絡使用大量正常事件進行訓練后,正生成對抗網(wǎng)絡學習到了大量正常事件的特征,反生成對抗網(wǎng)絡學習到了大量異常事件的特征,檢測時檢測器通過計算輸入與生成模擬事件樣本空間距離的歐幾里得范數(shù),計算異常分A(X,Θ)。異常分A(X,Θ)由輸入向量X與模擬正常事件誤差An(X,Θ)及輸入向量X與模擬異常事件誤差Aa(X,Θ)決定。
為更好地檢出異常事件,需要異常分A(X,Θ)盡量大,通過使An(X,Θ)盡可能大,同時使Aa(X,Θ)盡可能小實現(xiàn)。
通過計算異常分A(X,Θ),根據(jù)具體實踐,采用合適閾值φ,如果異常分小于等于門限閾值φ,判為正常事件,否則將異常分A(X,Θ)大于閾值的事件判為異常事件檢出[26-27]。具體算法如下。Θd為判決器中的參數(shù),η為變量系數(shù),Θg為生成器中的參數(shù)。
算法1 異常事件檢測算法
1:訓練正生成對抗網(wǎng)絡。
For變量1 in range(訓練迭代數(shù)):
For變量2 in range(輸入事件總批數(shù)):
輸入正常事件樣本X{x(1),…,x(N)}
輸入隨機變量樣本Z{z(1),…,z(N)}
更新參數(shù)使判決器隨機梯度上升:
更新參數(shù)使正生成器隨機梯度下降:
End for
End for
2:訓練反生成對抗網(wǎng)絡。
For變量1 in range(訓練代數(shù)):
For變量2 in range(總共數(shù)據(jù)批數(shù)):
輸入正常事件樣本X{x(1),…,x(N)}
輸入隨機變量樣本Z{z(1),…,z(N)}
更新參數(shù)使判決器隨機梯度上升:
更新參數(shù)使反生成器隨機梯度下降:
End for
End for
3:航天異常事件檢測。
For變量1 in range(總共數(shù)據(jù)批數(shù)):輸入檢測事件樣本X{x(1),…,x(N)}輸入隨機變量樣本Z{z(1),…,z(N)}計算輸入向量與模擬正常事件誤差An(X,Θ):
計算輸入向量與模擬異常事件誤差Aa(X,Θ):
計算異常分A(X,Θ):
異常分大于門限閾值 φ,則將結果判為異常事件檢出。
End for
在理論算法上,針對航天異常事件樣本稀少的特點,改進生成對抗網(wǎng)絡,提出反生成對抗網(wǎng)絡,全部采用正常事件樣本進行訓練,從而實現(xiàn)對航天異常事件的有效檢測。
為了驗證本文方法的可行性,并評估其性能指標,用Python語言編寫了試驗驗證程序,并使用人工智能常用的美國國家標準與技術研究所數(shù)據(jù)庫MNIST數(shù)據(jù)集和真實環(huán)境下采集的模擬航天環(huán)境音頻數(shù)據(jù),進行了科學嚴謹?shù)脑囼灐?/p>
航天異常事件檢測主要性能指標有精確率、準確率、召回率、精確率和召回率綜合評價指標(F1)、虛警率(False Alarm,F(xiàn)A)、漏警率、接收器工作特性曲線下面積(AUC)及精確率和召回率曲線下面積(PRC)等。
1)精確率P。即預測正確的正例數(shù)占預測為正例數(shù)的比例,P=TP/(TP+FP),TP為預測正確的正例數(shù),F(xiàn)P為預測錯誤的正例數(shù)。
2)召回率R。即預測為正例的數(shù)據(jù)占實際正例數(shù)的比例,R=TP/(TP+FN),F(xiàn)N為被錯誤預測為負例的數(shù)量。
3)F1。由于在實際應用中精確率與召回率這2個指標是相互制約的,通常會根據(jù)任務需要選擇一個合適的平衡點,取最理想的召回率和精確率值。精確率和召回率綜合評價指標F1定義為:F1=2PR/(P+R)。
4)FA。FA=FP/(TP+FP)。反映被判為正例樣本中,有多少個是負例,即被誤判為異常事件的概率。
5)AUC。是以假正率(False Positive Rate,F(xiàn)PR)為橫坐標,召回率為縱坐標繪制的曲線下的面積,F(xiàn)PR=FP/(FP+TN),是反映接收器工作特征的綜合指標,面積越大,性能越好,其中TN為預測正確的負例數(shù)。
6)PRC。是以召回率為橫軸,精確率為縱軸的曲線下的面積。面積越大,性能越好。
3.2.1 數(shù)據(jù)準備
MNIST數(shù)據(jù)集是人工智能訓練測試,尤其是異常事件檢測常用的手寫數(shù)字圖片識別數(shù)據(jù)集。數(shù)據(jù)集來自美國國家標準與技術研究所,由訓練集和測試集組成,數(shù)據(jù)來自250個不同人手寫的數(shù)字。
從MNIST數(shù)據(jù)集中生成10個(0~9)不同數(shù)字的數(shù)據(jù)集,將其中一個數(shù)字作為異常事件,其余9個數(shù)字作為正常事件。訓練集使用80%的正常事件,測試集使用剩余20%的正常事件和所有異常事件進行檢測驗證。
3.2.2 試驗結果
表1為在MNIST數(shù)據(jù)集上進行測試的部分性能結果。測試中閾值的取值,以取得綜合最優(yōu),即F1分最高為標準。從表1中可以看出,當異常數(shù)字為1、7和9時總體性能較差。這與其他異常檢測方法使用MNIST數(shù)據(jù)集測試結果一致,可能是由于1、7和9這3個數(shù)字區(qū)分度小,識別容易混淆。
表2顯示了在相同的MNIST數(shù)據(jù)集上,本文方法的F1和PRC測試指標與基于VAE異常檢測部分指標相比,有明顯的性能提升。其中最好的F1值提升了273%,最差的提升了31%,最好的PRC 性能提升了770%,最差的也提升了11%。VAE數(shù)據(jù)來自文獻[12]。
表1 基于MNIST數(shù)據(jù)集異常檢測性能Table 1 Anomaly detection performance on MNIST
表2 本文方法與VAE方法異常檢測性能對比Table 2 Anomaly detection perfor mance comparison between proposed method and VAE method
MNIST數(shù)據(jù)集為手寫數(shù)字圖片,與航天異常圖像數(shù)據(jù)有近似一致性,在該數(shù)據(jù)集的測試性能證明了本文方法對圖像類數(shù)據(jù)異常特征的學習和識別能力。試驗結果表明,基于生成對抗網(wǎng)絡的航天異常事件檢測方法在MNIST數(shù)據(jù)集上,全部采用正常事件進行訓練后,能成功識別訓練時從未使用過的未知異常。
3.3.1 數(shù)據(jù)準備
為了進一步對本文方法進行實證檢驗,使用實際環(huán)境采集的數(shù)據(jù)來驗證。鑒于航天數(shù)據(jù)的保密性和敏感性,采集真實環(huán)境音頻數(shù)據(jù)模擬航天音頻數(shù)據(jù)。正常事件采集自正常工作的電風扇聲音,異常事件采集電風扇中掉入紙條時發(fā)出的異常聲音。正常和異常事件以48 kHz采樣率分別采集了4 h和20 min的音頻數(shù)據(jù)。使用2 h正常音頻數(shù)據(jù)進行訓練,用另外2 h正常數(shù)據(jù)和20 min異常數(shù)據(jù)進行性能測試。通過將音頻文件預加重,每40 ms一幀,20 ms幀移,加漢明窗,快速傅里葉變換后通過128個梅爾濾波器得到40個梅爾頻譜,每批輸入50個400幀長數(shù)據(jù)進行訓練測試。
3.3.2 試驗結果
全部使用在真實環(huán)境下采集的設備正常工作音頻數(shù)據(jù)進行訓練,使用設備正常、異常比為6∶1的音頻數(shù)據(jù)進行測試。
測試結果如表3所示??梢钥闯觯疚姆椒▽φ鎸嵀h(huán)境下采集的完全使用正常數(shù)據(jù)訓練,能精準檢測未知的異常事件,這對異常樣本稀少或者難以獲取的航天等領域有很好的適用性。如表3所示,當訓練數(shù)據(jù)迭代2次時,檢測性能明顯提升,但迭代3次及以上時,檢測能力隨迭代次數(shù)增加變化不大。試驗異常事件檢測性能很好,幾乎全部檢出了未知的異常事件,能很好地區(qū)分正常和異常事件,當然這可能與采集數(shù)據(jù)的設備工作環(huán)境簡單、外界干擾少有關。在以后的具體應用中還要采集實際工作環(huán)境各種復雜條件下的數(shù)據(jù)進行更加深入細致的試驗研究。
表3 真實環(huán)境數(shù)據(jù)檢測性能Table 3 Data detection performance in real environment
本文提出基于生成對抗網(wǎng)絡的航天異常事件檢測方法,全部使用正常事件進行訓練,采用合理算法計算輸入與生成模擬事件樣本的歐氏距離差,實現(xiàn)異常事件的有效檢測。在MNIST數(shù)據(jù)集上的性能測試結果表明,能夠有效檢出未知異常事件,F(xiàn)1和PRC等關鍵技術指標比VAE方法有明顯提升。利用真實環(huán)境下采集的音頻數(shù)據(jù)進行試驗,取得了非常好的異常事件檢出效果。由于理論推導和具體試驗全部采用正常數(shù)據(jù)進行訓練,這對異常事件樣本稀少或者難以獲取的航天領域有很好的適用性和針對性。本文方法可拓展用于網(wǎng)絡、醫(yī)學等異常事件未知或不確定領域,未來會努力提高訓練檢測穩(wěn)定性、提升綜合性能指標,實現(xiàn)真正工程應用。