馮子凱,陳立家,劉名果,袁蒙恩
(河南大學物理與電子學院,河南開封475000)
系統(tǒng)辨識被廣泛用于化學、機械、電氣和土木工程等領域的系統(tǒng)控制和過程優(yōu)化。一些系統(tǒng)的模型可以用線性參數(shù)形式表示,并且可以應用自適應控制來實現(xiàn)輸出跟蹤,對其未知的系統(tǒng)參數(shù)進行在線識別和估計[1-3]。例如,線性自適應濾波器被廣泛用于系統(tǒng)建模[3]。盡管線性濾波器很流行,但在許多情況下仍然不適用,尤其是對于非線性系統(tǒng)的建模。
在實際工程中,大多數(shù)系統(tǒng)的模型不是線性的,并且在執(zhí)行測量或設計和校準測量儀器時必須考慮其非線性特性。過去的幾十年中,大量的研究集中于非線性系統(tǒng)的系統(tǒng)建模和識別[4]。
在對非線性系統(tǒng)建模和辨識時,面向塊的模型被廣泛應用,例如 Wiener[4-7]、Hammerstein[8]和 Wiener-Hammerstein[9-12]是很好的解決方案,可以基于簡單的塊構建模型,找到可以覆蓋許多實際非線性系統(tǒng)的系統(tǒng)參數(shù)。例如,文獻[4]中使用多項式非線性分數(shù)狀態(tài)空間方程來描述非線性模型,擴展了輸出誤差方法(Levenberg Marquard 算法),以估計分數(shù)維納系統(tǒng);文獻[8]中提出了一種可分離的非線性最小二乘算法來識別輸出非線性塊和Hammerstein子模型;文獻[10]中提出了一個基于塊的非線性分數(shù)模型,基于基準函數(shù)來識別Wiener-Hammerstein 模型。以上研究所用的模型有一個共同的特點是:它們的結構是固定的或者靈活性較低,而它們對系統(tǒng)的辨識是基于參數(shù)的辨識,因此具有一定的局限性。
相比之下,神經(jīng)網(wǎng)絡可被視為一類非線性的面向塊的自適應濾波器。無論是橫向濾波還是遞歸濾波,神經(jīng)網(wǎng)絡由于其良好的非線性逼近能力而受到了研究者的青睞[13-17]。然而,神經(jīng)網(wǎng)絡仍存在一些局限性。例如,它的自由參數(shù)總數(shù)(連接權重)通常超過1 000[17],因此計算量較大,訓練時間較長,且成本較高。
針對以上問題,本文提出了一種基于子系統(tǒng)的結構自適應濾波(Subsystem-based Structural Adaptive Filtering,SSAF)方法用于非線性系統(tǒng)的辨識。該方法由若干線性-非線性混合結構的子系統(tǒng)隨機無反饋級聯(lián)構成,并引入一種自適應多精英引導的復合差分進化(Adaptive Multiple-Elites-guided Composite Differential Evolution with a shift mechanism,AMECoDEs)算法[18]用于優(yōu)化子系統(tǒng)的參數(shù)以及子系統(tǒng)之間的連接。本文最后驗證了提出的方法可以很好地用于具有高度非線性的系統(tǒng)辨識。
AMECoDEs 算法引入了多重精英引導突變和轉移機制來平衡收斂和多樣性,與單純的精英突變相比,在防止早期收斂和停滯方面更為有效。
AMECoDEs 算法與傳統(tǒng)的差分進化(Differential Evolution,DE)算法相比有兩個改進。第一個改進是多精英引導突變,使用精英(優(yōu)秀的個體)信息的突變策略建議在探索與開發(fā)之間取得平衡。在傳統(tǒng)的由精英指導的差分算法中,種群的個體通常只由一位精英指導,當選定的精英被定位在一個地區(qū)時,很容易將個體引向一個未知地區(qū)。在AMECoDEs 算法中,種群的每一個個體都受到兩位精英的指導,這樣可以減少被誤解的可能性,并有效地使個體朝著更好的前景發(fā)展。每一位精英都是由一代向量生成策略創(chuàng)建的,并有不同的選擇方法和參數(shù),參數(shù)根據(jù)初步經(jīng)驗進行獨立的自適應調整。第二個改進是引入了轉移機制(Shift Mechanism,SM)。在SM中,如果種群不能收斂到一個小的區(qū)域,一些沒有希望的個體將被轉移到一個有希望的社區(qū),以促進收斂;如果種群集中在一個很小的區(qū)域,一些沒有希望的個體將無條件地轉移到隨機位置,以增強種群的多樣性。AMECoDEs算法的步驟如下:
1)隨機生成N 個命令序列。命令序列被視為目標向量,每個命令序列代表一個結構隨機的非線性系統(tǒng)。產生初始種群P0。
2)計算目標向量的適應值,確定適應值是否滿足全局最優(yōu)條件。如果滿足則輸出最佳個體,結束計算;否則,執(zhí)行3)。
6)算子M1 和M2 使用相同的庫A,如果庫A 的大小超過種群的大小PS,則會隨機刪除多余的個體。每一代結束時,啟動轉移機制。
7)返回2)進行比較。
AMECoDEs算法的偽代碼如下:
本文提出的自適應濾波模型由多個子系統(tǒng)組成,每個子系統(tǒng)為一個類型可選的一階子系統(tǒng)或二階子系統(tǒng)。一階子系統(tǒng)由1 個延遲器、2 個乘法器、2 個加法器和1 個靜態(tài)非線性函數(shù)組成;二階子系統(tǒng)由2 個延遲器、4 個乘法器、3 個加法器和1個靜態(tài)非線性函數(shù)組成。
一階子系統(tǒng)如圖1(a)所示,其中:A1和B1表示乘法器,z-1表示單位延遲,3 個黑點表示加法器,箭頭表示信號流向;二階子系統(tǒng)如圖1(b)所示,其中:A1、A2、B1和B2表示乘法器,z-1表示單位延遲,3個黑點表示加法器,箭頭表示信號流方向。
圖1 子系統(tǒng)結構示意圖Fig.1 Schematic diagram of subsystem structure
為了便于敘述,將一階子系統(tǒng)和二階子系統(tǒng)簡稱為子系統(tǒng)。式(1)表示一階子系統(tǒng)線性部分的傳遞函數(shù),其中R為實數(shù)域,A1的取值范圍為(-1,1),使傳遞函數(shù)的極點位于單位圓內,確保了一階子系統(tǒng)線性部分的穩(wěn)定性。
式(2)表示二階子系統(tǒng)線性部分的傳遞函數(shù),其中R為實數(shù)域,C 為復數(shù)域;a1和a2的取值范圍使傳遞函數(shù)的極點限制在單位圓內,保證了二階子系統(tǒng)線性部分的穩(wěn)定性。
一階子系統(tǒng)和二階子系統(tǒng)的非線性部分有幾種選擇:
其中:s(n)為自變量,y(s(n))為系統(tǒng)輸出;式(4)中,e 為自然常數(shù)。Sigmoid 函數(shù)是最常用的非線性函數(shù)之一,被廣泛應用[19],故本文子系統(tǒng)的靜態(tài)非線性函數(shù)統(tǒng)一設置為Sigmoid函數(shù)。
2.2.1 算法個體信息描述
在AMECoDEs 算法中,每個單獨的個體(θ)稱為一條指令。一個個體包含i個子系統(tǒng),每個子系統(tǒng)所包含的信息有:輸入端口號(I);輸出端口號(O);子系統(tǒng)類型(T),即一階子系統(tǒng)或二階子系統(tǒng);連接方式C,分C1、C2、C3三種;子系統(tǒng)線性部分的參數(shù)(P)。
AMECoDEs 算法中每個個體的結構如圖2 所示。其中矩陣θ和矩陣的表達式如式(7)和式(8)所示。
圖2 單個個體的結構Fig. 2 Structure of each individual
2.2.2 子系統(tǒng)連接方式
子系統(tǒng)的連接方式有三種:連接新的活動端口(C1)、連接現(xiàn)有端口(C2)和連接系統(tǒng)的輸入端口(C3)。C1是生成一個新的活動端口,即新添加的子系統(tǒng)的輸入端口連接到當前的活動端口,其輸出端口連接到新生成的活動端口,如圖3(a)所示;C2是新增加的子系統(tǒng)的輸出端口連接到當前活動端口,其輸入端口連接到之前的活動端口,如圖3(b)所示;C3是新增加的子系統(tǒng)的輸出端口連接到當前活動端口,其輸入端口連接到整個系統(tǒng)的輸入端口。在本指令中,添加到現(xiàn)有模型的最后一個子系統(tǒng)的輸出是整個模型的輸出,如圖3(c)所示。若連接方式為C1,新活動端口的值是其上一個活動端口的值加上1;若連接方式為C2或C3,則活動端口的值保持不變。
圖3 子系統(tǒng)的三種連接方式Fig.3 Three connection modes of subsystems
2.2.3 自適應模型的生成
在AMECoDEs算法的初始過程中,指令按規(guī)則隨機生成,每條指令可構造一個完整的自適應系統(tǒng)模型。演化開始后,系統(tǒng)的輸入端口設置為端口1,從端口1 開始,按照指令逐一添加子系統(tǒng),形成一個完整的無反饋的非線性系統(tǒng)。
例如,當子系統(tǒng)的數(shù)目S= 5 時,其信息如表1 所示,其對應的系統(tǒng)構造如圖4所示。
表1 子系統(tǒng)數(shù)目為5時的系統(tǒng)信息Tab. 1 System information when number of subsystems is 5
圖4 中,箭頭是信號流的方向;x(n)和y(n)分別是系統(tǒng)的輸入端口和輸出端口。在算法初始化之后,自適應濾波模型在AMECoDEs 算法作用下進行循環(huán)的迭代優(yōu)化,即通過不斷的變異、交叉、選擇操作和移位機制來更新種群,以找到全局最優(yōu)解,即最優(yōu)的系統(tǒng)結構和參數(shù)。
圖4 示例系統(tǒng)的結構示意圖Fig. 4 Schematic diagram of example system
本文將非線性系統(tǒng)的辨識作為一個優(yōu)化問題來處理。根據(jù)均方誤差(Mean Square Error,MSE)、歸一化均方誤差(Normalized Mean Square Error,NMSE)和相關系數(shù)r三個指標對系統(tǒng)實際輸出y^ (t)和期望輸出y(t)的預測誤差ε進行了收斂分析,如式(9)~(12)所示,適應值(Fitness)的計算公式如式(13)所示。
對5個非線性對象進行辨識,包括4個假設為未知的非線性函數(shù)和1 個實際的液體飽和蒸汽熱交換系統(tǒng)。每一類實驗均進行了100 組,且每一組進行了10 000 次迭代演化。實驗結果均為100 組中選出的最優(yōu)結果。辨識對象1~5 的子系統(tǒng)個數(shù)均設為15。
辨識對象1的系統(tǒng)函數(shù)[20]如下所示:
其中:yp(k)是系統(tǒng)的輸出;u(k)是系統(tǒng)的輸入,u(k)∈[-2,2]。辨識模型可簡化成如下形式:
圖5(a)比較了六種算法(包括AMECoDEs、粒子群優(yōu)化(Particle Swarm Optimization,PSO)、DE、遺傳算法(GA)、一種改進的多種群集成差分進化算法(IMPEDE)和基于成功父選擇框架的差分進化算法(DESPS))的適應值迭代曲線,其中AMECoDEs算法具有最小的適應值。表2中,AMECoDEs算法的 MSE 和 NMSE 分別為 0.084 825 和 0.005 634,也優(yōu)于其他五種算法。此外,AMECoDEs 算法的r為0.995 688,十分接近于1,這意味著非線性系統(tǒng)的絕大部分信息被自適應濾波模型成功提取,從圖5(b)中的擬合曲線亦可看出。因此,本示例中,基于AMECoDEs算法的SSAF的性能最優(yōu)。
圖5 辨識對象1中六種算法的性能比較Fig.5 Performance comparison of six algorithms on identification object 1
SSAF 對于本辨識對象的最優(yōu)系統(tǒng)結構如圖6 所示,其中S1、S2、S3、S5、S6、S8、S9、S10、S11、S12、S13和S14是二階子系統(tǒng),而S4、S7和S15是一階子系統(tǒng)。
表2 辨識對象1中六種算法的收斂結果比較Tab. 2 Comparison of convergence results of six algorithms on identification object 1
圖6 辨識對象1基于AMECoDEs算法的SSAF最優(yōu)結構示意圖Fig. 6 Schematic diagram of optimal structure of SSAF designed by AMECoDEs algorithm for identification object 1
本辨識對象的系統(tǒng)函數(shù)[21]如下所示:
其 中 :a1=Yp(k),a2=Yp(k- 1),a3=Yp(k- 2),a4=x(k),a5=x(k- 1);F表示非線性函數(shù),如式(18)所示。
其中:β= 1,系統(tǒng)輸入x(k)為sin(2πk/25)。
如圖 7 和表 3 所示,由 AMECoDEs 算法設計的 SSAF 的適應值最小,擬合性能和收斂性優(yōu)于其他五種最新算法。
表3 辨識對象2中六種算法的收斂結果比較Tab. 3 Comparison of convergence results of six algorithms on identification object 2
圖7 辨識對象2中六種算法的性能比較Fig.7 Performance comparison of six algorithms on identification object 2
SSAF 的最優(yōu)結構如圖 8 所示,其中S1、S2、S3、S6、S7、S8、S12和S15是二階子系統(tǒng),S4、S5、S9、S10、S11、S13和S14是一階子系統(tǒng)。
圖8 辨識對象2基于AMECoDEs算法的SSAF最優(yōu)結構示意圖Fig. 8 Schematic diagram of optimal structure of SSAF designed by AMECoDEs algorithm for identification object 2
辨識對象3的系統(tǒng)函數(shù)[21]如下所示:
圖9 辨識對象3中六種算法的性能比較Fig.9 Performance comparison of six algorithms on identification object 3
未知函數(shù)F如下所示:
其中:α= 5,系統(tǒng)輸入x(k)為sin(2πk/25)。
在本示例中,由DESPS設計的SSAF的綜合性能在六種算法中最優(yōu)。然而,如圖9(a)所示,AMECoDE 的最小適應值與DEPSP 十分接近。六種算法的輸出擬合曲線如圖9(b)所示。表 4 中,AMECoDE 的 MSE、NMSE 和r三個指標值與 DEPSPS亦十分接近。因此,AMECoDEs 算法設計的SSAF 的綜合性能與DESPS接近,在六種算法中綜合性能居第二。
本示例中,SSAF 的最優(yōu)結構如圖10 所示。其中S9、S13和S14是二階子系統(tǒng),而S1、S2、S3、S4、S5、S6、S7、S8、S10、S11、S12和S15是一階子系統(tǒng)。
表4 辨識對象3中六種算法的收斂結果比較Tab. 4 Comparison of convergence results of six algorithms on identification object three
辨識對象4的系統(tǒng)函數(shù)[21]如下所示:
未知函數(shù)F如下所示:
其中α值為2.5,系統(tǒng)輸入為:
如圖11 和表5 所示的仿真結果表明,由AMECoDEs 算法設計的SSAF成功地提取了非線性示例的信息,綜合性能優(yōu)于其他五種算法。
圖10 辨識對象3基于DESPS算法的SSAF最優(yōu)結構示意圖Fig. 10 Schematic diagram of optimal structure of SSAF designed by DESPS for identification object 3
表5 辨識對象4中六種算法的收斂結果比較Tab. 5 Comparison of convergence results of six algorithms on identification object 4
圖11 辨識對象4中六種算法的性能比較Fig.11 Performance comparison of six algorithms on identification object 4
SSAF 的最優(yōu)結構如圖 12 所示,其中S1、S2、S3、S4、S8、S11、S12、S14和S15是二階子系統(tǒng),而S5、S6、S7、S9、S10和S13是一階子系統(tǒng)。
圖12 辨識對象4基于AMECoDEs算法的SSAF最優(yōu)結構示意圖Fig. 12 Schematic diagram of optimal structure of SSAF designed by AMECoDEs algorithm for identification object 4
辨識對象5 是一個實際的液體飽和蒸汽熱交換系統(tǒng)。液體飽和蒸汽熱交換過程是非線性控制設計的重要基準(Daisy 97-002[17]),它具有非最小相位特性。該系統(tǒng)換熱過程中,水通過銅管由加壓飽和蒸汽加熱,輸入變量是液體流量、蒸汽溫度和入口液體溫度;輸出變量是出口液體溫度。在本實驗中,蒸汽溫度和入口液體溫度與它們的名義值保持不變。該系統(tǒng)可以看作是單輸入單輸出(Single Input Single Output,SISO)模型。此基準中有3 200個樣本,采樣時間為1 s。
從辨識對象1~4 的實驗結果可以看出,使用AMECoDEs算法設計的SSAF 辨識精度高、收斂速度快,綜合性能優(yōu)于其他五種算法。因此本實例中選用AMECoDEs算法訓練基于子系統(tǒng)的結構自適應濾波模型(Subsystem-based structural adaptive filtering method using AMECoDEs, SSAFAMECoDEs)。辨識結果如圖13所示,絕大部分非線性信息被SSAF以較高的精度成功提取。
SSAF 的最優(yōu)結構如圖 14 所示,其中S2,S3,S4,S5,S6,S10,S11,S13和S15是二階子系統(tǒng),而S1,S7,S8,S9,S12和S14是一階子系統(tǒng)。子系統(tǒng)取不同非線性函數(shù)時的適應值比較如圖15所示。
在 表 6 中 ,SSAF-AMECoDEs 的 MSE 及 NMSE 分 別 為0.038 323 和0.000 04,均小于聚焦時滯遞歸神經(jīng)網(wǎng)絡(Focused Time Lagged Recurrent Neural Network,F(xiàn)TLRNN)和多層感知機神經(jīng)網(wǎng)絡(Multi-Layer Perceptron Neural Network,MLPNN)相應的值;并且 SSAF-AMECoDEs 的r與 1 最為接近。此外,SSAF所用參數(shù)的數(shù)量少于120,僅為兩種神經(jīng)網(wǎng)絡所用的參數(shù)數(shù)量的1/10,且SSAF-AMECoDEs 的適應值精度比FTLRNN提高了7%。由圖15可以看出,在取不同的非線性函數(shù)時,LeakyRelu 函數(shù)在初始迭代時表現(xiàn)較優(yōu),在后續(xù)迭代過程中逐漸被Sigmoid函數(shù)超越。
綜上,由AMECoDEs 算法設計的自適應濾波方法具有良好的非線性系統(tǒng)辨識和收斂性能。
圖13 AMECoDEs算法對辨識對象5的輸出擬合曲線與實際輸出比較Fig. 13 Comparison of output fitting curves between AMECoDEs and reality for identification object 5
圖14 辨識對象5基于AMECoDEs算法的SSAF最優(yōu)結構示意圖Fig. 14 Schematic diagram of optimal structure of SSAF designed by AMECoDEs algorithm for identification object 5
圖15 辨識對象5在不同非線性函數(shù)下的適應值比較Fig. 15 Comparison of itness under different nonlinear functions for identification object 5
表6 SSAF-AMECoDEs和兩種神經(jīng)網(wǎng)絡的收斂結果比較Tab. 6 Comparison of convergence results between SSAF-AMECoDEs and two neural networks
本文提出了一種基于子系統(tǒng)的結構自適應濾波模型,該模型由子系統(tǒng)隨機級聯(lián)而成,而子系統(tǒng)由低階的IIR 數(shù)字濾波器和靜態(tài)非線性函數(shù)組成,無反饋的連接機制保證了模型的有效性。六種演化算法被用于自適應模型的訓練和進化,對4 個非線性示例和1 個實際數(shù)據(jù)集進行了辨識和收斂性分析,仿真結果表明,基于AMECoDEs算法的結構自適應濾波模型可成功提取復雜系統(tǒng)的非線性信息,收斂性能優(yōu)異,辨識精度高。此外,我們還將繼續(xù)探討對自適應模型的優(yōu)化以及對算法的改進。