王曉燕,楊富龍
(1.蘭州城市學(xué)院 培黎機(jī)械工程學(xué)院,甘肅 蘭州730070;2.蘭州理工大學(xué) 電子與信息工程學(xué)院,甘肅 蘭州730050)
對于參數(shù)易變的非線性復(fù)雜系統(tǒng),對角遞歸神經(jīng)網(wǎng)絡(luò)利用其自身的時間特性可以處理時變輸入信息,對非線性時變系統(tǒng)進(jìn)行控制[1]。很多學(xué)者就訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算法進(jìn)行了深入研究,并分別應(yīng)用于不同領(lǐng)域。Guo B等[2]將利用DRNN實現(xiàn)的PID控制器應(yīng)用于永磁同步電機(jī)伺服系統(tǒng)的控制。LI Bo等[3]將DRNN用于挖掘機(jī)伺服系統(tǒng)的參數(shù)辨識。S.-I.HAN等[4]提出的一種基于遞歸神經(jīng)網(wǎng)絡(luò)的模糊控制器對非線性系統(tǒng)具有良好的跟蹤性能。WANG L等[5]為了提高系統(tǒng)的收斂速度,提出了一種混沌DRNN控制器模型。SHUANG F等[6]提出了一種基于DRNN的渦流測功機(jī)輸入輸出特性辨識模型。PENG Jin-zhu等[7]提出了一種結(jié)合對角遞歸神經(jīng)網(wǎng)絡(luò)和非線性H_∞方法的控制方法,用于改善非完整約束的兩輪移動機(jī)器人系統(tǒng)中存在建模誤差及外擾的情形。LIU Tong等[8]針對大功率連續(xù)微波加熱系統(tǒng)的復(fù)雜性和非線性,提出了一種基于對角遞歸神經(jīng)網(wǎng)絡(luò)的辨識方法。LI Xiao-fei等[9]利用DRNN近似漿體壓力和隧道參數(shù)之間的復(fù)雜關(guān)系,提出了一種施工過程中漿液壓力平衡的模型預(yù)測控制系統(tǒng)。QIU Zhi-cheng等[10]將DRNN作為抑制機(jī)械臂振動的控制器。
從上述文獻(xiàn)中可以發(fā)現(xiàn)最常用來訓(xùn)練神經(jīng)網(wǎng)絡(luò)的算法是梯度下降算法,該算法存在網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)過程易發(fā)生振蕩、收斂速度慢、辨識精度不夠理想的問題,因此本文提出一種動態(tài)RPROP算法,可以使上次的網(wǎng)絡(luò)連接權(quán)值改變量對本次權(quán)值改變量產(chǎn)生影響,以得到更好的收斂速度和辨識精度。
對角遞歸神經(jīng)網(wǎng)絡(luò)[11-12]是一種動態(tài)網(wǎng)絡(luò),在未知系統(tǒng)結(jié)構(gòu)和階次的情況下,僅選取上一個歷史時刻的參數(shù)作為輸入向量,即可通過內(nèi)部遞歸神經(jīng)元的權(quán)值調(diào)整實現(xiàn)非線性系統(tǒng)的動態(tài)映射,同時網(wǎng)絡(luò)權(quán)值調(diào)節(jié)的計算量很小。在DRNN的遞歸層中存在自回歸神經(jīng)元,使其能夠捕捉被控非線性對象的動態(tài)行為[13]。對角遞歸神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)[14]如圖1所示,它的遞歸層中每一個神經(jīng)元都是帶有一步自反饋的遞歸元(圖1中帶陰影的神經(jīng)元)。
DRNN網(wǎng)絡(luò)的數(shù)學(xué)模型為:遞歸層的輸入為:
遞歸層的輸出為:
圖1 對角遞歸神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
輸出層的輸出為:
f(·)取為雙極型Sigmoid激勵函數(shù):
其中,設(shè)Ii(k)為第k時刻第i個輸入,Sj(k)為遞歸層第j個遞歸元的輸入之和,Xj(k)為第j個遞歸元的輸出;O(k)為網(wǎng)絡(luò)的輸出;WI、WD、WO分別為輸入層、遞歸層和輸出層的權(quán)值陣,設(shè)有P個輸入,Q個遞歸元,R個輸出。
動態(tài)RPROP學(xué)習(xí)算法調(diào)整網(wǎng)絡(luò)各連接權(quán)值的方法如下:
遞歸層自反饋權(quán)值調(diào)整為:
遞歸層與輸入層間的權(quán)值調(diào)整為:
式中動量因子α∈[0,1];η-和η+分別為減小因子和增加因子,且0<η-<1<η+;?ij為網(wǎng)絡(luò)連接權(quán)值的更新值,
其中E(k)為權(quán)值調(diào)整時采用的性能指標(biāo)函數(shù),即
式中y(k)為系統(tǒng)的輸出(即期望輸出),ym(k)為網(wǎng)絡(luò)的實際輸出。
為了驗證動態(tài)RPROP算法的有效性,分別將基于該算法和RPROP算法的DRNN用于非線性時變系統(tǒng)的辨識效果進(jìn)行比較。
(1)設(shè)被辨識非線性時變系統(tǒng)(對象1)的數(shù)學(xué)模型為:
輸入信號為:
DRNN網(wǎng)絡(luò)結(jié)構(gòu)為2-8-1,即輸入層節(jié)點數(shù)為2,遞歸層節(jié)點數(shù)為8,輸出層節(jié)點數(shù)為1,訓(xùn)練1000步。權(quán)值更新值的初始值?0=0.1,增大因子η+=1.2,減小因子η-=0.5,動量因子取為α=0.1。
仿真比較結(jié)果如圖2、3所示。
圖2 動態(tài)RPROP與RPROP算法辨識誤差比較(對象1)
圖3 動態(tài)RPROP與RPROP算法均方誤差比較(對象1)
(2)為了測試動態(tài)RPROP算法的有效性,再將基于該算法的DRNN網(wǎng)絡(luò)用于辨識另一個非線性時變系統(tǒng),記為對象2:
其中N為迭代步數(shù)。輸入信號為:
DRNN網(wǎng)絡(luò)采用2-10-1的結(jié)構(gòu),迭代步數(shù)為1000。動態(tài)RPROP算法中參數(shù)的選取為:權(quán)值更新值的初始值?0=0.1,增大因子η+=1.2,減小因子η-=0.5,動量因子取為α=0.5。仿真比較結(jié)果如圖4、5所示。
圖4 動態(tài)RPROP與RPROP算法辨識誤差比較(對象2)
圖5 動態(tài)RPROP與RPROP算法均方誤差比較(對象2)
在利用學(xué)習(xí)算法訓(xùn)練DRNN時,為了避免網(wǎng)絡(luò)權(quán)值的學(xué)習(xí)過程發(fā)生振蕩、收斂速度慢,得到更好的收斂速度和辨識精度,本文提出一種動態(tài)RPROP算法,介紹了動態(tài)RPROP學(xué)習(xí)算法調(diào)整網(wǎng)絡(luò)各連接權(quán)值的方法;同時,為了驗證動態(tài)RPROP算法的有效性,分別采用RPROP算法、動態(tài)RPROP算法訓(xùn)練DRNN,并對兩個非線性時變系統(tǒng)進(jìn)行辨識,仿真結(jié)果表明基于動態(tài)RPROP算法的DRNN辨識器的輸出能更好地逼近被辨識系統(tǒng)的實際輸出,網(wǎng)絡(luò)的收斂速度、辨識精度也有較大的提高。