版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章神經(jīng)控制中的系統(tǒng)辨識(shí)4.1
系統(tǒng)辨識(shí)基本原理4.2系統(tǒng)辨識(shí)過程中神經(jīng)網(wǎng)絡(luò)的作用4.3非線性動(dòng)態(tài)系統(tǒng)辨識(shí)4.4多層前向網(wǎng)絡(luò)辨識(shí)中的快速算法4.5非線性模型的預(yù)報(bào)誤差神經(jīng)網(wǎng)絡(luò)辨識(shí)4.6非線性系統(tǒng)逆模型的神經(jīng)網(wǎng)絡(luò)辨識(shí)4.7線性連續(xù)動(dòng)態(tài)系統(tǒng)辨識(shí)的參數(shù)估計(jì)4.8利用神經(jīng)網(wǎng)絡(luò)聯(lián)想功能的辨識(shí)系統(tǒng)4.9小結(jié)習(xí)題與思考題
4.1系統(tǒng)辨識(shí)基本原理
自20世紀(jì)70年代以來,自動(dòng)控制在辨識(shí)線性、非時(shí)變、參數(shù)確定的系統(tǒng)方面取得了長足的進(jìn)步,然而對(duì)于非線性、時(shí)變系統(tǒng)的辨認(rèn),還缺乏一種有效的做法。在辨識(shí)前對(duì)此類系統(tǒng)的結(jié)構(gòu)形態(tài)所預(yù)先做出的假設(shè)和經(jīng)驗(yàn)認(rèn)識(shí),往往是針對(duì)某個(gè)特例的非線性系統(tǒng)做出的。目前尚未就一般的非線性系統(tǒng)進(jìn)行辨識(shí),不是人們不想做到這一點(diǎn),而是不知道如何才能做到這一點(diǎn)。
神經(jīng)控制的出現(xiàn),給辨識(shí)非線性系統(tǒng)的一般方法帶來了希望。人工神經(jīng)網(wǎng)絡(luò)具有學(xué)習(xí)能力,經(jīng)過訓(xùn)練能夠辨認(rèn)被測對(duì)象的性質(zhì),決定被測對(duì)象的歸宿。4.1.1辨識(shí)系統(tǒng)的基本結(jié)構(gòu)
人工神經(jīng)網(wǎng)絡(luò)的辨識(shí)本領(lǐng)源自對(duì)生物神經(jīng)網(wǎng)絡(luò)的模擬。原來,生物神經(jīng)網(wǎng)絡(luò)的智能行為具有明顯的學(xué)習(xí)特征,并且越是高等級(jí)的生物,后天學(xué)習(xí)的本領(lǐng)越強(qiáng)。例如剛出生的小
毛驢,一生下地就能站立起來走路,而剛出生的嬰兒連翻身爬行都不會(huì),僅會(huì)嚎哭和吸吮。但是隨著后天的學(xué)習(xí),人類成為世界的主人,毛驢只學(xué)會(huì)終生尋找食物和躲避危險(xiǎn)。生物神經(jīng)網(wǎng)絡(luò)不是依賴生來具有的本領(lǐng),而是通過后天的學(xué)習(xí),有效地完成辨認(rèn)與識(shí)別。
L.A.Zadeh給辨識(shí)下過一個(gè)定義:“辨識(shí)就是在輸入和輸出數(shù)據(jù)的基礎(chǔ)上,從一組給定的模型中,確定一個(gè)與所測系統(tǒng)等價(jià)的模型。”辨識(shí)實(shí)際上是一種比較,是將被測系統(tǒng)與一組標(biāo)準(zhǔn)進(jìn)行比較,如同醫(yī)院為人們查血型一樣。
從L.A.Zadeh的辨識(shí)定義,不難悟出完成辨識(shí)必須具備的三個(gè)條件:
第一,對(duì)被測系統(tǒng)加一個(gè)輸入,系統(tǒng)能產(chǎn)生一個(gè)輸出,且輸入輸出能夠測量,至于測量采用什么方式、采用什么儀器則無限制。
第二,必須提供一套用于比較的標(biāo)準(zhǔn)模型。第三,無論使用硬件還是軟件,只需要完成比較。比較的過程是一個(gè)選擇最優(yōu)化的過程,比較的原則遵循等價(jià)原則。
從系統(tǒng)辨識(shí)的定義不難發(fā)現(xiàn),如果出現(xiàn)以下情況之一,辨識(shí)將失敗:
(1)當(dāng)被測系統(tǒng)不能接受給它的輸入時(shí),例如給一個(gè)數(shù)字電路加入模擬信號(hào);
(2)當(dāng)被測系統(tǒng)有了輸入而沒有輸出時(shí),例如對(duì)含有變壓器的電路施加直流信號(hào);
(3)當(dāng)提供的“標(biāo)準(zhǔn)模型”不夠“標(biāo)準(zhǔn)”時(shí),例如提供了“與門”、“或門”作為標(biāo)準(zhǔn),而被測對(duì)象卻是一個(gè)“非門”;
(4)當(dāng)系統(tǒng)的優(yōu)化目標(biāo)難以達(dá)到時(shí),例如按梯度下降實(shí)施迭代運(yùn)算而落入局部極小點(diǎn)。
系統(tǒng)辨識(shí)本身構(gòu)成了一個(gè)系統(tǒng),辨識(shí)系統(tǒng)的基本結(jié)構(gòu)如圖4-1所示,由被測系統(tǒng)及辨識(shí)模型兩大模塊組成。由于實(shí)際上不可能尋找到與被測系統(tǒng)完全等價(jià)的模型,因此只能從
辨識(shí)模型中挑選一個(gè)模型,看從靜態(tài)特性和動(dòng)態(tài)特性兩個(gè)方面能否與被測系統(tǒng)擬合。
系統(tǒng)辨識(shí)的主要任務(wù)就是選擇辨識(shí)模型,確定輸入信號(hào)和誤差信號(hào)及其差值。圖4-1辨識(shí)系統(tǒng)基本結(jié)構(gòu)4.1.2辨識(shí)模型
研究辨識(shí)模型的意義在于如何能近距離地接近被測系統(tǒng)。
從被測系統(tǒng)的實(shí)際情況看,可以把辨識(shí)模型分成靜態(tài)模型和動(dòng)態(tài)模型兩類,其中動(dòng)態(tài)模型又可分為參數(shù)模型和非參數(shù)模型兩類。
考慮到辨識(shí)模型僅僅只是被測系統(tǒng)在一定環(huán)境下的近似描述,因此,正確選擇確定辨識(shí)模型就有了更為重要的意義。選擇只能在以下情況中確定:
是選擇靜態(tài)模型,還是選擇動(dòng)態(tài)模型?
是選擇參數(shù)模型,還是選擇非參數(shù)模型?目前還沒有一套成熟有效的辦法,一并解決以上問題,但有幾點(diǎn)是必須考慮的:
(1)模型的用途;
(2)被測對(duì)象的精確度與復(fù)雜程度;
(3)系統(tǒng)的控制方式,是自適應(yīng)控制還是實(shí)時(shí)控制;
(4)使用神經(jīng)網(wǎng)絡(luò),可以選擇三層網(wǎng)絡(luò)通過仿真比對(duì)完成,當(dāng)前神經(jīng)網(wǎng)絡(luò)理論尚未明確指出需要幾個(gè)隱層節(jié)點(diǎn)數(shù)才能模擬出系統(tǒng)。如果使用參數(shù)模型,考慮到被測系統(tǒng)的特征已經(jīng)表露在輸入輸出相關(guān)的數(shù)據(jù)中,辨識(shí)的方法只是使用數(shù)學(xué)計(jì)算,從輸入輸出數(shù)據(jù)中提取被測系統(tǒng)S的數(shù)學(xué)模型M,使下式成立:
‖Ym-Yo‖=‖M(u)-S(u)‖≤ε
式中Ym、Yo分別是系統(tǒng)輸入u作用下模型和系統(tǒng)的輸出。ε為預(yù)設(shè)的辨識(shí)精度。設(shè)e=Ym-Yo,則辨識(shí)準(zhǔn)則為如果使用非參數(shù)模型,則無需事先確定模型的具體結(jié)構(gòu),只需要知道運(yùn)行過程為線性。
這一類模型有階躍響應(yīng)、脈沖響應(yīng)、頻率特性等等,它們的用途比較廣泛,可用于任一復(fù)雜過程。
將人工神經(jīng)網(wǎng)絡(luò)用于系統(tǒng)辨識(shí),就是用神經(jīng)網(wǎng)絡(luò)構(gòu)成辨識(shí)模型,辨識(shí)方法就是用神經(jīng)網(wǎng)絡(luò)辨識(shí)模型逼近被測系統(tǒng)。用作辨識(shí)模型的神經(jīng)網(wǎng)絡(luò)通常有多層感知器、BP網(wǎng)絡(luò)、
Hopfield網(wǎng)絡(luò)等。4.1.3辨識(shí)系統(tǒng)的輸入和輸出
在辨識(shí)系統(tǒng)中,被測系統(tǒng)與辨識(shí)模型使用相同的輸入信號(hào)。為了協(xié)調(diào)兩個(gè)不同的部件,要求輸入信號(hào)滿足兩個(gè)條件:一個(gè)是在辨識(shí)時(shí)間內(nèi)的輸入信號(hào)必須持續(xù)激勵(lì),充分激勵(lì)系
統(tǒng)的所有模態(tài),輸入信號(hào)的頻譜必須足夠覆蓋系統(tǒng)的頻譜;另一個(gè)是輸入信號(hào)要求最優(yōu)化。
辨識(shí)系統(tǒng)常用的輸入信號(hào)有偽隨機(jī)序列或白噪聲。
辨識(shí)系統(tǒng)的所謂輸出就是系統(tǒng)的誤差。在確定系統(tǒng)誤差時(shí),通常需要選擇誤差準(zhǔn)則,它用來衡量辨識(shí)模型接近被測系統(tǒng)的程度。誤差準(zhǔn)則函數(shù)的泛函表示如下:式中,f(·)有不同的選擇,其中用得較多的是平方函數(shù):
f[e(k)]=e2(k)其中,e(k)是誤差函數(shù),定義區(qū)間為[0,M],是辨識(shí)模型的輸出與被測系統(tǒng)的輸出之差。如果e(k)=0,則說明被測系統(tǒng)與辨識(shí)模型等價(jià)。
4.2系統(tǒng)辨識(shí)過程中神經(jīng)網(wǎng)絡(luò)的作用
本節(jié)討論兩個(gè)問題:神經(jīng)網(wǎng)絡(luò)作辨識(shí)模型的原理;神經(jīng)網(wǎng)絡(luò)辨識(shí)系統(tǒng)的一般結(jié)構(gòu)。
4.2.1神經(jīng)網(wǎng)絡(luò)辨識(shí)原理
系統(tǒng)辨識(shí)實(shí)質(zhì)上是一個(gè)優(yōu)化問題,優(yōu)化準(zhǔn)則依靠辨識(shí)目的、辨識(shí)算法的復(fù)雜程度進(jìn)行選擇。辨識(shí)方法大體也有兩種:一種是基于算法的辨識(shí)方法,適用于線性系統(tǒng);另一種是
基于神經(jīng)網(wǎng)絡(luò)的辨識(shí)方法,適用于非線性系統(tǒng)。
1.基于算法的辨識(shí)方法
基于算法的辨識(shí)方法要求建立一個(gè)模型,該模型依賴于某個(gè)參數(shù)θ,把辨識(shí)轉(zhuǎn)化成了對(duì)模型參數(shù)的估計(jì)。通常估計(jì)有三種不同的類型,分別敘述如下。
1)最小二乘法
最小二乘法辨識(shí)系統(tǒng)原理如圖4-2所示。利用最小二乘法原理,通過極小化廣義誤差的二次方和函數(shù)來確定模型的參數(shù)。例如一個(gè)線性系統(tǒng)模型,在經(jīng)過一系列的數(shù)學(xué)變換
后轉(zhuǎn)換成最小二乘格式:
z(k)=hT(k)θ+e(k)式中,hT(k)是系統(tǒng)的廣義輸入,內(nèi)含原系統(tǒng)輸入u(k)和原系統(tǒng)輸出y(k);e(k)是系統(tǒng)的廣義噪聲。
2)梯度校正法
梯度校正法,又名最速下降法,其原理是沿著誤差準(zhǔn)則函數(shù)關(guān)于模型參數(shù)的負(fù)梯度方向,逐步修改模型的參數(shù)估計(jì)值,直到誤差準(zhǔn)則函數(shù)達(dá)到最小。
3)極大似然法
極大似然法通過極大化似然函數(shù)來確定模型參數(shù)。圖4-2最小二乘法辨識(shí)系統(tǒng)
2.基于神經(jīng)網(wǎng)絡(luò)的辨識(shí)方法
在遇到不能線性化的非線性系統(tǒng)時(shí),對(duì)應(yīng)的模型難于轉(zhuǎn)化成關(guān)于參數(shù)空間的線性模型,基于算法的辨識(shí)方法將束手無策。
模擬生物神經(jīng)網(wǎng)絡(luò)的人工神經(jīng)網(wǎng)絡(luò)有能力辨識(shí)那些不能線性化的非線性系統(tǒng),它不需要預(yù)先知道被測系統(tǒng)的模型。神經(jīng)網(wǎng)絡(luò)的這種功能,通過直接學(xué)習(xí)系統(tǒng)的輸入輸出數(shù)據(jù)實(shí)現(xiàn)。學(xué)習(xí)的過程就是訓(xùn)練的過程,也是辨識(shí)的過程。學(xué)習(xí)方法是使所要求的誤差函數(shù)達(dá)到最小,從而過濾出隱含在
被測系統(tǒng)的輸入輸出數(shù)據(jù)之間的關(guān)系。這個(gè)關(guān)系描述了被測系統(tǒng)的外特性。人們并不知道被測系統(tǒng)的內(nèi)部究竟是什么,究竟有幾個(gè)電阻、幾個(gè)電容、幾個(gè)器件,這些都無關(guān)緊要。
從這個(gè)關(guān)系能確定被測系統(tǒng)的傳遞函數(shù),斷定它是什么環(huán)節(jié),進(jìn)一步可探知對(duì)它采用什么補(bǔ)償校正方法,采取什么措施滿足穩(wěn)定性要求。用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)辨識(shí)的辨識(shí)系統(tǒng)如圖4-3所示。從該圖可以看出,辨識(shí)并不在意神經(jīng)網(wǎng)絡(luò)以什么形式去逼近實(shí)際系統(tǒng),只關(guān)心神經(jīng)網(wǎng)絡(luò)的輸出與被辨識(shí)系統(tǒng)的輸出相差多少,
誤差e(k)能否為0。從辨識(shí)的角度出發(fā),只要e(k)小于某一個(gè)事先認(rèn)可的值,就可以認(rèn)為神經(jīng)網(wǎng)絡(luò)已經(jīng)充分揭示了被辨識(shí)系統(tǒng)的傳輸特性,對(duì)被辨識(shí)系統(tǒng)的辨識(shí)任務(wù)告一段落。圖4-3神經(jīng)網(wǎng)絡(luò)辨識(shí)系統(tǒng)框圖與基于算法的辨識(shí)方法相比較,基于神經(jīng)網(wǎng)絡(luò)的辨識(shí)方法有以下幾個(gè)特點(diǎn):
(1)辨識(shí)器由神經(jīng)網(wǎng)絡(luò)構(gòu)成,被辨識(shí)對(duì)象允許是本質(zhì)上不能線性化的非線性系統(tǒng);
(2)辨識(shí)過程非算法式,由神經(jīng)網(wǎng)絡(luò)的訓(xùn)練來實(shí)施。辨識(shí)結(jié)果是網(wǎng)絡(luò)外部特性擬合系統(tǒng)的輸入輸出特性,網(wǎng)絡(luò)內(nèi)部特性歸納隱藏在輸入輸出數(shù)據(jù)中;
(3)辨識(shí)之前無須對(duì)被辨識(shí)系統(tǒng)建模,神經(jīng)網(wǎng)絡(luò)辨識(shí)器的權(quán)值反映了被辨識(shí)對(duì)象的可調(diào)參數(shù);
(4)辨識(shí)過程是否收斂以及收斂速度僅取決于神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)及其算法,與被辨識(shí)系統(tǒng)及其維數(shù)無關(guān),有別于與模型參數(shù)的維數(shù)密切相關(guān)的傳統(tǒng)算法;
(5)神經(jīng)網(wǎng)絡(luò)既然可以作為被辨識(shí)系統(tǒng)的模型,因此可以認(rèn)為它是被辨識(shí)系統(tǒng)的一個(gè)物理實(shí)現(xiàn),從而可用于在線控制;
(6)神經(jīng)網(wǎng)絡(luò)連接權(quán)的權(quán)值在辨識(shí)中對(duì)應(yīng)于模型參數(shù),只要調(diào)節(jié)這些參數(shù),就能使網(wǎng)絡(luò)輸出逼近系統(tǒng)輸出。4.2.2多層前向網(wǎng)絡(luò)的辨識(shí)能力
討論神經(jīng)網(wǎng)絡(luò)辨識(shí)能力的意義在于搞清楚哪些系統(tǒng)能夠被神經(jīng)網(wǎng)絡(luò)所辨識(shí),哪些系統(tǒng)不能被它辨識(shí),也就是說什么樣的系統(tǒng)能用神經(jīng)網(wǎng)絡(luò)描述。
1.三層前向網(wǎng)絡(luò)的逼近能力
多層前向網(wǎng)絡(luò)具有極強(qiáng)的逼近能力。如果僅含一個(gè)隱層的三層前向網(wǎng)絡(luò)可以逼近某個(gè)函數(shù),那么四層及四層以上的網(wǎng)絡(luò)也具備同樣的能力?,F(xiàn)以三層前向網(wǎng)絡(luò)為例說明。三層前向網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖4-4所示。設(shè)輸入層有n個(gè)節(jié)點(diǎn),能接納n個(gè)輸入xi(i=1,2,3,…,n),隱層有q個(gè)節(jié)點(diǎn)vj(j=1,2,3,…,q),輸出層僅有一個(gè)節(jié)點(diǎn)。網(wǎng)絡(luò)的輸入矢量為X,輸入層到隱層第j個(gè)神經(jīng)元的連接權(quán)值矢量用Wj表示,網(wǎng)絡(luò)的輸出為單輸出,用y表示。
三層前向網(wǎng)絡(luò)的傳遞關(guān)系為式中,,σ(·)是隱層節(jié)點(diǎn)的作用函數(shù)。圖4-4三層前向網(wǎng)絡(luò)結(jié)構(gòu)給定函數(shù)空間S、映射p,若函數(shù)f,g,h∈S,且滿足:
(1)p(f,g)≥0,且僅當(dāng)f=g時(shí)取等號(hào),具有正定性;
(2)p(f,g)=p(g,f),具有對(duì)稱性;
(3)三角不等式p(f,g)≤p(f,h)+p(h,g)成立。
則稱(s,p)為賦范空間,映射p稱為距離函數(shù)或范數(shù)。
如果U
Rn是n維單位立方體,C(U)是定義在U上的所有連續(xù)函數(shù)f(X)的集合,定義范數(shù)p=sup|f(X)|則以下定理成立:
定理1
若神經(jīng)元特性σ(t)是連續(xù)函數(shù),且則∑(σ)在C(U)中是p稠密的,對(duì)于f∈C(U)及ε>0,
g(X),使得
|g(X)-f(X)|<ε
X∈U
定理1的證明過程從略。該定理表明,只要在一個(gè)有限空間中存在一個(gè)連續(xù)函數(shù)f(x),總可以找到一個(gè)三層神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)的神經(jīng)元特征為σ(t),網(wǎng)絡(luò)的輸出函數(shù)g(x)能以任意精度逼近f(x)。定理1中列出的函數(shù)f(x)不僅限于連續(xù)函數(shù),f(x)是一個(gè)非連續(xù)函數(shù)時(shí)定理仍然成立,只要求f(x)在[-1,1]上有定義,且滿足平方可積條件。利用傅里葉積分將f(x)展開成傅里葉級(jí)數(shù)——若干個(gè)連續(xù)函數(shù)之和,對(duì)每一連續(xù)函數(shù),定理1均成立。
為簡單起見,僅考慮一維。設(shè)f(x)連續(xù),且在連續(xù)點(diǎn)處,有限次級(jí)數(shù)和的三角級(jí)數(shù)形式為式中,k=0,1,…,N因F(f,x,N)在均方意義下收斂于f(x),δ,N,使成立,問題轉(zhuǎn)化成了只需要逼近F(f,x,N),只要存在三層前向網(wǎng)絡(luò)能逼近sin(2πkx)和cos(2πkx),結(jié)論就能正確??紤]到余弦函數(shù)比正弦函數(shù)超前90°,問題變成了只要能找到三層網(wǎng)絡(luò)以任意精度逼近sin(2πkx),就可以逼近有界連續(xù)函數(shù)。分析到此,按照定理1,這個(gè)問題實(shí)際已經(jīng)解決。
現(xiàn)把問題推廣到n維(n>1),定義矢量的絕對(duì)值為其各分量的最大絕對(duì)值,在單位空間中定義下列積分:其中將函數(shù)f(x)的集合記為L2(U)。定義范數(shù)則下列定理成立:
定理2
若神經(jīng)元特性σ(t)是閾值特性,那么∑(σ)在L2(U)中是p稠密的,即對(duì)于f∈L2(U)及ε>0,g(X),使得成立。定理2的證明從略。定理2與定理1一起表明三層前向網(wǎng)絡(luò)能以任意精度逼近任意連續(xù)函數(shù)和非連續(xù)函數(shù)?,F(xiàn)已證明,在很寬的條件下,三層前向網(wǎng)絡(luò)能以任意精度逼近任意連續(xù)函數(shù)、任意非連續(xù)函數(shù)及其各階導(dǎo)數(shù)(如果存在導(dǎo)數(shù))。這一性質(zhì)能用于動(dòng)態(tài)系統(tǒng)辨識(shí),在這種辨識(shí)中,要求神經(jīng)網(wǎng)絡(luò)具備逼近各階導(dǎo)數(shù)的能力。
2.多層前向網(wǎng)絡(luò)的基本結(jié)構(gòu)
多層前向網(wǎng)絡(luò)有靜態(tài)、動(dòng)態(tài)之分。靜態(tài)網(wǎng)絡(luò)的典型例子就是BP網(wǎng)絡(luò),該網(wǎng)絡(luò)的三個(gè)特征是多層次結(jié)構(gòu)、S型神經(jīng)元及反向傳播算法(BackPropogation)。靜態(tài)網(wǎng)絡(luò)已在模式識(shí)
別、系統(tǒng)識(shí)別、圖像處理等方面受到較大的關(guān)注。對(duì)比之下,動(dòng)態(tài)多層前向網(wǎng)絡(luò)更加被人們青睞,它具有的動(dòng)態(tài)特性恰好是控制系統(tǒng)必需的。回歸網(wǎng)絡(luò)就是一種動(dòng)態(tài)網(wǎng)絡(luò),它的結(jié)構(gòu)特點(diǎn)存在反饋:對(duì)離散型網(wǎng)絡(luò)而言,就是將輸出信號(hào)通過帶延時(shí)環(huán)節(jié)反饋到輸入端;對(duì)連續(xù)型網(wǎng)絡(luò)而言,就是將輸出信號(hào)通過一階慣性環(huán)節(jié)反饋到輸入端。除了反饋輸入外,回歸網(wǎng)絡(luò)也容許有外部輸入。回歸網(wǎng)絡(luò)具有描
述動(dòng)態(tài)系統(tǒng)的性質(zhì),它有單層與多層之分。單層回歸網(wǎng)絡(luò)的例子是Hopfield網(wǎng)絡(luò),它僅代表一類非線性系統(tǒng),不能代表任意映射的動(dòng)態(tài)非線性系統(tǒng)。
動(dòng)態(tài)多層前向網(wǎng)絡(luò)結(jié)構(gòu)能用實(shí)現(xiàn)任意非線性映射的多層前向網(wǎng)絡(luò)與描述動(dòng)態(tài)系統(tǒng)的回歸網(wǎng)絡(luò)結(jié)合構(gòu)成。
3.多層前向網(wǎng)絡(luò)的學(xué)習(xí)算法
靜態(tài)網(wǎng)絡(luò)如BP網(wǎng)絡(luò)使用基于誤差的反向傳播學(xué)習(xí)算法,每次反向傳播的誤差僅與網(wǎng)絡(luò)當(dāng)前誤差分布有關(guān)。
動(dòng)態(tài)多層前向網(wǎng)絡(luò)的誤差反向傳播是一個(gè)動(dòng)態(tài)過程,考慮到引入了動(dòng)態(tài)系統(tǒng)W(z),反向傳播的關(guān)鍵就是要找到反映動(dòng)態(tài)過程的關(guān)系式,尋找方法如下。
設(shè)網(wǎng)絡(luò)訓(xùn)練模式為U=[u1,u2,…,uN]T,S為訓(xùn)練用的輸入模式集合,且U∈S。網(wǎng)絡(luò)輸出為Y=[y1,y2,…,yN]T,期望輸出為Yq=[yq1,yq2,…,yqN]T,誤差矢量e=Y-Yq。訓(xùn)練使用二次性能指標(biāo):或用一段時(shí)間內(nèi)的均方誤差值,記成式中,T選用適宜的一個(gè)正整數(shù),并要求輸入模式為動(dòng)態(tài)信號(hào)。設(shè)網(wǎng)絡(luò)的全部可調(diào)參數(shù)(例如連接權(quán)值和閾值)的集合用Θ表示,網(wǎng)絡(luò)的當(dāng)前參數(shù)為θ,θ∈Θ,▽J為當(dāng)前時(shí)刻指標(biāo)函數(shù)的梯度,由BP算法知當(dāng)前參數(shù)增量Δθ與梯度成正比:
Δθ=-η▽J比值η是學(xué)習(xí)速率或步長。利用反向傳播算法可以從輸出層方向開始,向輸入層方向逐個(gè)計(jì)算誤差對(duì)參數(shù)的偏導(dǎo)數(shù),繼而計(jì)算和梯度▽J。
非線性動(dòng)態(tài)多層前向網(wǎng)絡(luò)的典型結(jié)構(gòu)如圖4-5所示,由Narendra和Parthasahy在1991年提出。圖中W(z)表示線性系統(tǒng)傳遞矩陣,N表示多層前向網(wǎng)絡(luò)的映射。下面分別討論
該圖四種非線性動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)模型的算法。圖4-5非線性動(dòng)態(tài)多層前向網(wǎng)絡(luò)
(1)對(duì)圖4-5(a),有式中,用W(z)表示一個(gè)動(dòng)態(tài)系統(tǒng),只需要用BP算法靜態(tài)計(jì)算,就能得到當(dāng)前時(shí)刻的。下面是一個(gè)實(shí)例。設(shè)網(wǎng)絡(luò)期望輸出為式中,W(z)是一個(gè)特定的脈沖傳遞標(biāo)量函數(shù)。選取多層網(wǎng)N的結(jié)構(gòu)為四層:輸入層1個(gè)節(jié)點(diǎn),第一隱層20個(gè)節(jié)點(diǎn),第二隱層10個(gè)節(jié)點(diǎn),輸出層1個(gè)節(jié)點(diǎn)。用多層網(wǎng)N逼近:逼近過程中W(z)可能有三種情況出現(xiàn):第一種,取W(z)是純滯后q步的線性系統(tǒng),傳遞函數(shù)W(z)=z-q,計(jì)算并時(shí)延q步得當(dāng)前值。如取q=5,訓(xùn)練指標(biāo)用J1,η=0.1時(shí)訓(xùn)練50000步可得較好效果。訓(xùn)練指標(biāo)用J2,η=0.2時(shí)訓(xùn)練50000步得相同結(jié)果。第二種,取W(z)是有限脈沖響應(yīng)模型(FIRM),傳遞函數(shù)W(z)=∑aiz-1,計(jì)算線性組合以前各時(shí)刻的值后可得。如設(shè)W(z)=0.1z-1+1.0z-2+0.5z-3訓(xùn)練指標(biāo)用J2,每三步調(diào)整一次參數(shù)(T=3),η=0.01時(shí)訓(xùn)練50000次后N與f基本相同。
第三種,取W(z)是穩(wěn)定的有限傳遞函數(shù),且能用參數(shù)模型描述,如描述模型用ARMA模型。取訓(xùn)練指標(biāo)用J1,η=0.005時(shí)訓(xùn)練10萬次,發(fā)現(xiàn)y與yq仍有差別。訓(xùn)練指標(biāo)改用J2,η=0.005時(shí)訓(xùn)練10萬次,取T=5,最終效果較好。
(2)對(duì)圖4-5(b),多層前向網(wǎng)絡(luò)的映射有兩個(gè),現(xiàn)分別確定。對(duì)于N1網(wǎng)絡(luò)映射,用靜態(tài)BP算法計(jì)算,其中θ是N1的參數(shù)。
對(duì)于N2網(wǎng)絡(luò)映射,使用靜態(tài)BP算法計(jì)算和,求得或?qū)懗善渲?,f[·]代表了非線性的關(guān)系,有此函數(shù)關(guān)系的非線性系統(tǒng)均可以用神經(jīng)網(wǎng)絡(luò)來逼近。盡管如此,也不能簡單地認(rèn)為:N1能訓(xùn)練成f[·],N2能訓(xùn)練成g(u)。用例說明,設(shè)N1是結(jié)構(gòu)為1×20×10×1的單輸入單輸出系統(tǒng),取訓(xùn)練用的輸入信號(hào)是分布在[-2,2]之間的隨機(jī)信號(hào)。訓(xùn)練好以后,實(shí)際輸出y與期望輸出yq之間無多大的差別。
(3)對(duì)圖4-5(c),設(shè)和是當(dāng)前點(diǎn)上取值的Jacobian矩陣矢量,它們能夠在每一時(shí)刻求得,成為以下線性差分方程的系數(shù)矩陣矢量式中,是n維矢量,系統(tǒng)傳遞函數(shù)W(z)僅對(duì)其后的產(chǎn)生延時(shí)作用。如果離散系統(tǒng)通過零階保持器采樣,W(z)至少有一步時(shí)延效應(yīng),使得W(z)
總只包括當(dāng)前時(shí)刻前的各值。按照差分方程能遞推出各時(shí)刻的值。
(4)對(duì)圖4-5(d),N1的可用與圖4-5(c)相同的線性差分方程計(jì)算出來,N2則有仿真結(jié)果表明這種動(dòng)態(tài)BP算法能使網(wǎng)絡(luò)較好地跟蹤期望輸出。動(dòng)態(tài)反向傳播算法比靜態(tài)反向傳播算法復(fù)雜得多,導(dǎo)致這種算法存在諸多缺點(diǎn),其中突出的有兩個(gè)缺點(diǎn):一個(gè)是必須假設(shè)系統(tǒng)可以分成線性系統(tǒng)和非線性系統(tǒng);另一個(gè)是需要已知線性系統(tǒng)的傳遞函數(shù)。4.2.3辨識(shí)系統(tǒng)中的非線性模型
神經(jīng)網(wǎng)絡(luò)作系統(tǒng)辨識(shí),主要用于非線性辨識(shí)和自適應(yīng)。非線性系統(tǒng)在能控性、能觀性、負(fù)反饋調(diào)節(jié)、狀態(tài)觀測器設(shè)計(jì)等方面,還沒有成熟的做法,難度是非線性系統(tǒng)的辨識(shí)模型和控制模型不易選取。為此,用神經(jīng)網(wǎng)絡(luò)辨識(shí)非線性系統(tǒng),必須作一些假設(shè)限制:
(1)被控對(duì)象具有能控能觀性;
(2)對(duì)所有可能的輸入控制量u,被控對(duì)象的輸出y存在并有界;
(3)在辨識(shí)模型中的神經(jīng)網(wǎng)絡(luò)允許一個(gè)或幾個(gè),選用的結(jié)構(gòu)同于被控對(duì)象;
(4)辨識(shí)模型的基本結(jié)構(gòu)為包含神經(jīng)網(wǎng)絡(luò)的串—并聯(lián)結(jié)構(gòu)。
以上第(1)、(2)條限制是為了保證整個(gè)系統(tǒng)的穩(wěn)定性及可辨性;第(3)條限制是為了方便選擇模型,簡化數(shù)學(xué)處理過程;第(4)條限制源于串—并聯(lián)結(jié)構(gòu)有以下優(yōu)點(diǎn):
①由于被控對(duì)象的輸出y存在并有界,那么串—并聯(lián)模型中所有用作辨識(shí)的信號(hào)均有界,使辨識(shí)模型易于穩(wěn)定;
②串—并聯(lián)模型無反饋網(wǎng)絡(luò),使從后向前的靜態(tài)反向傳播算法成為可能;
③當(dāng)辨識(shí)誤差足夠小時(shí),不使用串—并聯(lián)結(jié)構(gòu),只使用并聯(lián)結(jié)構(gòu)也能有好的效果。在上述四種假設(shè)限制下,能夠?qū)懗龀S玫囊恍┓蔷€性典型模型,現(xiàn)舉例如下:
第一種,這種模型的輸出—輸入關(guān)系為n=2,m=0時(shí)的并聯(lián)結(jié)構(gòu)和串—并聯(lián)結(jié)構(gòu)如圖4-6所示。第二種,第三種,圖4-6并聯(lián)及串—并聯(lián)模型(a)n=2,m=0時(shí)的并聯(lián)模型;(b)n=2,m=0時(shí)的串—并聯(lián)模型
第四種,
y(k+1)=f(y(k),y(k-1),…,y(k-n)),u(k),u(k-1),…,u(k-m)
4.3非線性動(dòng)態(tài)系統(tǒng)辨識(shí)
4.3.1非線性動(dòng)態(tài)系統(tǒng)的神經(jīng)網(wǎng)絡(luò)辨識(shí)
設(shè)非線性離散動(dòng)態(tài)系統(tǒng)的狀態(tài)方程為
X(k+1)=φ[X(k),U(k)]
Y(k)=ψ[X(k),U(k)]
式中,X,Y,U分別是系統(tǒng)的狀態(tài)矩陣、輸出矩陣和輸入矩陣,并設(shè)
X(k)∈Rn,Y(k)∈Rp,U(k)∈Rm設(shè)狀態(tài)方程描述的系統(tǒng)滿足以下三個(gè)條件:
第一條,定義U的取值范圍組成的集合為Ω
Rm,則
U∈Ω。若X(0)∈Rm,則對(duì)有限個(gè)M,系統(tǒng)是穩(wěn)定的,表現(xiàn)為:‖X(M)‖+‖Y(M)‖<∞。
第二條,函數(shù)φ[·]和ψ[·]當(dāng)Rn+m→Rn時(shí)連續(xù)且滿足Lipschitz條件,系統(tǒng)解唯一。
由于神經(jīng)網(wǎng)絡(luò)用作非線性離散系統(tǒng)辨識(shí)模型時(shí)屬靜態(tài)網(wǎng)絡(luò),用作非線性離散系統(tǒng)的動(dòng)態(tài)模型時(shí)還需要滿足下一個(gè)條件。第三條,設(shè)任意連續(xù)函數(shù)f:C→Rp,其中C為閉集,
C
Rp,均存在網(wǎng)絡(luò)參數(shù)W,使網(wǎng)絡(luò)輸出F(X,W)滿足其中,ε是一個(gè)大于0的小正數(shù)。滿足以上三個(gè)條件的神經(jīng)網(wǎng)絡(luò)非線性動(dòng)態(tài)系統(tǒng)結(jié)構(gòu)圖如圖4-7所示,用作系統(tǒng)辨識(shí)時(shí)有如下定理。
定理考慮到滿足第三條的系統(tǒng)狀態(tài)方程為對(duì)于X(0)=X0∈Rm,U∈Ω
Rm,Ω為閉集,對(duì)于每一ε>0,必存在網(wǎng)絡(luò)參數(shù)W,使得U∈Ω,都有滿足上述第一條、第二條條件的系統(tǒng)充分接近輸出,存在:
max‖y(k)-Y(k)‖<ε
證明過程從略。此定理說明用BP網(wǎng)絡(luò)組成非線性動(dòng)態(tài)系統(tǒng)時(shí),按上圖結(jié)構(gòu),能構(gòu)成非線性離散動(dòng)態(tài)系統(tǒng)的精確模型,且有唯一穩(wěn)定解。圖4-7神經(jīng)網(wǎng)絡(luò)非線性動(dòng)態(tài)系統(tǒng)結(jié)構(gòu)圖4.3.2單輸入單輸出非線性動(dòng)態(tài)系統(tǒng)的BP網(wǎng)絡(luò)辨識(shí)
選用BP網(wǎng)絡(luò)辨識(shí),網(wǎng)絡(luò)的結(jié)構(gòu)可選三層前向網(wǎng)絡(luò)。其中輸入層用u(k)作輸入,神經(jīng)元個(gè)數(shù)為n1,則
n1≥n+m+1
隱層的神經(jīng)元個(gè)數(shù)假設(shè)為n2個(gè),可取
n2>n1
隱層神經(jīng)元個(gè)數(shù)n2在4~20個(gè)范圍內(nèi)選取,通過仿真比較,選取性能好的那個(gè)值。
輸出層神經(jīng)元個(gè)數(shù)設(shè)為n3,大小等于被辨識(shí)系統(tǒng)的輸出個(gè)數(shù)。現(xiàn)考慮一個(gè)單輸入單輸出非線性動(dòng)態(tài)系統(tǒng),設(shè)系統(tǒng)的輸入及階次分別為u(k)和m,輸出及階次分別為y(k)和p,系統(tǒng)方程為
Y(k+1)=f(y(k),y(k-1),…,u(k),…,u(k-m+1))
單輸入單輸出的n1=n3=1。
BP網(wǎng)絡(luò)的輸入矢量可寫成
x(k)=[x1(k),x2(k),…,xn1(k)]T
因m、p未知,可進(jìn)行的幾種組合,比較性能后選最優(yōu)的一組。設(shè)輸入層用“I”表示,隱層用“H”表示,輸入層到隱層的連接權(quán)矩陣為[wji],對(duì)應(yīng)輸入輸出關(guān)系為Ij(k)=H[neti(k)]閾值對(duì)應(yīng)的狀態(tài)為x0=1。設(shè)輸出層用“O”表示,從隱層到輸出層的連接權(quán)矩陣為[Pi],相應(yīng)輸入輸出關(guān)系為
閾值對(duì)應(yīng)的狀態(tài)為I0=1。
選用的性能指標(biāo)為:學(xué)習(xí)規(guī)則采用廣義δ規(guī)則,為加快收斂,δ規(guī)則帶慣性項(xiàng),格式如下:
Pi(k)=Pi(k+1)-Pi(k)=a1e(k)Ii(k)+a2ΔPi(k-1)Δwji(k)=a1e(k)ΔH[neti(k)]Pi(k)xi(k)+a2Δwji(k-1)
e(k)=y(k)-yq(k)
ΔH[neti(k)]=neti(k)(1-neti(k))式中,i=1,2,…,n2;j=1,2,…,n1,以下同。
基于BP網(wǎng)絡(luò)的系統(tǒng)辨識(shí)分6步實(shí)施,各步如下。
(1)初始化連接權(quán)為小的隨機(jī)值。
設(shè)Random(·)為[-1,+1]內(nèi)均勻分布的隨機(jī)函數(shù),初始值
wji(0)=a·Random(·)∈[-0.1,0.1]
Pi(0)=a·Random(·)∈[-0.1,0.1]
(2)選擇輸入信號(hào)u(k),候選的有階躍、斜坡、正弦波、偽隨機(jī)二進(jìn)制序列(PRBS)等信號(hào),只選一種加入系統(tǒng)。
(3)仿真計(jì)算y(k)。
(4)形成輸入矢量X(k),計(jì)算e(k)。
(5)計(jì)算ΔPi(k)、Δwji(k)。
(6)將u(k)、y(k)移位轉(zhuǎn)入第二步繼續(xù)。
如果是離線辨識(shí),結(jié)束循環(huán)的判斷條件為(預(yù)先選定ε為小的正數(shù))
|e(k)|=|y(k)-yq(k)|<ε
例1
水輪發(fā)電機(jī)組模型BP網(wǎng)絡(luò)辨識(shí)。本例選自參考文獻(xiàn)[3]。
水輪發(fā)電機(jī)組在線辨識(shí)系統(tǒng)結(jié)構(gòu)如圖4-8所示。從結(jié)構(gòu)圖中看到,水輪發(fā)電機(jī)組模型的輸入信號(hào)除正常PC調(diào)節(jié)器調(diào)節(jié)信號(hào)外,還疊加有一個(gè)二位式偽隨機(jī)M序列信號(hào)PRES,由STD工控機(jī)參數(shù)在線辨識(shí)產(chǎn)生。圖4-8水輪發(fā)電機(jī)組在線辨識(shí)系統(tǒng)辨識(shí)系統(tǒng)運(yùn)行狀態(tài)如下:水輪發(fā)電機(jī)組在三種典型工況下運(yùn)行,分別是空載、帶地區(qū)小負(fù)荷、并入大電網(wǎng)。機(jī)組工作于空載運(yùn)行時(shí),轉(zhuǎn)換開關(guān)S接入“電氣手動(dòng)”時(shí),水輪發(fā)電機(jī)組呈現(xiàn)開環(huán)調(diào)節(jié)系統(tǒng)運(yùn)行。機(jī)組工作于帶地區(qū)小負(fù)荷運(yùn)行時(shí),轉(zhuǎn)換開關(guān)S接入“PC調(diào)節(jié)器”輸出,整個(gè)系統(tǒng)是一個(gè)受命于給定值的負(fù)反饋調(diào)節(jié)系統(tǒng),由于負(fù)載較輕,參數(shù)在線辨
識(shí)裝置的輸入基本上與“空載運(yùn)行”相同。機(jī)組工作于“并入大電網(wǎng)”時(shí),S仍撥在“PC調(diào)節(jié)器”輸出位置上,負(fù)反饋調(diào)節(jié)繼續(xù)有效,但辨識(shí)裝置的輸入?yún)s不同于“帶地區(qū)小負(fù)荷運(yùn)行”,由于機(jī)組的頻率同于外電網(wǎng)的頻率,辨識(shí)裝置的輸入為水輪機(jī)導(dǎo)葉開度和機(jī)組所帶的外部有功負(fù)荷。對(duì)于混流式機(jī)組,在小波動(dòng)工況下,轉(zhuǎn)速v(s)對(duì)導(dǎo)葉開度k(s)的傳遞函數(shù)表示成式中,T、T0分別是機(jī)組及引水道的慣性時(shí)間常數(shù),e0、e、a、b均是水輪機(jī)組的特性參數(shù)。
水輪發(fā)電機(jī)組啟動(dòng)后,先空載運(yùn)行,隨后切換到電氣手動(dòng)運(yùn)行,頻率基準(zhǔn)50Hz,此時(shí)實(shí)際空載開度約20%。輸入信號(hào)選用5級(jí)PRBS,單位游歷Δt=4s,采樣周期為0.4s,幅
值取導(dǎo)水機(jī)構(gòu)接力器全行程的2%,記錄1000次,用時(shí)6min40s,記錄下三個(gè)完整的PRBS周期。數(shù)據(jù)處理時(shí)去掉穩(wěn)態(tài)分量,得到機(jī)組頻率的相對(duì)變化曲線,如圖4-9(a)所示。使用三層BP神經(jīng)網(wǎng)絡(luò)辨識(shí),網(wǎng)絡(luò)結(jié)構(gòu)選用3×2×1,學(xué)習(xí)率η=0.65,初始連接權(quán)在[0,1]間隨機(jī)取值,用基本BP算法得到的BP輸出如圖4-9(b)所示,圖4-9(c)給出了實(shí)際
輸出與BP網(wǎng)絡(luò)輸出之間的差別,從差別極微可以看到,BP網(wǎng)絡(luò)能較理想辨識(shí)出水輪發(fā)電機(jī)組非線性動(dòng)態(tài)模型。
圖4-9水輪發(fā)電機(jī)組的BP動(dòng)態(tài)辨識(shí)曲線(a)實(shí)際機(jī)組頻率輸出變化;(b)BP網(wǎng)絡(luò)辨識(shí)結(jié)果;(c)實(shí)際測出結(jié)果與BP辨識(shí)之差
例2
煤氣加熱爐的BP動(dòng)態(tài)辨識(shí)。
煤氣加熱爐是典型的單輸入單輸出系統(tǒng),輸入u(t)是煤氣流量,輸出y(t)是排除煙道中CO2的濃度。輸入輸出的數(shù)據(jù)能夠測得。模型的動(dòng)態(tài)結(jié)構(gòu)可以寫成
Y(k)=f(y(k-1),y(k-2),y(k-3),u(k-3),…,u(k-7)+cq-1ω(k))
式中,取模型的階次n=3,m=5,時(shí)滯d=2。c、q、ω是系統(tǒng)結(jié)構(gòu)參數(shù)。
用來辨識(shí)的前向網(wǎng)絡(luò)選用三層,輸入層、隱層、輸出層的神經(jīng)元個(gè)數(shù)分別為n1=8、n2=7、n3=1。在進(jìn)行訓(xùn)練前測得有289對(duì){u(i),y(i)}數(shù)據(jù)對(duì),可選擇其中200對(duì)訓(xùn)練隱層(如果隱層選取10個(gè)神經(jīng)元,則可選用170對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練)。在訓(xùn)練前,所有數(shù)據(jù)對(duì)應(yīng)進(jìn)行正規(guī)化處理。
訓(xùn)練使用帶修正項(xiàng)的BP算法,性能指標(biāo)選擇均方誤差函數(shù):兩種不同模型訓(xùn)練后的辨識(shí)結(jié)果比較如表4-1所示。系統(tǒng)經(jīng)過學(xué)習(xí)后,可將測量所得289對(duì)數(shù)據(jù)中的余下數(shù)據(jù)對(duì)與BP網(wǎng)絡(luò)的輸出進(jìn)行比對(duì),就可以測得使用BP網(wǎng)絡(luò)的辨識(shí)準(zhǔn)確程度。圖4-10給出了BP網(wǎng)絡(luò)辨識(shí)結(jié)果及預(yù)報(bào)曲
線,從圖中觀察到,預(yù)報(bào)時(shí)間較長,但預(yù)報(bào)的準(zhǔn)確程度較為滿意。
網(wǎng)絡(luò)學(xué)習(xí)過程中均方誤差(MSPE)變化曲線如圖4-11所示。變化趨勢顯示出BP網(wǎng)絡(luò)能夠用于辨識(shí),但與隱層神經(jīng)元個(gè)數(shù)、輸入輸出階次等有密切的關(guān)系。圖4-10BP網(wǎng)絡(luò)辨識(shí)結(jié)果及預(yù)報(bào)(a)辨識(shí)結(jié)果;(b)預(yù)報(bào)圖4-11BP網(wǎng)絡(luò)學(xué)習(xí)過程中的均方誤差變化
例3
多輸入多輸出動(dòng)態(tài)系統(tǒng)的BP網(wǎng)絡(luò)動(dòng)態(tài)辨識(shí)。
現(xiàn)以兩輸入兩輸出系統(tǒng)為例介紹,設(shè)系統(tǒng)為一線性系統(tǒng),傳遞矩陣為其中,A(z-1)=1+0.883z-1+0.471z-2+0.083z-3B11(z-1)=3z-1-3.5z-2-1.5z-zB12(z-1)=z-1-0.167z-2-0.167z-3B21(z-1)=-4z-2-2z-3-z-4B22(z-1)=z-1-0.167z-2-0.083z-3-0.167z-4系統(tǒng)輸入輸出分別為這時(shí)網(wǎng)絡(luò)輸入量設(shè)為14,分別是n1=3,n2=3,m1=4,m2=4。y1(k)和y2(k)用兩個(gè)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí):y1網(wǎng)絡(luò)結(jié)構(gòu)為9×10×1,y2網(wǎng)絡(luò)結(jié)構(gòu)為10×12×1,辨識(shí)信號(hào)為0~10間的均勻分布隨機(jī)數(shù),學(xué)習(xí)算法使用帶慣性項(xiàng)的BP算法:式中,η、δ、α是相關(guān)系數(shù),取η=0.9,δ由輸出層或隱層選定,α=0.3;yq是網(wǎng)絡(luò)的輸出值,作用函數(shù)為取40個(gè)樣本,兩個(gè)網(wǎng)絡(luò)分別學(xué)習(xí)8500次和8800次后的辨識(shí)結(jié)果如表4-2所示,表內(nèi)數(shù)據(jù)已經(jīng)經(jīng)過轉(zhuǎn)換轉(zhuǎn)到區(qū)間(0,1)內(nèi)取值。設(shè)u1=u2=0.5作為系統(tǒng)常值輸入,系統(tǒng)的5組輸出及測試網(wǎng)絡(luò)后所得輸出,列在表4-3中。最大相對(duì)誤差(0.661-0.543)/0.661≈2.7%,表示神經(jīng)網(wǎng)絡(luò)辨識(shí)的精度相當(dāng)高。
4.4多層前向網(wǎng)絡(luò)辨識(shí)中的快速算法
在多層神經(jīng)網(wǎng)絡(luò)極值訓(xùn)練中,BP算法存在收斂較慢及局部極小點(diǎn)問題。為此提出了多種修改算法,力圖克服收斂較慢或避免陷入局部極小點(diǎn)。這些修正算法有增加慣性項(xiàng)、改變學(xué)習(xí)率或?qū)W習(xí)步長、引入高階導(dǎo)數(shù)項(xiàng)等等。
本節(jié)討論使用遞推最小二乘法(RLS)學(xué)習(xí)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的連接權(quán)系數(shù),這種方法有較快的收斂速度。
1.神經(jīng)元模型
考慮有M層的多層前向網(wǎng)絡(luò),輸入層為1層,輸出層為M層,其中的每個(gè)神經(jīng)元均可表示成式中,n是第n層神經(jīng)元個(gè)數(shù),wij是第i個(gè)神經(jīng)元到第j個(gè)神經(jīng)元的連接權(quán),f(·)是單調(diào)單值連接的S型函數(shù),且每個(gè)神經(jīng)元的輸入輸出關(guān)系可以分解成線性輸入或非線性輸出兩部分,從線性輸入到非線性輸出之間存在一一對(duì)應(yīng)的映射和逆映射關(guān)系。其中逆映射可將輸出信息轉(zhuǎn)換到輸入
端,使用線性參數(shù)估計(jì)技術(shù)對(duì)神經(jīng)網(wǎng)絡(luò)的連續(xù)權(quán)進(jìn)行訓(xùn)練,便于使用遞推最小二乘法。
2.RLS訓(xùn)練算法
設(shè)輸出層神經(jīng)元的期望輸入r(k)和期望輸出d(k)之間有一定的關(guān)系:
d(k)=f[r(k)]
對(duì)d(k)的逆變換可寫成
r(k)=f-1[d(k)]
式中,f-1(·)是f(·)的反函數(shù)。定義性能指標(biāo):式中,λ稱為遺忘因子。神經(jīng)元的輸入輸出重新寫出如下:性能指標(biāo)改寫成考慮到令可得W的LS估計(jì)為
W(k)=[ΦT(k)Φ(k)]-1ΦT(k)R(k)相應(yīng)的RLS估計(jì)為
WL(k)=WL-1(k)+ML-1(k)[rL(k)-XTL-1(k)WL-1(k-1)]式中,遞推時(shí)取初值:
PL-1(0)=(103~106)I對(duì)于中間層每個(gè)神經(jīng)元,定義其期望輸入與期望輸出滿足
d(k)=f[r(k)]定義反傳誤差為
δit(k)=dit(k)-xit(k)=f[netit(k)][rit(k)-netit(k)]相應(yīng)神經(jīng)元期望輸入為
Rit(k)=f-1[dit(k)]定義式中,λ(k)為非負(fù)遺忘因子。在t=L-1時(shí),對(duì)第i個(gè)神經(jīng)元,由于令反傳誤差
δL(k)=rL(k)-nL(k)及
δL-1(k)=δL(k)wiLf′[netiL(k)]有求解此式,可得神經(jīng)元i的連接權(quán)系數(shù)RLS估計(jì):
WL-1(k)=WL-1(k-1)+ΔWL-1由此類推直至t=1,可得RLS估計(jì)如下:
Wit(k)=Wit(k-1)+Mt-1(k)[rit(k)-netit(k)]由此可計(jì)算各神經(jīng)元的輸出?,F(xiàn)舉一個(gè)仿真實(shí)例,設(shè)非線性系統(tǒng)為式中,u(k)=sin(2π/250)。u(k)和y(k)是該系統(tǒng)的輸入與輸出,而該系統(tǒng)的結(jié)構(gòu)未知。現(xiàn)在使用4層前向網(wǎng)絡(luò)描述該非線性系統(tǒng),4層的節(jié)點(diǎn)分別為5×20×10×1,輸入層的輸入矢量
X0T
(k)=[y(k-1),y(k-2),y(k-3),u(k-1),u(k-2)]
取初始值Pi(0)=103I,λt=0.99,使用RLS估計(jì),經(jīng)過400步學(xué)習(xí)后均方誤差收斂且小于0.075,學(xué)習(xí)時(shí)間小于31s。
圖4-12和圖4-13分別是RLS估計(jì)均方誤差和BP算法均方誤差,當(dāng)比較兩條曲線時(shí),能夠明顯發(fā)現(xiàn),RLS估計(jì)只要較少的學(xué)習(xí)步驟,例如400步便產(chǎn)生收斂,誤差就能限制在一個(gè)事先確定的較小范圍。而BP算法要想達(dá)到相同的目的,約需4000步費(fèi)時(shí)4min13s(仿真結(jié)果),收斂才能達(dá)到0.1。如果要想達(dá)到RLS估計(jì)的收斂值0.075,則還需要更長的時(shí)間。圖4-12RLS算法估計(jì)均方誤差圖4-13BP算法估計(jì)均方誤差用BP算法估計(jì)神經(jīng)網(wǎng)絡(luò)的連接權(quán)時(shí),所用的算法為
wij(k)=wij(k-1)aδit(k)xji(k)
式中,δit是反傳誤差,a是學(xué)習(xí)步長。輸出層的反傳誤差為
δL(k)=f[n(k)][d(k)-x(k)]
中間層的反傳誤差為
δit(k)=f[n(k)]∑δjt(k)wji(k-1)
步長為
a(k)=amax+(amin-amax)e-λ4.5非線性模型的預(yù)報(bào)誤差神經(jīng)網(wǎng)絡(luò)辨識(shí)
除RLS外,還有諸多提高收斂速度的算法,預(yù)報(bào)誤差算法就是其中的一種。
4.5.1非動(dòng)態(tài)模型建模
預(yù)報(bào)誤差算法簡稱RPE算法,它具有預(yù)報(bào)精度高、收斂速度快等特點(diǎn),同樣該算法也能用于非動(dòng)態(tài)模型的神經(jīng)網(wǎng)絡(luò)建模。
考慮圖4-14的三層前向網(wǎng)絡(luò),設(shè)三層結(jié)構(gòu)n1×n2×1,輸入層有n1個(gè)神經(jīng)元,隱層有n2個(gè)神經(jīng)元,輸出層僅一個(gè)節(jié)點(diǎn)。圖4-14三層前向網(wǎng)絡(luò)網(wǎng)絡(luò)輸入為xi,i=1,2,…,n1。網(wǎng)絡(luò)的輸出為y。zj和qj是隱層中第j個(gè)神經(jīng)元的輸出值和閾值,j=1,2,…,n2。Wkij表示第k-1層中第i個(gè)神經(jīng)元,對(duì)第k層中的第j個(gè)神經(jīng)元
的連接權(quán)。
隱含層中節(jié)點(diǎn)的作用函數(shù)取成S型函數(shù):網(wǎng)絡(luò)的輸入輸出關(guān)系為y(t)=∑WXX=g(∑WijXi+Qi)該網(wǎng)絡(luò)能辨識(shí)的非線性系統(tǒng)具有如下的輸出輸入關(guān)系:
y(t)=f[y(t-1),…,y(t-m),x(t-1),…,x(t-n)]+d(t)
其中,y(t)和x(t)是非線性系統(tǒng)的輸出和輸入;m與n分別是輸出與輸入的最大滯后;d(t)是影響該系統(tǒng)的非線性隨機(jī)因素,如隨機(jī)噪音;f(·)是非線性函數(shù)。
在三層前向網(wǎng)絡(luò)中,設(shè)Q=[Q1,Q2,…,Qn]T是神經(jīng)網(wǎng)絡(luò)中待求的神經(jīng)元閾值,n1+n2是待定的神經(jīng)元個(gè)數(shù)。e(t)是實(shí)際輸出與神經(jīng)網(wǎng)絡(luò)輸出之差,又稱為偏差。訓(xùn)練算法讓Q1~Qn在一定的條件準(zhǔn)則下得到確定值。
RPE算法是一種將預(yù)報(bào)誤差極小化來估計(jì)參數(shù)的方法。算法中同樣需要準(zhǔn)則函數(shù)。這里不妨設(shè)準(zhǔn)則函數(shù)為
式中,N是數(shù)據(jù)長度,e(t)是預(yù)報(bào)誤差。有了準(zhǔn)則函數(shù),RPE算法便可沿著J的高斯—牛頓(Gauss-Newton)方向搜索,不斷修正未知參數(shù)矢量,直至使J趨近于最小。4.5.2遞推預(yù)報(bào)誤差算法
遞推預(yù)報(bào)誤差算法的原則是先選定參數(shù)矢量的修正算式,再求對(duì)Q的一階及二階微分。設(shè)修正算式為
Q(t)=Q(t-1)+S(t)μ[Q(t-1)]
式中,μ(Q)就是高斯—牛頓搜索方向,可定義成
μ(Q)=-[H(Q)]-1▽J(Q)
其中,▽J(Q)是J(Q)關(guān)于Q的梯度,H(Q)是J(Q)的Hessian矩陣。▽J(Q)和H(Q)表示成它們分別是J(Q)對(duì)Q的一階和二階微分。
1.遞推預(yù)報(bào)流程
遞推預(yù)報(bào)誤差算法如下式:
e(t)=y(t)-yq(t)式中,λ(t)是遺忘因子,對(duì)收斂速度有影響。改變的方法是迭代開始時(shí)取λ(t)<1;t→∞時(shí)取λ(t)→1?;蛟O(shè)置λ的初值,例如取λ(0)=0.95~0.99,而后有
λ(t)=λ(0)λ(t-1)+(1-λ(0))若將RPE用于三層前向神經(jīng)網(wǎng)絡(luò),隱層取一層,相應(yīng)的Ψ為n×1矩陣,矩陣中各元素為由此設(shè)計(jì)的RPE流程如下:
(1)用較小隨機(jī)值初始化連接權(quán)值和閾值,得:
W(0)=aRandom(·)
Q(0)=bRandom(·)
(2)選P(0)為對(duì)角矩陣。
(3)按照網(wǎng)絡(luò)輸入分別計(jì)算隱層節(jié)點(diǎn)x1k及輸出節(jié)點(diǎn)yq的值。
(4)形成Ψ陣并求預(yù)報(bào)誤差e(t)、P(t)陣及參數(shù)序列Q(t)。
(5)重復(fù)以上(2)~(4),直至收斂。
從以上的分析可以看到,RPE算法實(shí)際上是一種求高階導(dǎo)數(shù)的學(xué)習(xí)算法。在計(jì)算H(Q)的逆矩陣上使用遞推最小二乘法,與基本BP算法(僅利用一階導(dǎo)數(shù))相比,高階導(dǎo)數(shù)的計(jì)算加快了收斂速度。
2.RPE算法的具體應(yīng)用
例1
帶電流內(nèi)環(huán)和轉(zhuǎn)速外環(huán)的PWM直流脈寬調(diào)速系統(tǒng),具有如圖4-15所示的系統(tǒng)結(jié)構(gòu)。轉(zhuǎn)速環(huán)處于外環(huán),能有效克服環(huán)內(nèi)出現(xiàn)的干擾以及外特性引起的速度變化。但電機(jī)
轉(zhuǎn)速卻會(huì)因電機(jī)運(yùn)行工況、電源電壓的波動(dòng)或畸變、機(jī)械負(fù)荷的突然變化而發(fā)生改變,因此雙環(huán)調(diào)速系統(tǒng)本身是一個(gè)非線性時(shí)變系統(tǒng)。另外,還有許多非線性因素也廣為存在系統(tǒng)
中,如:時(shí)磁滯、齒輪間隙、庫侖摩擦、調(diào)節(jié)器限幅、脈沖調(diào)制放大器和運(yùn)算放大器飽和產(chǎn)生的非線性等。圖4-15轉(zhuǎn)速電流雙閉環(huán)PWM調(diào)速系統(tǒng)在轉(zhuǎn)速環(huán)基礎(chǔ)上增加位置環(huán),將構(gòu)成位置伺服系統(tǒng),該系統(tǒng)有一系列典型的非線性特征,這是PWM調(diào)制所產(chǎn)生的。為了動(dòng)態(tài)辨識(shí)轉(zhuǎn)速環(huán),便于使用RPE算法,選用3×2×1的
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。同時(shí)選擇輸入信號(hào)為2V±0.2V,其中2V是系統(tǒng)轉(zhuǎn)速環(huán)給定值,對(duì)應(yīng)需要恒定運(yùn)轉(zhuǎn)的速度,0.2V是迭加的幅值,用于考慮一定的波動(dòng)允許范圍。輸入信號(hào)可用矢量表示成
X(t)=[u(t-1),u(t-2),y(t-1)]T
輸出信號(hào)為測速發(fā)電機(jī)的輸出電壓。在用RPE算法訓(xùn)練900次后,神經(jīng)網(wǎng)絡(luò)預(yù)報(bào)輸出及殘余序列實(shí)測曲線如圖4-16所示。實(shí)測階躍響應(yīng)擬合曲線如圖4-17所示。圖4-16神經(jīng)網(wǎng)絡(luò)預(yù)報(bào)輸出及殘余序列實(shí)測曲線圖4-17實(shí)測階躍擬合曲線對(duì)比擬合曲線可以看到,神經(jīng)網(wǎng)絡(luò)辨識(shí)PWM系統(tǒng)動(dòng)態(tài)模型的效果令人滿意。通常為了評(píng)價(jià)模型的擬合精度,常引入誤差指數(shù)E,定義成式中,e(t)是偏差值,為系統(tǒng)實(shí)際輸出與神經(jīng)網(wǎng)絡(luò)輸出之差。改變隱層節(jié)點(diǎn)數(shù)目后,不同的E值如表4-4所示。輸入矢量及輸入節(jié)點(diǎn)不同時(shí)的E值如表4-5所示。由此可見,選擇如此結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型較為合理,輸入節(jié)點(diǎn)數(shù)及輸入矢量的合理搭配在很大程度上能影響擬合精度。通常情況下合理選擇隱層節(jié)點(diǎn)數(shù)量,適當(dāng)增加輸入節(jié)
點(diǎn)數(shù)量及延遲y(t),對(duì)提高辨識(shí)精度較為有利。
例2
設(shè)SISO非線性模型為選用辨識(shí)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為2×1×1,輸入信號(hào)為六級(jí)偽隨機(jī)二進(jìn)制序列PRBS,用u(t)表示,設(shè)輸入矢量為
X(t)=[u(t-1),y(t-1)]T參數(shù)矢量Θ(t)和Ψ分別為
Θ(t)=[θ1,θ2,θ3,θ4]T
Ψ=[ψ1,ψ2,ψ3,ψ4]T
遞推1000次后得參數(shù)矢量Θ(t)=[0.4999,0.3999,0.09985,0.6000]T
,表示結(jié)果十分理想。如果改用BP算法,因?qū)W習(xí)率等一系列參數(shù)難于折中表示,得不到滿意結(jié)果。
4.6非線性系統(tǒng)逆模型的神經(jīng)網(wǎng)絡(luò)辨識(shí)
無論是線性系統(tǒng)還是非線性系統(tǒng),都存在一個(gè)可逆性問題。
在正常情況下,對(duì)系統(tǒng)進(jìn)行分析的主要任務(wù)就是:系統(tǒng)在一個(gè)控制信號(hào)的作用下,將會(huì)產(chǎn)生什么樣的輸出,產(chǎn)生什么樣的運(yùn)動(dòng)軌跡。例如一個(gè)系統(tǒng)可用以下方程表示出來:
y=f(u,x,T)其中,y是輸出,u
是輸入,x是狀態(tài)變量,T是系統(tǒng)的控制作用。當(dāng)輸入一定、系統(tǒng)狀態(tài)不變時(shí),系統(tǒng)輸出y應(yīng)直接與控制作用T有關(guān),式中的f(u,x,T)事實(shí)上是系統(tǒng)在外力作用下的非線性函數(shù)。
正常的系統(tǒng)分析過程是已知控制信號(hào)T(t),確定其運(yùn)動(dòng)軌跡u(t)和x(t)。
已知系統(tǒng)的運(yùn)動(dòng)軌跡u(t)和x(t),尋找控制信號(hào)T(t),被稱為系統(tǒng)分析的逆過程。系統(tǒng)分析過程與逆過程如圖4-18所示。圖4-18系統(tǒng)分析過程及逆過程(a)系統(tǒng)分析過程;(b)系統(tǒng)分析逆過程4.6.1系統(tǒng)分析逆過程的存在性
在一個(gè)控制系統(tǒng)中,如果已經(jīng)知道了運(yùn)動(dòng)軌跡u(t)、x(t),要想求出它的控制信號(hào)T(t),首先必然要問:這個(gè)控制信號(hào)是否存在?系統(tǒng)是否可逆?
在求解系統(tǒng)運(yùn)行的正向過程和逆向過程中,神經(jīng)網(wǎng)絡(luò)具有的獨(dú)特的作用與功能,尤其是對(duì)于非線性系統(tǒng)。神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方式有監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)兩種。監(jiān)督學(xué)習(xí)中存在導(dǎo)師信號(hào),導(dǎo)師信號(hào)的功能恰好是演示期望的運(yùn)動(dòng)軌跡,而不是起控制作用的,不是直接教會(huì)網(wǎng)絡(luò)實(shí)施運(yùn)動(dòng)神經(jīng)的控制。由此可見,在清晰明了的導(dǎo)師信號(hào)前,系統(tǒng)的運(yùn)動(dòng)軌跡也清晰可見,尋找相應(yīng)的控制指令更加方便與直觀。事實(shí)上,神經(jīng)網(wǎng)絡(luò)在獲取了所期望的運(yùn)動(dòng)軌跡后,將產(chǎn)生相應(yīng)的各種運(yùn)動(dòng)神經(jīng)指令,傳送給網(wǎng)絡(luò)的各層以實(shí)現(xiàn)這個(gè)期望值,并由相應(yīng)的感覺系統(tǒng)完成測量。在比較實(shí)際軌跡與期望運(yùn)動(dòng)軌跡的基礎(chǔ)上,神經(jīng)網(wǎng)絡(luò)產(chǎn)生一個(gè)它們之間的差值。如果將這個(gè)差值作為導(dǎo)師信號(hào)完成對(duì)相應(yīng)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,那就能從神經(jīng)網(wǎng)絡(luò)的輸出中產(chǎn)生“控制信號(hào)”,從而實(shí)現(xiàn)系統(tǒng)分析的逆過程。
一個(gè)系統(tǒng)是否可逆,是否能用神經(jīng)網(wǎng)絡(luò)建立逆模型實(shí)現(xiàn)辨識(shí),與系統(tǒng)自身的性質(zhì)密切相關(guān),與系統(tǒng)是否線性無關(guān)。線性系統(tǒng)的可逆性問題比非線性系統(tǒng)的可逆性問題要簡單得多。
線性系統(tǒng)的可逆性問題實(shí)際上是一個(gè)能控性問題,凡具有能控性的系統(tǒng),可逆性必存在,系統(tǒng)必然可逆。例如對(duì)單變量線性系統(tǒng),可逆性十分清晰;對(duì)多變量線性系統(tǒng),利用能控性判據(jù)也能得出可逆存在。非線性系統(tǒng)的可逆性問題則要復(fù)雜得多,目前尚無一個(gè)普遍適用的方法對(duì)應(yīng)所有的非線性系統(tǒng),既然無通用解法,只能遇到一個(gè),辨識(shí)一個(gè)(非線性系統(tǒng))。
現(xiàn)考察離散單輸入單輸出非線性系統(tǒng),設(shè)該系統(tǒng)的輸入和輸出分別是
u(k)∈R,y(k)∈R
又設(shè)m≤i,系統(tǒng)的傳輸關(guān)系為
y(k+1)=f[y(k),…,y(k-n),u(k),…,u(k-m)]
式中,f(·)是輸出、輸入之間的函數(shù)關(guān)系。系統(tǒng)可逆性有如下定義:
如果存在R(n+m+1)的子集A,且
[y(k),…,y(k-n),u(k-1),…,u(k-m)]T∈A當(dāng)任意一個(gè)u(k)=u′(k)時(shí),必有
f[y(k),…,y(k-n),u(k-1),…,u(k-m)]
≠f[y(k),…,y(k-n),u′(k-1),…,u′(k-m)]
則稱系統(tǒng)在點(diǎn)[y(k),…,y(k-n),u(k-1),…,u(k-m)]
處是可逆的,否則稱系統(tǒng)在該點(diǎn)處是奇異(即不可逆)的。
對(duì)于奇異系統(tǒng),有
f[y,u]=f[y,u′]上述對(duì)系統(tǒng)可逆性的定義僅僅定義了系統(tǒng)在某些點(diǎn)上是可逆或奇異的。系統(tǒng)的奇異是一種極端情況,非線性系統(tǒng)在某一點(diǎn)上可逆并不等于說該系統(tǒng)就是一個(gè)可逆系統(tǒng),這是
因?yàn)橄到y(tǒng)在某些點(diǎn)上是可逆的,但在另一些點(diǎn)上卻是奇異的。介于可逆系統(tǒng)與奇異系統(tǒng)之間的系統(tǒng)是存在的,一個(gè)系統(tǒng)能夠在某些點(diǎn)表現(xiàn)出存在兩個(gè)不同的輸入u(t)≠u′(t),但能引起相同的輸出,例如帶滯環(huán)特性的閥門就有這種特征。
系統(tǒng)可逆性的充分條件由下述定理給出。
定理如果對(duì)于u(k),f[y(k),…,y(k-n),u(k),u(k-1),…,u(k-m)]嚴(yán)格單調(diào),那么系統(tǒng)在點(diǎn)[y(k),…,y(k-n),u(k-1),…,u(k-m)]T處可逆。只有在所有點(diǎn)處可逆都成立,系統(tǒng)才是可逆系統(tǒng)。
定理的證明較為簡單,由于系統(tǒng)嚴(yán)格單調(diào),則
f(y,u)≠f(y,u′)
表明系統(tǒng)在該點(diǎn)處單調(diào)。
多值非線性系統(tǒng)不一定都是可逆系統(tǒng)。是否可逆就看它是否符合定理的三個(gè)條件。例如磁滯回線是否為可逆系統(tǒng),可作如下分析:表面上看,磁滯的一個(gè)輸入對(duì)應(yīng)兩個(gè)輸出,每個(gè)輸出可找到相應(yīng)的兩個(gè)控制信號(hào),似乎磁滯回線不可逆。但是磁滯控制有一個(gè)特征,就是有向性,升磁和消磁經(jīng)過的路徑不同,如果是磁化過程,一個(gè)輸入僅對(duì)應(yīng)一個(gè)輸出;反之,退磁過程是一個(gè)輸入僅對(duì)應(yīng)一個(gè)輸出。必然能逆向辨識(shí),由此可見磁滯回線是可逆系統(tǒng),只是正向過程和逆向過程所走的路徑不同罷了。
又如系統(tǒng)y=(u-1)u(u+1)就是一個(gè)不可逆系統(tǒng),它不符合定理提出的三個(gè)條件,如y=0時(shí),有1,0,-1三個(gè)解。4.6.2非線性系統(tǒng)的逆模型
非線性系統(tǒng)的逆模型研究包括逆系統(tǒng)建模及逆模型辨識(shí)兩部分內(nèi)容。逆系統(tǒng)建模的主要任務(wù)是對(duì)非線性系統(tǒng)的逆運(yùn)行過程建立一個(gè)數(shù)學(xué)模型;逆模型辨識(shí)是對(duì)非線性系統(tǒng)的逆
運(yùn)行進(jìn)行辨認(rèn)識(shí)別,看其與哪一種已知模型更接近。
神經(jīng)網(wǎng)絡(luò)辨識(shí)是逆模型建立和辨識(shí)的核心內(nèi)容。本節(jié)所述逆模型的建立方法突出了神經(jīng)網(wǎng)絡(luò)的功能與作用。
非線性系統(tǒng)的逆模型建立方法有如下幾種:直接逆系統(tǒng)建模、正—逆系統(tǒng)建模及逆—正系統(tǒng)建模。
1.非線性系統(tǒng)逆模型的直接建立
非線性系統(tǒng)逆模型的直接建立依靠直接逆系統(tǒng)建模法,該方法又稱為泛化學(xué)習(xí)法。泛化學(xué)習(xí)的本意是網(wǎng)絡(luò)訓(xùn)練所覆蓋的范圍要比未知的逆系統(tǒng)所可能涉及的范圍大一些,這樣
設(shè)置有利于獲得更佳的逆動(dòng)力學(xué)特性。
逆模型直接建立的結(jié)構(gòu)框圖如圖4-19所示,系統(tǒng)的給定值為u,輸出值為y,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練信號(hào)取自一個(gè)誤差值e,e是系統(tǒng)輸入u和神經(jīng)網(wǎng)絡(luò)輸出v之差:e=u-v。圖4-19逆模型直接建立神經(jīng)網(wǎng)絡(luò)的輸入信號(hào)為系統(tǒng)的輸出信號(hào)y。訓(xùn)練方法是:把未知被控對(duì)象的輸出y作為神經(jīng)網(wǎng)絡(luò)的輸入,神經(jīng)網(wǎng)絡(luò)的輸出v如果不等于系統(tǒng)的輸入u,將產(chǎn)生偏差e對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直至v=u為止,或u-v小到一個(gè)允許的范圍為止。
用于直接逆系統(tǒng)建模的網(wǎng)絡(luò)較多,有BP網(wǎng)絡(luò)、CMAC網(wǎng)絡(luò)、多層感知器等。不同的網(wǎng)絡(luò)結(jié)構(gòu)有不同的優(yōu)缺點(diǎn),如BP網(wǎng)絡(luò),優(yōu)點(diǎn)是訓(xùn)練簡單、結(jié)構(gòu)簡練,不足之處是不能快
速進(jìn)行,要想在線實(shí)時(shí)獲取逆動(dòng)力學(xué)模型,就有一定難度。
2.正—逆系統(tǒng)建模
非線性系統(tǒng)逆模型還可以依靠“正—逆系統(tǒng)建?!钡姆椒ǐ@得,這種方法的要點(diǎn)是在非線性系統(tǒng)的正模型(未知對(duì)象的動(dòng)力學(xué)模型)基礎(chǔ)上,獲得逆動(dòng)力學(xué)模型,有三種方案值
得考慮。
(1)被控對(duì)象—逆模型建模,建模示意圖如圖4-20所示。
本方案中的神經(jīng)網(wǎng)絡(luò)作逆系統(tǒng)辨識(shí)用,它的輸入是整個(gè)系統(tǒng)的輸入給定值u,系統(tǒng)的實(shí)際輸出是未知被控對(duì)象的輸出y,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練信號(hào)e取自二者之差:
e=y-u圖4-20被控對(duì)象—逆模型建模這種建模方法存在一個(gè)嚴(yán)重的缺憾,那就是要求知道未知對(duì)象的模型,恰恰在系統(tǒng)中它又是未知的,解決這個(gè)問題的方法是將未知對(duì)象改用直接自適應(yīng)控制器,避免可能出現(xiàn)
的致命差錯(cuò)。
(2)正模型—逆系統(tǒng)建模,建模示意圖如圖4-21所示。
本方案中的神經(jīng)網(wǎng)絡(luò)用于模擬被控對(duì)象的正模型(圖4-21中的“正模型”),在前饋通道上的神經(jīng)網(wǎng)絡(luò)用于辨識(shí)逆模型。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練信號(hào)是兩值之差,一個(gè)值u是神經(jīng)網(wǎng)絡(luò)的期望輸入,另一個(gè)值v則是正模型的期望輸出,
e=u-v圖4-21正模型—逆系統(tǒng)建模誤差e用來訓(xùn)練辨識(shí)逆模型的神經(jīng)網(wǎng)絡(luò)連接權(quán)值。
本方案的突出優(yōu)點(diǎn)是正模型一旦建立便成為已知條件,未知被控對(duì)象的各種運(yùn)算都能從正模型計(jì)算出來。方案的不足之處在于逆模型的精確程度依賴于正模型的精確程度,如
果正模型本身精度低、誤差大,相應(yīng)逆模型也不能正常反映被控對(duì)象的實(shí)際情況。產(chǎn)生這種狀態(tài)的直接原因是被控對(duì)象不在逆系統(tǒng)的反饋回路中,這是系統(tǒng)結(jié)構(gòu)造成的,沒辦法解決。
(3)被控對(duì)象—正模型—逆模型建模,建模示意圖如圖4-22所示。圖4-22被控對(duì)象—正模型—逆模型建模本方案以直接建模為基礎(chǔ),神經(jīng)網(wǎng)絡(luò)作逆模型辨識(shí)用,它的訓(xùn)練信號(hào)來自于兩值之差:一個(gè)值是它的期望輸入u,另一個(gè)是被控對(duì)象的實(shí)際輸出y,
e=u-y
在調(diào)節(jié)過程中,未知被控對(duì)象使用正模型神經(jīng)網(wǎng)絡(luò)代替。未知被控對(duì)象處在逆系統(tǒng)的反饋環(huán)中,通過正模型能反映出未知被控對(duì)象的真實(shí)情況,避免出現(xiàn)“正模型—逆系統(tǒng)建模”方案的弊病。本方案的第二個(gè)優(yōu)點(diǎn)在于:如果正反模型都采用BP網(wǎng)絡(luò),則逆模型神經(jīng)網(wǎng)絡(luò)在誤差回傳時(shí)的最后一層誤差,通過正模型神經(jīng)網(wǎng)絡(luò)的誤差回傳傳遞。既然正模型神經(jīng)網(wǎng)絡(luò)的功能僅僅只是回傳誤差,那么即便存在誤差也無關(guān)緊要,僅影響收斂速度而不至于影響是否收斂。
3.逆—逆系統(tǒng)建模
這種建模方法使用兩個(gè)逆系統(tǒng)模型,與未知被控對(duì)象一起構(gòu)成訓(xùn)練回路。處于系統(tǒng)前饋通道上的神經(jīng)網(wǎng)絡(luò),功能是一個(gè)控制器,控制未知被控對(duì)象,讓被控對(duì)象產(chǎn)生相應(yīng)的輸出。逆—逆系統(tǒng)建模示意圖如圖4-23所示。圖4-23逆—逆系統(tǒng)建模逆模型的輸入信號(hào)e為神經(jīng)網(wǎng)絡(luò)控制器的輸入u與未知被控對(duì)象的輸出y之差:
e=u-y
如果神經(jīng)網(wǎng)絡(luò)控制器與未知被控對(duì)象的逆動(dòng)力學(xué)特性不相等,則逆模型的輸入不為0,神經(jīng)網(wǎng)絡(luò)控制器的訓(xùn)練將繼續(xù)進(jìn)行。只要系統(tǒng)中的逆模型是未知被控對(duì)象的另一個(gè)逆模型,就可以利用它來計(jì)算出未知被控對(duì)象應(yīng)該具有的輸入估計(jì)值。
當(dāng)e為0或進(jìn)入一個(gè)事先預(yù)定的小的正數(shù)時(shí),連接權(quán)訓(xùn)練才可停止。
逆—逆系統(tǒng)建模中的“逆模型”可采用如下幾種形式:第一種,未知被控對(duì)象的線性化逆動(dòng)力學(xué)模型,可通過最小二乘法、相關(guān)分析法等傳統(tǒng)辨識(shí)方法獲得。既為線性模型,就比較容易從輸出反推出輸入,辨識(shí)準(zhǔn)則為線性化的程度。
第二種,未知被控對(duì)象的非線性逆動(dòng)力學(xué)模型,可通過機(jī)理分析未知被控對(duì)象的結(jié)構(gòu)或?qū)嶒?yàn)獲得,也可由神經(jīng)網(wǎng)絡(luò)直接辨識(shí)逆模型而獲得。
第三種,神經(jīng)網(wǎng)絡(luò)控制器的復(fù)制模型,可通過神經(jīng)網(wǎng)絡(luò)控制器在訓(xùn)練以后獲得,訓(xùn)練過程是控制器每學(xué)習(xí)完一步,就可以復(fù)制出完全相同的連接權(quán)。使用這種模型時(shí)要注意:神經(jīng)網(wǎng)絡(luò)控制器與逆模型在初始值、參數(shù)及結(jié)構(gòu)等方面完全相同。本節(jié)介紹了非線性系統(tǒng)逆模型的三種建模方法,其中直接逆系統(tǒng)建模簡單直觀,但不易在線操作。另外兩種方法將逆模型與神經(jīng)網(wǎng)絡(luò)控制器聯(lián)系在一起,成為系統(tǒng)閉環(huán)控制的一個(gè)組成部分。4.6.3基于多層感知器的逆模型辨識(shí)
采用多層感知器的非線性系統(tǒng)辨識(shí),是直接逆系統(tǒng)建模的一個(gè)具體應(yīng)用。在非線性系統(tǒng)的神經(jīng)網(wǎng)絡(luò)中使用多層感知器,是因?yàn)槠渚哂袑W(xué)習(xí)速度快、計(jì)算工作量快等優(yōu)點(diǎn),這些優(yōu)點(diǎn)是相對(duì)于BP網(wǎng)絡(luò)而言的。
1.基本結(jié)構(gòu)
做開關(guān)作用函數(shù)的單層感知器結(jié)構(gòu)如圖4-24所示。它的學(xué)習(xí)算法有以下幾種。
(1)WidrowHoffδ學(xué)習(xí)規(guī)則:
(2)修正的δ學(xué)習(xí)規(guī)則:(3)高收斂階δ學(xué)習(xí)規(guī)則:各種學(xué)習(xí)規(guī)則中都有X∈Rn,是輸入矢量;W(k)∈Rm是連接權(quán)矢量,e(k)是期望輸出與實(shí)際輸出之差,α是學(xué)習(xí)率,sgnX是符號(hào)函數(shù)陣:
sgnX=[sgnx1,sgnx2,…,sgnxm]T式中,符號(hào)函數(shù)為圖4-24單層感知器開關(guān)結(jié)構(gòu)示意圖
2.高收斂階δ學(xué)習(xí)規(guī)則
采用高收斂階δ學(xué)習(xí)規(guī)則的單層感知器,在固定模式的訓(xùn)練誤差e由下式?jīng)Q定:
e(k+1)=f[α,e(k),e(k-1)]e(k)
按f(·)的取法,e(k)允許取超線性的1.618階、2階、3階或更高階次。
對(duì)于這一學(xué)習(xí)規(guī)則,證明如下。首先設(shè)單層感知器的輸入/輸出特性為
y(k)=∑wixi=WT(k)X
固定模式時(shí)有則
e(k+1)=f[α,e(k),e(k-1)]e(k)若取
f[α,e(k),e(k-1)]=αe(k-1)則
e(k+1)=αe(k-1)e(k)設(shè)誤差初值為e(0)和e(1),且e(0),e(1)∈Δ={δ|αδ<1},對(duì)任一k,都有
e(k+1)<αδ·δ<δ∈Δ
或
當(dāng)k→∞時(shí),e(k)→0,證明δ學(xué)習(xí)規(guī)則收斂。再看e(k+1)=αe(k-1)e(k),若令該式滿足差分方程:
z(k+1)=z(k)+z(k-1)
方程的兩根為λ1=1.618及λ2=-1.618,因此有比較后得收斂階λ1,為超線性的1.618階。如果取f[α,e(k),e(k-1)]=α2e(k),則有
e(k+1)=[αe(k)]2
取α滿足則e(k+1)具有2次收斂階。對(duì)于3次或高次收斂階,亦可采取同樣的取法。
3.S型作用函數(shù)的使用
不用開關(guān)型作用函數(shù),改用S型作用函數(shù),多層感知器可采用BP算法,這是因?yàn)殚_關(guān)型作用函數(shù)不可微時(shí),反傳學(xué)習(xí)法將無法使用。
設(shè)三層感知器的結(jié)構(gòu)如圖4-25所示。
圖中X、Y0分別是三層感知器的輸入和輸出,Y=、YH分別是輸入層和隱層的輸出,Z1和ZH分別是輸入層和隱層在經(jīng)過非線性開關(guān)函數(shù)后的輸出。設(shè)三層結(jié)構(gòu)為n1、nH和n0,連接權(quán)矩陣W1、WH、W0的維數(shù)分別為n1×n,nH×n,m×nH。圖4-25三層感知器輸入輸出特性如下:
輸入層:
隱層:
輸出層:連接權(quán)訓(xùn)練用的誤差矢量為E(k)=Yd-Y0(k)其中,Yd是神經(jīng)網(wǎng)絡(luò)的期望輸出。連接權(quán)算法可表示成
W1(k+1)=W1(k)+U1(k)
WH(k+1)=WH(k)+UH(k)
W0(k+1)=W0(k)+U0(k)
算法收斂性可表達(dá)成U1、UH、U0,分別取值為U1、UH、U0統(tǒng)一稱為連接權(quán)更新矩陣。誤差矩陣E(k)滿足差分方程:
E(k+1)=f[A,E(k),E(k-1)]E(k)
式中,A,E(k),E(k-1)均為對(duì)角矩陣:
A=diag{a1,a2,…,an}
E(k)=diag{e1(k),e2(k),…,en(k)}
當(dāng)f(·)的取法不同時(shí),E(k)收斂階數(shù)隨之不同,一般值有1.618、2、3或更高。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程機(jī)械車輛維修方案招標(biāo)文件
- 特色幼兒園教師聘用協(xié)議
- 電影院放映員聘用合同
- 高速公路設(shè)施招投標(biāo)管理規(guī)定
- 工業(yè)園區(qū)施工合同
- 債務(wù)清償合同樣本
- 旅游景區(qū)食堂后勤招聘合同
- 2024年土地承包經(jīng)營權(quán)變更合同參考文本3篇
- 餐飲業(yè)員工解聘合同模板
- 農(nóng)村文化車輛出入管理方法
- 出租房屋安全檢查制度模版(2篇)
- 《森林防火安全教育》主題班會(huì) 課件
- 漏洞修復(fù)策略優(yōu)化
- 乘風(fēng)化麟 蛇我其誰 2025XX集團(tuán)年終總結(jié)暨頒獎(jiǎng)盛典
- 車間生產(chǎn)現(xiàn)場5S管理基礎(chǔ)知識(shí)培訓(xùn)課件
- 2024年同等學(xué)力申碩英語考試真題
- 文書模板-《公司與村集體合作種植協(xié)議書》
- 碼頭安全生產(chǎn)知識(shí)培訓(xùn)
- 《死亡詩社》電影賞析
- JJF(京) 105-2023 網(wǎng)絡(luò)時(shí)間同步服務(wù)器校準(zhǔn)規(guī)范
- 老年科護(hù)理查房護(hù)理病歷臨床病案
評(píng)論
0/150
提交評(píng)論