張繼超
(揚(yáng)州大學(xué)數(shù)學(xué)科學(xué)學(xué)院,江蘇 揚(yáng)州 225009)
常微分方程在工程中占據(jù)著重要的作用,許多物理過程都需要通過常微分方程進(jìn)行描述,但是實(shí)際應(yīng)用中往往得不到微分方程的解析解,這時(shí)利用計(jì)算機(jī)模擬出數(shù)值解也是一個(gè)不錯(cuò)的方案。自計(jì)算機(jī)發(fā)明以來,強(qiáng)大的算力帶給了科學(xué)計(jì)算無限的可能,出現(xiàn)了各種不同的微分方程數(shù)值解方法,最常見的如歐拉法、龍格庫塔法、阿當(dāng)姆斯法等等,這些方法的本質(zhì)都是一種離散,對(duì)時(shí)間分量取步長(zhǎng)做分割,然后利用不同的迭代公式從給定的初始條件一步步計(jì)算每一個(gè)分點(diǎn)上的值,大部分情況下這類方法得到的結(jié)果能夠滿足實(shí)際應(yīng)用,但若想進(jìn)一步提高精度,則需要縮小步長(zhǎng),提高迭代次數(shù),大大地增加了計(jì)算量。
近年來,機(jī)器學(xué)習(xí)迅速崛起,其中應(yīng)用最廣泛的當(dāng)屬神經(jīng)網(wǎng)絡(luò)算法,其在函數(shù)逼近、數(shù)據(jù)擬合、圖像識(shí)別等場(chǎng)合具有廣泛的用途,并且由于激活函數(shù)的作用,神經(jīng)網(wǎng)絡(luò)算法得出的結(jié)果是無窮連續(xù)可微的函數(shù),在微分方程構(gòu)建的工程背景下,無窮可微的函數(shù)往往會(huì)比一個(gè)個(gè)離散的數(shù)據(jù)點(diǎn)更加實(shí)用,因此也吸引了很多學(xué)者利用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行微分方程數(shù)值解的探索:徐理英[1]等人運(yùn)用余弦基神經(jīng)網(wǎng)絡(luò)近似代替常微分方程初值問題中的解析解,較各類差分方法提高了靈活性,但精度稍顯不足。楊震[2]等人采用基礎(chǔ)的單層神經(jīng)網(wǎng)絡(luò),將常微分方程的殘差及初邊值條件殘差之和作為損失函數(shù),但由于缺少對(duì)初值的處理,導(dǎo)致該方法對(duì)參數(shù)初始化的要求較高。Yazdi[3]等人運(yùn)用無監(jiān)督學(xué)習(xí)的方式訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)求解微分方程,具有更廣的適用范圍。Susmita[4]等人結(jié)合了正交多項(xiàng)式構(gòu)建了Chebyshev神經(jīng)網(wǎng)絡(luò),大大減少了網(wǎng)絡(luò)所需的參數(shù)的同時(shí),保持了較高的精度,但是仍然使用反向傳播進(jìn)行多次迭代實(shí)現(xiàn)參數(shù)的最優(yōu)化,導(dǎo)致訓(xùn)練的過程需要大量的計(jì)算。Panghal[5]、Dwivedi[6]、Schiassi[7]等人提出了應(yīng)用ELM算法代替反向傳播確定網(wǎng)絡(luò)參數(shù),僅需要單層的網(wǎng)絡(luò)即可實(shí)現(xiàn)得到較高精度的微分方程數(shù)值解,該方法消除了耗時(shí)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練優(yōu)化過程,但又沒有脫離常規(guī)的線性加偏置的神經(jīng)元的范疇,考慮到單層神經(jīng)網(wǎng)絡(luò)對(duì)函數(shù)逼近的效果較差,故需要增加大量的神經(jīng)元。Mingjie[8]、Martin Frank[9]等人開始嘗試?yán)酶黝惿窠?jīng)網(wǎng)絡(luò)算法求解更復(fù)雜的微分方程,提出了幾類保證守恒性質(zhì)的方法以及正確的流體動(dòng)力學(xué)極限,這也是微分方程數(shù)值解最前沿也是最亟待攻克的領(lǐng)域。
ELM算法是一種求解單隱層神經(jīng)網(wǎng)絡(luò)的算法,最大的特點(diǎn)是比傳統(tǒng)的梯度下降算法有更高的計(jì)算效率,因?yàn)槠鋬H需要經(jīng)過一次最小二乘法,解出神經(jīng)元矩陣的廣義逆便可更新參數(shù),且保證了較好的學(xué)習(xí)精度。Chebyshev神經(jīng)網(wǎng)絡(luò)以及引申出的一系列正交函數(shù)列構(gòu)建而成的神經(jīng)網(wǎng)絡(luò)雖然也只需要單層的神經(jīng)網(wǎng)絡(luò),但由于這些正交多項(xiàng)式對(duì)函數(shù)的高逼近作用,極大減少了對(duì)神經(jīng)元和參數(shù)的需求量。基于這兩者的特點(diǎn),本文嘗試將ELM算法與Chebyshev神經(jīng)網(wǎng)絡(luò)結(jié)合,得到一種新穎的常微分方程數(shù)值解方法。
當(dāng)前,對(duì)常微分方程進(jìn)行數(shù)值求解通常采用TFC理論,根據(jù)該理論,微分方程未知或潛在的解通過約束表達(dá)式進(jìn)行近似,約束表達(dá)式包括一個(gè)解析的、滿足給定初始條件的函數(shù),以及一個(gè)可自由選擇的函數(shù)組成,利用神經(jīng)網(wǎng)絡(luò)求解常微分方程的過程就是尋找后者這樣的自由函數(shù),即先構(gòu)建一個(gè)具有未知參數(shù)的試解,再通過一系列方法確定最優(yōu)的參數(shù)。對(duì)于一個(gè)給定的n階常微分方程:

其有n個(gè)可能存在于各階導(dǎo)數(shù)和各個(gè)定義域處的初始值:

針對(duì)此,結(jié)合TFC理論的思想,構(gòu)建的網(wǎng)絡(luò)應(yīng)滿足如下格式:

其中J滿足了(3)中的初始條件,為尋找滿足該條件的函數(shù),最樸素的做法便是構(gòu)造一個(gè)n-1次多項(xiàng)式,不論初始條件是在何點(diǎn),是在何階,最終都可以將問題轉(zhuǎn)為一個(gè)簡(jiǎn)單的n階線性方程組,如此便可確定出J。而G則需要消除初始值的影響,避免影響需要進(jìn)行參數(shù)調(diào)整的N,同樣樸素的方式便是用如下方法構(gòu)造:

其最終也會(huì)轉(zhuǎn)化為一個(gè)n階齊次線性方程組。當(dāng)然,在實(shí)際應(yīng)用中,為了使得計(jì)算更加簡(jiǎn)潔方便,可以根據(jù)待解決的常微分方程形式來構(gòu)造這兩個(gè)函數(shù)。
而N則是構(gòu)造試解最核心的部分,利用神經(jīng)網(wǎng)絡(luò)算法求解常微分方程的過程其實(shí)就是確定N的過程,本文將采用以下的ChNN結(jié)構(gòu):

其中g(shù)是作為激活函數(shù)的存在,因?yàn)楹罄m(xù)的ELM算法需要這樣一個(gè)無限可微的函數(shù),并且為了得到微分方程的一種無窮可微的近似解,所以選取sigmod和tanh等自身無窮可微的函數(shù)作為激活函數(shù)是較好的選擇。
正交多項(xiàng)式是函數(shù)逼近的重要工具,把一個(gè)復(fù)雜的函數(shù)用一系列簡(jiǎn)單函數(shù)的線性組合來表示,更便于提高計(jì)算效率,而在利用神經(jīng)網(wǎng)絡(luò)算法求解微分方程的過程中有一步構(gòu)造試解的步驟,若希望將最基礎(chǔ)的線性加偏置的神經(jīng)元應(yīng)用于逼近函數(shù)中,則需要增加網(wǎng)絡(luò)的深度和神經(jīng)元的個(gè)數(shù),但使用正交多項(xiàng)式進(jìn)行函數(shù)逼近則大大減少了所需的參數(shù)。Chebyshev多項(xiàng)式是最常用的正交多項(xiàng)式,它有以下的遞推式:

ChNN的結(jié)構(gòu)如圖1所示,它是一個(gè)單層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),每個(gè)神經(jīng)元都由一個(gè)Chebyshev多項(xiàng)式拓展而成,連接層上是每個(gè)神經(jīng)元的權(quán)重。

圖1 ChNN的結(jié)構(gòu)
相較于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò),該結(jié)構(gòu)的優(yōu)勢(shì)在于只需要單層的網(wǎng)絡(luò),在實(shí)際的應(yīng)用中只需要調(diào)整每個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)重便可實(shí)現(xiàn)網(wǎng)絡(luò)的訓(xùn)練。選取該ChNN作為試解的N,以下只需要確定出各數(shù)據(jù)元的權(quán)重便可得到微分方程的一個(gè)無窮可微的近似解。
對(duì)于(6)式的單層神經(jīng)網(wǎng)絡(luò),假設(shè)在常微分方程的定義域內(nèi)平均選取了N個(gè)樣本點(diǎn)(xi,ti),若選取了L個(gè)神經(jīng)元,則神經(jīng)網(wǎng)絡(luò)的效果表現(xiàn)為:

傳統(tǒng)的一些梯度下降法的算法,可以用來求解(9)中的問題,但是這些方法往往都需要進(jìn)行多次迭代來調(diào)整參數(shù),訓(xùn)練時(shí)間較長(zhǎng),當(dāng)問題復(fù)雜化時(shí),這樣的迭代的過程計(jì)算量會(huì)非常巨大,反而不利于實(shí)際的應(yīng)用。而ELM算法則可以很好地解決反向傳播算法需要大量迭代過程的缺點(diǎn),其本質(zhì)上是將問題轉(zhuǎn)化為了一個(gè)簡(jiǎn)單的最小二乘問題,于是β可以直接解出:

其中H(n)+是矩陣H(n)的Moore-Penrose廣義逆,并且β的解可證明是唯一的,這樣便可以在極短的時(shí)間內(nèi)求解出合適的參數(shù),由此便完成了整個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)建,從而得到了常微分方程的一個(gè)解析的近似解。
下面給出該方法在實(shí)際求解中的樣例測(cè)試,現(xiàn)給定常微分方程:

將通過ELM算法求得出的數(shù)值解結(jié)果與其他方法進(jìn)行比較,見表1。
本樣例中使用了20個(gè)神經(jīng)元,精度已然高于文獻(xiàn)[3]中通過反向傳播迭代產(chǎn)生的結(jié)果,若采用更多神經(jīng)元,并對(duì)參數(shù)初始值進(jìn)行優(yōu)化,則能夠進(jìn)一步提高精。由此為數(shù)值計(jì)算開辟了一條新途徑,并且可以得到一個(gè)無窮可微的結(jié)果形式,滿足工程中需要對(duì)方程進(jìn)行求導(dǎo)的特殊需求,也可以得到方程定義域內(nèi)任意一處的近似值,因此本算法具有較高的應(yīng)用價(jià)值。

表1 結(jié)果對(duì)比
本文討論的一種基于ELM算法的Chebyshev神經(jīng)網(wǎng)絡(luò)是一種新穎的、快速的求解常微分方程數(shù)值解的方法,結(jié)合了ELM算法的較高的計(jì)算效率和Chebyshev神經(jīng)網(wǎng)絡(luò)的參數(shù)少、高逼近的優(yōu)點(diǎn),最終用實(shí)例證明方法切實(shí)可行且較其他的一類神經(jīng)網(wǎng)絡(luò)算法有一定的優(yōu)勢(shì),但是精度仍待進(jìn)一步提高。未來,作者考慮從擴(kuò)充未知量的個(gè)數(shù)以及方程的個(gè)數(shù)出發(fā)將算法細(xì)節(jié)優(yōu)化,此外研究該算法在偏微分方程數(shù)值解以及方程組數(shù)值解上的效果也是一個(gè)具有較高價(jià)值的研究方向。