李文,亓芳,聶冰
(1.大連交通大學(xué) 軟件學(xué)院,遼寧 大連 116028;2.大連交通大學(xué) 電氣信息學(xué)院,遼寧 大連 116028)*
目前,神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用研究已經(jīng)廣泛應(yīng)用于專家系統(tǒng)、工業(yè)控制以及模式識別等領(lǐng)域.采用誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)BP網(wǎng)絡(luò)是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型之一.然而,BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)通常根據(jù)經(jīng)驗選取,結(jié)構(gòu)單一,無法根據(jù)系統(tǒng)的實際情況而實時調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),缺乏科學(xué)性.
本文設(shè)計了基于BP神經(jīng)網(wǎng)絡(luò)的分?jǐn)?shù)階PIλ控制器,并提出自頂向下優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法,系統(tǒng)結(jié)構(gòu)如圖1所示.實驗結(jié)果表明通過這種優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方法,刪除冗余節(jié)點,精簡網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)了BP神經(jīng)網(wǎng)絡(luò)的適應(yīng)能力[4].
圖1 基于神經(jīng)網(wǎng)絡(luò)的分?jǐn)?shù)階PIλ控制器框圖
分?jǐn)?shù)階PIλ控制器是由整數(shù)階控制系統(tǒng)擴(kuò)展而來,其分?jǐn)?shù)階控制器的傳遞函數(shù)表達(dá)式為:
式中,KP、KI分別為控制器的比例系數(shù)和積分系數(shù);λ>0是分?jǐn)?shù)階控制器的積分階次,可表示為任意實數(shù).
分?jǐn)?shù)階控制器具有無限階次,需要對分?jǐn)?shù)階微積分算子sλ進(jìn)行離散化[7].本文采用Tustin生成函數(shù)和連分式方法(CFE)結(jié)合對分?jǐn)?shù)階控制器進(jìn)行離散化,三階展開得到離散表達(dá)式為:
則U(z)時間域的離散表達(dá)式為:
本文采用BP神經(jīng)網(wǎng)絡(luò)對PIλ控制器中的KP、KI和λ三個參數(shù)進(jìn)行調(diào)節(jié),利用自頂向下的方法優(yōu)化網(wǎng)絡(luò)的結(jié)構(gòu),提高神經(jīng)網(wǎng)絡(luò)的性能.
BP神經(jīng)網(wǎng)絡(luò)是一種按照誤差算法訓(xùn)練的多層前饋網(wǎng)絡(luò),廣泛的應(yīng)用于各種工業(yè)控制領(lǐng)域.在BP神經(jīng)網(wǎng)絡(luò)中,輸入層各神經(jīng)元接收輸入信息,傳遞給隱層各神經(jīng)元;隱層是內(nèi)部信息處理層,負(fù)責(zé)信息變換;最后隱層傳遞到輸出層各神經(jīng)元的信息,經(jīng)進(jìn)一步處理后,完成一次學(xué)習(xí)的正向傳播處理過程,由輸出層向外界輸出信息處理結(jié)果.當(dāng)實際輸出與期望輸出不符時,進(jìn)入誤差的反向傳播階段.誤差通過輸出層,按誤差梯度下降的方式修正各層權(quán)值,向隱層、輸入層逐層反傳.周而復(fù)始的信息正向傳播和誤差反向傳播過程,是各層權(quán)值不斷調(diào)整的過程,也是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的過程.該循環(huán)過程一直進(jìn)行,直到網(wǎng)絡(luò)輸出的誤差減少到可以接受的程度,或者達(dá)到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止.在文獻(xiàn)[3]和[6]中對經(jīng)典BP算法作了詳細(xì)的介紹.
在分?jǐn)?shù)階PIλ控制器中,輸入層和輸出層節(jié)點數(shù)是由系統(tǒng)本身的特點決定的.本系統(tǒng)選擇輸入層節(jié)點四個:X=(e,e-1,ce,ce-1);輸出層節(jié)點三個:Y=(KP,KI,λ).而隱層層數(shù)和維數(shù)的選擇決定了網(wǎng)絡(luò)的規(guī)模.如果選擇的神經(jīng)網(wǎng)絡(luò)規(guī)模過大,則神經(jīng)網(wǎng)絡(luò)逼近能力過剩;選擇的神經(jīng)網(wǎng)絡(luò)規(guī)模過小,則神經(jīng)網(wǎng)絡(luò)的逼近能力不足,在學(xué)習(xí)的過程中不可能收斂.Robert Hecht Nielson等人指出:只有一個隱層的神經(jīng)網(wǎng)絡(luò),只要隱節(jié)點足夠多,就可以以任意精度逼近一個非線性函數(shù)[4].因此,隱層節(jié)點數(shù)的確定是神經(jīng)網(wǎng)絡(luò)設(shè)計的重要內(nèi)容,構(gòu)造一個可變結(jié)構(gòu)的網(wǎng)絡(luò),根據(jù)系統(tǒng)的實際情況自學(xué)習(xí)的調(diào)整結(jié)構(gòu),得到隱層節(jié)點數(shù)適合的神經(jīng)網(wǎng)絡(luò).
本系統(tǒng)根據(jù)節(jié)點之間的相關(guān)性采用自頂向下優(yōu)化神經(jīng)網(wǎng)絡(luò)的方法確定隱層節(jié)點數(shù).自頂向下設(shè)計方法的核心思想是先構(gòu)造一個足夠大的網(wǎng)絡(luò),通過在訓(xùn)練中刪除或合并某些節(jié)點或權(quán)值達(dá)到精簡結(jié)構(gòu)的目的[5].首先計算隱節(jié)點輸出之間的相關(guān)性,然后將相關(guān)性較大的冗余隱節(jié)點合并,最終確定合適的神經(jīng)網(wǎng)絡(luò)隱節(jié)點個數(shù).
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的過程中,計算兩個隱節(jié)之間的相關(guān)性為:
式中,Oip和Ojp是i和j兩個隱節(jié)點對第P個樣本的輸出,輸出均值分別為
對于任意的隱節(jié)點a的輸出標(biāo)準(zhǔn)差為:s2a=
當(dāng)兩個節(jié)點相關(guān)性|rij|越接近1,說明這兩個節(jié)點的線性相關(guān)性越高,存在冗余的節(jié)點需要合并;當(dāng)某個節(jié)點的輸出標(biāo)準(zhǔn)差較小時,則該隱節(jié)點對網(wǎng)絡(luò)訓(xùn)練作用較小,可以刪減.
根據(jù)上述計算公式,自頂向下優(yōu)化神經(jīng)網(wǎng)絡(luò)的基本原則為:
(1)如果隱層兩個節(jié)點相關(guān)性|rij|≥α1,且輸出標(biāo)準(zhǔn)差s2i> α2,s2j> α2,則隱節(jié)點i和j可以合并.其中α1和α2為規(guī)定的下限值,一般α1取0.8 ~ 0.9,α2取0.001 ~ 0.01;
(2)若某節(jié)點的輸出標(biāo)準(zhǔn)差sa≤α2,則說明節(jié)點a的作用較小,可以將其刪除.
由上述合并條件,結(jié)合經(jīng)典BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,得到自頂向下優(yōu)化神經(jīng)網(wǎng)絡(luò)算法的步驟如下:
(1)網(wǎng)絡(luò)初始化:確定系統(tǒng)輸入層、輸出層和隱層節(jié)點數(shù);隨機(jī)初始權(quán)值;學(xué)習(xí)系數(shù);合成時刻誤差ε1;目標(biāo)誤差ε2;節(jié)點相關(guān)性閥值α1;輸出標(biāo)準(zhǔn)差閥值α2;初始學(xué)習(xí)步數(shù)k=1;
(2)采用BP算法進(jìn)行學(xué)習(xí),同時計算所有隱節(jié)點輸出序列;
(3)判斷誤差是否滿足合成、終止學(xué)習(xí)條件:如果當(dāng)前訓(xùn)練誤差值E>ε1,K=K+1轉(zhuǎn)到步驟(2);如果 ε1≥E≥ ε2,轉(zhuǎn)到步驟(4);E < ε2,則終止學(xué)習(xí);
(4)計算各隱節(jié)點輸出序列的標(biāo)準(zhǔn)差和相關(guān)性;
(5)檢查并合并隱節(jié)點:如果隱節(jié)點i和隱節(jié)點j相關(guān)系數(shù)滿足|rij|≥ α1,且s2i> α2,s2j> α2,則對隱節(jié)點(i,j)進(jìn)行合并;如果某個隱節(jié)點輸出標(biāo)準(zhǔn)差滿足s2i< α2,則刪除該節(jié)點,K=K+1,轉(zhuǎn)到步驟(2).
以二階系統(tǒng) Y(t)= Y_set(1-e(-t/ξωn)*sinωdt)為例,取合成時訓(xùn)練誤差 ε1=0.03,目標(biāo)誤差ε2=3*10-4,節(jié)點相關(guān)性閥值α1=0.9,輸出標(biāo)準(zhǔn)差閥值α2=0.01,初始權(quán)值產(chǎn)生范圍[-1,1],初始網(wǎng)絡(luò)結(jié)構(gòu)為4-10-3網(wǎng)絡(luò).經(jīng)過自頂向下方法優(yōu)化后,本神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化為4-2-3網(wǎng)絡(luò).停止學(xué)習(xí)后,輸出序列相關(guān)性高于閥值兩個隱節(jié)點合并,其部分合并隱節(jié)點的輸出序列如圖2所示.圖3顯示了該系統(tǒng)的輸出響應(yīng)曲線.圖4所示為訓(xùn)練樣本的學(xué)習(xí)曲線,在每次合并隱節(jié)點后,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差并沒有發(fā)生明顯變化.
圖2 高度相關(guān)的節(jié)點輸出序列
圖3 系統(tǒng)輸出響應(yīng)曲線
圖4 樣本學(xué)習(xí)曲線
本文提出了分?jǐn)?shù)階PIλ控制器中優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的方法,詳細(xì)介紹了自頂向下的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法.結(jié)果表明,自頂向下的優(yōu)化神經(jīng)網(wǎng)絡(luò)方法可以通過合并某些相關(guān)性較大的隱節(jié)點、刪除對網(wǎng)絡(luò)影響較小隱節(jié)點保證神經(jīng)網(wǎng)絡(luò)在合并、刪除節(jié)點后特性不變,從而達(dá)到了簡化網(wǎng)絡(luò)結(jié)構(gòu)的目的.
[1]聶冰,趙慧敏,郭永香,等.交流電機(jī)調(diào)速系統(tǒng)的分?jǐn)?shù)階 PIλ控制[J].大連交通大學(xué)學(xué)報,2012,33(2):84-86.
[2]趙慧敏,李文,鄧武.基于神經(jīng)網(wǎng)絡(luò)的分?jǐn)?shù)階PIα控制器的設(shè)計與實現(xiàn)[J].大連交通大學(xué)學(xué)報,2008,29(1):63-67.
[3]陳東洋,張新政.可變結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)在未來水質(zhì)參數(shù)預(yù)測中的應(yīng)用[J].科學(xué)技術(shù)與工程,2008,8(6):1577-1604.
[4]劉光中,李曉峰.人工神經(jīng)網(wǎng)絡(luò)BP算法的改進(jìn)和結(jié)構(gòu)的自調(diào)整[J].運(yùn)籌學(xué)學(xué)報,2001,5(1):81-88.
[5]魏海坤.神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的理論與方法[M].北京:國防工業(yè)出版社,2005:125-141.
[6]李廣軍,張晶,曾安平.基于BP神經(jīng)網(wǎng)絡(luò)的PID控制器研究[J].計算機(jī)仿真,2009,26(9):128-131.
[7]CHEN YANGQUAN.A new discretization method for fractional order differentiators via continued fraction expansion[C].2003 ASME International Design Engineering Technical Conferences,September 2-6,2003,Chicago,USA,2003:1-9.