徐宏偉,叢中笑,陽曉路,周忠明,陳寅生,林海軍
(1.貴州電網(wǎng)有限責(zé)任公司計(jì)量中心, 貴陽 550002; 2.哈爾濱理工大學(xué), 哈爾濱 150080)
智能電網(wǎng)是國民經(jīng)濟(jì)的大動脈,有著極高的可靠性要求,因此,對應(yīng)用其中的各種儀器、設(shè)備及系統(tǒng)的軟、硬件可靠性也提出了較高的要求。與較為成熟的硬件可靠性相比,軟件可靠性理論和技術(shù)水平成為技術(shù)關(guān)鍵。智能終端作為智能電網(wǎng)的關(guān)鍵設(shè)備,其可靠性直接影響著電網(wǎng)自動化系統(tǒng)的可靠性。因此,以智能終端為對象,深入開展軟件可靠性預(yù)測方法研究具有重要的科學(xué)和現(xiàn)實(shí)意義。
軟件可靠性預(yù)測研究至今已經(jīng)有54年,學(xué)者們提出了貝葉斯排錯(cuò)、J-M模型等幾十種方法[1-4],其中基于分類思想的效果較好,主要集中在各類神經(jīng)網(wǎng)絡(luò)模型的研究,如BP、RBF、LVQ及小波網(wǎng)絡(luò)等[5-7]。在諸多神經(jīng)網(wǎng)絡(luò)中,因小波網(wǎng)絡(luò)的時(shí)頻分辨特性、非線性映射能力強(qiáng)及泛化效果好等優(yōu)點(diǎn),成為研究熱點(diǎn)。
但是,WNN也存在不足,為了解決初值敏感性、隱層節(jié)點(diǎn)數(shù)難定、收斂穩(wěn)定性弱、收斂速度較慢、易陷入局部最優(yōu)解等問題,學(xué)者們提出了采用AGA、SA等智能算法改進(jìn)WNN等,取得了不少成果,但這些難題仍待更深入研究[8-9]。
為了解決小波神經(jīng)網(wǎng)絡(luò)初值敏感性及收斂穩(wěn)定性問題,提高計(jì)量終端軟件可靠性預(yù)測建模的效率及準(zhǔn)確性,文章從完善整體退火遺傳算法(WAGA)入手,進(jìn)而利用其全局尋優(yōu)能力,通過參數(shù)全局優(yōu)化解決WNN的初值敏感和收斂穩(wěn)定性問題。提出WAGA-WNN建模方法,并進(jìn)行計(jì)量終端的軟件可靠性預(yù)測建模分析,提高預(yù)測準(zhǔn)確度。
整體退火遺傳算法[10-11]WAGA是采用退火選擇準(zhǔn)則,并允許父代參加競爭的遺傳算法。WAGA算法流程如下,除說明外均采用標(biāo)準(zhǔn)GA的方法。
(1)初始化。設(shè)世代數(shù)k=0,采用隨機(jī)的方法確定初始種群P0;
(2)從第k代種群Pk中,按適應(yīng)度大小,以概率的方式選取父本種群Fk。文中的適應(yīng)度函數(shù)為:
(1)
式中Tk為退火溫度。
文中采用的退火策略為:
(2)
式中T0=50,k=1,2,…,退火時(shí)逐漸增大。
文中個(gè)體被選入Fk的概率為:
(3)
式中bi為Pk中備選個(gè)體;
(3)雜交。由父本種群Fk生成雜交種群Crk;
(4)變異。由雜交種群Crk產(chǎn)生中間種群Muk;
(5)組建新種群。由Muk和Fk合成新種群Pk+1,即:
Pk+1=Fk⊕Muk
(4)
(6)判斷是否滿足停止循環(huán)條件,不滿足則轉(zhuǎn)轉(zhuǎn)移至第(2)步。
文中對退火參數(shù)進(jìn)行了尋優(yōu),適當(dāng)?shù)慕禍剡^程可提高收斂速度。
為了驗(yàn)證WAGA的尋優(yōu)效果,選擇不同類型的標(biāo)準(zhǔn)函數(shù)進(jìn)行了極值搜索?,F(xiàn)僅以文獻(xiàn)[10]中采用的單變量多峰值函數(shù)為例介紹仿真情況。函數(shù)表達(dá)式為:
(5)
取x在(0.01,1)區(qū)間內(nèi)進(jìn)行仿真。其波形如圖1所示。從圖形容易看出,該函數(shù)有很多個(gè)局部極大值和極小值點(diǎn),全局極大值則在x=0.127 5處。該函數(shù)多峰且疏密不勻,利于驗(yàn)證尋優(yōu)效果。
圖1 函數(shù)波形
用MATLAB 2018進(jìn)行仿真,染色體取8位二進(jìn)制數(shù),仿真時(shí)種群規(guī)模取10,則父種群和子種群合并的種群個(gè)體為20個(gè)。WAGA按照前述的退火策略進(jìn)行退火,退火代數(shù)k從1,2,…40,在退火的過程中,種群不斷進(jìn)化迭代,逐代對函數(shù)的最大值進(jìn)行尋優(yōu)。經(jīng)過50次仿真對比分析,若限制迭代100次,函數(shù)值允許誤差≤1%,則WAGA能100%尋得最大值,而GA算法尋得最大值的次數(shù)在40%以內(nèi),若增加迭代次數(shù)增加到500代,則GA尋優(yōu)率能達(dá)到90%以上,但仍有陷入局部最優(yōu)。WAGA的搜索最大值的速度明顯比GA快,且其種群全體收斂于要搜索的全局極大值,即使偶有變異,也能快速向極大值收斂。而GA種群個(gè)體迭代后仍然較分散,只是有個(gè)體處于極大值點(diǎn)及附近。
GA與WAGA的種群進(jìn)化過程個(gè)體分布圖示例如圖2所示。圖2(a)為GA算法的種群進(jìn)化過程,圖2(b)是WAGA的進(jìn)化過程。GA和WAGA尋優(yōu)過程中個(gè)體分布的統(tǒng)計(jì)直方圖如圖3所示。從圖2和圖3可明顯看出種群的收斂進(jìn)程及最終的個(gè)體集中情況,GA可搜索到最優(yōu)值但種群不收斂,而WAGA種群迅速收斂于最優(yōu)值。
圖2 種群進(jìn)化
圖3 近似解統(tǒng)計(jì)直方圖
總之,通過對上述函數(shù)及Griewank、Rosenbrock等多種標(biāo)準(zhǔn)函數(shù)的尋優(yōu)仿真進(jìn)一步驗(yàn)證了:整體退火遺傳算法能使每個(gè)個(gè)體以概率1收斂于總體最優(yōu)解集。
設(shè)Ψ(x)∈L2(R)∩L1(R),且其傅里葉變換Ψ(ω)滿足容許條件:
(6)
則稱Ψ(x)為一基本小波函數(shù)。通過展縮和平移可得一組小波函數(shù)基:
(7)
式中a、b分別為尺度和平移因子。
對于函數(shù)f(x)∈L2(R), 其連續(xù)小波變換表示為:
(8)
小波神經(jīng)網(wǎng)絡(luò)是將小波分析與神經(jīng)網(wǎng)絡(luò)融合而形成的網(wǎng)絡(luò)。由于采用的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不同,導(dǎo)致其構(gòu)造各不相同[12-13]。文中小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
圖4中,輸入層、隱含層和輸出層的節(jié)點(diǎn)數(shù)分別為k、m和n。ψ1,ψ2,…,ψm為小波函數(shù)基。第j個(gè)節(jié)點(diǎn)的輸出為:
(9)
式中xi為輸入節(jié)點(diǎn)i的輸入;ui,l為隱層l節(jié)點(diǎn)與輸入i節(jié)點(diǎn)的連結(jié)權(quán)值;ωl,j為輸出j節(jié)點(diǎn)與隱層l節(jié)點(diǎn)的連結(jié)權(quán)值。
鑒于工程中常用的Morlet小波的時(shí)、頻局部性較平衡且好,并具有較強(qiáng)的抗干擾能力,文中采用它作為小波網(wǎng)絡(luò)的激勵(lì)函數(shù)。
Morlet小波是復(fù)值小波,其表達(dá)式為:
(10)
它不滿足容許性條件,但當(dāng)ω0≥5時(shí),近似滿足容許性條件。工程應(yīng)用中往往只采用其實(shí)部,ω0通常取1.75或5,文中ω0=5,即:
(11)
WAGA-WNN的思路是利用WAGA的強(qiáng)收斂和快速收斂的特性,克服WNN初值敏感性、收斂穩(wěn)定性弱、收斂速度較慢等不足,同時(shí)發(fā)揮WNN的非線性映射能力強(qiáng)、泛化效果好及準(zhǔn)確度高等優(yōu)點(diǎn),實(shí)現(xiàn)優(yōu)勢互補(bǔ),以改善建模質(zhì)量。
具體方法是:把WNN的訓(xùn)練作為一個(gè)全局尋優(yōu)過程,用WNN的所有連接權(quán)值、展縮和平移系數(shù)等構(gòu)造染色體,WAGA進(jìn)行全局優(yōu)化,直到得到全局最優(yōu)值。此時(shí)染色體不同位置的參數(shù)即為訓(xùn)練好的小波神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)參數(shù)。WAGA-WNN原理如圖5所示。
圖5 WAGA-WNN原理框圖
實(shí)驗(yàn)數(shù)據(jù)往往存在維數(shù)高、數(shù)據(jù)冗余及含有噪聲等情況,這不但增大預(yù)測用小波神經(jīng)網(wǎng)絡(luò)的規(guī)模,而且還會產(chǎn)生過擬合,降低預(yù)測的準(zhǔn)確率。
因此,在進(jìn)行歸一化等數(shù)據(jù)預(yù)處理后,可以進(jìn)行特征選擇或數(shù)據(jù)降維等方法進(jìn)行處理,以改善模型的預(yù)測效果。
特征選擇根據(jù)形式可分為過濾法、包裝法、嵌入法三種,其中過濾法又包括方差選擇法、相關(guān)系數(shù)法、卡方檢驗(yàn)、互信息法等。
降維的方法也較多,常用的有L1懲罰項(xiàng)、LDA、和PCA等,亦可采用回歸分析類方法等。
特征選擇和降維雖然都能降低特征維數(shù),但二者還是有本質(zhì)不同的。前者是從原始特征中選擇一個(gè)子集,物理意義不變,但會丟失舍棄部分的信息,選擇的子集越小,丟失的信息越多。后者則通過映射變換到低維度空間,物理意義不同,但可根據(jù)需要保留足夠多的特征信息。因此,為了大幅度減少維數(shù),而又盡可能保留特征信息,文中采用降維的方法進(jìn)行數(shù)據(jù)處理。
考慮到PCA可消除相關(guān)影響、消減噪聲,降維效果較好,文章選用PCA進(jìn)行降維。方法不贅述,通常選用的主分量的貢獻(xiàn)率不低于90%。
基于WAGA-WNN的軟件可靠性建模主要步驟如圖6所示。
圖6 建立軟件可靠性預(yù)測模型的流程
由圖6可知,根據(jù)WNN的規(guī)模和結(jié)構(gòu)參數(shù)對初始種群的染色體進(jìn)行編碼,染色體中包含網(wǎng)絡(luò)權(quán)值和小波基的展縮參數(shù)等。
WAGA依據(jù)訓(xùn)練樣本和目標(biāo)值進(jìn)行搜索,所搜索到的最優(yōu)染色體參數(shù)作為WNN的參數(shù),相當(dāng)于訓(xùn)練過程結(jié)束,建模初步完成。還需要輸入檢驗(yàn)樣本進(jìn)行驗(yàn)證,確定軟件可靠性預(yù)測模型的準(zhǔn)確率是否達(dá)到要求。
計(jì)量終端是智能電網(wǎng)的重要設(shè)備,其嵌入式系統(tǒng)軟件采用模塊化設(shè)計(jì),軟件功能結(jié)構(gòu)見圖7。
圖7 計(jì)量終端軟件功能結(jié)構(gòu)圖
應(yīng)用層和操作層功能共有31個(gè)功能子系統(tǒng),它們相對獨(dú)立,可以由子系統(tǒng)的可靠性推導(dǎo)出系統(tǒng)的可靠性函數(shù)。即:
(12)
式中Li是第i個(gè)子系統(tǒng)的調(diào)用系數(shù);Ri(t)是第i個(gè)子系統(tǒng)的可靠度。
(13)
式中λi是子系統(tǒng)故障率。
采用增長測試期對計(jì)量終端5個(gè)應(yīng)用進(jìn)程的動態(tài)、靜態(tài)測試的16組數(shù)據(jù)進(jìn)行建模研究,實(shí)驗(yàn)數(shù)據(jù)見表1。
表1中最后一行數(shù)據(jù)是每個(gè)進(jìn)程的調(diào)用率數(shù)據(jù),用于計(jì)算目標(biāo)值。
由于數(shù)據(jù)較多,且存在冗余,先進(jìn)行歸一化,并用PCA降維、去噪。
基于WAGA-WNN建模原理,根據(jù)WNN結(jié)構(gòu)確定染色體的組成,并用WAGA進(jìn)行全局尋優(yōu),確定最優(yōu)網(wǎng)絡(luò)參數(shù),完成可靠性預(yù)測建模。
染色體的結(jié)構(gòu) 依據(jù)圖5中的順序,具體排列及位數(shù)定義如表2所示。
表2 染色體結(jié)構(gòu)
每個(gè)權(quán)值用16位二進(jìn)制數(shù)表示,其中第1位為符號位,第2位~第8位為整數(shù)位,第9位~第16位為小數(shù)位。展、縮系數(shù)ai和bi(i=1…4)均采用8位二進(jìn)制數(shù)表示,每個(gè)染色體共計(jì)256位。
為了驗(yàn)證PCA壓縮和濾波效果,文中還建立一個(gè)輸入原始數(shù)據(jù)的對比WNN網(wǎng)絡(luò),輸入節(jié)點(diǎn)、隱含節(jié)點(diǎn)和輸出節(jié)點(diǎn)分別為:10、16和1。與主成分貢獻(xiàn)率是99%的作比較,觀察PCA的濾波效果。
綜合考慮準(zhǔn)確度和泛化能力,訓(xùn)練的均方誤差設(shè)置為0.5%。表1的16組數(shù)據(jù),經(jīng)過預(yù)處理及PCA降維后得到16組2維的主成分,用其中的前10組主成分作為訓(xùn)練樣本,后6組作為檢驗(yàn)樣本,分別訓(xùn)練和檢驗(yàn)兩種網(wǎng)絡(luò)。
在同一臺計(jì)算機(jī)和相同的軟件環(huán)境下,經(jīng)過多次仿真實(shí)驗(yàn),測得WNN的訓(xùn)練時(shí)間平均約為3.6 s,WAGA-WNN的平均優(yōu)化訓(xùn)練時(shí)間約為0.54 s,后者的效率明顯高于前者。
軟件可靠性預(yù)測結(jié)果和誤差如圖8和圖9所示。
圖8 軟件可靠性預(yù)測結(jié)果
圖9 預(yù)測誤差曲線
圖中目標(biāo)值是依據(jù)式(12)和式(13)計(jì)算得到的。
由圖及實(shí)驗(yàn)結(jié)果可以看出:
(1)基于WAGA-WNN的軟件可靠性預(yù)測模型預(yù)測的絕對誤差小于0.032。每一點(diǎn)的絕對誤差除以實(shí)際值得到平均相對誤差約為1.85%,所以,預(yù)測精度約為1-1.85%=98.15%;
(2)采用PCA進(jìn)行數(shù)據(jù)處理,不僅降低了維度,減少了網(wǎng)絡(luò)的輸入節(jié)點(diǎn),誤差也略有減小,具有一定的去噪聲作用;
(3)圖8和圖9中的前10個(gè)樣本對應(yīng)的曲線為訓(xùn)練樣本的預(yù)測結(jié)果,后6點(diǎn)為檢驗(yàn)樣本的預(yù)測結(jié)果。可見,無論是訓(xùn)練樣本,還是測試樣本,絕對誤差都比較小,說明基于WAGA-WNN原理建立的可靠性預(yù)測模型具有較好的泛化能力。
文中針對小波神經(jīng)網(wǎng)絡(luò)初值敏感性及收斂穩(wěn)定性影響其預(yù)測建模的效率及準(zhǔn)確性問題,采取了利用強(qiáng)收斂、快速尋優(yōu)的智能優(yōu)化算法完成訓(xùn)練過程的思路。在完善WAGA的基礎(chǔ)上,用標(biāo)準(zhǔn)多峰值函數(shù)驗(yàn)證了該算法的整體強(qiáng)收斂性,并利用其極強(qiáng)的整體收斂和全局優(yōu)化能力克服了WNN的上述不足。提出的WAGA-WNN建模方法成功建立了計(jì)量終端的軟件可靠性預(yù)測模型,不僅效率高,而且泛化能力和預(yù)測精度也較好。文章提供了較好的解決WNN不足的思路,也給出了一種具體方法和實(shí)例,具有學(xué)術(shù)和實(shí)踐參考價(jià)值。