,
(上海交通大學 船舶海洋與建筑工程學院,上海 200030)
船舶主機遙控系統是實現船舶機艙高度自動化的前提,一般由執行器、控制器、傳感器、齒輪箱驅動器、連接電纜等部分組成,其中控制器是主機控制系統的核心部分[1]。所以對主機遙控系統特別是控制器的各類故障現象進行迅速準確的分析并及時排除有著非常重大的現實意義。傳統模擬電路故障診斷方法,如故障字典法,、參數識別法等,由于自身的局限性和工作量過大等問題,其診斷效果并不理想。為了實現更加快速準確地模擬電路智能故障診斷,必須尋求其它方法。人工神經網絡憑借其無需建立診斷對象的精確數學模型、非線性映射、高速的自組織和自學習推理能力等特性[2],成為故障診斷的一種有效方法和手段,在模擬電路故障診斷中也己獲得較成功的應用。
反向傳播神經網絡簡稱BP神經網絡,是一種典型的前向式神經網絡,是迄今為止應用最普遍的一種神經網絡,在模擬電路故障診斷中目前也是以BP網絡為主。圖1為采用簡化符號來表示的三層BP神經網絡結構圖,每層都有自己的權值矩陣W、偏置值向量b、凈輸入向量n和一個

圖1 三層神經網絡的簡化表示
輸出向量a,各變量的維數均直接標出,這樣就可以不必費心去猜變量的類型或維數,一目了然。這里引入了額外的符號來區分這些層次,即每個變量都附加一個上標來表示其所處層次。這樣,第一層的權值矩陣記為W1,第二層的權值矩陣記為W2,以此類推[3]。它的工作方式是一種有教師的學習算法,即它必須已知每種輸入模式的精確輸出結果。
基于人工神經網絡的模擬電路故障診斷系統主要包括兩個過程:學習(訓練)過程和診斷(測試)過程,每個過程都包括數據預處理和特征提取兩部分。模擬電路故障診斷的過程是把癥狀空間的向量映射到故障空間,即實現故障特征空間到分類(識別)空間的映射。如何快速、有效提取優質的模擬電路故障特征,是進行電路故障診斷和測試的難點和關鍵所在。
用BP網絡進行電路故障診斷的步驟為:①測前,將電路的正常狀態及各種故障狀態所對應的理論值求出,并作為樣本輸入給BP網絡,訓練好BP網絡;②加測試激勵,將實際狀態測出,經過一定預處理后把數據提供給訓練好的BP網絡進行測試。訓練好的網絡不僅能識別已經訓練過的樣本,而且能通過聯想推理,識別未出現過的樣本,這正是神經網絡智能性的體現[4]。
本文所述柴油機遙控系統主控制器主要由24個單獨的模塊組成。在對24個模塊的線路板的具體工作原理進行仔細分析后,通過系統管理軟件控制數據采集卡、專用電源、控制板向被測模塊相關引腳輸入一定的激勵信號,并通過采集卡各數字和模擬輸入通道采集各引腳的響應信號,由神經網絡模型分析線路板性能,進行故障判斷并提示故障點位置及其故障類型,并給出維修提示。診斷時,首先將大規模電路按照某種原則撕裂為若干個小網絡,再利用 BP 網絡的診斷原理分別對每一個子網絡進行診斷。M6P3作為柴油機遙控系統24個模塊中屬于比較簡單的一個模塊,以此模塊為例進行故障診斷。電路原理見圖2。

圖2 柴油機遙控系統模塊M6P3電路原理
如圖2所示,這個模塊面板上有5個接插件X1,X2,…,X5,通過連線與測試控制板相連,然后運行系統軟件里對每個模塊單獨編制的測試進程程序,通過控制采集卡、控制板上的單片機和繼電器等元件來控制模塊各引腳和采集卡對應通道間的通斷,實現對模塊各引腳激勵信號輸入和對應引腳響應信號采集的過程自動化,再通過訓練好的故障診斷神經網絡來診斷故障并給出維修提示,這樣就大大減少了診斷過程的復雜性,并實現了測試的智能性。
在此模塊中,全部的可能故障可分為三大類:①接插件各引腳連線故障;②繼電器故障,各開關不能有效動作;③電容短路故障。通過仔細分析,為了減少神經網絡結構的復雜性及考慮到采集卡輸入輸出通道數目的有限性,將測試過程分成9個獨立的小階段。這9個階段因故障類型均為硬故障,故采用同一個訓練好的神經網絡。原理闡述如下。
從圖2中可以看到X5:A1與X2:b0~b9,X5:A2與X1:b0~b9,X5:A3與X4:a0~a9,X5:A4與X3:a0~a9,X5:Б1與X4:c0~c9,X5:B2與X3:c0~c9各腳均互連,另還有14組諸如X1:a8與X1:a9兩兩互連的引腳,9個開關和3個電容(只檢測電容有無短路),據此分為9個檢測階段,每個階段均采取10輸入10輸出的神經網絡結構,10輸出編號為0~9,在每一檢測階段每一編號對應某一特定的故障?,F以第一檢測階段即檢測X5:A1與X2:b0~b9連線故障來具體闡述其實現過程:通過采集卡對X5:A1施加直流+5 V電壓激勵,通過采集卡數字端口檢測X2:b0~b910個引腳的電平情況,即這里采取的神經網絡故障特征提取方法是根據CMOS電平來確定的,高為1,低為0,然后作為神經網絡的輸入,經過訓練好的BP網絡處理后,10個輸出中若有某編號(在這階段編號0~9對應X2:b0~b9)如3號輸出為0,說明X2:b3與X5:A1有斷線故障,若輸出為1則表示正常。
需特別說明的是,對繼電器各開關進行故障檢測時,各繼電器均上電,對應于常閉開關的編號輸出為1,表示故障,輸出為0則正常,與常開開關相反。
關于BP神經網絡的應用主要包括:確定網絡結構、訓練BP網絡、測試訓練過的BP網絡。確定網絡結構包括確定網絡的隱層數及各隱層的單元數。對于網絡的層數,不少學者做了理論上的研究。Lippmann提出,有2個隱層的神經網絡可以解決任何形式的分類問題[5]。之后,Robert Hecht Nielson從理論上證明,對于任何在閉區間內的一個連續函數都可以用具有一個隱層的BP網絡來逼近,因而一個三層的BP網絡可以完成任意的M維到m維的映射[6]。這一理論在設計BP神經網絡結構時可以作為一個基本原則。實際上,增加層數的目的是找到輸入輸出變量之間的映射關系,進一步降低誤差,提高學習精度,但另一方面,這樣做也使得網絡結構復雜化,從而增加了網絡權值的訓練時間。
本文用于故障診斷的BP神經網絡采用三層結構,除輸入和輸出層外只有一個隱性層,而通過隱層單元數的設置來調節誤差。眾所周知,隱層節點數必須設置合適,否則若節點數過少,學習的容量有限,不足以存儲訓練樣本中蘊含的所有規律;節點數過多會增加網絡的訓練時間,且會將樣本中非規律性的內容存儲進去,反而降低泛化能力。對此,除了許多學者提出不少經驗公式外,也有人提出試湊法, 即初始放入足夠多的隱層單元, 然后把學習后那些不起作用的隱層單元逐步去掉, 一直減少到不可收縮為止或者初始時放入比較少的隱層單元, 學習一定的次數后, 不成功再增加隱層單元數, 一直達到比較合理的隱層單元數為止[7]。本文通過經驗公式首先將隱層單元數確定在一個范圍中,然后通過試湊法將此范圍稍加擴大,比較這些模型的仿真結果,以此確定網絡的結構。根據第二部分的輸入輸出數和某經驗公式,初步確定隱層單元數的范圍在 6~15之間,而為了體現出隱層單元數對模型精度、訓練速度的影響,在仿真中,將這個范圍稍微放大將隱層單元數取在 6~20之間,仿真并比較各結果。
BP網絡通過調整網絡的權值和閾值建立起了輸入與輸出之間的隱含數學關系,實現了對學習樣本的記憶,從而具有分類的功能。但是傳統的BP算法自身仍有缺陷和不足,比如收斂速度慢,再如,由于采用梯度下降訓練算法,因此有可能陷入局部極小。這些缺陷和不足都將導致對電路故障診斷效率不能達到最優。針對這一點,考慮了一些改進網絡學習和訓練的算法,包括動量方法和Levenberg-Marquardt數值優化算法。反向傳播的動量改進(MOBP)公式如下[8]:
ΔWm(k)=γΔWm(k-1)-(1-γ)αsm(am-1)T
Δbm(k)=γΔbm(k-1)-(1-γ)αsm
(1)

F(x)——均方誤差函數。
加入動量因子γ的動量方法有助于減少訓練過程中振蕩的數目,可以加速收斂。Levenberg-Marquardt算法主要優點是算法的每次迭代都能減少平方誤差和。其權重和閾值更新公式為
X(k+1)=X(k)-(JTJ+μI-1)JTe
(2)
式中:J——誤差對權值微分的雅可比矩陣;
e——誤差向量。
最后通過上述介紹的經驗公式和試湊法,確定BP神經網絡的結構為10-20-10,采用反向傳播的動量改進(MOBP)的學習方法和Levenberg-Marquardt算法的訓練方法,網絡圴方誤差MSE=1×10-10。訓練結果見圖3。

圖3 BP神經網絡訓練結果顯示
從圖3中可以看出,1 min 02 s后,神經網絡就能訓練達到所要求的精度。接下來通過隨機生成一組模擬輸入向量(共200個),并用訓練好的網絡來產生其輸出結果,試驗結果表明網絡的實際輸出跟理論輸出幾乎一致,從而能達到所訓網絡診斷故障的目的。
改進的算法能有效加快網絡的收斂速度,縮短訓練時間,而且對系統電路的硬故障診斷準確率極高,能真正實現快速自動智能的故障檢測功能。但是應該指出的是,就一些元器件的軟故障,如電阻、電容或三極管參數偏離正常值等,用BP神經網絡實現這類故障類型的判斷有著一定的欠缺。
[1] 陳鴻瓔.船舶柴油機主機遙控[M].北京:人民交通出版社,1996.
[2] 王 承.基于神經網絡的模擬電路故障診斷方法研究[D].電子科技大學,2005.
[3] Hagan Martin T, Demuth Howard B, Beale Mark H.神經網絡設計[M].戴葵,譯.北京:機械工業出版社,2002.
[4] 譚陽紅,何怡剛,陳洪云,等.大規模電路故障診斷神經網絡方法[J].電路與系統學報,2001,6(4):25-28.
[5] Lippmann R P.An introduction to computing with neural nets[J].IEEE ASSP Magazine,1988,16(1):4-22
[6] Nielson R H.Theory of the backpropagation neural network[C]∥Washington,DC,OSA: International Joint Conference on Neural Net Works, 1989.
[7] 張立明.人工神經網絡的模型及其應用[M].上海:復旦大學出版社,1995.
[8] 丁士圻,郭麗華.人工神經網絡基礎[M].哈爾濱:哈爾濱工程大學出版社,2008.