張道昶,鄭永煌,胡永剛
(中國酒泉衛(wèi)星發(fā)射中心,蘭州 732750)
載人航天發(fā)射場地勤系統(tǒng)包括加注、非標、配電、空調、通信、電視等專業(yè),承擔著航天發(fā)射地面保障工作,是發(fā)射場系統(tǒng)的核心職能之一。為了確保精準化任務保障,各系統(tǒng)安裝有大量的傳感器和儀表,以獲取必要的信息。日常的監(jiān)測、設備的操控均依賴這些傳感器采集的信息實現(xiàn)準確處理,但信息測量的準確性通常很難判斷。一方面,傳感器和儀表數(shù)量過于龐大,比如配電系統(tǒng),整個發(fā)射場相應儀表、互感器的數(shù)量超過3000臺,因此,無論人力還是時間,都難以逐個進行有效標定;另一方面,絕大多數(shù)傳感器和儀表由于拆除困難、標定工作過于繁瑣等因素,難以在現(xiàn)場標定。一直以來,如何準確、及時發(fā)現(xiàn)損壞失靈的傳感器都是制約發(fā)射場信息化發(fā)展的關鍵環(huán)節(jié)。
從現(xiàn)有技術研究和發(fā)射場實際條件看,實現(xiàn)在線校驗的難度非常大,目前尚沒有良好的解決方案。但是,雖然無法直接對儀表進行準確地標定,如果能夠及時、自動發(fā)現(xiàn)失靈的儀表,然后再由人工進行標定檢測,在實際中也很有意義。本質上,儀表的檢測問題是對儀表測量數(shù)據(jù)本身的異常檢測。
異常檢測是數(shù)據(jù)處理中的一項重要內容,主要通過分析當前樣本與以往經(jīng)驗分布差異,以判斷樣本是否“異常”。異常檢測是許多數(shù)據(jù)深度應用的基礎,被廣泛的應用于故障檢測[1]、疾病篩選[2-3]、設備監(jiān)測[4]、網(wǎng)絡安全[5]等領域。從文獻看,異常檢測經(jīng)典方法的主要思想是通過建立當前參數(shù)與訓練樣本統(tǒng)計分布之間的各種距離實現(xiàn)異常的檢測,常見的如歐式距離和統(tǒng)計距離[6-8]等。近幾年,學者開始利用機器學習的識別分類、空間聚類等手段[9-11]實現(xiàn)異常的監(jiān)測,并取得了不錯的結果。
但是,這些常規(guī)的異常檢測針對的是儀表數(shù)據(jù)代表的設備狀態(tài),即通過分析儀表參數(shù)來判斷設備狀態(tài),而我們希望是通過分析儀表的參數(shù)來判斷儀表本身,這二者有本質的區(qū)別。在這個意義下,直接、孤立的分析儀表的數(shù)據(jù)是難以找到儀表異常特征的。
應注意到,儀表背后的設備數(shù)據(jù)是相互有關聯(lián)的,通過建立各參數(shù)之間的關聯(lián)模型,直觀上看,通過關聯(lián)模型的變化就可以檢測各儀表狀態(tài)的變化?;谶@個思想,發(fā)射場最先采用經(jīng)典最小二乘方法,利用配電系統(tǒng)進出平衡理論,估算各儀表傳遞誤差模型。但該模型難以充分利用海量數(shù)據(jù)把模型的精度和泛化能力得到有效的統(tǒng)一,且模型精度高,計算復雜度大幅增加。
深度學習是當前機器識別中的重要分支,在人工智能中,特別是視覺處理、語音識別、自然語言理解等傳統(tǒng)方法難以獲得突破領域的出色表現(xiàn),使其成為國內外學者研究的熱點[12]。深度學習有兩個重要特點:①具有強大的樣本學習能力,可以輕松處理海量和異構樣本,即大數(shù)據(jù)處理能力出色;②通過多層分解,能夠對樣本的深層特征進行自然的表征和分層,從而獲得與人類大腦相似的學習過程,解決了傳統(tǒng)機器學習中需要人工設計特征的問題[13-14],適應不同類型的學習問題。近年來,許多學者開始研究其在異常檢測的應用,并取得了較好的效果[16-17]。
本文從這一思想出發(fā),利用深度學習在大數(shù)據(jù)處理能力和特征提取的自動化等優(yōu)良特性,基于Google TensorFlow框架,以多層感知模型為基礎,建立基于深度學習的發(fā)射場電力儀表在線異常檢測模型,并通過與經(jīng)典最小二乘方法的對比驗證其有效性。
從電力儀表測量的誤差的來源看,誤差主要有以下幾個方面[18]:
1)互感線圈測量誤差;
2)測量儀表解析誤差;
3)線路損耗帶來的誤差。
誤差的形式包括:
1)電流誤差,互感線圈在測量電流時所出現(xiàn)的數(shù)值誤差成為電流誤差或比值差,它是由于存在勵磁電流引起的實際電流與額定電流比不相等造成的;
2)相位誤差,一次電流與二次電流相量的相位之差成為互感線圈的相位誤差。
需要注意的是:電流、電壓的誤差是向量,但功率誤差是標量,即進線電流和電壓的點積與出現(xiàn)電流、電壓的點積理論上相同;如果采用電流誤差作為檢測點,不僅要考慮電流有效值的誤差,還要考慮相位角的誤差,會大幅增加問題分析的難度。因此,本文以功率差異為分析基礎,在對儀表進行測量誤差校訂時就可只專注于標量誤差的檢測,而無需考慮向量問題。
圖1為某工作時段發(fā)射場某配電站動力回路進出負荷的對比及相應的差值誤差和相對差誤差的曲線,相對偏差為實際偏差與進線測量值的比值。可見,理論上,通過對比進出負荷的差異可以評估儀表工作的狀態(tài)。但是,不能直接從進出負荷的差值來作為儀表異常檢測的依據(jù),因為:①無論是絕對差值還是相對差值,均隨著負荷變化而變化,難以形成穩(wěn)定的檢測量,檢測結果比較粗糙;②容易形成漏檢,從邏輯上講,出線儀表如果出現(xiàn)正負偏差,則由于求和的相互抵消,難以體現(xiàn)在其偏差中。同時,由于實際數(shù)據(jù)時間對齊誤差以及進、出線儀表靈敏度差異等原因,差值的隨機噪聲很大,難以直接通過差值分析儀表狀態(tài)的變化。
圖1 儀表監(jiān)測數(shù)據(jù)進出線的負荷差值對比分析Fig.1 Comparison of the output and input load obtained from the meters
發(fā)射場原來采用經(jīng)典最小二乘模型,通過分析各回路工作儀表的工作狀況發(fā)現(xiàn):①各回路主要工作在固定的幾個工況,工作模式相對固定;②工作范圍遠低于其額定負荷,且有效范圍相對其額定范圍較小。基于此,可以假定各回路滿足線性誤差傳遞關系,建立式(1)所示優(yōu)化函數(shù):
(1)
X=BA-1
(2)
其中:
本文以TensorFlow框架為基礎,針對現(xiàn)有樣本的特點,設計多層感知(MLP、也稱DNN深度神經(jīng)網(wǎng)絡)訓練模型,并通過實測數(shù)據(jù)訓練,建立儀表的異常檢測模型。
MLP是包含有多個隱含層的多層感知器,包括輸入層、隱含層、輸出層。依據(jù)現(xiàn)有數(shù)據(jù)的特點,設計1個輸入層,2個隱含層和1個輸出層。考慮到預處理數(shù)據(jù)特征相對簡單,為降低計算的復雜度,同時避免結果的過擬合,本文設2個隱含層,其基本過程如圖2所示。輸入層為各分支回路測量的功率。根據(jù)計算結果的情況,調整隱含層節(jié)點的數(shù)量。
圖2 多層感知器結構圖Fig.2 Structure of multilayer perception
對于輸入層有I個單元,輸入樣本(x,z),設計從輸入層到隱含層、輸出層正向傳遞公式如式(3):
(3)
(4)
與最小二乘方法處理不同,輸入層包含所有已有回路,利用深度學習的特性,通過盡可能的擴大訓練樣本的范圍,來直接從數(shù)據(jù)中找到模型。輸出的損失采用式(5)所示損失函數(shù):
(5)
若E為(5)式定義的均方差損失函數(shù),該模型反向誤差傳遞各層參數(shù)的更新公式為式(6):
(6)
實驗的主要過程是以公式(5)為損失函數(shù),通過大量的樣本訓練,找出合適的權值系數(shù)Wk和bk。數(shù)據(jù)的來源主要來自發(fā)射場歷年系統(tǒng)記錄的數(shù)據(jù)。數(shù)據(jù)記錄采用3分鐘均值方式,但不同儀表之間數(shù)據(jù)記錄時間并不同步。
3.2.1 數(shù)據(jù)預處理
對數(shù)據(jù)的預處理主要包括數(shù)據(jù)缺失的補全策略(即丟點處理)、數(shù)據(jù)噪聲的處理以及數(shù)據(jù)時間對齊的處理。
1)丟點處理。由于記錄時,有回路不工作時,現(xiàn)場操作手會關閉相應回路的儀表,造成數(shù)據(jù)長度不同。此時,采用插值對齊,如某個儀表產(chǎn)生大范圍數(shù)據(jù)丟失,由于樣本插值推廣能力非常差(亦稱泛化能力),在外延估算時將會產(chǎn)生巨大的偏差,而且其偏差擴散的速度是不可控的。本文采用外延補點采用補零的辦法。
2)噪聲處理。由圖1可以看出,除了常規(guī)的進出儀表精度的差異造成監(jiān)測數(shù)據(jù)不同外,數(shù)據(jù)大部分噪聲出現(xiàn)在數(shù)據(jù)變化劇烈的部分,主要原因應在于對齊操作存在的橫向時間偏差,即對齊誤差。這種非對齊即包括出線間樣本的對齊度,也包括進線和出線之間的對齊度。關于對齊的度量,本文定義如下:
定義1(對齊度):若C為采用周期為T的樣本集,若Xi∈C,對任意固定采樣周期區(qū)間,Δj為Xj∈C相對該周期的偏移量,稱i=∑j∈I,j≠iΔj/n-1為C相對第i回路的偏移量,n為回路數(shù)量,I為回路指標集。稱/T為C的對齊度。
在此定義下,降低弱化非對齊產(chǎn)生的噪聲最有效的辦法就是下采樣平滑,即臨近樣本整合平均方法。關于這點,本文定義如下命題:
由定理1可知,通過整合平均的方法可以有效降低對齊誤差產(chǎn)生的影響。但過度平滑會導致數(shù)據(jù)特征弱化,因此,一般取k=2或3,此時平滑對對齊度提升效果明顯,但特征仍能夠盡可能得到保留。
3)對齊操作。對每個回路進行降采樣后的數(shù)據(jù)三次樣條擬合,然后利用進線儀表記錄的時間進行插值計算,獲得與進線儀表相同的時間對齊數(shù)據(jù)。
3.2.2 驗證計算
本文通過對2016年80天共36125條測量數(shù)據(jù)進行訓練,涵蓋全年四個季度的工作工況。通過不斷的調整和試算,得到如下TensorFlow各項訓練參數(shù):學習率:0.001;訓練循環(huán)次數(shù):500;子樣本大?。?00;隱含層節(jié)點數(shù):32。根據(jù)經(jīng)驗,權值W和偏置b的初始值采用0均值方差為0.1的正態(tài)分布。
選擇2016年到2018年不同時期實測數(shù)據(jù)估計的結果如表1,每個數(shù)據(jù)合計20天,其中原有偏差是指原始數(shù)據(jù)計算所得實際偏差;深度方法是指用MLP深度算法估計后計的偏差結果;經(jīng)典方法是指用公式(2)得到的結果。
表 1 測試集對不同時段實際儀表監(jiān)測數(shù)據(jù)的估計結果
從表1結果可以看出:利用2016年數(shù)據(jù)訓練的結果來估計2016年到2018年的測試樣本,模型對于偏差估計都遠優(yōu)于實際偏差;而最小二乘經(jīng)典方法明顯誤差比深度方法來的大,且2016-12月份和2017-10月份的數(shù)據(jù)還超過了實際的偏差,說明經(jīng)典模型適應性較弱。
從偏差看,經(jīng)過深度模型計算,原始數(shù)據(jù)偏差大幅度降低,且偏差的改善效果各年與2016年沒有顯著性發(fā)生變化,說明設備運行一年多后,狀態(tài)沒有發(fā)生明顯變化。
訓練結果對2017年12月底數(shù)據(jù)估計結果的對比如圖3,上圖為估計值與原始值、進線值三個值的比較,下圖為其中一段差值結果的堆棧圖。從圖上可以直觀的看出,深度學習估計的模型對于數(shù)據(jù)有非常好的擬合和估計能力。
圖3 深度模型對于測試數(shù)據(jù)的估計效果Fig.3 The estimated effect of the deep learning model on test data
此外,深度學習對于大樣本處理非常方便,模型的適應性較經(jīng)典方法有大幅增加。
深度算法能夠取得較好的結果,在于其對模式的學習:儀表數(shù)據(jù)測量結果形成一個一維向量v,當相同的工作狀態(tài)頻繁出現(xiàn)時,v就成了代表這個工作模式的特征。非線性神經(jīng)網(wǎng)絡的最大特點,就是善于提取這樣的特征。深度學習在圖片識別中取得的較好結果,與此機理上是相同的。
本文針對發(fā)射場設備監(jiān)測儀表的在線檢測問題,以配電系統(tǒng)為例,利用深度學習模型,提出了一個新思路。從實際數(shù)據(jù)的驗證結果來看,可以捕捉數(shù)據(jù)中的非線性特征,有強大的學習能力,能夠做到大樣本訓練,且推廣能力和估計精度隨著樣本訓練數(shù)量的增加而增強,可以做到二者兼顧。文中的仿真結果也充分證明了模型的有效性。其不足之處在于,深度算法訓練出的模型不夠直觀,內涵不如經(jīng)典模型清晰。
另外,首先,檢測都是以學習樣本中的基本信息為標準,即哪怕學習樣本中某儀表本身就存在較大偏差,但檢測結果只能說明當前儀表與學習樣本中的狀態(tài)沒有發(fā)生大的差異,因此訓練樣本中的數(shù)據(jù)應當選擇儀表統(tǒng)一人工校驗后的數(shù)據(jù),以確保檢測的準確性;其次,當前模型目前只能判斷某一區(qū)域是否存在異常儀表,但具體異常的儀表,尚無法明確定位,還要進行針對性的檢測。這同時也是我們今后研究的方向。