,, ,,
(1.中北大學(xué) 機(jī)電工程學(xué)院,太原 030051; 2.豫西工業(yè)集團(tuán)有限公司,河南 南陽 473000)
PID神經(jīng)網(wǎng)絡(luò)是一種包含比例、積分、微分元的神經(jīng)網(wǎng)絡(luò)模型,是一種特殊的BP神經(jīng)網(wǎng)絡(luò)模型。它具備任意函數(shù)逼近能力,結(jié)構(gòu)簡單規(guī)范。其具體結(jié)構(gòu)形式僅由辨識對象輸入和輸出參數(shù)個數(shù)決定。網(wǎng)絡(luò)結(jié)構(gòu)中包含的積分元與微分元使其具備動態(tài)映射能力,特別適合于動態(tài)系統(tǒng)的辨識[1-3]。
PID神經(jīng)網(wǎng)絡(luò)采用的向后傳播算法(BP),是一種局部優(yōu)化算法,其尋優(yōu)結(jié)果一般在初始位置附近,所以算法對初值比較敏感,這導(dǎo)致網(wǎng)絡(luò)權(quán)值初值難以確定,容易使辨識結(jié)果陷入局部極小,這限制了該模型在控制系統(tǒng)中的應(yīng)用。現(xiàn)有理論優(yōu)化BP神經(jīng)網(wǎng)絡(luò)辨識,多為優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)與權(quán)值,從而改善網(wǎng)絡(luò)學(xué)習(xí)性能。如文獻(xiàn)[4-5]中,采用遺傳算法等群智能優(yōu)化算法,對網(wǎng)絡(luò)權(quán)值和隱含層神經(jīng)元個數(shù)選取進(jìn)行優(yōu)化,使網(wǎng)絡(luò)有較好的辨識精度。但是,這類優(yōu)化問題往往維數(shù)較高,單一的全局優(yōu)化算法難以獲得較優(yōu)解。而且,PIDNN泛化能力對權(quán)值分布較為敏感,在采用群智能優(yōu)化算法時容易得到擬合精度較高,但是泛化性能較低的神經(jīng)網(wǎng)絡(luò)模型?,F(xiàn)有方法在采用全局優(yōu)化方法優(yōu)化網(wǎng)絡(luò)的過程中,未對權(quán)值進(jìn)行約束,導(dǎo)致在優(yōu)化過程中可能得到部分使網(wǎng)絡(luò)泛化能力下降的,無進(jìn)一步優(yōu)化潛力解[3,6]。
引入一種基于差分進(jìn)化的文化基因算法(Memetic-DE),對隱含層結(jié)構(gòu)固定的PID神經(jīng)網(wǎng)權(quán)值進(jìn)行優(yōu)化,在優(yōu)化過程中,采用L1正則項對網(wǎng)絡(luò)權(quán)值進(jìn)行約束。通過辨識一多輸入-多輸出非線性復(fù)雜系統(tǒng)驗證其有效性。
多輸出PID神經(jīng)網(wǎng)絡(luò)(MPIDNN)由多個單輸出PID神經(jīng)網(wǎng)絡(luò)(SPIDNN)交叉并聯(lián)組成。SPIDNN的結(jié)構(gòu)固定,所以針對不同辨識對象,MPIDNN的具體結(jié)構(gòu)僅由輸入與輸出參數(shù)個數(shù)決定。若辨識對象的輸入和輸出參數(shù)有兩個時,神經(jīng)網(wǎng)絡(luò)辨識器,所對應(yīng)的MPIDNN模型結(jié)構(gòu)如圖1所示。從圖中可知,若辨識對象有m個輸入和n個輸出,則MPIDNN就需要m個子網(wǎng)交叉并聯(lián),且其輸出層含有n神經(jīng)元,即輸入?yún)?shù)決定輸入層和隱含層結(jié)構(gòu),輸出層神經(jīng)元個數(shù)由輸出參數(shù)個數(shù)決定[3]。
圖1 MPIDNN模型結(jié)構(gòu)示意圖
MPIDNN的輸入層有2m個相同的神經(jīng)元,在采樣時間k時刻神經(jīng)元狀態(tài)為:神經(jīng)元輸出分別:
usi(k)=?1netsi(k)
(1)
輸入層神經(jīng)元輸出為:
(2)
在式(1)和式(2)中,s為子網(wǎng)序號(s=1,2,…,n);i為子網(wǎng)輸入層序號(i=1,2);usi為神經(jīng)元輸入值;xsi為輸入層神經(jīng)元輸出值;q′為輸出閾值;?1為比例系數(shù)。
MPIDNN的隱含層由3m個神經(jīng)元組成,隱含層神經(jīng)元包含比例、積分和微分元,其神經(jīng)元節(jié)點輸入表示為:
(3)
隱含層中比例元、積分元和微分元中包含相應(yīng)的狀態(tài)轉(zhuǎn)換方程,其表達(dá)式為:
(4)
隱含層中各個神經(jīng)元輸出可表示為:
(5)
MPIDNN的輸出層含有n個神經(jīng)元。輸出層的節(jié)點輸入;神經(jīng)元狀態(tài)轉(zhuǎn)換函數(shù);以及輸出層神經(jīng)元輸出表達(dá)式如式(6)~式(8)所示:
(6)
(7)
(8)
神經(jīng)網(wǎng)絡(luò)模型的辨識輸出為:
(9)
優(yōu)化PIDNN模型權(quán)值是一類有較高維數(shù)的優(yōu)化問題,單純采用全局優(yōu)化算法進(jìn)行優(yōu)化,會遇到搜索停滯與早熟收斂等問題,難以進(jìn)一步開發(fā)權(quán)值解空間。針對高維優(yōu)化問題難以開發(fā)和探索解空間的問題,國內(nèi)外學(xué)者提出了諸如自適應(yīng)差分進(jìn)化等, 許多改進(jìn)算法。其中文化基因優(yōu)化算法是將全局優(yōu)化算法與局部搜索方法相結(jié)合的混合算法,能夠在解空間的探索和開發(fā)方面實現(xiàn)較好的平衡。采用一種基于差分進(jìn)化算法的文化基因算法,在每代全局尋優(yōu)的基礎(chǔ)上,利用混沌局部搜索在當(dāng)代最優(yōu)值附近,進(jìn)一步開發(fā)解空間,所得的最優(yōu)解與對應(yīng)個體通過B和L協(xié)作學(xué)習(xí)機(jī)制,決定是否參與到下一次進(jìn)化中[7]。
采用差分進(jìn)化算法作為文化基因算法中的全局搜索算法。算法首先在解空間內(nèi)產(chǎn)生隨機(jī)初始種群:xi=(xi,1,xi,2,…xi,D),i=1,2,…,NP,其中,D為問題維數(shù),NP為種群規(guī)模,xi代表第0代第i個個體。之后采用DE/best/2變異策略,對種群內(nèi)個體進(jìn)行擾動,生成變異向量,其擾動方程為:
vi,g=xbest,g+F·(xr1,g-xr2,g)+F·(xr3,g-xr4,g)
(10)
其中:r1≠r2≠r3≠r4≠i,即必須為4個相異的個體參與擾動,F(xiàn)為縮放因子。變異之后采用二項式交叉策略,對變異向量和目標(biāo)向量進(jìn)行交叉操作,其表達(dá)式為:
(11)
式中,j=1,2,…,D,jrand為[1,D]內(nèi)隨機(jī)選擇的整數(shù),CR∈(0,1)為交叉率。最后根據(jù)目標(biāo)向量xi,g和實驗向量ui,g的適應(yīng)值f(·)來選擇最優(yōu)個體。假設(shè)優(yōu)化問題為最小化問題,則選擇操作的原則如式(12)所示,即保留適應(yīng)值較小的個體,對種群進(jìn)行更新。
(12)
式中,xi,g+1為下一代的目標(biāo)向量。種群中最優(yōu)適應(yīng)值對應(yīng)向量,應(yīng)為本代最優(yōu)向量xbest,g+1。
采用混沌局部搜索算法作為文化基因算法中的局部優(yōu)化算法,在差分進(jìn)化算法優(yōu)化結(jié)果的基礎(chǔ)上,進(jìn)一步開發(fā)優(yōu)化權(quán)值解附近的權(quán)值解空間。其中,采用Logistic混沌迭代方程產(chǎn)生混沌序列,迭代方程表達(dá)式為[8]:
βj∈(0,1),βj≠0.25,0.5,0.75
(13)
(14)
式中,ε為一個小于1的小整數(shù)。新序列的概率分布如圖2(b)所示。新混沌序列高概率分布集中在解空間的中心,這樣有利于提高算法的開發(fā)能力。采用上述方法產(chǎn)生擾動向量,對當(dāng)代最優(yōu)個體進(jìn)行擾動,到達(dá)進(jìn)一步局部優(yōu)化的目的。局部優(yōu)化的搜索公式表示為:
(15)
圖2 混沌序列概率分布
PID神經(jīng)網(wǎng)絡(luò)有別于一般神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)中的比例、積分和微分神經(jīng)元產(chǎn)生不同的映射作用,所以若權(quán)值服從某些分布規(guī)律,會使優(yōu)化的網(wǎng)絡(luò)模型泛化能力下降。在訓(xùn)練樣本集質(zhì)量與數(shù)量一定的情況下,為了保證網(wǎng)絡(luò)模型有較強(qiáng)的泛化能力,權(quán)值需要滿足一定的分布規(guī)律。文化基因(Memetic)算法是一種全局搜索與局部搜索混合算法,具有較強(qiáng)的全局搜索能力,在保證網(wǎng)絡(luò)辨識結(jié)果有較高精度的前提下,能搜索到符合多種分布規(guī)則的權(quán)值解向量。所以在優(yōu)化網(wǎng)絡(luò)權(quán)值的過程中,需要根據(jù)已有的先驗知識,加入一定的約束條件限制更新權(quán)值大小,否則容易得到使神經(jīng)網(wǎng)絡(luò)模型泛化性能下降的優(yōu)化解[9]。
神經(jīng)網(wǎng)絡(luò)正則化方法是一種簡單有效的,保證神經(jīng)網(wǎng)絡(luò)泛化能力的方法。采用正則化方法對優(yōu)化過程中更新權(quán)值大小進(jìn)行約束,需要在目標(biāo)函數(shù)中加入對應(yīng)分布規(guī)律的正則項,并設(shè)定相應(yīng)大小的正則化系數(shù),其具體形式如式(16)所示。
E(w)=S(w)+a*R(w)
(16)
其中:S(w)一般為網(wǎng)絡(luò)輸出與樣本集的均方差,a為正則化系數(shù),R(w)為正則項。常用的正則項形式與網(wǎng)絡(luò)權(quán)值先驗分布對應(yīng)關(guān)系如下[9]:
(Gauss分布),
(Laplace分布),
(Cauchy分布),
式中,D1為要約束權(quán)值格式,T為中等大小的常數(shù)。
將神經(jīng)網(wǎng)絡(luò)中需要優(yōu)化的權(quán)值向量作為優(yōu)化問題的個體,通過Memetic-DE算法進(jìn)行種群個體更新,使神經(jīng)網(wǎng)絡(luò)模型輸出的估計值與被辨識對象輸出真值的均方誤差最小化,并在目標(biāo)函數(shù)后加入對權(quán)值大小進(jìn)行約束的正則項:
*S(w)
(17)
其中:l為采樣點個數(shù),n為輸出層神經(jīng)元個數(shù)。神經(jīng)網(wǎng)絡(luò)系統(tǒng)辨識的優(yōu)化過程如下:
步驟1:設(shè)置種群數(shù)量NP,變異縮放因子F,交叉率CR,最大進(jìn)化代數(shù)Gmax,混沌搜索次數(shù)N,變異系數(shù)μ,確定權(quán)值范圍的上界H和下界L,優(yōu)化問題的維數(shù)D為需要約束的網(wǎng)絡(luò)權(quán)值個數(shù)。產(chǎn)生D維的隨機(jī)向量,作為產(chǎn)生Logistic混沌映射矩陣的初值向量,通過2.2節(jié)方法迭代產(chǎn)生混沌序列,將混沌序列映射到權(quán)值解空間得到文化基因算法的初始種群:
xk,0=L+βk(H-L)
(18)
其中:xk,0為第0代第k個個體;βk為初值向量迭代k次后所得向量。
步驟2:通過差分進(jìn)化算法對網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化,優(yōu)化過程中根據(jù)式(17)計算個體適應(yīng)值,根據(jù)2.1節(jié)方法得到當(dāng)代種群和最優(yōu)個體xbest,g,通過文獻(xiàn)[7] 中介紹的B—學(xué)習(xí)和L—學(xué)習(xí)協(xié)作方法,計算混合前的CV1值。
步驟4:計算混合后的CV2值,根據(jù)B學(xué)習(xí)和L學(xué)習(xí)協(xié)作機(jī)制,確定局部優(yōu)化所得最優(yōu)個體是否參與后續(xù)進(jìn)化。
不斷重復(fù)步驟2~步驟4,直到達(dá)到最大進(jìn)化代數(shù)Gmax,或最優(yōu)適應(yīng)值達(dá)到設(shè)定值Emin,中止計算。
被辨識對象離散數(shù)學(xué)模型如式(19)所示。根據(jù)文獻(xiàn)[4]中的訓(xùn)練與測試激勵信號方程,產(chǎn)生訓(xùn)練樣本集與測試樣本集,樣本集數(shù)為200。
(19)
通過人工嘗試的方法,獲得神經(jīng)網(wǎng)絡(luò)權(quán)值的初值。通過BP算法對網(wǎng)絡(luò)權(quán)值進(jìn)行更新,獲得一組可得到較優(yōu)神經(jīng)網(wǎng)絡(luò)模型的權(quán)值解,網(wǎng)絡(luò)相應(yīng)的辨識結(jié)果如圖3(a)所示。圖中y1和y2訓(xùn)練樣本集,y′1和y′2為訓(xùn)練后神經(jīng)網(wǎng)絡(luò)辨識輸出。圖3(b)所示為在BP算法訓(xùn)練下,網(wǎng)絡(luò)目標(biāo)函數(shù)衰減曲線。從辨識結(jié)果可知,由BP算法訓(xùn)練1 000步后,網(wǎng)絡(luò)辨識輸出與訓(xùn)練樣本集的均方誤差達(dá)到0.011 6,可以看出此時神經(jīng)網(wǎng)絡(luò)辨識精度較差。易知此時網(wǎng)絡(luò)學(xué)習(xí)陷入局部極小。多次調(diào)試BP算法的學(xué)習(xí)步長,辨識結(jié)果均方差無明顯減小。嘗試調(diào)節(jié)初始權(quán)值,但是,因為神經(jīng)網(wǎng)絡(luò)權(quán)值較多,調(diào)試難度較大,經(jīng)過多次調(diào)整辨識結(jié)果依然無明顯改善。
圖3 BP神經(jīng)網(wǎng)絡(luò)辨識結(jié)果
采用文化基因算法對神經(jīng)網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化。在優(yōu)化過程中采用兩種目標(biāo)函數(shù),即采用正則算子正則化的目標(biāo)函數(shù),和未正則化的目標(biāo)函數(shù)。采用不同的正則項對目標(biāo)函數(shù)正則化,經(jīng)過多次仿真驗證,加入L1正則項后,網(wǎng)絡(luò)模型有較好的擬合精度和泛化精度,所以選用L1正則項,即符合Laplace分布的R(w),對權(quán)值進(jìn)行約束。通過多次仿真實驗發(fā)現(xiàn),若將所有權(quán)值都加入正則項進(jìn)行約束,容易出現(xiàn)欠擬合的情況。經(jīng)過不斷的嘗試,發(fā)現(xiàn)僅將積分元對應(yīng)的輸入層至隱含層、隱含層至輸出層權(quán)值加入正則項時,多次訓(xùn)練所得神經(jīng)網(wǎng)絡(luò)模型的辨識精度和泛化精度較高,基本沒有欠擬合的情況發(fā)生。辨識結(jié)果如圖4所示。
圖4 文化基因優(yōu)化神經(jīng)網(wǎng)絡(luò)辨識結(jié)果
圖中y1和y2為測試點集,y′1和y′2是網(wǎng)絡(luò)測試響應(yīng)輸出。E1是未正則化神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)變化曲線,E2為正則化后神經(jīng)網(wǎng)絡(luò)目標(biāo)函數(shù)變化曲線。圖中辨識結(jié)果為多次仿真后,所取最優(yōu)結(jié)果。易知采用文化基因算法優(yōu)化后的網(wǎng)絡(luò)辨識精度較高。采用正則化目標(biāo)函數(shù)的神經(jīng)網(wǎng)絡(luò)辨識均方差達(dá)到0.002 1。未正則化目標(biāo)函數(shù)辨識均方差則達(dá)到了0.001 8??芍?,未正則化的神經(jīng)網(wǎng)絡(luò)對訓(xùn)練樣本集的辨識精度更高。
圖5 神經(jīng)網(wǎng)絡(luò)測試集響應(yīng)輸出
對訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型輸入測試樣本集,采用網(wǎng)絡(luò)輸出與測試集的均方差,作為泛化誤差的衡量標(biāo)準(zhǔn),網(wǎng)絡(luò)仿真結(jié)果如圖5所示。從仿真結(jié)果可以看出,采用未正則化目標(biāo)函數(shù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),泛化誤差急劇增大。采用正則化目標(biāo)函數(shù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò),其泛化誤差為0.002,如圖5(b)所示,與網(wǎng)絡(luò)對訓(xùn)練集的辨識精度相當(dāng),可知網(wǎng)絡(luò)有較好的泛化性能。此
外,采用正則化目標(biāo)函數(shù)優(yōu)化的網(wǎng)絡(luò)權(quán)值,還可以通過BP算法進(jìn)行更新,進(jìn)一步提高辨識精度。
由于PIDNN結(jié)構(gòu)簡單、固定,所以針對不同的復(fù)雜系統(tǒng),僅需根據(jù)輸入與輸出參數(shù)個數(shù)就可確定結(jié)構(gòu),便于實現(xiàn)對復(fù)雜系統(tǒng)的辨識。但是,PID神經(jīng)網(wǎng)絡(luò)依然具有傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的缺點,網(wǎng)絡(luò)辨識結(jié)果對網(wǎng)絡(luò)權(quán)值初值敏感,容易陷入局部極小。所以采用Memetic-DE算法,對網(wǎng)絡(luò)權(quán)值進(jìn)行優(yōu)化,從而達(dá)到較高的辨識精度。由于進(jìn)化算法的隨機(jī)特性,單純采用差分進(jìn)化算法進(jìn)行訓(xùn)練,會導(dǎo)致算法種群多樣性得不到保證,不能保證搜索到較優(yōu)的網(wǎng)絡(luò)權(quán)值。采用多種學(xué)習(xí)機(jī)制協(xié)作的辦法有效維持了種群多樣性,保證了系統(tǒng)辨識精度。同時,采用正則化方法對網(wǎng)絡(luò)權(quán)值進(jìn)行約束,防止搜索到無潛力解,保證辨識結(jié)果精度的前提下,有效避免網(wǎng)絡(luò)的泛化能力下降。經(jīng)過仿真驗證,采用新方法優(yōu)化的PID神經(jīng)網(wǎng)絡(luò),有較好的系統(tǒng)辨識精度和泛化能力。
[1] 竇立謙,宗 群,劉文靜.面向控制的系統(tǒng)辨識研究進(jìn)展[J].系統(tǒng)工程與電子技術(shù),2009,31(1):158-164.
[2] 茹 菲,李鐵鷹.人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)辨識綜述[J]. 軟件導(dǎo)刊,2011,10(3):134-135.
[3] 舒 華,舒懷林.基于PID神經(jīng)網(wǎng)絡(luò)的多變量非線性動態(tài)系統(tǒng)辨識[J].計算機(jī)工程與應(yīng)用,2006,42(12):47-49.
[4] 李 目,何怡剛,譚 文. 基于差分進(jìn)化小波神經(jīng)網(wǎng)絡(luò)的多維非線性系統(tǒng)辨識[J].電子測量與儀器學(xué)報,2010,24(7):599-604.
[5] 梁艷春,吳春國,時小虎,等.群智能優(yōu)化算法理論及應(yīng)用[M].北京:科學(xué)出版社,2009.
[6] 劉浩然,趙翠香,李 軒,等. 一種基于改進(jìn)遺傳算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法研究[J]. 儀器儀表學(xué)報,2016,37(7):1573-1580.
[7] 張春美.差分進(jìn)化算法理論與應(yīng)用[M].北京:北京理工大學(xué)出版社,2014.
[8] 譚 躍,譚冠政,鄧曙光.基于遺傳交叉和多混沌策略改進(jìn)的粒子群優(yōu)化算法[J]. 計算機(jī)應(yīng)用研究,2016,33(12):3643-3647.
[9] 魏海坤,徐嗣鑫,宋文忠. 神經(jīng)網(wǎng)絡(luò)的泛化理論和泛化方法[J]. 自動化學(xué)報,2001(6):806-815.