李佳維,申永軍,楊紹普
(1.石家莊鐵道大學(xué) 交通工程結(jié)構(gòu)力學(xué)行為與系統(tǒng)安全國家重點實驗室,石家莊 050043;2.石家莊鐵道大學(xué) 機械工程學(xué)院,石家莊 050043)
從分數(shù)階微積分提出至今已有三百多年的歷史。在很長一段時間里,由于缺乏相應(yīng)的物理背景,它一直被當做一種數(shù)學(xué)的純理論研究。隨著科學(xué)技術(shù)的發(fā)展,研究人員漸漸意識到分數(shù)階微積分對于解決相關(guān)的實際問題,是一種高效且精確的數(shù)學(xué)工具。目前,分數(shù)階微積分被廣泛地應(yīng)用于很多領(lǐng)域,如自動控制[1-2]和系統(tǒng)識別[3-4]等。
梯度下降法是在待求極值點的目標函數(shù)為凸函數(shù)的情況下最基礎(chǔ)的優(yōu)化方法[5],廣泛應(yīng)用于系統(tǒng)辨識[6-7]、圖像處理[8-9]、自適應(yīng)濾波[10-11]等方面。雖然分數(shù)階微積分與梯度下降法在各自的領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,但是將兩者結(jié)合的研究剛剛起步。Pu等[12]首次提出針對二元函數(shù)的分數(shù)階梯度下降法,該方法嚴格按照分數(shù)階微積分來定義,但是得到的極值點并非目標函數(shù)實際的極值點,而是在實際極值點的附近。Chen等[13]研究了分數(shù)階梯度下降法中的分數(shù)階微分下限隨迭代過程變化的情況,并且通過高階截斷,進一步簡化了分數(shù)階梯度下降法。衛(wèi)一恒提出針對不改變分數(shù)階微分下限的變階次分數(shù)階梯度下降法,保證了在微分下限不變的情況下,分數(shù)階梯度下降法依然可以收斂至真正的目標函數(shù)極值點。程松松[14]針對分數(shù)階LMS自適應(yīng)濾波算法,提出迭代階次混合切換機制,明顯提高了濾波算法的性能。李大字等[15]構(gòu)造了一種基于分數(shù)階梯度下降法的模型預(yù)測控制器。由于分數(shù)階微積分所特有的良好性質(zhì),分數(shù)階梯度下降法已經(jīng)在LMS濾波[16]、系統(tǒng)辨識[17-18]等方面得到了應(yīng)用。
為了進一步優(yōu)化分數(shù)階梯度下降法的性能,解決迭代過程中收斂速度與收斂精度之間的矛盾,本文在前述研究的基礎(chǔ)上,提出了三種不同的分數(shù)階階次設(shè)置方法,旨在得到更好的尋優(yōu)結(jié)果。
梯度下降法是求解無約束優(yōu)化問題最常用的方法之一,它是利用一階梯度求解目標函數(shù)極小值的算法。假設(shè)目標函數(shù)為f(x),則梯度下降法的迭代過程為
xk+1=xk-μ·?f(xk) (k=0,1,2,…)
(1)
式中:x(k)表示當前的自變量值;x(k+1)表示待求的下一個位置;μ代表學(xué)習(xí)率,它決定了自變量移動到最優(yōu)值的速度快慢;?f(xk)是當前位置的一階梯度。當目標函數(shù)梯度的絕對值小于某一預(yù)設(shè)的極小正數(shù)時,迭代停止,此時的x(k)為求得的優(yōu)化結(jié)果。
Caputo分數(shù)階微分定義為
(2)
式中:c和x代表微分的上下限,且c通常取0或者-∞;α代表微分的階次,n-1<α (3) 對式(2)進行泰勒級數(shù)展開[19-20],得到 (4) 將式(1)中的一階梯度替換為分數(shù)階梯度,可得分數(shù)階梯度下降法的迭代算法 xk+1=xk-μ·?αf(x) (5) 為方便分析分數(shù)階梯度下降法(fractional-order gradient descent method,F(xiàn)OGDM)的性質(zhì),將式(4)代入式(5)中,得 (6) 以一般的一元二次函數(shù)f(x)=ax2+bx+g為例,利用分數(shù)階梯度下降法求該函數(shù)的極值點x*。取泰勒級數(shù)的前兩項,具體迭代算法為 (7) 當a=1,b=-12,g=36時,f(x)=x2-12x+36,f(1)(x)=2(x-6),f(2)(x)=2,代入式(7),得 (8) 給定c=0,x0=-1,μ=0.1,并且設(shè)置分數(shù)階階次依次為α1=1,α2=0.7,α3=1.5,從而得到迭代結(jié)果如圖1所示。從圖中可見常規(guī)梯度下降法可以保證系統(tǒng)收斂至目標函數(shù)實際極值點,而原始的分數(shù)階梯度下降法則不能,原因在于它的迭代終止條件 圖1 分數(shù)階梯度下降法與常規(guī)梯度下降法迭代過程曲線Fig.1 Iteration process curves of fractional-order and conventional gradient descent methods (9) 不僅與x有關(guān),而且與微分下限c和微分階次α都有關(guān)系。 將式(6)中的微分下限由固定點c替換為x(k-1),使得微分下限隨迭代過程變化,得到 (10) 在梯度下降法的迭代過程中,迭代點將很快滿足|xk-xk-1|<1。當分數(shù)階階次α范圍在(0,1)時,在式(10)中,保留右側(cè)級數(shù)第一項。此時,簡化的分數(shù)階梯度下降法為 (11) 將常數(shù)Γ(2-α)與μ合并,同時仍用μ表示。為了與常規(guī)梯度下降法保持一致,將導(dǎo)數(shù)中的x(k-1)用x(k)替換,得 xk+1=xk-μ·f(1)(xk)·(xk-xk-1)1-α (12) (13) 顯然α=1時上式退化為常規(guī)的梯度下降法。進一步研究發(fā)現(xiàn)式(13)也適用于α∈(1,2)的情況,因此上式算法適用于分數(shù)階階次α∈(0,2)的情況。如果算法收斂,那么,一定收斂至目標函數(shù)真實的極值點。 假設(shè)目標函數(shù)仍為f(x)=x2-12x+36,已知真實極值點為x*=6,利用式(13)求解目標函數(shù)極小值點。不同分數(shù)階階次依次設(shè)置為:α1=0.7,α2=0.9,α3=1.0,α4=1.4,α5=1.7,圖2給出了不同階次分數(shù)階梯度下降法的迭代過程對比結(jié)果。由圖可知,在系統(tǒng)穩(wěn)定的前提下,當階次α∈(0,1)時,分數(shù)階梯度下降法保證系統(tǒng)漸進穩(wěn)定地收斂至目標函數(shù)極值點;當階次α∈(1,2)時,分數(shù)階梯度下降法使得系統(tǒng)有超調(diào)地收斂至目標函數(shù)極值點。 圖2 不同階次分數(shù)階梯度下降法的迭代過程曲線Fig.2 Iteration process curves of fractional-order gradient descent methods with different orders 利用分數(shù)階梯度下降法求解目標函數(shù)極值點的過程中,階次不同將會導(dǎo)致不同的收斂速度和收斂精度。為了解決二者之間的矛盾,本文提出了三種改進的變階次分數(shù)階梯度下降法。 第一種是連續(xù)變階次分數(shù)階梯度下降法,其中設(shè)計變階次的形式為 (14) 式中,δ為一正值。在迭代初始位置,由于x(k)與x(k-1)差別較大,此時分數(shù)階階次值較高,相較于整數(shù)階梯度下降法,有更快的收斂速度,隨著迭代過程的進行,當|xk-xk-1|→0時,α(xk)→1.1,此時分數(shù)階梯度下降法轉(zhuǎn)化為常規(guī)梯度下降法,使得變階次梯度下降法具有與常規(guī)梯度下降法相近的收斂精度。 因此,利用上述形式的α(xk),分數(shù)階梯度下降法可以獲得與高階相近的收斂速度,又可以保持與常規(guī)梯度下降法相近的收斂精度。 在分數(shù)階梯度下降法的迭代過程中,高階次(1<α<2)可以獲得比常規(guī)梯度下降法快的收斂速度,但是它的收斂精度相較于常規(guī)梯度下降法有一定程度的下降;低階次(0<α<1)可以獲得比常規(guī)梯度下降法更高的收斂精度,但是收斂速度相較于常規(guī)梯度下降法大幅減慢。 由此分析可知,如果在迭代的起始位置利用高階次梯度下降法,隨著迭代過程的進行,當目標函數(shù)梯度的絕對值小于某一預(yù)設(shè)的正值時,切換至低階次梯度下降法,整個迭代過程就可以獲得與高階次相近的收斂速度、與低階次相近的收斂精度,從而可以解決迭代過程中收斂速度與收斂精度不可兼得的矛盾。 在混合階次切換的分數(shù)階梯度下降法迭代過程中,初始迭代的高階次可以顯著提高迭代算法的收斂速度;當目標函數(shù)梯度絕對值下降至某一預(yù)設(shè)值,如果為了提高收斂精度而選擇一固定的低階次α,又會使迭代過程忽然變得很慢。由于與極值點收斂精度相關(guān)性最大的是接近極值點時刻的分數(shù)階階次,因此當目標函數(shù)梯度絕對值下降至某一預(yù)設(shè)值,將定階的高階次切換為一個減函數(shù)形式的低階次,則既可以保證迭代速度不至于忽然變得很慢,又可以保證算法的收斂精度。 低階階段的減函數(shù)形式可選為 (15) 式中:δ為一正值;β∈(0,1)。 在這一部分,我們選取Booth函數(shù)作為典型算例,來驗證本文提出的三種變階次方法對于分數(shù)階梯度下降法收斂能力的改進效果。其中Booth函數(shù)表達式為 f(x1,x2)=(x1+2x2-7)2+(2x1+x2-5)2 (16) 利用連續(xù)變階次的分數(shù)階梯度下降法求Booth函數(shù)極小值點。選取δ=0.15,變階次設(shè)置為 (17) 分數(shù)階階次依次設(shè)置為α1=α(xk),α2=1,α3=1.4。 圖3和4分別給出了x1和x2的三種不同階次的分數(shù)階梯度下降法的迭代過程曲線。相較于常規(guī)梯度下降法,收斂速度得到了提高,并且由于變階次函數(shù)α(x)在|xk-xk-1|→0時,α(xk)→1,最終可以獲得與整數(shù)階相似的收斂精度。 圖3 x1迭代過程曲線Fig.3 Iteration curves of x1 圖4 x2迭代過程曲線Fig.4 Iteration curves of x2 設(shè)高階次α=1.4,低階次α=0.9,高低階次切換的臨界條件是|f(1)(xk)|=0.000 02,為對比不同階次的迭代結(jié)果,分數(shù)階階次依次設(shè)置為:α=1.4 &0.9,α2=1.4,α3=0.9。 圖5和6分別給出了x1和x2的三種不同階次的分數(shù)階梯度下降法的迭代過程曲線。從圖中可見,利用混合階次切換的方法,同樣可以解決梯度下降法收斂速度與收斂精度不可兼得的矛盾。 圖5 x1迭代過程曲線Fig.5 Iteration curves of x1 設(shè)高階α=1.4,當目標函數(shù)梯度的范數(shù)小于0.000 02時,選取δ=0.15,β=0.9,分數(shù)階梯度下降法的階次切換成已知α(xk)減函數(shù),且α(xk)∈(0.9,1)。為對比迭代結(jié)果,分數(shù)階階次依次設(shè)置為:α1=1.4&α(xk),α2=1.4,α3=0.9。 圖6 x2迭代過程曲線Fig.6 Iteration curves of x2 (18) 圖7和8分別給出了x1和x2的三種不同階次的分數(shù)階梯度下降法的迭代過程曲線。結(jié)果驗證了本文方法的合理性,同樣可以解決在梯度下降法的迭代過程中,收斂速度與收斂精度不可兼得的矛盾,獲得良好的收斂結(jié)果。 圖7 x1迭代過程曲線Fig.7 Iteration curves of x1 本文首先介紹了分數(shù)階梯度下降法,揭示了高階梯度下降法(1<α<2)具有較快收斂速度和低階梯度下降法(0<α<1)具有較高收斂精度的特性,以及分數(shù)階梯度下降法在收斂速度與收斂精度兩者之間無法兼得的矛盾。在此基礎(chǔ)上,為結(jié)合高、低階各自良好的特性,提出三種變階次梯度下降法:連續(xù)變階次的梯度下降法、混合定階次切換的梯度下降法和高階定階低階變階的梯度下降法。其中,高階定階低階變階是對混合定階次切換方法的延伸。針對不同的目標函數(shù)和迭代要求,可以在三種變階方法中選取最合適的一種,提高參數(shù)優(yōu)化的收斂速度與收斂精度,從而為工程系統(tǒng)服務(wù)。 圖8 x2迭代過程曲線Fig.8 Iteration curves of x22 分數(shù)階梯度下降法
2.1 原始的分數(shù)階梯度下降法
2.2 改進的分數(shù)階梯度下降法
2.3 算法階次與收斂速度、收斂精度的關(guān)系
3 變階次分數(shù)階梯度下降法
3.1 連續(xù)變階次的分數(shù)階梯度下降法
3.2 混合階次切換的分數(shù)階梯度下降法
3.3 高階定階次低階變階次的混合分數(shù)階梯度下降法
4 仿真實驗
4.1 連續(xù)變階次的分數(shù)階梯度下降法的仿真
4.2 混合階次切換的分數(shù)階梯度下降法的仿真
4.3 高階定階次低階變階次的混合分數(shù)階梯度下降法的仿真
5 結(jié) 論