楊彥霞, 王 普, 高學(xué)金, 高慧慧, 齊澤洋
(1.北京工業(yè)大學(xué)信息學(xué)部, 北京 100124; 2.北京工業(yè)大學(xué)計(jì)算智能與智能系統(tǒng)北京市重點(diǎn)實(shí)驗(yàn)室, 北京 100124)
神經(jīng)網(wǎng)絡(luò)技術(shù)具有大規(guī)模并行處理能力、自適應(yīng)能力和高靈活性等優(yōu)點(diǎn),已成為機(jī)器學(xué)習(xí)和數(shù)據(jù)處理中非常受歡迎的工具。3層的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)(radial basis function neural network, RBFNN)和反向傳播(back propagation, BP)學(xué)習(xí)算法可以用足夠多的神經(jīng)元逼近任意非線性連續(xù)函數(shù)且達(dá)到任意精度,在現(xiàn)實(shí)任務(wù)中得到了廣泛的應(yīng)用[1-2]。在使用RBFNN模型來(lái)處理實(shí)際問(wèn)題時(shí),該模型通常包括選擇合適的網(wǎng)絡(luò)模型結(jié)構(gòu)以及高效的學(xué)習(xí)算法[3]。
RBFNN的結(jié)構(gòu)可由網(wǎng)絡(luò)層數(shù)、每層神經(jīng)元個(gè)數(shù)、網(wǎng)絡(luò)的所有連接以及神經(jīng)元的傳遞函數(shù)表示。眾所周知,RBFNN的性能對(duì)神經(jīng)元的數(shù)量極其敏感,神經(jīng)元數(shù)量過(guò)少會(huì)降低網(wǎng)絡(luò)的逼近能力,而神經(jīng)元數(shù)量過(guò)多又可能導(dǎo)致過(guò)擬合, 因此,實(shí)現(xiàn)更好的網(wǎng)絡(luò)性能和簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu)相互矛盾。多年實(shí)踐證明,RBFNN結(jié)構(gòu)的訓(xùn)練是一項(xiàng)具有挑戰(zhàn)性的任務(wù),而學(xué)習(xí)算法是RBFNN的核心。常用的學(xué)習(xí)算法是基于導(dǎo)數(shù)的優(yōu)化算法[4-6],如梯度下降 (gradient descent, GD) 方法、隨機(jī)梯度下降(stochastic gradient descent, SGD)方法、共軛梯度(conjugate gradient, CG)方法等。列文伯格-馬夸爾特(Levenberg Marquardt, LM)算法作為介于牛頓法與GD方法之間的一種非線性優(yōu)化方法[7-8],對(duì)過(guò)參數(shù)化問(wèn)題不敏感,并能有效處理冗余參數(shù)問(wèn)題,使代價(jià)函數(shù)陷入局部極小值的機(jī)會(huì)大大減小,在計(jì)算機(jī)視覺(jué)、分類、控制等領(lǐng)域得到了廣泛應(yīng)用。 RBFNN的學(xué)習(xí)過(guò)程是基于實(shí)際輸出和期望輸出之間的直接比較,通過(guò)迭代調(diào)整連接權(quán)值實(shí)現(xiàn)的,這種學(xué)習(xí)過(guò)程屬于監(jiān)督學(xué)習(xí)。其中,一種最常用的算法是基于GD的BP算法,即通過(guò)迭代調(diào)整權(quán)值,使誤差最小化。
迄今為止,傳統(tǒng)的RBFNN學(xué)習(xí)模型包括單目標(biāo)優(yōu)化模型和多目標(biāo)優(yōu)化模型。單目標(biāo)優(yōu)化模型是RBFNN訓(xùn)練中最常用、研究最廣泛的模型,它只包含一個(gè)基于網(wǎng)絡(luò)誤差的目標(biāo)。當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)固定時(shí),RBFNN的權(quán)值只能通過(guò)訓(xùn)練算法進(jìn)行優(yōu)化,目標(biāo)是使網(wǎng)絡(luò)誤差最小化[9-11]。當(dāng)同時(shí)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)和連接權(quán)值時(shí),目標(biāo)是使網(wǎng)絡(luò)誤差最小或網(wǎng)絡(luò)誤差和網(wǎng)絡(luò)復(fù)雜度的組合最小[12-13]。 需要注意的是,多目標(biāo)優(yōu)化模型通常包含2個(gè)相互矛盾的目標(biāo),即最小化網(wǎng)絡(luò)誤差和最小化隱藏單元數(shù)[14-15],并且多目標(biāo)模型的目的是實(shí)現(xiàn)精度和網(wǎng)絡(luò)結(jié)構(gòu)之間的最優(yōu)權(quán)衡。Goh等[16]設(shè)計(jì)了一個(gè)多目標(biāo)問(wèn)題,同時(shí),考慮了分類準(zhǔn)確性和網(wǎng)絡(luò)復(fù)雜性這2個(gè)相互沖突的目標(biāo)。 在文獻(xiàn)[17]中,Almeida等構(gòu)造了基于訓(xùn)練誤差、結(jié)構(gòu)復(fù)雜度和傳遞函數(shù)復(fù)雜度的雙目標(biāo)優(yōu)化問(wèn)題。其中:一個(gè)目標(biāo)是測(cè)試誤差、訓(xùn)練誤差、隱藏層的數(shù)量、隱藏節(jié)點(diǎn)的數(shù)量、傳遞函數(shù)權(quán)重5項(xiàng)信息的組合;另一個(gè)目標(biāo)是基于網(wǎng)絡(luò)誤差的測(cè)量。 Loghmanian等[18]同樣提出了多目標(biāo)策略,即最小化均方誤差和由輸入神經(jīng)元個(gè)數(shù)、輸出神經(jīng)元個(gè)數(shù)、隱藏層神經(jīng)個(gè)數(shù)組成的網(wǎng)絡(luò)復(fù)雜度。神經(jīng)網(wǎng)絡(luò)訓(xùn)練的另一個(gè)常見(jiàn)困難是神經(jīng)網(wǎng)絡(luò)中的非線性激活函數(shù)使模型收斂到局部最優(yōu)解而不是全局最優(yōu)解,模型性能不能達(dá)到最優(yōu)。為解決此問(wèn)題,提高訓(xùn)練效果,近幾十年來(lái)多位學(xué)者做了大量的工作,例如,將激活函數(shù)更改為線性函數(shù),并保持輸入和輸出的方差近似,利用Xavier初始化網(wǎng)絡(luò)權(quán)值[19]。然而,這類解決方案高度依賴于數(shù)據(jù)集的數(shù)據(jù)分布。之后,也有學(xué)者提出更改網(wǎng)絡(luò)結(jié)構(gòu),即非常著名的長(zhǎng)短時(shí)記憶(long short term memory, LSTM) 神經(jīng)網(wǎng)絡(luò),通過(guò)使用多門結(jié)構(gòu)控制狀態(tài)存儲(chǔ)器的流量,有效解決梯度消失[20-21]問(wèn)題。將激活函數(shù)更改為整流線性單元(rectified linear unit, ReLU)函數(shù)也有助于解決消失的梯度問(wèn)題[22-23],然而當(dāng)輸入為負(fù)數(shù)時(shí),神經(jīng)元呈死亡狀態(tài)。簡(jiǎn)而言之,輸出要么為0,要么為正,這極大限制了其實(shí)際應(yīng)用。
現(xiàn)有學(xué)習(xí)模型大都采用先通過(guò)訓(xùn)練模型架構(gòu)和參數(shù)得到最優(yōu)神經(jīng)網(wǎng)絡(luò)模型,再測(cè)試網(wǎng)絡(luò)性能的思路。此種機(jī)制將訓(xùn)練過(guò)程和測(cè)試過(guò)程分裂成彼此獨(dú)立的個(gè)體,前者不知后者,而后者亦看不到前者,在實(shí)際應(yīng)用時(shí),由此種機(jī)制導(dǎo)致的過(guò)擬合和欠擬合很難平衡。當(dāng)一個(gè)模型開(kāi)始記憶訓(xùn)練數(shù)據(jù)并以突觸權(quán)重的形式存儲(chǔ)知識(shí),而不是從中學(xué)習(xí)歸納趨勢(shì)或規(guī)則時(shí),極易引起過(guò)擬合或欠擬合問(wèn)題,從而導(dǎo)致泛化性能較差。
為了設(shè)計(jì)一種緊湊且具有良好泛化能力的RBFNN體系結(jié)構(gòu),本文構(gòu)建了一種以網(wǎng)絡(luò)結(jié)構(gòu)為領(lǐng)導(dǎo)者、以連接權(quán)值為跟隨者的雙層進(jìn)化學(xué)習(xí)模型,即基于混合雙層自組織徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的優(yōu)化學(xué)習(xí)(hybrid bilevel self-organizing radial basis function neural network optimization learning,Hb-SRBFNN-OL)算法。該方法是一個(gè)線性疊加多層神經(jīng)網(wǎng)絡(luò)的雙層進(jìn)化學(xué)習(xí)系統(tǒng),包括與網(wǎng)絡(luò)復(fù)雜度和測(cè)試誤差相關(guān)的上層結(jié)構(gòu)優(yōu)化部分,以及與訓(xùn)練誤差相關(guān)的下層參數(shù)優(yōu)化部分。其優(yōu)勢(shì)如下:
1) 不同于以往只使用元啟發(fā)式算法來(lái)優(yōu)化RBFNN的結(jié)構(gòu)和權(quán)值,該算法兼顧了訓(xùn)練誤差和測(cè)試誤差。上層優(yōu)化器用于優(yōu)化網(wǎng)絡(luò)架構(gòu),減少測(cè)試誤差,下層優(yōu)化器通過(guò)最小化訓(xùn)練誤差優(yōu)化給定的RBFNN權(quán)重。
2) 通過(guò)一個(gè)全局損失函數(shù)繞過(guò)消失梯度問(wèn)題和減少非凸優(yōu)化的負(fù)面影響,在訓(xùn)練速度和準(zhǔn)確性方面提高模型性能。
3) 將測(cè)試過(guò)程結(jié)果反饋給訓(xùn)練過(guò)程,通過(guò)持續(xù)交互、進(jìn)化學(xué)習(xí),有效解決了過(guò)擬合和欠擬合問(wèn)題。
為有效平衡神經(jīng)網(wǎng)絡(luò)訓(xùn)練中的過(guò)擬合和欠擬合,提出一種組合多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)框架,如圖1所示。
圖1 Hb-SRBFNN-OL框架
結(jié)構(gòu)調(diào)整模塊表示上層優(yōu)化器,基于測(cè)試誤差和網(wǎng)絡(luò)復(fù)雜度優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu);參數(shù)優(yōu)化模塊表示下層優(yōu)化器,基于訓(xùn)練誤差優(yōu)化網(wǎng)絡(luò)權(quán)值。Xte和Xtr分別表示測(cè)試輸入和訓(xùn)練輸入數(shù)據(jù),te和tr分別為它們對(duì)應(yīng)的預(yù)測(cè)輸出。RBFNN子網(wǎng)絡(luò)具有相同的結(jié)構(gòu)、不同的初始權(quán)值。
參數(shù)優(yōu)化模塊,即傳統(tǒng)的權(quán)值學(xué)習(xí)算法通過(guò)BP輸出誤差el,k(t)=k(t)-yk(t)更新第k個(gè)子網(wǎng)絡(luò)中的所有參數(shù),使預(yù)測(cè)輸出k(t)在t→∞時(shí)逐漸接近其真標(biāo)簽yk(t)。
(1)
(2)
φj(t)=e-‖X(t)-Cj(t)‖2/(2σj(t)2)
(3)
式中:wj(t)為t時(shí)刻第j個(gè)隱藏層神經(jīng)元與輸出之間的權(quán)重;φj(t)為第j個(gè)隱藏層神經(jīng)元在t時(shí)刻的輸出;Cj(t)=[cj1(t),cj2(t),…,cjI(t);j=1,2,…,J]為第j個(gè)隱藏層神經(jīng)元在t時(shí)刻的中心向量;X(t)=[x1(t),x2(t), …,xI(t)]T為RBFNN在t時(shí)刻的I維輸入向量;‖·-·‖ 表示歐氏距離;σj(t)為第j個(gè)隱藏層神經(jīng)元在t時(shí)刻的寬度;i(t)為第i個(gè)子網(wǎng)絡(luò)在時(shí)間步t的組合系數(shù), 目標(biāo)系數(shù)αi(t)滿足準(zhǔn)則
(4)
在任意時(shí)刻,當(dāng)前系數(shù)的估計(jì)值滿足
(5)
對(duì)于一個(gè)典型的3層RBFNN,輸入神經(jīng)元的個(gè)數(shù)和輸出神經(jīng)元的個(gè)數(shù)分別取決于訓(xùn)練模式和訓(xùn)練樣本,而核心問(wèn)題在于優(yōu)化過(guò)程獲得最優(yōu)數(shù)量的隱藏層神經(jīng)元個(gè)數(shù)。因此,一個(gè)3層的多輸入單輸出RBFNN結(jié)構(gòu)可以表示為I-J-1。I表示輸入維度,J表示隱藏層神經(jīng)元個(gè)數(shù)。 假設(shè)最大隱藏層神經(jīng)元數(shù)量為Jmax,隱藏層結(jié)構(gòu)表示為h=[h1,h2,…,hJmax],hJmax表示第Jmax個(gè)隱藏層神經(jīng)元的狀態(tài)。
自組織RBFNN(self-organizing RBFNN,SO-RBFNN)的拓?fù)浣Y(jié)構(gòu)見(jiàn)圖2。對(duì)于保留神經(jīng)元,它與輸入層的每個(gè)神經(jīng)元和輸出層的每個(gè)神經(jīng)元都有連接。藍(lán)色神經(jīng)元表示新添加神經(jīng)元,而紅色虛線神經(jīng)元為刪除神經(jīng)元,即斷開(kāi)網(wǎng)絡(luò)中該神經(jīng)元的所有連接。網(wǎng)絡(luò)結(jié)構(gòu)的自適應(yīng)調(diào)整過(guò)程即本文所提模型框架的上層網(wǎng)絡(luò)優(yōu)化過(guò)程。
上層目標(biāo)主要考慮2個(gè)指標(biāo):網(wǎng)絡(luò)復(fù)雜度cnet和測(cè)試誤差ete,并分別優(yōu)化這2個(gè)指標(biāo)?;诖?對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行自適應(yīng)調(diào)整,目的是獲得緊湊且泛化能力良好的RBFNN結(jié)構(gòu)。上層目標(biāo)函數(shù)定義為
Lu=c1×cnet+c2×ete
(6)
式中:c1,c2∈(0,1)表示權(quán)重系數(shù);cnet用來(lái)描述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)復(fù)雜度的值越小,說(shuō)明網(wǎng)絡(luò)越簡(jiǎn)單、越緊湊。cnet定義為
(7)
式中:Ac表示上層SO-RBFNN得到的實(shí)際網(wǎng)絡(luò)連接數(shù);Tc表示包括所有輸入神經(jīng)元、隱藏層神經(jīng)元和輸出神經(jīng)元的網(wǎng)絡(luò)連接總數(shù)。
對(duì)于具有最大隱藏層神經(jīng)元個(gè)數(shù)Jmax的3層RBFNN結(jié)構(gòu),Tc和Ac的計(jì)算方式分別為
Tc=I×Jmax+Jmax×1=(I+1)×Jmax
(8)
Ac=I×J+J×1=(I+1)×J
(9)
在獲得緊湊且泛化能力良好的RBFNN體系結(jié)構(gòu)后,基于目標(biāo)函數(shù)對(duì)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行自調(diào)整,調(diào)整規(guī)則為
(10)
式中ε1和ε2表示閾值因子,ε1設(shè)定為0.3,ε2設(shè)定為0.7。
SO-RBFNN訓(xùn)練的主要困難是獲取最優(yōu)的一組參數(shù),即網(wǎng)絡(luò)的中心、寬度、輸出層與隱藏層之間的權(quán)向量,統(tǒng)一記為W。神經(jīng)元之間的信息是單向傳遞的,而信息強(qiáng)度主要依靠神經(jīng)元之間的連接權(quán)值,即實(shí)數(shù)加權(quán)來(lái)表示,因此,將網(wǎng)絡(luò)中所有的連接權(quán)向量W視為較低層次的決策變量,表達(dá)形式如圖2所示。算法的下層目標(biāo)是對(duì)給定網(wǎng)絡(luò)結(jié)構(gòu)的RBFNN權(quán)值進(jìn)行優(yōu)化,為了保證算法的快速收斂,本文提出了基于局部?jī)?yōu)化和全局優(yōu)化的獨(dú)立優(yōu)化機(jī)制。
2.3.1 局部網(wǎng)絡(luò)權(quán)值優(yōu)化
局部?jī)?yōu)化的任務(wù)是訓(xùn)練RBF子網(wǎng)絡(luò)的連接權(quán)值,在這里,選擇LM作為底層局部?jī)?yōu)化器,原因是它是一種優(yōu)秀的基于導(dǎo)數(shù)的方法,收斂速度快,穩(wěn)定性好。對(duì)給定的網(wǎng)絡(luò)架構(gòu)h,設(shè)置第k個(gè)子網(wǎng)絡(luò)目標(biāo)函數(shù)為
(11)
式中:P為訓(xùn)練集中樣本個(gè)數(shù);k,p為第k個(gè)子網(wǎng)絡(luò)中第p個(gè)樣本的網(wǎng)絡(luò)輸出;yk,p為相應(yīng)的目標(biāo)輸出。最小化目標(biāo)函數(shù),即
(12)
(13)
J(W)為雅可比矩陣,公式為
(14)
式中:ek(t)表示第k個(gè)子網(wǎng)絡(luò)在t時(shí)刻的網(wǎng)絡(luò)誤差;cJ,1為第J個(gè)神經(jīng)元中心的第1個(gè)元素,并且
(15)
假設(shè)H(W)很小,則Hessian矩陣近似為
(16)
將式(13) (16)代入式(12),得到
ΔW=[JΤ(t)J(t)]-1JΤ(t)ek(t)
(17)
JΤ(t)J(t)可能是不可逆的,因此,使用近似Hessian矩陣
ΔW=[JΤ(t)J(t)+μI]-1JΤ(t)ek(t)
(18)
式中:I為單位矩陣;μ表示一個(gè)大于0的參數(shù)。μ較大時(shí),算法變?yōu)樽疃赶陆捣?而μ較小時(shí),算法變?yōu)楦咚古nD法。在本文中,初始化μ為0.01。
2.3.2 全局組合系數(shù)優(yōu)化
全局損失函數(shù)egl定義為真實(shí)輸出與預(yù)測(cè)輸出之間的差值,公式為
egl(t)=y(t)-tr(t)
(19)
將式(3)代入式(19),可以將全局損失函數(shù)改寫為
egl(t)=y(t)-tr(t)=y(t)-[1(t)1(t)+2(t)2(t)+…+k(t)k(t)]=
(20)
式中ei(t)定義為第i個(gè)子網(wǎng)絡(luò)預(yù)測(cè)輸出與目標(biāo)輸出的差值,即
ei(t)=yi(t)-i(t)
(21)
則
(22)
i(t)=ei(t)-ek(t)
(23)
由式(20)推導(dǎo)出的損失函數(shù)可進(jìn)一步簡(jiǎn)化為
(24)
(25)
(26)
(27)
注1全局疊加系數(shù)的更新是一個(gè)線性差分方程,全局損失通過(guò)從多個(gè)子網(wǎng)絡(luò)中收集信息提高收斂速度和性能。
注2通過(guò)定義并更新全局損失函數(shù),系統(tǒng)無(wú)須等待每個(gè)子網(wǎng)絡(luò)在系統(tǒng)收斂之前收斂,有效避免了梯度消失問(wèn)題。
注3將訓(xùn)練過(guò)程和測(cè)試過(guò)程集成到一個(gè)系統(tǒng)中,上層框架用來(lái)自調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),降低網(wǎng)絡(luò)復(fù)雜度,下層框架用來(lái)優(yōu)化子網(wǎng)絡(luò)的連接權(quán)值和線性組合的系數(shù)。通過(guò)持續(xù)交互、進(jìn)化學(xué)習(xí),有效解決了過(guò)擬合和欠擬合問(wèn)題。
為了證明所提Hb-SRBFNN-OL的可行性,本文給出了多個(gè)分類任務(wù)和預(yù)測(cè)任務(wù)的測(cè)試結(jié)果與分析。下面將Hb-SRBFNN-OL算法用于從UCI機(jī)器學(xué)習(xí)庫(kù)中選擇的4個(gè)基準(zhǔn)分類問(wèn)題,并將其用于Lorenz混沌時(shí)間序列預(yù)測(cè)和污水處理過(guò)程中出水總磷(total phosphorus, TP)質(zhì)量濃度預(yù)測(cè)的實(shí)際問(wèn)題。為了進(jìn)一步說(shuō)明本文所提方法的優(yōu)越性,將其與現(xiàn)有多種算法進(jìn)行了比較。
所有實(shí)驗(yàn)均在Microsoft Windows 10.0操作系統(tǒng)、時(shí)鐘速度為3.6 GHz、RAM為32 GB的計(jì)算機(jī)上使用MATLAB 2020b軟件運(yùn)行并通過(guò)均方根誤差(root mean square error, RMSE)測(cè)量其性能。
3.1.1 實(shí)驗(yàn)設(shè)置
在本節(jié)實(shí)驗(yàn)中,下層優(yōu)化器使用的LM方法中的參數(shù)設(shè)置如下:預(yù)定閾值為0.01, 最大迭代步數(shù)為20,μ=0.001 5。 所有數(shù)據(jù)集的輸入標(biāo)準(zhǔn)化為[-1,1],采用“贏家通吃”策略,輸出激活度最高的類別, 實(shí)驗(yàn)數(shù)據(jù)集及詳細(xì)參數(shù)如表1所示。在本實(shí)驗(yàn)中,所有數(shù)據(jù)集被分成兩部分:隨機(jī)選擇85%作為訓(xùn)練集,剩余15%作為測(cè)試集。在上層優(yōu)化器提供網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,下層優(yōu)化器使用訓(xùn)練集訓(xùn)練子網(wǎng)絡(luò)權(quán)值,并將權(quán)值結(jié)果反饋至上層優(yōu)化器,用以測(cè)試集測(cè)試Hb-SRBFNN-OL的泛化性能。
表1 數(shù)據(jù)集的描述
3.1.2 實(shí)驗(yàn)結(jié)果與分析
每個(gè)實(shí)例的所有實(shí)驗(yàn)具有相同的初始參數(shù),通過(guò)對(duì)所有數(shù)據(jù)集多次獨(dú)立運(yùn)行,計(jì)算連續(xù)30次實(shí)驗(yàn)的統(tǒng)計(jì)結(jié)果。表2為使用Hb-SRBFNN-OL算法進(jìn)行訓(xùn)練和測(cè)試的錯(cuò)誤率、隱藏層神經(jīng)元數(shù)量以及運(yùn)行時(shí)間的統(tǒng)計(jì)結(jié)果,表中給出了訓(xùn)練和測(cè)試錯(cuò)誤率的平均值和標(biāo)準(zhǔn)差(standard deviation, SD)。此外,還給出了隱藏層神經(jīng)元個(gè)數(shù)的最小值和SD以及平均運(yùn)行時(shí)間。
表2 Hb-SRBFNN-OL算法的訓(xùn)練和測(cè)試結(jié)果
分析表2,不難得出以下結(jié)論:1) 與以往建模方式不同,本文將訓(xùn)練過(guò)程和測(cè)試過(guò)程整合成一個(gè)總系統(tǒng),通過(guò)上下2層交互學(xué)習(xí),得到最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)參數(shù)。測(cè)試誤差率比訓(xùn)練誤差率小得多,可見(jiàn)本文所提方法可以有效地避免過(guò)擬合。Hb-SRBFNN-OL算法在測(cè)試誤差率足夠小的情況下,對(duì)4種分類問(wèn)題都具有較好的泛化能力,這也進(jìn)一步表明,Hb-SRBFNN-OL算法能夠在過(guò)擬合和欠擬合之間取得很好的平衡。 2) Hb-SRBFNN-OL算法同時(shí)考慮訓(xùn)練集和測(cè)試集,基于此,自適應(yīng)動(dòng)態(tài)調(diào)整RBFNN結(jié)構(gòu)和連接權(quán)值,從而得到針對(duì)每個(gè)分類任務(wù)的最緊湊的網(wǎng)絡(luò)結(jié)構(gòu)。
為了進(jìn)一步證明Hb-SRBFNN-OL算法的優(yōu)越性,基于表1中的3個(gè)數(shù)據(jù)集,與單層學(xué)習(xí)算法進(jìn)行了比較。 其中,粒子群優(yōu)化算法(particle swarm optimization,PSO)、鯨魚優(yōu)化算法(whale optimization algorithm,WOA)[9]等元啟發(fā)式方法均采用固定網(wǎng)絡(luò)結(jié)構(gòu),隱藏層神經(jīng)元的數(shù)量根據(jù)2×I+1選擇,I表示數(shù)據(jù)集中屬性的個(gè)數(shù),實(shí)驗(yàn)結(jié)果如表3所示。
表3 與其他單層模型在分類任務(wù)上的對(duì)比結(jié)果
從表3中可以看出,在Wine、Heart和Cancer這3個(gè)基準(zhǔn)數(shù)據(jù)集上,Hb-SRBFNN-OL算法在分類準(zhǔn)確率平均值和最佳值方面明顯優(yōu)于PSO、WOA等元啟發(fā)式方法且所需要的隱藏層神經(jīng)元數(shù)量最少。需要特別說(shuō)明的是,由于本文所提算法的下層優(yōu)化器選擇LM方法,在網(wǎng)絡(luò)權(quán)值調(diào)整過(guò)程中需要計(jì)算并存儲(chǔ)Hessian矩陣,增加了計(jì)算量。因此,在除Wine數(shù)據(jù)集之外的2個(gè)實(shí)例中,Hb-SRBFNN-OL算法的運(yùn)行時(shí)間都稍長(zhǎng)于WOA算法,并且無(wú)論在網(wǎng)絡(luò)結(jié)構(gòu)和分類準(zhǔn)確率方面都充分證明了其在分類任務(wù)中的優(yōu)越性。
在本節(jié)中,將Hb-SRBFNN-OL算法應(yīng)用于Lorenz混沌時(shí)間序列的預(yù)測(cè)。Lorenz時(shí)間序列系統(tǒng)是一種大氣對(duì)流數(shù)學(xué)模型,并且是一個(gè)高度非線性的三維系統(tǒng),已被廣泛用作評(píng)價(jià)學(xué)習(xí)算法性能[24-25],定義為
(28)
式中:a1、a2、a3為L(zhǎng)orenz時(shí)間序列中的參數(shù),a1=10,a2=8,a3=8/3;X(t)、Y(t)和Z(t)表示三維空間向量。
在本實(shí)驗(yàn)中,使用由步長(zhǎng)為0.01的四階Runge-Kutta方法產(chǎn)生的9 000個(gè)數(shù)據(jù)樣本,前6 000個(gè)樣本作為訓(xùn)練數(shù)據(jù),后3 000個(gè)樣本作為測(cè)試數(shù)據(jù),比率為2∶1。不失一般性地,網(wǎng)絡(luò)結(jié)構(gòu)均初始化為3-15-1,學(xué)習(xí)因子設(shè)置為0.5,中心c初始化為[-10,10]的隨機(jī)數(shù),寬度σ和隱藏層-輸出層權(quán)值W分別初始化為[0,8]和[0,2]的隨機(jī)數(shù),最大迭代次數(shù)設(shè)置為200,預(yù)測(cè)結(jié)果如圖3~6所示。圖3為Hb-SRBFNN-OL算法的預(yù)測(cè)結(jié)果。圖4為Hb-SRBFNN-OL算法與RBFNN、混合雙層RBFNN (hybrid-bilevel RBFNN,Hb-RBFNN)、SO-RBFNN的預(yù)測(cè)誤差。圖5為用Lorenz時(shí)間預(yù)測(cè)時(shí)Hb-SRBFNN-OL模型中4個(gè)子網(wǎng)絡(luò)的隱藏層神經(jīng)元個(gè)數(shù)。從圖4、5可以看出,Hb-SRBFNN-OL算法的預(yù)測(cè)性能良好,通過(guò)在迭代過(guò)程中不斷調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),得到網(wǎng)絡(luò)結(jié)構(gòu)為7~9時(shí),性能最好,并且測(cè)試誤差保持在[-0.45,0.45]。圖6 為線性系數(shù)變化相應(yīng)的子模型誤差結(jié)果,通過(guò)調(diào)整線性系數(shù),避免了子網(wǎng)絡(luò)中的梯度消失問(wèn)題,加速了網(wǎng)絡(luò)收斂。
圖3 Hb-SRBFNN-OL算法用于Lorenz時(shí)間序列預(yù)測(cè)的實(shí)驗(yàn)結(jié)果
圖4 不同方法用于Lorenz時(shí)間序列預(yù)測(cè)的測(cè)試誤差
圖5 子模型的隱藏層神經(jīng)元個(gè)數(shù)(Lorenz時(shí)間序列預(yù)測(cè))
圖6 子模型誤差與系數(shù)關(guān)系(Lorenz時(shí)間序列預(yù)測(cè))
為進(jìn)一步驗(yàn)證Hb-SRBFNN-OL算法的有效性,將所得結(jié)果與RBFNN、Hb-RBFNN、SO-RBFNN這3種算法進(jìn)行比較。以80次仿真實(shí)驗(yàn)結(jié)果的平均值作為最終結(jié)果,詳細(xì)對(duì)比結(jié)果如表4所示。可以看出,Hb-SRBFNN-OL算法中第1個(gè)子網(wǎng)絡(luò)的平均運(yùn)行時(shí)間為36.16 s,在所有對(duì)比算法中時(shí)間是最短的,訓(xùn)練時(shí)間提高了30.49%~54.18%,充分說(shuō)明更新全局損失函數(shù)可以加快網(wǎng)絡(luò)的學(xué)習(xí)速度。主要原因是通過(guò)調(diào)整全局線性系數(shù)代替子網(wǎng)絡(luò)參數(shù),使得網(wǎng)絡(luò)不必等待所有子網(wǎng)絡(luò)收斂。此外,測(cè)試集的RMSE保持在[0.001 5~0.005 0],與其他3種算法相比,降低了38.22%~39.56%。基于表4的分析結(jié)果,不難得出結(jié)論,本文所提出的Hb-SRBFNN-OL算法能夠以更高的精度逼近Lorenz系統(tǒng),并且具有更緊湊的網(wǎng)絡(luò)和更好的泛化能力。
表4 Lorenz時(shí)間序列預(yù)測(cè)的不同算法比較
出水TP質(zhì)量濃度是評(píng)價(jià)污水處理過(guò)程性能的一個(gè)重要參數(shù)。然而,由于活性污泥法的生物特性,出水TP的測(cè)定非常困難。因此,本實(shí)驗(yàn)采用所提出的Hb-SRBFNN-OL算法預(yù)測(cè)出水TP質(zhì)量濃度。
實(shí)驗(yàn)采用北京某小型污水處理廠2016年1月至6月的60 000組數(shù)據(jù),由于測(cè)量精度、操作方法等因素的影響,所采集的數(shù)據(jù)存在一定的誤差。若對(duì)未處理的數(shù)據(jù)直接建模,必然會(huì)導(dǎo)致系統(tǒng)性能較差。為了保證預(yù)測(cè)結(jié)果的可靠性和準(zhǔn)確性,先對(duì)異常數(shù)據(jù)進(jìn)行剔除。最終,隨機(jī)選取其中的10 000組數(shù)據(jù)作為訓(xùn)練樣本,3 000組數(shù)據(jù)作為測(cè)試樣本。
在本實(shí)驗(yàn)中,利用主成分分析方法選取預(yù)測(cè)模型輸入:溫度(T)、氧化還原電位(oxidation reduction potential,ORP)、溶解氧(dissolved oxygen,DO)、總懸浮固體(total suspended solids,TSS)以及pH。模型訓(xùn)練分為兩部分:1) 下層模型用于訓(xùn)練子網(wǎng)絡(luò)權(quán)值,利用LM方法訓(xùn)練RBFNN子網(wǎng)絡(luò)中的參數(shù),利用全局損失函數(shù)訓(xùn)練組合線性系數(shù);2) 上層模型用于訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),利用網(wǎng)絡(luò)復(fù)雜度和測(cè)試誤差組成的損失函數(shù)對(duì)隱藏層神經(jīng)元個(gè)數(shù)進(jìn)行自適應(yīng)調(diào)整,獲得緊湊且泛化性能較好的預(yù)測(cè)模型,實(shí)驗(yàn)結(jié)果如圖7~10所示。
圖7 Hb-SRBFNN-OL算法用于TP質(zhì)量濃度預(yù)測(cè)的實(shí)驗(yàn)結(jié)果
從圖7中可以看出,本文所提算法有很好的擬合效果。圖8和圖9分別為Hb-SRBFNN-OL與RBFNN、Hb-RBFNN、SO-RBFNN的預(yù)測(cè)誤差及Hb-SRBFNN-OL模型中4個(gè)子網(wǎng)絡(luò)的隱藏層神經(jīng)元個(gè)數(shù)。從圖中可以看出,Hb-SRBFNN-OL算法可以較好地預(yù)測(cè)TP質(zhì)量濃度,預(yù)測(cè)誤差較小,保持在[-0.02~0.02]。這主要是由于該算法基于結(jié)構(gòu)復(fù)雜度和測(cè)試誤差將參數(shù)調(diào)整和結(jié)構(gòu)設(shè)計(jì)結(jié)合在一起,把模型更新轉(zhuǎn)換成優(yōu)化問(wèn)題,并根據(jù)優(yōu)化結(jié)果確定網(wǎng)絡(luò)的最佳結(jié)構(gòu),有效地平衡了過(guò)擬合和欠擬合問(wèn)題,使其泛化性能得到提高。圖10為線性系數(shù)的更新過(guò)程。從圖中可以看出,隨著系數(shù)的不斷調(diào)整,子網(wǎng)絡(luò)誤差不斷更新,通過(guò)始終保持總和不變降低了運(yùn)算量,保證了Hb-SRBFNN-OL算法的快速收斂和成功應(yīng)用。
圖8 不同方法用于TP質(zhì)量濃度預(yù)測(cè)的測(cè)試誤差
圖9 子模型的隱藏層神經(jīng)元個(gè)數(shù)(TP質(zhì)量濃度預(yù)測(cè))
圖10 子模型誤差與系數(shù)的關(guān)系(TP質(zhì)量濃度預(yù)測(cè))
為避免實(shí)驗(yàn)結(jié)果帶來(lái)的隨機(jī)性,同時(shí),為了驗(yàn)證算法的整體性能,將4種算法獨(dú)立運(yùn)行60次,并求取平均值,詳細(xì)對(duì)比結(jié)果如表5所示??梢钥闯?Hb-SRBFNN-OL算法能較好地預(yù)測(cè)目標(biāo)函數(shù)的值,并且具有最小的RMSE平均值。同時(shí),該算法可以隨著樣本數(shù)據(jù)的變化自適應(yīng)調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),使得RBF網(wǎng)絡(luò)結(jié)構(gòu)更加緊湊。最重要的是通過(guò)調(diào)整線性組合的全局線性系數(shù)而非網(wǎng)絡(luò)參數(shù),加速了網(wǎng)絡(luò)收斂,這直接導(dǎo)致了Hb-SRBFNN-OL算法的預(yù)測(cè)時(shí)間最短。從表中也可看出,網(wǎng)絡(luò)的訓(xùn)練時(shí)間與SO-RBFNN算法和RBFNN算法相比分別提高了32.61%和43.99%。上述結(jié)果表明,Hb-SRBFNN-OL算法在預(yù)測(cè)出水TP質(zhì)量濃度方面比其他對(duì)比方法更合適、更有效。
表5 TP質(zhì)量濃度預(yù)測(cè)的不同算法比較
本文的目的是開(kāi)發(fā)一種有效的進(jìn)化學(xué)習(xí)機(jī)制來(lái)有效解決過(guò)擬合和欠擬合問(wèn)題。實(shí)驗(yàn)結(jié)果表明,Hb-SRBFNN-OL算法的性能優(yōu)于現(xiàn)有的一些方法。其主要貢獻(xiàn)如下:
1) 學(xué)習(xí)速度快。Hb-SRBFNN-OL的關(guān)鍵問(wèn)題是學(xué)習(xí)速度,本文提出以全局損失函數(shù)代替局部損失函數(shù)策略以調(diào)整網(wǎng)絡(luò)參數(shù),無(wú)須等待所有RBFNN收斂,有效避免了網(wǎng)絡(luò)訓(xùn)練中的梯度消失問(wèn)題。此外,系數(shù)的更新公式為差分方程,計(jì)算簡(jiǎn)單。表4、5中的結(jié)果表明,Hb-SRBFNN-OL算法比現(xiàn)有的對(duì)比方法有更快的學(xué)習(xí)速度。
2) 泛化能力強(qiáng)。泛化性能是Hb-SRBFNN-OL算法的另一個(gè)重要組成部分。混合雙層進(jìn)化學(xué)習(xí)機(jī)制可以兼顧訓(xùn)練過(guò)程和測(cè)試過(guò)程,通過(guò)持續(xù)交互更新網(wǎng)絡(luò)參數(shù)和網(wǎng)絡(luò)結(jié)構(gòu),克服了傳統(tǒng)方法先訓(xùn)練后測(cè)試的弊端,有效解決了過(guò)擬合和欠擬合問(wèn)題。
此外,在進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)自組織時(shí),Hb-SRBFNN-OL算法基于網(wǎng)絡(luò)復(fù)雜度和測(cè)試誤差調(diào)整隱藏層神經(jīng)元個(gè)數(shù),而在選擇系數(shù)c1、c2時(shí),始終沒(méi)有成熟的理論依據(jù),因?yàn)闇y(cè)試誤差最小為最終目標(biāo),故嘗試{ε1,ε2}={(0.5;0.4;0.3;0.2;0.1),(0.5;0.6;0.7;0.8;0.9)}時(shí)的網(wǎng)絡(luò)預(yù)測(cè)結(jié)果。結(jié)果表明,當(dāng)ε1=0.3,ε2=0.7時(shí),所提出的Hb-SRBFNN-OL算法能夠獲得比其他方法更好的預(yù)測(cè)精度。另外,在上述TP質(zhì)量濃度預(yù)測(cè)實(shí)驗(yàn)中,本文提出的Hb-SRBFNN-OL算法可以獲得比同類算法更快的學(xué)習(xí)速度和更小的測(cè)試誤差。
1) 針對(duì)神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中過(guò)擬合和欠擬合難以取得平衡的問(wèn)題,本文構(gòu)建了一個(gè)混合雙層進(jìn)化學(xué)習(xí)模型。針對(duì)該雙層學(xué)習(xí)模型,基于進(jìn)化學(xué)習(xí)機(jī)制,提出了一種交互進(jìn)化學(xué)習(xí)算法Hb-SRBFNN-OL。上層基于網(wǎng)絡(luò)復(fù)雜度和測(cè)試誤差優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),以便得到該場(chǎng)景下最精簡(jiǎn)緊湊的網(wǎng)絡(luò)結(jié)構(gòu);下層基于訓(xùn)練誤差對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整,得到一組最優(yōu)的連接權(quán)值,以便提高準(zhǔn)確率和泛化能力。此外,提出了線性疊加多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的思路,用系數(shù)組合的全局損失函數(shù)代替各個(gè)子網(wǎng)絡(luò)的局部損失函數(shù)的策略進(jìn)行進(jìn)化學(xué)習(xí)迭代更新,加速了學(xué)習(xí)過(guò)程。
2) 通過(guò)在4個(gè)分類任務(wù)和2個(gè)預(yù)測(cè)問(wèn)題上進(jìn)行實(shí)驗(yàn),并與其他現(xiàn)存的多種算法進(jìn)行比較,結(jié)果表明,文中所提算法獲得的SO-RBFNN結(jié)構(gòu)更緊湊,泛化能力更強(qiáng),并且預(yù)測(cè)準(zhǔn)確率最高可提升30%,為工業(yè)過(guò)程中的預(yù)測(cè)和分類任務(wù)提供了一個(gè)更加靈活、開(kāi)放、準(zhǔn)確可靠的框架。
3) 未來(lái)將進(jìn)一步開(kāi)展以下兩方面工作:進(jìn)一步提高模型精度,考慮使用粒子群優(yōu)化、遺傳算法等啟發(fā)式策略,尋找最優(yōu)的網(wǎng)絡(luò)結(jié)構(gòu);進(jìn)一步降低雙層學(xué)習(xí)算法的計(jì)算成本,開(kāi)發(fā)極限學(xué)習(xí)機(jī)等非迭代學(xué)習(xí)算法,得到神經(jīng)網(wǎng)絡(luò)的最優(yōu)連接權(quán)值。