BP神經(jīng)網(wǎng)絡的電路最優(yōu)測試集的生成設計
1 引言
人工神經(jīng)網(wǎng)絡是基于模仿生物大腦的結構和功能而構成的一種信息處理系統(tǒng)。國際著名 的神經(jīng)網(wǎng)絡專家Hecht Nielsen 給神經(jīng)網(wǎng)絡的定義是:“神經(jīng)網(wǎng)絡是一個以有向圖為拓撲結構的動態(tài)系統(tǒng),它通過對連續(xù)或斷續(xù)式的輸入作狀態(tài)響應而進行信息處理”。神經(jīng)網(wǎng)絡系統(tǒng)[1,2] 是由大量的、同時也是很簡單的處理單元(或稱神經(jīng)元),通過廣泛地互相連接而形成的復雜網(wǎng)絡系統(tǒng)。神經(jīng)網(wǎng)絡具有的超高維性、強非線性等動力學特性,使其具有原則上容錯、結構拓撲魯棒、聯(lián)想、推測、記憶、自適應、自學習、并行和處理復雜模式等功能,帶來了提 供更佳診斷性能的潛在可能性。
目前神經(jīng)網(wǎng)絡應用在模擬電路上主要是神經(jīng)網(wǎng)絡故障字典法。把模擬電路的故障診斷看成是一個分類問題,利用神經(jīng)網(wǎng)絡的分類功能來診斷故障。在測前把神經(jīng)網(wǎng)絡訓練成一部故障字典,字典的信息蘊含在網(wǎng)絡的連接權值中,只要輸入電路的測量特征,就可以從其輸出 查出故障。目前用于模擬電路故障診斷的神經(jīng)網(wǎng)絡主要有BP 神經(jīng)網(wǎng)絡和SOM 神經(jīng)網(wǎng)絡兩 種類型。BP 是一種多層網(wǎng)絡誤差反向傳播網(wǎng)絡,SOM 神經(jīng)網(wǎng)絡一種自組織特征映射神經(jīng)網(wǎng)絡(Self-organizing Feature Map)。本文采用標準BP 神經(jīng)網(wǎng)絡來實現(xiàn)對最優(yōu)測試集的生成。
2 基于神經(jīng)網(wǎng)絡的最優(yōu)測試集的生成實現(xiàn)設計
BP 神經(jīng)網(wǎng)絡對最優(yōu)測試集的生成事先沒有標準的樣本,只有設定的約束條件,對目標 問題的求解是一個反復比較選擇、自我建立并不斷更新其樣本庫的過程。
?。?)神經(jīng)元激活函數(shù)
激活函數(shù)又稱傳遞函數(shù)。對于模擬電路故障診斷,神經(jīng)元激活函數(shù)可以采用對稱的 sigmoid 函數(shù)y(x)=1/(1+e-x)-0.5,也可以采用非對稱的sigmoid 函數(shù)y(x)=1/(1+e-x)。
?。?)輸入層
輸入層從電路拓撲結構接受各種狀態(tài)信息提取。神經(jīng)網(wǎng)絡的輸入節(jié)點數(shù)應與輸入特征的 維數(shù)相同,輸入節(jié)點與電路的節(jié)點數(shù)一一對應。
?。?)輸出層
輸出層輸出診斷結果。輸出結點數(shù)與預期節(jié)點選擇數(shù)目相同,每個輸出結點與目標一一對應。當神經(jīng)網(wǎng)絡用于選擇時,若所有輸出結點的輸出值均非空,則認為本次生成最多數(shù)目 的節(jié)點;若有幾個輸出結點的輸出值為0,則認為生成了較少的測試節(jié)點。
?。?)隱層數(shù)
BP 網(wǎng)絡的輸入結點數(shù)和輸出結點數(shù)是由實際問題本身決定的。隱層用于對信息進行處理和轉化。網(wǎng)絡結構設計的難點和重點在于隱層結構的設計,具體是指隱層數(shù)目和各隱層的神經(jīng)元數(shù)目。確定隱層的結構很大程度上決定著網(wǎng)絡質量。隱層用于對信息進行處理和轉化。 隱層的層數(shù)取決于問題的特點。Funahashi 證明了對于任何在閉區(qū)間內的一個連續(xù)函數(shù)都可 以用單隱層BP 網(wǎng)絡逼近,因而一個三層BP 網(wǎng)絡可以完成任意的n 維到m 維的映射,說明了單隱層的可行性[4],但并不確定是最合理的。本文采用最常用的單隱層BP 網(wǎng)絡構造神經(jīng) 網(wǎng)絡。
?。?)隱結點數(shù)
隱層結點數(shù)的選擇非常重要,隱節(jié)點數(shù)與問題的復雜程度有關,不存在一個理想的解析 式。隱結點的數(shù)目與問題的要求、輸入、輸出數(shù)目有關。隱結點數(shù)目太多會導致學習時間過 長,誤差不一定最佳,數(shù)目太少則可能會使網(wǎng)絡訓練不出來,網(wǎng)絡的學習和聯(lián)想能力降低。
除了一些參考選擇公式外,還可以先放入足夠多的隱結點,通過學習將作用甚微的隱結點逐 步剔除直到不可收縮為止;或者反向添加至合理數(shù)目為止。 神經(jīng)網(wǎng)絡故障診斷系統(tǒng)的訓練方法如下:
(1)權初值確定
系統(tǒng)是非線性的,不合適的權初始值會使學習過程陷入局部最優(yōu),甚至不收斂。權一般取隨機數(shù),而且權值要小,這樣可使初始權要在輸入累加時使每個神經(jīng)元的狀態(tài)值盡可能接近于零,保證每個神經(jīng)元都在它們的傳輸函數(shù)導數(shù)最大的地方進行,這樣就不至于一開始就落在誤差平坦區(qū)上。本文的神經(jīng)網(wǎng)絡故障診斷系統(tǒng)中,網(wǎng)絡初始值均取在閉區(qū)間[-0.1,0.1] 內均勻分布的隨機數(shù)。
(2)樣本輸入方式
批處理方式存在局部最優(yōu),在線輸入方式容易引起權值調節(jié)的振蕩現(xiàn)象。避免振蕩往往 根據(jù)樣本集的特點進行多次嘗試,局部最優(yōu)可以通過修改網(wǎng)絡輸出誤差來緩解。本文樣本輸 入采用批處理方式。
(3)誤差函數(shù)的選擇 神經(jīng)網(wǎng)絡訓練容易出現(xiàn)局部最優(yōu),因此本文設計網(wǎng)絡不要求輸出誤差很小,通過適當增 加訓練時間來提高準確度。
3 BP 網(wǎng)絡在最優(yōu)測試集上的應用
?。?)分析電路,構造網(wǎng)絡結構 對電路中的各節(jié)點支路進行分析,建立改進的關聯(lián)矩陣。取得用于選擇的測試向量。根 據(jù)測試向量維數(shù)和目標要求數(shù)來選擇網(wǎng)絡各層的結點數(shù)。
(2)輸入特征向量抽取 取電路節(jié)點對支路的關聯(lián)信息作為神經(jīng)網(wǎng)絡的輸入特征。由于各節(jié)點的關聯(lián)信息相差可 能會比較大,神經(jīng)網(wǎng)絡輸入特征的各分量量限也不同。
其中xi 是輸入特征的第i 個分量,vi 是同類關聯(lián)信息的平均值,這樣使輸入特征的各分 量量限基本相同,而且仍然可以表征原輸入特征。
?。?)輸出特征值設定
輸出特征維數(shù)取決于輸出的表示方法和要識別或分類的數(shù)目,當電路有M 個待監(jiān)測節(jié) 點時,電路狀態(tài)有M 類,本文把無節(jié)點輸出做為輸出節(jié)點坐標為0,輸出特征維數(shù)選擇為M, 輸出特征分量與輸出節(jié)點一一對應。
?。?)訓練樣本集的選擇
同故障字典的樣本集選擇不同,最優(yōu)測試集的訓練樣本一開始時不存在的,是在制定的 約束條件下,不斷反復運算的動態(tài)過程,是一個自我學習更新的過程。因此本網(wǎng)絡將樣本集 訓練融合到網(wǎng)絡的學習過程中。
4 仿真結果
本文所選擇的目標電路模型為實際某設備的使用組件。電路板屬于較為典型的模擬電路 板,電路板的原理圖如圖1。
對電路板進行仿真試驗,得到結果如表1,其指標衡量如表2。
運用神經(jīng)網(wǎng)絡方法得到的種群中的個體元素仍比較分散,說明神經(jīng)網(wǎng)絡在自主學習訓練 下要將當前的最優(yōu)解解出的能力相對較弱一些,表1 中給出的結果是應用神經(jīng)網(wǎng)絡多次運算 得到的出現(xiàn)頻率較高的解。
在設定生成較少的測設點數(shù)量時,應用神經(jīng)網(wǎng)絡能夠解出點集,但各項指標與使用進化 規(guī)劃算法的解相比相對較差,整體效果類似于陷入“早熟”。在設定生成較多的測試點數(shù)量時,應用神經(jīng)網(wǎng)絡來對目標點集的查找解算較為困難,對目標求解的明晰性不強,目標集(樣本集)內的元素不趨同,求解精度不高。
應用傳統(tǒng)的 BP 神經(jīng)網(wǎng)絡解決TSP 或集覆蓋等問題時,可行解獲得的效率低,網(wǎng)絡較難 收斂到可行解。隨著問題的復雜化,傳統(tǒng)的BP 神經(jīng)網(wǎng)絡方法搜索到嚴格最優(yōu)解或近似最優(yōu) 解的困難加大,容易陷入局部最優(yōu)。求解速度較慢,網(wǎng)絡特性相對不夠穩(wěn)定。
5 結論
本文應用神經(jīng)網(wǎng)絡對模擬電路最優(yōu)測試集生成上進行了初步實現(xiàn)。仿真結果說明當電路結構變得復雜以后,神經(jīng)網(wǎng)絡的訓練和識別所需要的時間都比較長,運算時間大大增加,甚至在限定的最大時間內出現(xiàn)求不出參考解的情況。目前,應用進化規(guī)劃算法進行最優(yōu)測試集的生成對復雜電路結構求解問題上顯示出其優(yōu)越性,在設定的時間內求解精度高,在設定的 精度下運算時間短。
本文作者創(chuàng)新點:在復雜電路結構的求解問題上,應用進化規(guī)劃算法進行最優(yōu)測試集的 生成,在設定的時間內求解精度高,在設定的精度下運算時間短。