毛華倩,孔 穎
(浙江科技大學(xué) 信息與電子工程學(xué)院,杭州 310023)
西爾維斯特方程(Sylvester equation)以英國數(shù)學(xué)家James Joseph Sylvester的名字命名,是控制理論中著名的矩陣方程[1]。求解西爾維斯特方程一般有串行處理和并行處理兩種方法,但是在很多工程領(lǐng)域的研究中,只有并行處理才能解決復(fù)雜的隨時(shí)間變化的問題,比如圖像處理、機(jī)械臂[2]、軌跡規(guī)劃、現(xiàn)場可編程門陣列[3](field-programmable gate array,FPGA)、神經(jīng)網(wǎng)絡(luò)等,所以在線實(shí)時(shí)求解西爾維斯特方程對許多研究都非常重要。
隨著科技的發(fā)展,與傳統(tǒng)的方法相比,神經(jīng)動(dòng)力學(xué)具有更出色的性能,而且滿足了在工程中能處理大量數(shù)據(jù)和實(shí)時(shí)計(jì)算的需求,因此研究者提出了多種基于梯度的遞歸神經(jīng)網(wǎng)絡(luò)以求解實(shí)值領(lǐng)域的隨時(shí)間變化的西爾維斯特方程[4]。遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[5-6]只保留了定義的誤差函數(shù)的范數(shù),忽視了一些隨時(shí)間變化的誤差信息,所以表現(xiàn)比較一般。基于此,Zhang等[7-9]提出歸零神經(jīng)網(wǎng)絡(luò)(zeroing neural network,ZNN),通過對時(shí)間的一階導(dǎo)數(shù)的充分利用,能有效消除隨時(shí)間變化的誤差信息的殘差。隨著對遞歸神經(jīng)網(wǎng)絡(luò)的研究越來越深入,在信號處理[10]領(lǐng)域,涌現(xiàn)了越來越多需要運(yùn)用復(fù)數(shù)解決的問題,比如頻域在線識(shí)別或輸入信號包含振幅和相位信息的情況。因此,人們開始研究實(shí)時(shí)解決復(fù)數(shù)矩陣問題的神經(jīng)動(dòng)力學(xué)方法[11],從而提出了復(fù)數(shù)歸零神經(jīng)網(wǎng)絡(luò)(complex-valued zeroing neural network,CVZNN)模型[12]和各種激活函數(shù)[13]。高暢等[14]提出了新型有限時(shí)間歸零神經(jīng)網(wǎng)絡(luò)(new finite-time zeroing neural network,NFTZNN)模型,將一種新型激活函數(shù)引入NFTZNN模型,從而提高收斂性能。
模糊控制將多學(xué)科,如概率論、運(yùn)動(dòng)學(xué)、物理學(xué)等,通過模糊集合和模糊邏輯推理轉(zhuǎn)化成數(shù)字或數(shù)字函數(shù),再用計(jì)算機(jī)實(shí)現(xiàn)控制[15]。模糊邏輯系統(tǒng)以模糊控制為核心,應(yīng)用于多個(gè)領(lǐng)域,如航天器、機(jī)器人[16]、汽車等。模糊控制易于被操作人員接受,便于用計(jì)算機(jī)軟件實(shí)現(xiàn),魯棒性和適應(yīng)性好,而神經(jīng)網(wǎng)絡(luò)具有較高的計(jì)算效率,將模糊控制引入神經(jīng)網(wǎng)絡(luò)[17],能代替人們在自動(dòng)化和智能系統(tǒng)等領(lǐng)域中處理一些高難度的工作。
針對CVZNN模型求解復(fù)值矩陣問題收斂速度慢且計(jì)算精度低的問題,本研究提出加入模糊邏輯系統(tǒng)來求解復(fù)數(shù)時(shí)變矩陣,稱之為模糊歸零神經(jīng)網(wǎng)絡(luò)(fuzzy logic system for zeroing neural network,FLSVZNN)。與之前常用的收斂參數(shù)不同,輸入誤差函數(shù),由模糊邏輯系統(tǒng)(fuzzy logic system,FLS)生成一個(gè)模糊的功率參數(shù),并將其嵌入到模型中,從而調(diào)整收斂速度,進(jìn)行理論分析并與CVZNN模型進(jìn)行比較。此外,還進(jìn)行了兩種實(shí)例的模擬試驗(yàn),展示了兩種FLSVZNN模型在幾種常用激活函數(shù)下的優(yōu)勢。
西爾維斯特方程是控制理論中的矩陣方程,形式如下:
U(t)X(t)+X(t)V(t)-W(t)=0。
(1)
式(1)中:U(t)、V(t)、W(t)為n階時(shí)變復(fù)數(shù)矩陣;X(t)為需求解的復(fù)數(shù)矩陣;t為時(shí)間。
為了使上述的西爾維斯特方程成立,矩陣的行數(shù)和列數(shù)需滿足一定的條件,U(t)和V(t)為n階和m階方陣,W(t)和X(t)為n行m列的矩陣。式(1)中,m=n,這說明X(t)有解且可以被求解。為了使X(t)有唯一解,U(t)和-V(t)還需滿足沒有共同的特征值。
為了求解式(1),根據(jù)實(shí)域中ZNN模型的設(shè)計(jì)方法,建立CVZNN模型來求解復(fù)數(shù)時(shí)變問題。
1)構(gòu)造復(fù)數(shù)的誤差函數(shù)
E(t)=U(t)X(t)+X(t)V(t)-W(t)。
(2)
2)定義E(t)的演化過程如下:
(3)
式(3)中:γ1>0為可以調(diào)節(jié)的正值參數(shù);Φ(·)為復(fù)數(shù)中的激活函數(shù)。
3)將式(2)代入式(3),可得隨時(shí)間變化的西爾維斯特方程:

(4)
然后在標(biāo)準(zhǔn)ZNN模型式(4)的基礎(chǔ)上,將實(shí)數(shù)域擴(kuò)展到復(fù)數(shù)域。
1.1.1CVZNN-Ⅰ模型
CVZNN-Ⅰ模型的處理方法是同時(shí)激活復(fù)數(shù)輸入的實(shí)部和虛部。具體描述如下:
Φ1(E(t))=Ω(Ere(t))+iΩ(Eim(t))。
(5)
式(5)中:Ω(·)為實(shí)數(shù)的激活函數(shù);Ere(t)和Eim(t)分別為E(t)的實(shí)部和虛部。
根據(jù)式(4)和式(5)可得如下CVZNN-Ⅰ模型:
(6)
式(6)中:Ere(t)和Eim(t)由A(t)和B(t)來表示U(t)X(t)+X(t)V(t)-W(t)的實(shí)部和虛部。
1.1.2CVZNN-Ⅱ模型
CVZNN-Ⅱ模型的處理方法是激活復(fù)數(shù)輸入的模,定義如下:
Φ2(E(t))=Ω(C(t))·exp(iD(t))。
(7)
式(7)中:C(t)和D(t)分別為復(fù)數(shù)誤差函數(shù)E(t)的模和輻角。
由式(4)和式(7)可得:
(8)
模糊邏輯是一種使用隸屬度來代替?zhèn)鹘y(tǒng)的布爾真值的邏輯系統(tǒng),與經(jīng)典的二值邏輯不同,它并不使用截然不同的0和1來表達(dá),而是使用隸屬度來表達(dá),以更好地反映現(xiàn)實(shí)生活中的不確定性和模糊性。這使得模糊邏輯成為一個(gè)有力的工具,可以處理那些無法被明確定義的情況,也可以在計(jì)算機(jī)中更有效地處理不確定的信息。
在傳統(tǒng)的控制領(lǐng)域中,通常更精確的信息和更詳細(xì)的系統(tǒng)建模可以提高控制系統(tǒng)的性能。復(fù)雜的系統(tǒng)由于變量太多往往很難控制,而模糊控制魯棒性強(qiáng)、抗干擾性能力好,在解決這類問題上表現(xiàn)出色。模糊邏輯系統(tǒng)是一種基于模糊邏輯的控制系統(tǒng),它能在輸入變量模糊的情況下,通過一系列模糊邏輯運(yùn)算,輸出模糊變量的結(jié)果。模糊系統(tǒng)的輸入和輸出通常用模糊集合來描述,模糊推理引擎中的規(guī)則和推理是模糊控制的核心。
本研究引入一個(gè)由模糊邏輯系統(tǒng)生成的模糊參數(shù)v代替之前的收斂參數(shù),從而加速FLSVZNN模型的收斂過程,考慮到輸入的e與期望的模糊參數(shù)v有關(guān),制定了以下模糊邏輯方案。
第一個(gè)步驟是模糊化。隸屬函數(shù)是用于表征模糊集合的數(shù)學(xué)工具,通常用來描述模糊集合的形狀,將精確的輸入值映射為0到1之間的模糊值。模糊化就是利用隸屬函數(shù),將輸入e映射到模糊輸入子集E,設(shè)定輸出v和模糊輸出子集V。隸屬函數(shù)可以采用不同的形狀,包括高斯形、三角形、梯形、S形曲線等,本研究中模糊控制系統(tǒng)的輸入e和輸出v的隸屬函數(shù)分別采用如下高斯函數(shù)和三角函數(shù)。
1)高斯函數(shù)
(9)
式(9)中:c為函數(shù)中心的位置;σ為函數(shù)曲線的寬度。
2)三角函數(shù)
(10)
式(10)中:a≤b≤c。
第二個(gè)步驟是制定模糊推理引擎。模糊推理引擎是模糊控制的核心,負(fù)責(zé)執(zhí)行推理過程,將模糊輸入和模糊規(guī)則轉(zhuǎn)化為模糊輸出,并最終將其映射為實(shí)際的操作或決策,使模糊控制能在各種領(lǐng)域中靈活應(yīng)用。在上一步模糊化操作完成后,輸入e轉(zhuǎn)換成了模糊輸出子集E,接下來需要明確定義一組模糊規(guī)則,這些規(guī)則描述了模糊輸入子集E和模糊輸出子集V之間的關(guān)系,這些關(guān)系遵循如下規(guī)則:
R1:若E為ZO,則V為ZO;R2:若E為PS,則V為PS;R3:若E為PB,則V為PB。
其中ZO(零)、PS(正小)和PB(正大)是模糊子集。輸出參數(shù)v會(huì)隨著輸入的數(shù)值誤差e變化,e變大v也會(huì)變大,e變小則v也會(huì)隨之變小,以此來實(shí)現(xiàn)復(fù)值模糊歸零神經(jīng)網(wǎng)絡(luò)的可控收斂。基于3個(gè)模糊規(guī)則,可得:
Vi=E°Ri。
(11)
式(11)中:°為模糊變換符號;i=1,2,3,表示E通過相關(guān)規(guī)則轉(zhuǎn)換成V。具體的變換內(nèi)容如下:
fE°R(v)=fE°R1(v)∨fE°R2(v)∨fE°R3(v)。
(12)
式(12)中:fE°Ri(v)=sup(fEi∧fVi),用∧和∨表示最大運(yùn)算和最小運(yùn)算。
第三個(gè)步驟是清晰化。為了獲得最終的輸出常量,需去模糊化操作,有面積中心法、面積平分法及平均最大隸屬度法等。本研究采用了平均最大隸屬度法:
v=argmaxfE°R(v)。
(13)
引入模糊邏輯系統(tǒng)生成的模糊參數(shù)v后,設(shè)計(jì)新的隨時(shí)間變化的FLSVZNN模型如下:

(14)
式(14)中:r2>1。
然后將實(shí)值域推廣到復(fù)值域,以求解復(fù)數(shù)西爾維斯特方程。通過以上方法,可以得到求解復(fù)數(shù)西爾維斯特方程的相應(yīng)的兩個(gè)FLSVZNN模型。
由式(5)和式(14),可得如下FLSVZNN-Ⅰ模型:
(15)
根據(jù)式(7)和式(14),可得如下FLSVZNN-Ⅱ模型:
(16)
越來越多的激活函數(shù)被用來改善神經(jīng)網(wǎng)絡(luò)的收斂性能。
1)線性函數(shù)
Ω(x)=x。
(17)
2)功率函數(shù)
Ω(x)=xk,k為奇數(shù),k≥3。
(18)
3)雙相符號函數(shù)
(19)
4)符號雙冪(sign-bi-power,SBP)函數(shù)
(20)

5)改進(jìn)的SBP函數(shù)
(21)
與SBP函數(shù)相比,改進(jìn)的SBP函數(shù)有一個(gè)額外的線性項(xiàng)。因此,在FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型中,使用改進(jìn)的SBP函數(shù)來激活比使用SBP函數(shù)來激活效果更好。
定理1給定光滑的時(shí)變復(fù)矩陣U(t)、V(t)、W(t),當(dāng)使用激活函數(shù)Ω(x)=x時(shí),FLSVZNN-Ⅰ模型的矩陣X(t)能從隨機(jī)原始狀態(tài)X(0)收斂到時(shí)變復(fù)數(shù)西爾維斯特方程的理論解X*(t)。
證明:根據(jù)式(3)、式(5)和式(15)可知A(t)和B(t)等價(jià)于以下兩個(gè)方程:
(22)

(23)


定理2給定光滑的時(shí)變復(fù)矩陣U(t)、V(t)、W(t),當(dāng)使用激活函數(shù)Ω(x)=x時(shí),FLSVZNN-Ⅱ模型的矩陣X(t)能從隨機(jī)原始狀態(tài)X(0)收斂到時(shí)變復(fù)數(shù)西爾維斯特方程的理論解X*(t)。
從FLSVZNN-Ⅱ模型中可以得到如下非線性動(dòng)態(tài)子函數(shù):
(24)







以下給出兩個(gè)具體的例子,利用激活函數(shù)Ω(x)=x,驗(yàn)證FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型的有效性。
例1考慮了具有以下系數(shù)U(t)、V(t)、W(t)和γ1=1、γ2=5的復(fù)值時(shí),變西爾維斯特方程
(25)
求解可知U(t)的特征值λ1=e5it,λ2=sin(5t)+cos(5t)i;V(t)的特征值λ1=0,λ2=0。U(t)和-V(t)沒有共同的特征值,滿足X(t)是唯一解。
使用FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型計(jì)算例1的狀態(tài)軌跡,分別如圖1和圖2所示,可知這兩種模型在激活函數(shù)Ω(x)=x的激活作用下,都可以從一個(gè)特定的初始狀態(tài)X(0)=[2,2;-2,2]開始,使復(fù)數(shù)矩陣X(t)從用實(shí)心藍(lán)線表示的狀態(tài)解收斂到用紅色虛線表示的理論解,有較好的收斂性能。

圖2 使用FLSVZNN-Ⅱ模型計(jì)算例1的狀態(tài)軌跡Fig.2 State trajectories of Example 1 computed by FLSVZNN-Ⅱ model
FLSVZNN-Ⅰ模型、FLSVZNN-Ⅱ模型使用不同激活函數(shù)計(jì)算例1時(shí)產(chǎn)生的不同誤差收斂時(shí)間分別如圖3和圖4所示。可知,當(dāng)使用多種激活函數(shù)來激活FLSVZNN模型時(shí),盡管FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型存在差異,但都能在不同的激活函數(shù)下使誤差函數(shù)收斂,這驗(yàn)證了兩種處理方法求解復(fù)數(shù)西爾維斯特方程的有效性。此外,由圖3和圖4可知,當(dāng)FLSVZNN-Ⅰ模型使用線性函數(shù)激活時(shí),計(jì)算誤差約1.0 s左右收斂至0;使用功率函數(shù)時(shí),無法使其收斂到0;使用雙相符號函數(shù)激活時(shí),計(jì)算誤差約1.0 s左右收斂至0;使用SBP函數(shù)為激活函數(shù)時(shí),計(jì)算誤差至少0.4 s左右收斂至0;使用改進(jìn)的SBP激活函數(shù)時(shí),計(jì)算誤差約0.3 s左右收斂至0。FLSVZNN-Ⅱ模型的結(jié)果類似。可以得出結(jié)論,在收斂速度方面,使用改進(jìn)的SBP激活函數(shù)收斂速度最快。

圖3 FLSVZNN-Ⅰ模型使用不同激活函數(shù)計(jì)算例1時(shí)產(chǎn)生的不同誤差收斂時(shí)間Fig.3 Convergence time of different errors for Example 1calculated by FLSVZNN-Ⅰ model using different activation functions

圖4 FLSVZNN-Ⅱ模型使用不同激活函數(shù)計(jì)算例1時(shí)產(chǎn)生的不同誤差收斂時(shí)間Fig.4 Convergence time of different errors for Example 1calculated by FLSVZNN-Ⅱ model using different activation functions
圖5和圖6分別顯示了使用FLSVZNN模型和CVZNN模型計(jì)算例1的收斂時(shí)間對比,結(jié)果進(jìn)一步驗(yàn)證了FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型在使用改進(jìn)的SBP激活函數(shù)作用下處理復(fù)數(shù)矩陣的有效性。由圖5可知,FLSVZNN-Ⅰ模型求解的收斂時(shí)間約0.3 s;而CVZNN-Ⅰ模型求解的收斂時(shí)間至少2.2 s。可見在收斂速度方面,FLSVZNN-Ⅰ模型明顯優(yōu)于CVZNN-Ⅰ模型。FLSVZNN-Ⅱ模型的結(jié)果類似。這驗(yàn)證了在CVZNN神經(jīng)網(wǎng)絡(luò)加入模糊邏輯系統(tǒng)產(chǎn)生的模糊參數(shù)v后,生成的兩個(gè)FLSVZNN模型性能更優(yōu)。

圖5 使用FLSVZNN-Ⅰ模型和CVZNN-Ⅰ模型計(jì)算例1的收斂時(shí)間對比Fig.5 Comparison of convergence time of Example 1 calculated by FLSVZNN-Ⅰ model and CVZNN-Ⅰ model

圖6 使用FLSVZNN-Ⅱ模型和CVZNN-Ⅱ模型計(jì)算例1的收斂時(shí)間對比Fig.6 Comparison of convergence time of Example 1 calculated by FLSVZNN-Ⅱ model and CVZNN-Ⅱ model
例2考慮了具有系數(shù)U(t)、V(t)、W(t)的復(fù)數(shù)時(shí)變西爾維斯特方程:
(26)

使用FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型求解例2的狀態(tài)軌跡,分別如圖7和圖8所示。

圖7 使用FLSVZNN-Ⅰ模型計(jì)算例2的狀態(tài)軌跡Fig.7 State trajectories of Example 2 computed by FLSVZNN-Ⅰ model

圖8 使用FLSVZNN-Ⅱ模型計(jì)算例2的狀態(tài)軌跡Fig.8 State trajectories of Example 2 computed by FLSVZNN-Ⅱ model
由圖7和圖8可知,這兩種模型都可以在激活函數(shù)Ω(x)=x下,從一個(gè)特定的初始狀態(tài)X(0)=[1,1;1,-1]開始,使復(fù)數(shù)矩陣X(t)從用實(shí)心藍(lán)線表示的狀態(tài)解收斂到用紅色虛線表示的理論解,有較好的收斂性能。
圖9和圖10分別為FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型使用不同激活函數(shù)計(jì)算例2所產(chǎn)生的不同誤差收斂時(shí)間。由圖9和圖10可知,當(dāng)使用多種激活函數(shù)來激活FLSVZNN模型時(shí),盡管FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型存在差異,但都能在不同的激活函數(shù)下使誤差函數(shù)收斂,這進(jìn)一步驗(yàn)證了兩種處理方法求解復(fù)數(shù)西爾維斯特方程的有效性。此外,由圖9和圖10還知,當(dāng)FLSVZNN-Ⅰ模型使用線性函數(shù)激活時(shí),計(jì)算誤差約0.8 s左右收斂至0;使用功率函數(shù)時(shí),無法使其收斂至0;使用雙相符號函數(shù)激活時(shí),計(jì)算誤差約0.8 s左右收斂至0;使用SBP函數(shù)為激活函數(shù)時(shí),計(jì)算誤差約0.3 s左右收斂至0;使用改進(jìn)的SBP激活函數(shù)時(shí),計(jì)算誤差約0.3 s左右收斂至0。FLSVZNN-Ⅱ模型的結(jié)果類似。可見,在收斂速度方面,使用改進(jìn)的SBP激活函數(shù)最快。

圖9 FLSVZNN-Ⅰ模型使用不同激活函數(shù)計(jì)算例2所產(chǎn)生的不同誤差收斂時(shí)間Fig.9 Convergence time of different errors for Example 2calculated by FLSVZNN-Ⅰ model using different activation functions

圖10 FLSVZNN-Ⅱ模型使用不同激活函數(shù)計(jì)算例2所產(chǎn)生的不同誤差收斂時(shí)間Fig.10 Convergence time of different errors for Example 2calculated by FLSVZNN-Ⅱ model using different activation functions
圖11和圖12分別顯示了使用FLSVZNN模型和CVZNN模型計(jì)算例2的收斂時(shí)間對比。

圖11 使用FLSVZNN-Ⅰ模型和CVZNN-Ⅰ模型計(jì)算例2的收斂時(shí)間對比Fig.11 Comparison of convergence time of Example 2 calculated by FLSVZNN-Ⅰ model and CVZNN-Ⅰ model

圖12 使用FLSVZNN-Ⅱ模型和CVZNN-Ⅱ模型計(jì)算例2的收斂時(shí)間對比Fig.12 Comparison of convergence time of Example 2 calculated by FLSVZNN-Ⅱ model and CVZNN-Ⅱ model
圖11和圖12的結(jié)果進(jìn)一步驗(yàn)證了FLSVZNN-Ⅰ模型和FLSVZNN-Ⅱ模型在改進(jìn)的SBP激活函數(shù)作用下處理復(fù)數(shù)矩陣的有效性。由圖11可知,FLSVZNN-Ⅰ模型求解的收斂時(shí)間約0.3 s;而CVZNN-Ⅰ模型求解的收斂時(shí)間至少2.3 s。可見在收斂速度方面,FLSVZNN-Ⅰ模型明顯優(yōu)于CVZNN-Ⅰ模型。FLSVZNN-Ⅱ模型的結(jié)果類似。這驗(yàn)證了在CVZNN神經(jīng)網(wǎng)絡(luò)加入模糊邏輯系統(tǒng)產(chǎn)生的模糊參數(shù)v后,兩個(gè)FLSVZNN模型相對于兩個(gè)CVZNN模型性能更優(yōu)。
FLSVZNN模型在不同激活函數(shù)作用下的收斂時(shí)間見表1。

表1 FLSVZNN模型在不同激活函數(shù)作用下的收斂時(shí)間Table 1 Convergence time of FLSVZNN models under different activation functions s
本研究針對求解時(shí)變復(fù)數(shù)西爾維斯特方程的問題,提出了兩種新型的復(fù)值模糊神經(jīng)網(wǎng)絡(luò)。根據(jù)李亞普諾夫定理,對這兩種FLSVZNN模型的收斂性能進(jìn)行了理論分析,并計(jì)算了FLSVZNN模型和CVZNN模型的收斂速度,驗(yàn)證了FLSVZNN模型求解的有效性和可行性。最后由數(shù)值仿真可知,與傳統(tǒng)的激活函數(shù)相比,使用改進(jìn)的SBP函數(shù)來激活的兩種FLSVZNN模型,收斂速度更快。