程連元, 榮英佼, 黃文軍, 李珊珊, 陳 晶*
(1. 江南大學(xué)理學(xué)院, 江蘇 無(wú)錫 214122; 2. 中國(guó)人民解放軍63983部隊(duì), 江蘇 無(wú)錫 214028;3. 近地面探測(cè)技術(shù)國(guó)防重點(diǎn)實(shí)驗(yàn)室, 江蘇 無(wú)錫 214028)
在網(wǎng)絡(luò)控制系統(tǒng)中,輸入信號(hào)通過(guò)網(wǎng)絡(luò)傳輸?shù)綀?zhí)行器, 由于網(wǎng)絡(luò)的不確定性和信號(hào)間的轉(zhuǎn)換特性, 執(zhí)行器的輸入信號(hào)通常具有非線(xiàn)性特性.輸入非線(xiàn)性系統(tǒng)廣泛存在于工業(yè)過(guò)程的各個(gè)領(lǐng)域[1-3],其辨識(shí)研究有著重要的理論意義和實(shí)用價(jià)值[4-5].系統(tǒng)辨識(shí)方法主要分為兩類(lèi):一類(lèi)是離線(xiàn)算法,即一次性采集所有輸入和輸出數(shù)據(jù),利用數(shù)據(jù)反復(fù)迭代實(shí)現(xiàn)參數(shù)更新[6-7];另一類(lèi)是在線(xiàn)算法,即隨時(shí)采集數(shù)據(jù)并利用即時(shí)數(shù)據(jù)更新參數(shù)[8-9].離線(xiàn)算法速度更快、精度更高,如最小二乘算法(least squares,LS)、梯度迭代算法(gradient iterative,GI)等.LS算法須求解矩陣的逆,計(jì)算量較大,故不適用于大規(guī)模系統(tǒng)辨識(shí). GI算法的基本思想是以一個(gè)隨機(jī)選擇的參數(shù)估計(jì)值為初始值,每次選擇一個(gè)合適的方向(負(fù)梯度)和合適的步長(zhǎng)對(duì)當(dāng)前估計(jì)值進(jìn)行更新, 故方向和步長(zhǎng)是優(yōu)化GI算法的兩大設(shè)計(jì)要素.通過(guò)改變步長(zhǎng)可以提高收斂速度,如最速下降法[10]、投影算法[11]、帶遺忘因子的梯度法[12]等,但以上方法都須求解矩陣的特征值,當(dāng)矩陣階數(shù)即系統(tǒng)維數(shù)較大時(shí),矩陣的特征值求解非常具有挑戰(zhàn)性.針對(duì)如何在確定迭代最優(yōu)步長(zhǎng)時(shí)避免求解矩陣特征值的問(wèn)題,本文借鑒粒子群算法思想[13],首次提出多步長(zhǎng)搜索梯度算法.在每次迭代過(guò)程中隨機(jī)產(chǎn)生若干步長(zhǎng),再由構(gòu)造的代價(jià)函數(shù)選擇每一步中的合適步長(zhǎng),根據(jù)該步長(zhǎng)更新系統(tǒng)參數(shù).與傳統(tǒng)的梯度算法相比,本文方法的收斂速度更快,辨識(shí)效率更高,適用于大規(guī)模和丟失數(shù)據(jù)的系統(tǒng)辨識(shí).
設(shè)輸入非線(xiàn)性系統(tǒng)t時(shí)刻的輸出y(t)=a1y(t-1)+…+amy(t-m)+b1f1(U(t-1))+…+bnfn(U(t-1))+v(t), 其中fi(U(t-1))是關(guān)于自變量U(t-1)的非線(xiàn)性函數(shù), 且結(jié)構(gòu)已知;U(t-1)={u(t-1),…,u(1)}, 式中u(t)代表系統(tǒng)t時(shí)刻的輸入;v(t)是t時(shí)刻服從未知高斯分布N(0,σ2)的噪聲.本文主要目的是利用可測(cè)的輸入信號(hào)u(t)和輸出信號(hào)y(t)對(duì)未知參數(shù)ai(i=1,…,m)和bj(j=1,…,n)進(jìn)行辨識(shí), 模型的階數(shù)n和m已知.為方便辨識(shí), 將上述模型整理為自回歸形式
收集L組輸入輸出數(shù)據(jù), 并定義Y(L)=[y(L),…,y(1)]T∈RL,U(L)=[u(L),…,u(1)]T∈RL,Φ(L)=[φ(L),…,φ(1)]T∈RL×(m+n),V(L)=[v(L),…,v(1)]T∈RL, 則輸入非線(xiàn)性模型可轉(zhuǎn)化為Y(L)=Φ(L)θ+V(L).
GI算法是一種常用的迭代優(yōu)化算法, 在獲得完全的數(shù)據(jù)集后,通過(guò)尋找每一次迭代的方向及步長(zhǎng)可以逐步逼近所辨識(shí)的參數(shù)[14-15].本文利用GI算法對(duì)輸入非線(xiàn)性系統(tǒng)進(jìn)行辨識(shí).參數(shù)第k次的估計(jì)值θk=θk-1+γk-1[Y(L)-Φ(L)θk-1], 其中步長(zhǎng)γk-1須滿(mǎn)足條件0<γk-1<2/λmax, 式中λmax是矩陣[ΦT(L)Φ(L)]的最大特征值.由于[ΦT(L)Φ(L)]∈RP×P,P=m+n, 故當(dāng)P值很大時(shí), 在傳統(tǒng)GI算法中求解矩陣特征值非常困難.本文通過(guò)建立群體搜索當(dāng)前迭代中較優(yōu)的迭代步長(zhǎng)并結(jié)合迭代方向更新參數(shù)估計(jì)值, 即每一步迭代過(guò)程中隨機(jī)產(chǎn)生多個(gè)步長(zhǎng), 根據(jù)迭代函數(shù)找出當(dāng)前最優(yōu)步長(zhǎng),進(jìn)而避免了求解矩陣特征值的運(yùn)算.
圖1 算法流程圖Fig.1 Flowchart of the M-GI algorithm
傳統(tǒng)GI算法中, 當(dāng)輸入和輸出數(shù)據(jù)均可測(cè)時(shí), 信息矩陣Φ(L)不會(huì)隨著迭代次數(shù)的變化而變化, 即矩陣ΦT(L)Φ(L)的特征值不變, 在第一次迭代時(shí)就可計(jì)算出其特征值, 并選擇合適的步長(zhǎng)保持不變, 故其計(jì)算量主要在第一次計(jì)算特征值時(shí)產(chǎn)生.
利用MATLAB仿真平臺(tái)對(duì)如下非線(xiàn)性系統(tǒng)進(jìn)行仿真研究:
圖2 系統(tǒng)噪聲、輸入以及輸出數(shù)據(jù)Fig.2 System noise, input and output data
輸入數(shù)據(jù){u(t)}采用服從高斯分布N(0,1)的可測(cè)隨機(jī)序列,{v(t)}采用服從N(0,0.12)的高斯白噪聲序列, 步長(zhǎng)數(shù)量s=8.非線(xiàn)性系統(tǒng)的噪聲、輸入數(shù)據(jù)、輸出數(shù)據(jù)如圖2所示.
分別使用GI算法和多步長(zhǎng)搜索GI算法對(duì)非線(xiàn)性模型進(jìn)行參數(shù)辨識(shí), 其中多步長(zhǎng)GI算法根據(jù)不同的步長(zhǎng)范圍d分為兩種: 設(shè)d=2/λmax時(shí), 算法命名為M-GI-1; 設(shè)d=10/λmax時(shí), 算法命名為M-GI-2.不同算法的參數(shù)誤差τ=‖θk-θ‖/‖θ‖隨迭代次數(shù)變化的曲線(xiàn)如圖3所示.圖3說(shuō)明, 與傳統(tǒng)GI方法相比, 多步長(zhǎng)搜索GI方法對(duì)系統(tǒng)參數(shù)的辨識(shí)速度更快, 效率更高.M-GI-2算法比M-GI-1算法更穩(wěn)定, 說(shuō)明多步長(zhǎng)搜索GI方法中上限值的選擇更合適.圖4為M-GI-1和M-GI-2算法的步長(zhǎng)隨迭代次數(shù)的變化曲線(xiàn).圖4顯示, 當(dāng)步長(zhǎng)范圍上限較大時(shí), M-GI-2方法每次迭代的步長(zhǎng)變化較大, 表明其選擇范圍較大, 故其收斂速度高于M-GI-1方法(見(jiàn)圖3).
圖3 參數(shù)誤差隨迭代次數(shù)變化曲線(xiàn)Fig.3 Curve of variation of parameter error with iteration number
圖4 多步長(zhǎng)M-GI算法每次迭代的步長(zhǎng)Fig.4 The step-length of the M-GI algorithm
圖5 兩種方法的參數(shù)誤差圖Fig.5 Parameter estimation errors using the two methods
圖5為采用兩種不同的參數(shù)估計(jì)值求解方法(即不同的權(quán)值選擇方法)對(duì)系統(tǒng)進(jìn)行辨識(shí)的參數(shù)誤差.圖5顯示, 方法1和方法2均能使參數(shù)達(dá)到收斂,但方法1僅考慮一個(gè)值對(duì)參數(shù)估計(jì)的影響,因此在初始階段的收斂效果一般,但當(dāng)參數(shù)接近真值時(shí),其收斂速度快速提高.因此建議在初始階段使用方法1,在后續(xù)階段使用方法2.
本文針對(duì)輸入非線(xiàn)性系統(tǒng)提出了一種多步長(zhǎng)搜索梯度迭代方法,該方法在每一次迭代過(guò)程中隨機(jī)產(chǎn)生多個(gè)步長(zhǎng),避免了求解高階矩陣特征值的問(wèn)題,更適合大規(guī)模系統(tǒng)的參數(shù)辨識(shí).仿真結(jié)果表明,本文方法收斂速度快,當(dāng)系統(tǒng)存在數(shù)據(jù)丟失情況時(shí),該方法的計(jì)算量相比于傳統(tǒng)GI方法明顯減少.該算法在深度學(xué)習(xí)和機(jī)器學(xué)習(xí)中具有廣泛的應(yīng)用前景,同時(shí),其收斂性的理論證明以及步長(zhǎng)范圍的上限選擇仍有待進(jìn)一步研究.