李 根,楊劍征,劉 祺
(中國艦船研究院,北京 100101)
作為船舶系統重要的組成部分,柴油機的可靠性和安全性得到了越來越多的關注[1]。在整個航運過程中,船舶柴油機運行性能發揮著至關重要的作用。因為處于惡劣環境中,船舶柴油機在工作時出現了越來越多故障。如果船舶柴油機發生重大故障,會導致船舶停運,造成嚴重經濟損失[2]。為實現船舶系統視情維護,保障船舶穩定運行,及時對船舶柴油機進行故障診斷,并根據故障診斷結果進行合理維修,具有極其重要的意義。
神經網絡基于對故障樣本的學習,對所學習的故障診斷知識,以連接權值形式進行描述,解讀故障征兆和故障之間一對多的非線性關系,從而實現對故障的聯想記憶、模式匹配和相似歸納,在復雜系統故障診斷中應用越來越廣泛,優勢也越來越明顯[3]。目前,在故障診斷領域,被廣泛采用的神經網絡模型有反向傳播(Back Propagation,BP)神經網絡[4-6]、自組織映射(Self-organized Mapping,SOM)神經網絡[7-10]等。但各神經網絡因算法局限性、所需樣本數量大、網絡結構未知等因素,在故障診斷過程中都存在一定缺陷?;谏鲜鰡栴},本文闡述了BP 神經網絡和SOM 神經網絡模型結構和算法學習步驟,將二者融合構建SOM-BP 神經網絡,并闡述該網絡的模型結構和算法學習步驟,通過仿真試驗驗證了該網絡在船舶柴油機故障診斷中的有效性。
SOM 神經網絡是無監督、自學習網絡[11],通過對故障樣本數據進行聚類,將其映射至多維空間不同的位置,從而實現對故障樣本數據的分類,其網絡結構如圖1 所示。SOM 神經網絡由2 層神經元構成,即輸入層和輸出層神經元。通過權向量,故障樣本數據經輸入層傳輸到輸出層神經元。輸入層神經元個數與故障樣本維數保持一致,輸出層神經元結構以二維形式呈現。
圖1 SOM 神經網絡結構圖Fig. 1 Structure diagram of SOM neural network
當樣本數據輸入網絡模型,故障樣本輸入向量與神經元權值向量間的歐式距離就可通過計算得出,獲勝神經元可通過比較所計算出的歐式距離大小來確定。通過獲勝神經元位置,可確定其鄰域范圍,依據學習率、故障樣本數據更新此范圍內所有神經元的權值,模型經過不斷更新迭代,直至收斂。
步驟1SOM 神經網絡初始化。隨機設定輸入層神經元i與競爭層神經元j的初始權值wij(0),取(0,1)范圍內較小的隨機數;隨機設置學習速率η(t)的初始值η(0),取(0,1) 之間的隨機數;賦值領域函數Rp(t)的初始值Rp(0),p為獲勝神經元。
步驟2訓練樣本向量輸入。首先進行歸一化處理,并選取一組訓練樣本k,將輸入樣本Xk=[x1k,x1k,...,xnk]T的n個分向量輸進SOM 神經網絡輸入層。
步驟3獲勝神經元確定。計算輸入樣本Xk與權值向量wj間的歐式距離djk,其計算公式為:
其中:xik為輸入樣本Xk第i個分向量;wij(t)為t時刻輸入層神經元i與競爭層神經元j的連接權值。比較計算出歐式距離,將與輸入樣本Xk歐式距離最小的神經元作為獲勝神經元。
步驟4獲勝神經元鄰域范圍確定。獲勝神經元領域范圍隨著更新次數不斷縮小。
步驟5權值更新。確定獲勝神經元鄰域范圍后,對此范圍內的神經元進行權值更新,其更新公式為:
其中:wij(t+1)為更新后的權值;i為輸入神經元,j為競爭神經元。0<η(t)<1,η(t)隨時間的變化而減小,直至減為0。
步驟6競爭神經ok計算式為:
其中,f(*)為0~1 的函數,或其他非線性函數。
步驟7判斷SOM 神經網絡是否收斂。收斂結束訓練,未收斂則重新返回步驟2。
SOM 神經網絡學習流程圖如圖2 所示。
圖2 SOM 神經網絡算法流程圖Fig. 2 Flow chart of SOM neural network algorithm
BP 神經網絡是一種前饋網絡,其結構如圖3 所示,由輸入層、隱含層和輸出層構成。該網絡的主要特點是各層神經元僅與相鄰層神經元之間相互全連接,同層內神經元之間無連接,各層神經元之間無反饋連接。
圖3 BP 神經網絡結構圖Fig. 3 Structure diagram of BP neural network
圖中,[x1,x2...,xn]為網絡輸入值,[y1,y2...,ym]為網絡輸出值。wij、wjk為網絡權值。BP 神經網絡可以被視為一個非線性函數,[x1,x2...,xn]為該非線性函數的自變量,[y1,y2...,ym]為該非線性函數的因變量。
步驟1網絡初始化。確定BP 神經網絡輸入節點數n,隱含層節點數l,輸出節點數m。初始化權值wij、wjk。初始化隱含層閾值a,輸出層閾值b,確定學習速率和激活函數。
步驟2隱含層輸出計算:
其中:Hj為隱含層輸出值;為隱含層激勵函數。
步驟3神經網絡預測輸出計算:
步驟4網絡預測誤差計算:
步驟5更新網絡權值:
其中, η為學習速率。
步驟6更新閾值:
步驟7判斷是否達到終止條件。判斷誤差是否在允許范圍內,如果滿足要求,則結束訓練,否則返回步驟2。
BP 神經網絡學習流程圖如圖4 所示。
圖4 BP 神經網絡算法流程圖Fig. 4 Flow chart of BP neural network algorithm
BP 神經網絡具有自學習、非線性映射能力,但需進行大量的故障樣本數據訓練,會導致網絡訓練時間較長,實時性較差。SOM 神經網絡能夠對數據進行聚類,無需大量樣本數據和人工干預,實時性強,但SOM 神經網絡分類的準確性依賴于采集故障樣本數據的完整性以及數據量的多少??紤]到單一網絡在故障診斷中的局限性,將二者進行融合,構建SOM-BP 組合神經網絡。
SOM-BP 組合神經網絡融合有串聯、并聯2 種方式。結合二者在故障診斷中各自優缺點,本文將二者串聯來實現故障診斷。將SOM 網絡作為第一級網絡,將輸入樣本進行自聚類,目的是減輕BP 網絡識別壓力,降低識別難度。將BP 網絡作為第二級網絡,對故障樣本進行有導師學習,圖5 為SOM-BP 組合網絡結構圖。
圖5 SOM-BP 神經網絡結構圖Fig. 5 Structure diagram of SOM-BP neural network
圖6 SOM-BP 神經網絡算法流程圖Fig. 6 Flow chart of SOM-BP neural network algorithm
步驟1樣本數據預處理,選取故障樣本數據,進行歸一化處理。
步驟2初始化SOM 神經網絡,輸入故障樣本數據,經過模型訓練,得到初步聚類結果。
步驟3將SOM 神經網絡競爭層輸出的結果進行歸一化處理。
步驟4初始化BP 神經網絡,將歸一化后的結果輸入到BP 網絡中再次進行訓練。
步驟5進行多次訓練,形成SOM-BP 神經網絡分類模型。
步驟6判斷模型是否達到收斂條件。如果達到收斂條件,則終止訓練。如果未達到收斂條件,則返回步驟4。
根據船舶柴油機壓力波形曲線,提取8 種故障特征(P1~P8),匯集船舶柴油機8 種故障類型(T1~T8)數據,形成訓練集和測試集,如表1 和表2 所示,SOM-BP 網絡期望輸出如表3 所示。
表1 SOM-BP 神經網絡訓練數據集Tab. 1 Training data of SOM-BP neural network
表2 SOM-BP 神經網絡訓練數據集Tab. 2 Testing data of SOM-BP neural network
表3 SOM-BP 神經網絡期望輸出Tab. 3 Desired output of SOM-BP neural network
將初級神經網絡即SOM 神經網絡輸入神經元個數設置為8,對應8 種船舶柴油機故障類型。競爭層網絡選用6×6 結構,采用六角形拓撲結構,如圖7 為SOM 神經網絡競爭層36 個神經元網絡拓撲結構。
圖7 SOM 神經網絡拓撲結構Fig. 7 SOM neural network topology
故障樣本數據經過SOM 神經網絡處理之后,鄰近神經元之間的距離如圖8 所示,神經元分類情況如圖9所示,聚類結果如表4 所示。
表4 SOM 神經網絡聚類結果Tab. 4 Cluster result of SOM neural network
圖8 SOM 神經網絡鄰近神經元距離Fig. 8 SOM neighbor weight distances
圖9 SOM 神經網絡分類情況Fig. 9 SOM neural network classification
將表4 歸一化結果輸入到BP 神經網絡中,BP 神經網絡采用3 層結構。經過多次試驗,隱含層神經元個數取13,傳遞函數采用S 型正切函數;輸出層神經元個數設置為8,對應8 種故障類型,傳遞函數采用S 型對數函數。
當BP 神經網絡模型達到收斂條件時,終止訓練。輸入表2 故障樣本數據進行檢測,診斷該故障樣本數據為T1類型故障,故障診斷類型與實際故障類型一致。此外,SOM-BP 神經網絡在模型訓練階段不依賴于大量樣本,網絡穩定性較好,收斂速度也很快,達到了預期效果。
1)基于SOM 神經網絡和BP 神經網絡理論基礎,構建SOM-BP 神經網絡模型,用于船舶柴油機故障診斷,通過仿真試驗驗證SOM-BP 神經網絡在船舶柴油機故障診斷中的正確性和準確性。
2)避免了單一神經網絡模型在復雜系統故障診斷中的局限性,復雜系統故障診斷提供理論依據。