董志貴,王福林,宋慶鳳,吳志輝
(1.東北農業(yè)大學 工程學院,哈爾濱 150030;2.遼寧何氏醫(yī)學院 臨床學院,沈陽 110027)
黑箱問題是一個內部結構及相互作用關系未知的復雜系統(tǒng),具有函數(shù)關系表達式不明確、高維、非凸性或目標函數(shù)不可導等特性。因此,黑箱問題的優(yōu)化成為科學研究和工程應用領域的一類數(shù)學難題。對該類問題進行優(yōu)化研究的傳統(tǒng)方法是利用試驗設計方法制定合理的試驗方案進行試驗,獲得輸入與輸出之間的對應數(shù)據關系后進行回歸擬合,得出輸入與輸出的回歸模型,最后通過對各因素間變化規(guī)律的分析或模型的優(yōu)化找出一種最優(yōu)組合。隨著BP(Back Propagation)神經網絡算法的發(fā)展和成熟,BP神經網絡模型成為黑箱問題函數(shù)關系擬合的主要方法,且理論證明三層BP神經網絡結構可以任意精度逼近復雜的非線性函數(shù)關系[1-3]。BP神經網絡擬合后,人們通常采用數(shù)值模擬法[4-7]、正交試驗設計[8]、遺傳算法[9]等方法獲取黑箱問題的一種最優(yōu)組合。但是,這些方法存在計算過程復雜或收斂過快的缺點,有時無法獲得問題的全局最優(yōu)解。
近幾年,人們在BP神經網絡擬合的基礎上,開始研究基于BP神經網絡的優(yōu)化方法[10-12]?;贐P神經網絡的優(yōu)化方法是文獻[10]提出的一種全局搜索優(yōu)化方法,但該文理論研究不夠系統(tǒng),且求解有約束優(yōu)化問題時不能保證解在可行域內。文獻[11]和文獻[12]以單級Sigmoid傳遞函數(shù)構建BP神經網絡模型進行優(yōu)化方法研究,搜索方向選取網絡輸出對輸入的梯度方向;搜索步長的初始值為常數(shù),并在迭代過程中通過比較新舊迭代點網絡輸出值的優(yōu)劣進行步長變換,下一次迭代的搜索步長繼承上次迭代的搜索步長。該方法將BP神經網絡的擬合與優(yōu)化相結合,具有模型結構簡單,收斂速度快,參數(shù)調整方便的優(yōu)點,同時不依賴于目標函數(shù)的數(shù)學性質,可有效求解復雜的優(yōu)化問題,特別是黑箱優(yōu)化問題。
本文在前面研究的基礎上,對基于BP神經網絡的無約束優(yōu)化方法的理論進行深入探討和改進,研究提出以雙曲正切傳遞函數(shù)構造BP神經網絡模型的優(yōu)化方法,推導雙曲正切傳遞函數(shù)為BP神經網絡輸出對輸入的偏導數(shù),并對迭代的搜索步長進行改進,給出一種試驗步長法確定每次迭代的初始試驗步長。該方法的提出,完善了BP神經網絡無約束優(yōu)化方法的理論與應用,為以后研究基于BP神經網絡的有約束優(yōu)化方法奠定堅實的理論基礎。
本文采用應用最為廣泛的三層BP神經網絡作為網絡結構模型,其結構如圖1所示。網絡的輸入層節(jié)點數(shù)根據輸入變量的數(shù)量確定,隱含層節(jié)點數(shù)根據經驗公式確定[13],輸出層節(jié)點數(shù)根據輸出變量的數(shù)量確定。
圖1三層BP神經網絡結構圖
BP神經網絡算法的學習過程分為輸入信號的正向傳播和誤差信號的反向傳播,傳播過程遵循鏈式求導法則。正向傳播過程,即訓練樣本作為輸入信號從輸入層開始逐層計算各層神經元的凈輸入和輸出直到輸出層為止。若輸出層的實際輸出與期望輸出的誤差不能滿足期望精度,則轉入誤差的反向傳播過程。誤差信號的反向傳播則是由輸出層開始逐層計算各層神經元的輸出誤差,并根據誤差梯度下降原則調節(jié)各層的權重和閾值,使修正后的網絡輸出和期望輸出的誤差逐步減小。這種信號正向傳播與誤差反向傳播的學習訓練過程周而復始地進行,直到網絡的實際輸出與期望輸出的誤差小于期望精度或達到預先設定的學習次數(shù)為止[13]。
為確保問題的一般性,以BP神經網絡的輸出極小化為例進行優(yōu)化方法闡述,設輸入向量與輸出向量之間的關系為F(X),基于BP神經網絡的無約束優(yōu)化問題的一般數(shù)學模型為:
式中,X為輸入向量,X=(x1,x2,…,xn)T,Rn為可行域,Y為BP神經網絡的輸出向量。若問題為求BP神經網絡的極大值,可通過maxF(X)=min[-F(X)]完成目標函數(shù)的轉換。
基于BP神經網絡的優(yōu)化方法的基本思路是先人為或隨機選定一個初始點X(t)(t=0),計算X(t)點的梯度,若X(t)點的梯度不滿足終止準則,則沿X(t)點的負梯度方向搜索獲得優(yōu)于X(t)的新點X(t+1),然后再計算點X(t+1)的梯度,若X(t+1)點的梯度不滿足終止準則,則進行下一次迭代。如此繼續(xù)下去,直到求得的X(t+1)點滿足終止原則或無法求到更好的點為止。此時X(t+1)點的數(shù)值為最優(yōu)解,對應的網絡輸出為最優(yōu)值。
由于函數(shù)F(X)的梯度向量為:
所以只要求出函數(shù)F(X)的一階偏導數(shù),就能求出函數(shù)F(X)的梯度。下面以雙曲正切傳遞函數(shù)推導BP神經網絡輸出對輸入的一階偏導數(shù)。記xi(i=1,2,…,n)為網絡的第i輸入變量,yk(k=1,2,…,q)為網絡的第k個輸出。雙曲正切函數(shù)的一般形式為:
式中,a為常數(shù)項。
雙曲正切函數(shù)的一階導數(shù)為:
則:
所以:
按無約束優(yōu)化的基本原理,每次迭代后需要判斷迭代點X(t)是否收斂,即判斷迭代點X(t)是否為最優(yōu)點。若迭代點X(t)的梯度滿足:
步驟3:利用步驟1中保存的網絡權值和閾值進行正向傳播計算,得出X(t)點的網絡輸出F(X(t)),按式(10)計算X(t)點的梯度 ?F(X(t))。
步驟4:判斷X(t)點的梯度模是否滿足式(11),若滿足,迭代終止,X(t)為最優(yōu)解,其對應的網絡輸出Y為最優(yōu)值;否則,轉步驟5。
步驟5:選取X(t)點的負梯度-?F(X(t) ) 為搜索方向,按計算公式[14]:計算試驗步長λ。
步驟6:以X(t)迭代點進行迭代,獲得新的迭代點X(t+1):步驟7:正向傳播計算X(t+1)點的網絡輸出F(X(t+1)),判斷F(X(t+1))是否滿足:若滿足,轉步驟8;否則,轉步驟9。
條件時迭代收斂,X(t)為最優(yōu)解,其對應的網絡輸出Y為最優(yōu)值。式中,ε為預先設定的收斂精度。
基于BP神經網絡的無約束優(yōu)化方法及其實現(xiàn)流程如下:
步驟1:根據已知輸入輸出數(shù)據創(chuàng)建BP神經網絡模型,初始化網絡的權值和閾值,預設網絡期望誤差精度后進行學習訓練,滿足期望誤差精度要求后結束訓練,保存網絡的權值、閾值。
步驟2:人為或隨機產生一個初始迭代點X(t)(t=0),給定收斂精度ε。
步驟8:令:
按照式(13)重新計算產生新的迭代點X(t+1),正向傳播計算X(t+1)點的網絡輸出F(X(t+1)),并判斷F(X(t+1))是否滿足式(14)。若滿足,轉步驟8;否則,令X(t+1)=X0,轉步驟10。
步驟9:令:按照式(13)重新計算產生新的迭代點X(t+1),重新進行正向傳播計算X(t+1)點的網絡輸出F(X(t+1)),并判斷F(X(t+1))是否滿足式(14)。若不滿足,轉步驟9;否則,轉步驟10。
步驟10:判斷X(t+1)點的梯度模是否滿足式(11),若滿足,迭代終止,X(t+1)為最優(yōu)解,其對應的網絡輸出Y為最優(yōu)值;否則,令t=t+1,轉步驟4。
基于BP神經網絡的無約束優(yōu)化方法主要應用于黑箱問題的優(yōu)化,而黑箱問題最優(yōu)解的不確定性又導致無法檢驗優(yōu)化方法的精度和穩(wěn)定性。為解決這一突出矛盾,本文選取兩個已知函數(shù)進行離散化,利用離散化的數(shù)據作為訓練樣本完成對BP神經網絡的擬合訓練;然后運用本文中提出的優(yōu)化方法求解網絡輸出的極值,將優(yōu)化得出的最優(yōu)值與理論最優(yōu)值進行對比分析,進而檢驗基于BP神經網絡無約束優(yōu)化方法的精度和穩(wěn)定性。
設無約束優(yōu)化問題[15]:
該函數(shù)為典型的二維單峰函數(shù),其理論最優(yōu)解為X=(2,1),最小值為F(X)=2。試用BP神經網絡對函數(shù)進行擬合,并求擬合后網絡輸出的最小值。首先對變量X進行離散化處理,離散區(qū)間為[-8,8],離散水平為等距的9水平,產生離散樣本81個;然后按式(18)計算離散樣本對應的F(X)值。根據輸入輸出變量數(shù)量和網絡性能測試結果,選取2-10-1的網絡結構對離散樣本進行擬合訓練,歸一化區(qū)間為[-0.6,0.6],擬合誤差精度設定為10-6。訓練后輸入層至隱含層的權值矩陣W、隱含層閾值θ1,隱含層至輸出層的權值矩陣V、輸出層閾值θ2分別為:
此時網絡擬合的平均相對誤差為0.0517%,選取8個不同的隨機初始點,按本文中給出的優(yōu)化方法求minF(X)。當ε=10-4、φ=1.1、μ=0.5時求取函數(shù)的最小值,優(yōu)化計算結果見表1所示。Fˉ為8次優(yōu)化結果的平均值。
表1 示例一優(yōu)化計算結果
該函數(shù)又稱Rosenbrock函數(shù),其全局最優(yōu)點位于一個平滑、狹長的拋物線形山谷內,由于函數(shù)為優(yōu)化算法提供的信息比較有限,許多算法很難辨別搜索方向[17]。無約束優(yōu)化問題的理論最優(yōu)解為X=(1,1),最優(yōu)值為F(X)=2。試用BP神經網絡對函數(shù)進行擬合,并求擬合后網絡輸出的最小值。首先對自變量X進行離散化處理,離散區(qū)間為[-5,5],離散水平為等距的11水平,產生離散樣本121個,然后按式(19)計算離散樣本對應的F(X)值。根據輸入輸出變量的數(shù)量和網絡性能測試結果,選取2-15-1的網絡結構對離散樣本進行擬合訓練,歸一化區(qū)間為[-0.6,0.6],擬合誤差精度設定為10-6。訓練后輸入層至隱含層的權值矩陣W、隱含層閾值θ1,隱含層至輸出層的權值矩陣V、輸出閾值θ2分別為:
此時網絡擬合的平均相對誤差為0.0433%,選取8個不同的隨機初始點,按本文中給出的優(yōu)化方法求minF(X)。當ε=10-4、φ=1.1、μ=0.5時求取函數(shù)的最小值,優(yōu)化計算結果見表2所示。Fˉ為8次優(yōu)化結果的平均值。
設無約束優(yōu)化問題[16]:
表2 示例二優(yōu)化計算結果
由表1可知,示例一中近似最優(yōu)解x1的平均相對誤差為0.0250%,x2的平均相對誤差為0.0200%,最優(yōu)值的相對誤差為0.0250%。由表2可知,示例二中近似最優(yōu)解x1的平均相對誤差為0.0800%,x2的平均相對誤差為0.0200%,最優(yōu)值的相對誤差為0.0550%。示例驗證表明:(1)該方法優(yōu)化結果穩(wěn)定,從不同的初始點進行優(yōu)化搜索均能獲得相同的優(yōu)化結果;(2)優(yōu)化結果的實際值逼近理論值的精度較高,相對平均誤差較小,且誤差中包含了擬合誤差引起的優(yōu)化誤差;(3)BP神經網絡擬合與優(yōu)化過程中,數(shù)據的歸一化與反歸一化引起的誤差對優(yōu)化結果影響可忽略不計。
(1)本文提出一種基于雙曲正切傳遞函數(shù)BP神經網絡的無約束優(yōu)化方法,使BP神經網絡的擬合與優(yōu)化聯(lián)系起來,在BP神經網絡實現(xiàn)函數(shù)關系擬合的基礎上,通過對網絡輸入的迭代搜索獲得網絡輸出的極值。該方法的提出,進一步完善了BP神經網絡的無約束優(yōu)化方法的理論,擴大了BP神經網絡的應用范圍。
(2)本文結合BP神經網絡輸出最小化數(shù)學模型,給出了基于BP神經網絡的無約束優(yōu)化問題的基本思路,推導給出了網絡輸出對輸入的偏導數(shù)(梯度),在此基礎上,給出了基于BP神經網絡的無約束優(yōu)化方法的終止準則,及優(yōu)化方法及實現(xiàn)流程。
(3)本文給出了每次迭代初始試驗步長的計算公式和試驗步長的調整原則,確保每次搜索均獲得該搜索方向的最優(yōu)值,加快了優(yōu)化速度。
(4)示例驗證表明,本文給出的優(yōu)化方法是解決黑箱優(yōu)化問題的一種穩(wěn)定可行算法。