李永保,張建新,張 震,王小召,李 鋒,謝立中
(湖北江山重工有限責任公司,湖北襄陽 441005)
火箭炮向著自動化、信息化方向發展,應用電路的規模不斷增大,結構日趨復雜,導致故障診斷的難度不斷增大,傳統故障診斷方法的局限性日益突出[1]。同時,現代戰爭對武器系統快速反應和機動作戰能力的要求越來越高。因此,對火箭炮電氣系統故障的自行診斷定位成了亟需解決的問題。
近年來,人工智能理論發展迅速,包括BP神經網絡、支持向量機、貝葉斯網絡等,極大改善了電路故障診斷的性能,但目前研究所針對的電路大多規模較小,測試點少且忽略了各測試點之間的交叉聯系[2-6]。
Hinton等[7]提出了深度學習(deep learning),這是一個具有多層人工神經網絡且能夠通過“逐層初始化”對原始數據進行訓練學習的方法。近年來,卷積神經網絡(convolutional neural network,CNN)因其優越的全局特征提取能力,成為深度學習技術領域中具有代表性的神經網絡,被廣泛應用于圖像分類、視覺識別等領域[8-12]。CNN不僅對二維數據有優秀的學習訓練能力,對于一維數據也有良好的應用性能[13-17]。
針對火箭炮電氣系統復雜度高且故障具有層次性、相關性、不確定性和非線性的特點,考慮到CNN不僅具有優越的特征學習能力,且能夠提取出數據中分量之間的局部信息,文中提出了一種基于一維卷積神經網絡(1D-CNN)的火箭炮電氣系統故障診斷方法,針對某型火箭炮電氣系統故障數據,建立了故障診斷模型,并對模型進行了訓練驗證,結果表明,該方法能夠快速準確地診斷和定位故障。
CNN是一種將卷積運算與多層人工神經網絡相結合的前饋深度學習網絡,在目標的特征提取過程中,其相鄰兩層神經元之間采用的是局部連接的方法,實現了局部信息感知和判斷,并且通過權值共享來降低整個網絡的復雜程度,使整個網絡的權值的數量大大減少,因此能夠對目標進行快速的識別判斷。
目前,二維卷積神經網絡(2D-CNN)應用較多,結構如圖1所示,其主要構成為輸入層、卷積層、池化層、全連接層和輸出層。

圖1 2D-CNN結構圖
1)卷積層
卷積層可實現局部連接和權值共享,是整個網絡結構的核心,用卷積核對卷積層輸入進行運算,并用ReLU函數作為激活函數以解決收斂速度慢和過擬合問題,其計算公式為:
(1)
式中:Cm,n為卷積輸出層第m行、n列元素;Ki為卷積核行數;Kj為卷積核列數;wi,j為卷積核第i行、j列權重;xm+i,n+j為卷積輸入層第m+i行、n+j列元素;bm,n為卷積輸出層第m行、n列偏置;ReLU為激活函數。
2)池化層
池化層是卷積之后的操作,最常見的池化形式為最大池化(max pooling)和均值池化(avy pooling),其目的是消除卷積層中的冗余信息,減少后續步驟的計算量,從而提高整體效率,并有效控制過擬合現象。
3)全連接層
全連接層通常出現在整個卷積神經網絡的最后一層或幾層,能夠對輸入的特征映射作特征加權處理,整合其輸入層中有類別區分性的局部特征,檢測輸入特征與特定類別的匹配程度,其在整個卷積神經網絡中起到了分類器的作用,通常采用softmax算法進行分類輸出,最終給出每一個類別的概率。
與2D-CNN相似,1D-CNN結構同樣由輸入層、卷積層、池化層、全連接層與輸出層組成,結構如圖2所示。不同的是,1D-CNN的輸入數據、卷積核和池化核是一維的。1D-CNN可以很好地識別出數據中的簡單模式,利用這些簡單模式能夠在更高級的層中生成更復雜的模式。1D-CNN能夠從整體數據集中較短的片段中獲得感興趣的特征,當該特征與數據片段的位置不具有高度相關性時,具有更好的效果。

圖2 1D-CNN結構圖
一維卷積過程與二維卷積過程一致,其計算公式為:
(2)
式中:Cm為卷積輸出層第m列元素;Ki為卷積核長度;wi為卷積核第i列權重;xm+i為卷積輸入層第m+i列元素;bm為卷積輸出層第m列偏置;ReLU為激活函數。
火箭炮電氣系統的結構組成如圖3所示,結構復雜,功能單元和系統層級較多,其故障具有層次性、相關性、不確定性和非線性等特點:

圖3 電氣系統結構圖
1)層次性
電氣系統在結構上由多個子系統組成,可劃分為系統、子系統、組件、部件和零件等多個層次,低層次的故障一定會導致高層次的故障,高層次故障的原因也可能是低層次的故障。
2)相關性
系統中各組成部分之間存在一定的關聯性,某一部分的故障會導致相關部分的狀態變化,進而可能引起該部分的組成元素也發生故障。因此,某一故障原因可能對應若干故障現象,某一故障現象也可能對應多個故障原因。
3)不確定性
火箭炮服役環境復雜,其狀態受服役時間和條件、人為因素和環境因素等多重因素的影響,狀態表征量的變化具有不確定性。
4)非線性
火箭炮電氣系統中的組成單元大多是非線性系統,即輸入和輸出之間是非線性關系,難以簡單地通過測量輸入和輸出來判斷該單元的故障狀態。
因此,火箭炮電氣系統是一個多故障并發的非線性系統,很難通過簡單的測量對故障進行定位,一個故障點的定位需要多個測量點的數據進行綜合判斷,由于系統是非線性的,同時邏輯關系復雜,測點之間的數據關系難以利用數學表達式精確描述,故障診斷比較困難。
神經網絡具有出色的數據特征提取和非線性擬合能力,不需要理解系統的構成和邏輯關系,通過大量數據進行訓練即可擬合出故障點故障狀態和各測點數據之間的對應關系,進而大大提高故障診斷和定位的效率。
根據某型火箭炮電氣系統的功能及結構特征,對常見的57個故障點設置104個測點。對各故障點模擬設置故障,對104個測點進行數據采集,經篩選得到20 000組數據,數據結構如表1和表2所示。

表1 測點電壓 單位:V

表2 故障點狀態標簽表
表1列出了各測點的電壓值,其中A1~A104為104個數據測點。表2列出了與表1中測點數據相對應的故障點的故障狀態標簽,其中F1~F57表示的是57個故障點,每個故障點的故障狀態用“0”和“1”表示。
1214 靜脈溶栓或橋接治療對大動脈閉塞急性輕型缺血性腦卒中患者的療效和安全性 姜 一,沈紅健,陳 蕾,張永巍,吳 濤,鄧本強
由火箭炮電氣系統故障的特點可知,各測點數據之間存在關聯,文中采用1D-CNN進行故障診斷分析。
依據故障數據結構,設計的1D-CNN模型的框架結構如圖4所示。

圖4 故障診斷1D-CNN模型
整個網絡框架共包含了8個卷積層和2個全連接層。其中,卷積層結構有4種,卷積核個數依次為128,64,32和16,卷積核尺寸均為1×3,每種卷積層結構包含2個卷積層,各卷積層的卷積步長為1。為了增加損失函數梯度使得收斂速度加快,在卷積層中增加了BatchNormalization進行批處理,并且增加了線性整流函數ReLU。所有的卷積完成之后,利用Flatten函數層把多維輸入進行一維化處理,將特征輸出值過渡到全連接層。在長度分別為1 024和57的兩個全連接層之間利用ReLU函數進行處理,最后對57個輸出利用Sigmoid函數進行權值分配。
損失函數與準確率是衡量一個模型優劣的重要標準。損失函數是模型訓練過程中預測值和真實值映射到某一空間的誤差,而準確率是模型對數據識別的正確程度。因此,圍繞著損失函數和準確率對訓練模型的有效性進行討論。
1)損失函數
損失函數可表示為:
(3)
式中:L為損失函數值;N為樣本總數;D為輸出維度;yij為訓練樣本真實值;pij為訓練樣本預測值。
2)準確率
準確率可表示為:
(4)
式中:Racc為準確率;c(x,y)表示為:
(5)
將20 000組故障數據中的15 000組數據作為訓練集,2 500組數據作為測試集,2 500組數據作為驗證集。
使用Adam優化器進行訓練,初始學習率為0.001,批次大小設置為128,每經過10個epochs將學習率減半。
在訓練過程中將損失函數和準確率進行可視化處理,結果如圖5和圖6所示。由圖5和圖6可以看出,模型訓練過程中收斂速度較快,迭代進行到1 000次時,測試集的損失函數值和準確率分別達到了0.048和97.35%。在訓練迭代4 000次以后,損失函數值和準確率趨于穩定,最終測試集的損失函數值和準確率分別達到了0.032和98.61%。

圖5 損失函數值曲線

圖6 準確率曲線
針對火箭炮電氣系統故障的特點,結合卷積神經網絡對數據特征的提取能力,提出一種基于1D-CNN的故障診斷方法,建立了故障診斷模型,通過試驗驗證,研究表明:該方法僅依靠故障測點的數據即可快速診斷和定位故障,克服了傳統的依靠經驗和知識的故障診斷方法的弊端;故障診斷準確率達到了98.66%,驗證了1D-CNN用于火箭炮電氣系統故障診斷領域的可行性。