張雨濃,肖爭利,丁思彤,毛明志,劉錦榮
(1. 中山大學(xué)數(shù)據(jù)科學(xué)與計算機學(xué)院,廣東 廣州510006;2. 華南理工大學(xué)自主系統(tǒng)和網(wǎng)絡(luò)控制教育部重點實驗室,廣東 廣州510640;3. 廣東順德中山大學(xué)卡內(nèi)基梅隆大學(xué)國際聯(lián)合研究院,廣東 佛山528300)
帶后續(xù)迭代的雙極S函數(shù)激勵的WASD神經(jīng)網(wǎng)絡(luò)*
張雨濃1,2,3,肖爭利1,2,3,丁思彤1,2,3,毛明志1,劉錦榮1
(1. 中山大學(xué)數(shù)據(jù)科學(xué)與計算機學(xué)院,廣東 廣州510006;2. 華南理工大學(xué)自主系統(tǒng)和網(wǎng)絡(luò)控制教育部重點實驗室,廣東 廣州510640;3. 廣東順德中山大學(xué)卡內(nèi)基梅隆大學(xué)國際聯(lián)合研究院,廣東 佛山528300)
結(jié)合Levenberg-Marquardt算法以及權(quán)值直接確定法這兩種用于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練的方法,提出了一種帶后續(xù)迭代、面向雙極S (sigmoid)激勵函數(shù)神經(jīng)網(wǎng)絡(luò)的權(quán)值與結(jié)構(gòu)確定(weights-and-structure-determination, WASD)方法。該方法與MATLAB軟件神經(jīng)網(wǎng)絡(luò)工具箱相結(jié)合,可以解決傳統(tǒng)神經(jīng)網(wǎng)絡(luò)普遍存在的學(xué)習(xí)時間長、網(wǎng)絡(luò)結(jié)構(gòu)難以確定、學(xué)習(xí)能力和泛化能力有待提高等不足,同時具有較好的可行性和可操作性。以非線性函數(shù)的數(shù)據(jù)擬合為例,計算機數(shù)值實驗和對比結(jié)果證實了WASD方法確定出最優(yōu)隱神經(jīng)元數(shù)和最優(yōu)權(quán)值的優(yōu)越性,最終得到的WASD神經(jīng)網(wǎng)絡(luò)具有更為優(yōu)異的學(xué)習(xí)性能和泛化性能。
神經(jīng)網(wǎng)絡(luò);權(quán)值與結(jié)構(gòu)直接確定;后續(xù)迭代;雙極S激勵函數(shù);數(shù)值實驗
人工神經(jīng)網(wǎng)絡(luò),簡稱神經(jīng)網(wǎng)絡(luò)(neural network),是模擬生物神經(jīng)系統(tǒng)的組織結(jié)構(gòu)、處理方式和系統(tǒng)功能的簡化系統(tǒng)[1]。自1980年代形成熱潮至今已近30年,神經(jīng)網(wǎng)絡(luò)的應(yīng)用范圍已擴展到許多領(lǐng)域[2-5],其中,前向神經(jīng)網(wǎng)絡(luò)在各種類型的神經(jīng)網(wǎng)絡(luò)當(dāng)中應(yīng)用最為廣泛。在現(xiàn)實世界中,很多非線性系統(tǒng)是未知的,而針對這些未知的系統(tǒng)進行建模是非常困難的。由于前向神經(jīng)網(wǎng)絡(luò)具有強大的非線性映射能力[6-7],所以,可以在不清楚輸入輸出變量之間復(fù)雜關(guān)系的情況下,利用前向神經(jīng)網(wǎng)絡(luò)對非線性系統(tǒng)或函數(shù)實現(xiàn)建模和數(shù)據(jù)逼近[8-10],從而為工程方面的應(yīng)用提供了良好的支撐。相關(guān)研究理論已經(jīng)證明[6-7,9,11-12],一個以S (sigmoid)函數(shù)為隱層神經(jīng)元激勵函數(shù)的三層前向神經(jīng)網(wǎng)絡(luò)可以實現(xiàn)對任何連續(xù)函數(shù)的任意精度的逼近。
學(xué)習(xí)能力和泛化能力是神經(jīng)網(wǎng)絡(luò)性能的重要反映,沒有學(xué)習(xí)能力和泛化能力的神經(jīng)網(wǎng)絡(luò)是沒有使用價值的[13]。值得指出的是,影響神經(jīng)網(wǎng)絡(luò)這兩種能力的因素主要包括激勵函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)學(xué)習(xí)算法等。因此,如何選擇較優(yōu)的激勵函數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)以及網(wǎng)絡(luò)學(xué)習(xí)算法來保證神經(jīng)網(wǎng)絡(luò)的優(yōu)良性能顯得非常重要[14-15]。針對前向神經(jīng)網(wǎng)絡(luò),一些學(xué)者已進行了深入研究,并取得諸多成果[2,16-20]。具體到學(xué)習(xí)算法而言,也提出了很多有效的算法[16-20]。其中,Levenberg-Marquardt (LM)算法和廣義多項式神經(jīng)網(wǎng)絡(luò)的權(quán)值直接確定法尤為突出[16-17],它們都具有學(xué)習(xí)速度快和逼近效果好等優(yōu)點,因而得到較廣泛的應(yīng)用[17]。在網(wǎng)絡(luò)結(jié)構(gòu)方面也有部分學(xué)者提出了一些方法和研究理論[21-23],他們的做法能在一定程度上解決學(xué)習(xí)時間過長、網(wǎng)絡(luò)結(jié)構(gòu)難以確定、學(xué)習(xí)能力和泛化能力不足等問題,但是,就目前而言和整體而言,網(wǎng)絡(luò)結(jié)構(gòu)的確定和最優(yōu)化仍然是一個挑戰(zhàn)。
為了解決上述問題,綜合考慮影響神經(jīng)網(wǎng)絡(luò)性能的主要因素,本文,在以雙極S激勵函數(shù)為隱層神經(jīng)元激勵函數(shù)的三層前向神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,結(jié)合兩種有效的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練方法(也即,Levenberg-Marquardt算法和權(quán)值直接確定法[16-17]),對隱層神經(jīng)元采用邊增邊刪的結(jié)構(gòu)增長策略[18-19],提出了一種帶后續(xù)迭代的、面向雙極S激勵函數(shù)神經(jīng)網(wǎng)絡(luò)的權(quán)值與結(jié)構(gòu)確定(weights-and-structure- determination, WASD)方法。該方法可以在較短時間內(nèi)確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的同時,實現(xiàn)神經(jīng)網(wǎng)絡(luò)性能最優(yōu)化(即,獲得最好的學(xué)習(xí)能力和泛化能力)。其包括兩個過程,即,確定最優(yōu)隱層神經(jīng)元數(shù)及最優(yōu)隱層到輸出層權(quán)值的過程,和輸入層到隱層權(quán)值的進一步迭代優(yōu)化的過程。值得指出的是,本文的三層前向神經(jīng)網(wǎng)絡(luò)模型(WASD神經(jīng)網(wǎng)絡(luò)模型)是以雙極S激勵函數(shù)為隱層神經(jīng)元激勵函數(shù)的三層前向神經(jīng)網(wǎng)絡(luò)模型,其首次結(jié)合Levenberg-Marquardt算法和權(quán)值直接確定法,這是以往他人研究工作中沒有研究過的,是本文的貢獻之一。此外,在本論文中,提出了一個新穎的權(quán)值與結(jié)構(gòu)確定及后續(xù)迭代的思想。即,先隨機獲取神經(jīng)網(wǎng)絡(luò)的輸入層到隱層的權(quán)值,再用無迭代的權(quán)值直接確定法得到隱層到輸出層的最優(yōu)權(quán)值以及對應(yīng)的最優(yōu)結(jié)構(gòu),之后再利用LM算法反過來對輸入層到隱層的權(quán)值進行后續(xù)迭代優(yōu)化。也即,輸入層隨機化+隱層直接確定+輸入層后續(xù)迭代。這是本文工作的另一個貢獻之處。更重要的是,計算機數(shù)值實驗結(jié)果證實了該算法的有效性和可行性:用該算法得到的神經(jīng)網(wǎng)絡(luò)在非線性函數(shù)數(shù)據(jù)擬合和預(yù)測方面獲得優(yōu)異的效果,可以達到優(yōu)異的學(xué)習(xí)精度和測試精度。
雙極S激勵函數(shù)是可微和有界的,被廣泛應(yīng)用于神經(jīng)網(wǎng)絡(luò)研究當(dāng)中。研究表明[24-25]:使用雙極S激勵函數(shù)比使用單極S激勵函數(shù)具有更快的收斂速度,故本文構(gòu)造了一種雙極S激勵函數(shù)神經(jīng)網(wǎng)絡(luò)模型,如圖1所示。網(wǎng)絡(luò)的具體描述如下:輸入層神經(jīng)元個數(shù)設(shè)為m,神經(jīng)元閾值恒定設(shè)為0,神經(jīng)元激勵函數(shù)采用線性恒等激勵函數(shù);輸入層神經(jīng)元到隱層神經(jīng)元的連接權(quán)值在(-10,10)區(qū)間內(nèi)隨機初始化;隱層神經(jīng)元個數(shù)設(shè)為n,其具體個數(shù)由后述的WASD算法確定,神經(jīng)元的閾值在(-10,10)區(qū)間內(nèi)隨機初始化,而神經(jīng)元激勵函數(shù)采用雙極S激勵函數(shù),且其傾斜參數(shù)c設(shè)定為1,即另外,隱層神經(jīng)元到輸出層神經(jīng)元的連接權(quán)值由后述的權(quán)值直接確定法無迭代得到;輸出層神經(jīng)元個數(shù)為1,其閾值恒定設(shè)為0,神經(jīng)元激勵函數(shù)也采用線性恒等激勵函數(shù)。
圖1 雙極S激勵函數(shù)神經(jīng)網(wǎng)絡(luò)模型Fig.1 Neural network model activated by bipolar sigmoid functions
(1)
1)xv表示一個輸入向量的第ν個變量(特征),其中ν=1,2,…,m;
2)ωk,j為第k個輸入層神經(jīng)元和第j個隱層神經(jīng)元之間的連接權(quán)值,其中k=1,2,…,m,j=1,2,…,n;
4)βj為第j個隱層神經(jīng)元的閾值;
5)wj為第j個隱層神經(jīng)元和輸出層神經(jīng)元之間的連接權(quán)值;
6)y為輸出層神經(jīng)元的輸出值。
實際上,對網(wǎng)絡(luò)進行學(xué)習(xí)訓(xùn)練的過程就是神經(jīng)元之間的連接權(quán)值和神經(jīng)元閾值的修正過程,其最終目的是:使神經(jīng)網(wǎng)絡(luò)盡量對學(xué)習(xí)樣本集實現(xiàn)有效逼近;同時,對于學(xué)習(xí)樣本集以外的測試樣本或數(shù)據(jù),神經(jīng)網(wǎng)絡(luò)也能夠進行有效的辨識。盡管對神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的訓(xùn)練方法有很多,但并非每一種訓(xùn)練方法都是有效的,訓(xùn)練方法的優(yōu)劣對網(wǎng)絡(luò)的最終訓(xùn)練效果影響重大。因此,本文結(jié)合權(quán)值直接確定法和Levenberg-Marquardt算法作為WASD算法的權(quán)值和閾值計算方法。
對于圖1所示的神經(jīng)網(wǎng)絡(luò)模型,在網(wǎng)絡(luò)學(xué)習(xí)第i個樣本時,第j個隱層神經(jīng)元的輸出表示為
輸出層神經(jīng)元的輸出值為
神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元到輸出層神經(jīng)元的連接權(quán)值向量為
w=[w1,w2,…,wn]T∈Rn
網(wǎng)絡(luò)的目標(biāo)輸出向量表示為
對應(yīng)的網(wǎng)絡(luò)的實際輸出向量為
定義網(wǎng)絡(luò)輸出均方誤差(meansquarederror,MSE)為
對于所有的學(xué)習(xí)樣本,隱層神經(jīng)元的輸出矩陣為
基于上述定義,根據(jù)權(quán)值直接確定法[14],隱層神經(jīng)元到輸出層神經(jīng)元的最優(yōu)穩(wěn)態(tài)權(quán)值向量可無迭代給定為
(2)
其中,P+為矩陣P的偽逆矩陣。
基于圖1所示的神經(jīng)網(wǎng)絡(luò)模型,在確定了網(wǎng)絡(luò)隱層神經(jīng)元到輸出層神經(jīng)元的最優(yōu)權(quán)值以及對應(yīng)的最優(yōu)結(jié)構(gòu)后,對輸入層和隱層神經(jīng)元之間的連接權(quán)值以及隱層神經(jīng)元的閾值的修正,本文采用高效的LM迭代計算方法[15,26]。也即,在之后的計算中,將網(wǎng)絡(luò)隱層神經(jīng)元的閾值等效為網(wǎng)絡(luò)輸入層到隱層神經(jīng)元的權(quán)值的一部分,具體表示如下:
其中M=nm+n。令ei(χ)=γi-yi(χ),誤差向量為e(χ)=[e1(χ),e2(χ),…,eN(χ)]T∈RN。令J(χ)為e(χ)的雅克比矩陣:
因此,根據(jù)上述推導(dǎo),基于圖1所示的神經(jīng)網(wǎng)絡(luò)模型,輸入層到隱層的連接權(quán)值以及隱層神經(jīng)元的閾值可通過Levenberg-Marquardt算法進行如下后續(xù)迭代修正:
(3)
(4)
式中,l為迭代計數(shù)(l=1,2,3,…),μl>0,I為單位矩陣。值得指出的是,在迭代過程中,μl是一個非常重要的調(diào)整變量,其調(diào)整策略是:開始時μl取一個較小的正數(shù)(如0.001),如果某一次調(diào)整不能使網(wǎng)絡(luò)性能優(yōu)化函數(shù)下降,則μl乘以一個大于1的參數(shù)μinc(如10),重復(fù)調(diào)整,直到使網(wǎng)絡(luò)性能優(yōu)化函數(shù)下降為止;相反,如果某一次調(diào)整可以使網(wǎng)絡(luò)性能優(yōu)化函數(shù)下降,則μl乘以一個小于1的參數(shù)μdec(如0.1)。
神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是影響神經(jīng)網(wǎng)絡(luò)性能最重要的因素之一,因此,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)(也即是隱層神經(jīng)元數(shù))的選擇是一個值得深入研究的問題。如果選取不當(dāng),就會影響網(wǎng)絡(luò)的性能:具體而言,若神經(jīng)元數(shù)過多,網(wǎng)絡(luò)結(jié)構(gòu)則較為冗余,網(wǎng)絡(luò)學(xué)習(xí)與校驗時因計算所需的內(nèi)存空間較大,且可能出現(xiàn)過擬合,使網(wǎng)絡(luò)的泛化能力下降;相反,若網(wǎng)絡(luò)的神經(jīng)元數(shù)太少,就會導(dǎo)致欠擬合而弱化網(wǎng)絡(luò)的學(xué)習(xí)能力[15]。沒有學(xué)習(xí)能力和泛化能力的網(wǎng)絡(luò)是沒有實用價值的[13],因而在設(shè)計網(wǎng)絡(luò)時,隱層神經(jīng)元數(shù)的選擇就極為重要。
針對隱層神經(jīng)元數(shù)的選擇,一些學(xué)者已進行了深入研究,但大多數(shù)的做法在實際問題求解中普遍存在著隱層神經(jīng)元數(shù)龐大、學(xué)習(xí)過程振蕩、學(xué)習(xí)時間過長和泛化能力較低等不足。實際上,其最終得到的網(wǎng)絡(luò)結(jié)構(gòu)是和網(wǎng)絡(luò)的學(xué)習(xí)算法緊密相關(guān)的、非最優(yōu)的[25]。以函數(shù)數(shù)據(jù)擬合為例,基于前文所述的權(quán)值直接確定算法,用圖1所示的神經(jīng)網(wǎng)絡(luò)模型對如下非線性目標(biāo)函數(shù)進行學(xué)習(xí):
(0.5x2-0.5)3+5
學(xué)習(xí)過程中,隱層神經(jīng)元數(shù)初始化設(shè)為1,以后每次增加1個神經(jīng)元,所得到學(xué)習(xí)誤差E隨隱層神經(jīng)元數(shù)n遞增而變化的結(jié)果如圖2所示。
圖2 神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)誤差E和隱層神經(jīng)元數(shù)n的關(guān)系Fig.2 Relationship between neural network learning error E and neuron number n
由該圖可知:隨著神經(jīng)元數(shù)的增加,在最初時,網(wǎng)絡(luò)學(xué)習(xí)誤差下降,且下降速度較快;但當(dāng)神經(jīng)元數(shù)增加至一定程度,網(wǎng)絡(luò)學(xué)習(xí)誤差出現(xiàn)振蕩,即在一個較小的范圍內(nèi)波動,難以繼續(xù)下降,這表明,神經(jīng)網(wǎng)絡(luò)的隱神經(jīng)元數(shù)開始飽和了。值得指出的是,用不同的目標(biāo)函數(shù)進行實驗,最終也得到與圖2有相似特征的實驗結(jié)果。
Levenberg-Marquardt算法是神經(jīng)網(wǎng)絡(luò)BP算法中最優(yōu)越的一個[16],它具有訓(xùn)練速度快的優(yōu)點,故我們可以用它來得到輸入層到隱層的連接權(quán)值。結(jié)合神經(jīng)網(wǎng)絡(luò)權(quán)值直接確定法和Levenberg-Marquardt算法的優(yōu)點[16-17],使用邊增邊刪的神經(jīng)元增長策略[18-19],本文提出帶后續(xù)迭代的WASD算法。其具體描述如下。
輸入:學(xué)習(xí)樣本、目標(biāo)精度Eg、最長執(zhí)行時間Tmax
輸出:學(xué)習(xí)誤差E、隱層神經(jīng)元數(shù)n
Step1:初始化神經(jīng)網(wǎng)絡(luò),E←10,n←1,計數(shù)器C1←1,執(zhí)行時間T←0;
Step2:輸入層神經(jīng)元到第n個隱層神經(jīng)元的連接權(quán)值以及隱層神經(jīng)元的閾值隨機獲??;
Step3:計算隱層神經(jīng)元的輸出矩陣P,再根據(jù)權(quán)值直接確定法[即,公式(2)],無迭代直接計算出最優(yōu)權(quán)值w,然后計算出當(dāng)前學(xué)習(xí)誤差E1;
Step4:若滿足E1≤E,則E←E1,增加一個隱層神經(jīng)元n←n+1,C1←1;否則,刪除第n個隱層神經(jīng)元以及神經(jīng)元的連接權(quán)值,C1←C1+1;
Step5:若C1≤5,則跳至Step2;否則(即,連續(xù)5次增加隱層神經(jīng)元失敗),直接進入Step6;
Step6:計算雅克比矩陣J(χl);
Step7:根據(jù)LM法[即,公式(4)],計算出Δχl;
Step8:把χl+Δχl作為變量參數(shù),計算出當(dāng)前的學(xué)習(xí)誤差E2;
Step9:若E2≥E,則μl←μlμinc,然后跳至Step7;否則,E←E2,μl←μlμdec,χl+1←χl+Δχl;
Step10:在沒有選擇手動停止的前提下,若T
顯然,該算法是由以下兩個過程組成:① 過程1 (Step1至Step5)確定最優(yōu)隱層神經(jīng)元數(shù)及隱層到輸出層最優(yōu)權(quán)值;②過程2 (Step6至Step10)是使用LM算法對輸入層和隱層神經(jīng)元之間的連接權(quán)值以及隱層神經(jīng)元的閾值進行后續(xù)迭代優(yōu)化過程。為了更好地展示該WASD算法,其算法流程圖如圖3所示。
圖3 帶后續(xù)迭代的WASD算法流程圖Fig.3 Flowchart of WASD algorithm with subsequent iterations
值得指出的是,MATLAB軟件具有較好的開放性,除內(nèi)部函數(shù)外,所有主包文件和各種工具箱都是可讀、可修改的文件[27-28]。故以二輸入神經(jīng)網(wǎng)絡(luò)為例,本文WASD算法和Levenberg-Marquardt算法結(jié)合調(diào)用神經(jīng)網(wǎng)絡(luò)工具箱的部分實現(xiàn)代碼如圖4所示。
圖4 二輸入WASD神經(jīng)網(wǎng)絡(luò)涉及工具箱調(diào)用的部分實現(xiàn)代碼Fig.4 Partial code of implementation of two-input WASD neural network involving toolbox calling
對一個三層的神經(jīng)網(wǎng)絡(luò),許多學(xué)者證明了如下的逼近定理[6,11-12]。
定理1 令φ(·)為有界的單調(diào)遞增連續(xù)函數(shù),Hm代表m維單位超立方體[0,1]m。C(Hm)表示定義在Hm上的連續(xù)函數(shù)構(gòu)成的集合,則給定任何目標(biāo)函數(shù)γ∈C(Hm)和目標(biāo)精度ε>0,存在整數(shù)n和實常數(shù)組{wj}、{βj}和{ωk,j},其中k=1,2,…,m,j=1,2,…,n,使得網(wǎng)絡(luò)輸出
可以以任意精度逼近目標(biāo)函數(shù)γ(x1,x2,…,xm),即
對照和推廣上述定理,雙極S激勵函數(shù)為有界的單調(diào)遞增連續(xù)函數(shù),因此可得該激勵神經(jīng)網(wǎng)絡(luò)能以理論任意精度逼近非線性連續(xù)函數(shù)。而“邊增邊刪”實際上是在增刪神經(jīng)元的過程中使得神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)不斷地逼近神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)最優(yōu)時的數(shù)目。所以,理論而言,當(dāng)增刪神經(jīng)元的次數(shù)趨向于無窮時(實際而言,達到某個較大次數(shù)時),我們可以找到使得神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)最優(yōu)的隱層神經(jīng)元數(shù)(即,定理1中的n值)。而且,作者在之前的工作中已做過大量的數(shù)值實驗。實驗結(jié)果顯示:隨著隱層神經(jīng)元個數(shù)的增加,網(wǎng)絡(luò)的測試誤差呈現(xiàn)一個“V”或“U”字形的圖像[29-30]。因此,利用“邊增邊刪”方法可以找到最優(yōu)隱層神經(jīng)元數(shù)。
為了驗證本文提出的WASD神經(jīng)網(wǎng)絡(luò)模型的性能,本文以2輸入和3輸入的數(shù)據(jù)擬合為例,分別對以下目標(biāo)函數(shù)(5)-(7)進行函數(shù)數(shù)據(jù)擬合實驗。
(5)
(6)
(7)
其中,數(shù)據(jù)產(chǎn)生方法如下:對于目標(biāo)函數(shù)(5)和(6),在區(qū)間[0,1]2內(nèi)(每個維度采樣間隔為0.05)均勻產(chǎn)生441個學(xué)習(xí)樣本,在區(qū)間[0.05,0.95]2內(nèi)(每個維度采樣間隔為0.017)均勻產(chǎn)生2 809個測試樣本;對于目標(biāo)函數(shù)(6),還在區(qū)間[0.05,1.04]2內(nèi)(每個維度采樣間隔為0.017)均勻產(chǎn)生3 249個測試和預(yù)測樣本;對于目標(biāo)函數(shù)(7),在區(qū)間[0.1,0.8]3內(nèi)(每個維度采樣間隔為0.01)均勻產(chǎn)生512個學(xué)習(xí)樣本,在區(qū)間[0.14,0.76]3內(nèi)(每個維度采樣間隔為0.017)均勻產(chǎn)生50 653個測試樣本。另外指出的是,進行該批MATLAB7.6.0數(shù)值實驗的計算機的硬件配置為Intel(R)Core(TM)2DuoCPU(主頻2.2GHz)和2.0GB內(nèi)存。而使用本文的WASD算法對目標(biāo)函數(shù)(5),(6)和(7)進行函數(shù)數(shù)據(jù)擬合,所得到實驗結(jié)果(5次實驗取平均值)如表1所示。
從表1可以看出:通過WASD算法訓(xùn)練得到的WASD神經(jīng)網(wǎng)絡(luò),學(xué)習(xí)誤差和測試誤差均可達到非常小的數(shù)量級,網(wǎng)絡(luò)具有優(yōu)異的學(xué)習(xí)能力和泛化能力,對非線性函數(shù)數(shù)據(jù)的逼近效果理想;而且算法執(zhí)行時間較短。為了和WASD算法進行比較,本文也分別單獨使用Levenberg-Marquardt算法和文獻[20]中所提出的算法(即,LMFNN算法)進行對比性數(shù)值實驗。由于單獨的LM算法需要提前給定隱層神經(jīng)元數(shù),但是,對于不同的訓(xùn)練樣本,網(wǎng)絡(luò)的最優(yōu)隱層神經(jīng)元數(shù)是不同的,因此我們在對比實驗中分別選擇了25、50、100和200個隱層神經(jīng)元進行實驗。此外,本文使用的是只有一層隱含層的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)文獻[20]的算法,對目標(biāo)函數(shù)(5)和(6),可求得其隱含層神經(jīng)元數(shù)為110;對目標(biāo)函數(shù)(7),其隱含層神經(jīng)元數(shù)為128。為了便于實驗對比,在迭代過程中均采用手動停止的操作。Levenberg-Marquardt算法和LMFNN算法的數(shù)值實驗結(jié)果(5次實驗取平均值)分別在表2和表3中給出。
從表2可以看出:①當(dāng)隱層神經(jīng)元數(shù)較少時,通過LM算法訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)(簡稱LM神經(jīng)網(wǎng)絡(luò)) 的學(xué)習(xí)誤差和校驗誤差相對較大,其學(xué)習(xí)能力和泛化能力一般表現(xiàn)出輕微的欠擬合現(xiàn)象,此外,網(wǎng)絡(luò)的學(xué)習(xí)時間相對較長;②當(dāng)隱層神經(jīng)元數(shù)進一步增加時,LM神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)誤差和測試誤差變得較小,具有較好學(xué)習(xí)能力和泛化能力,然而,網(wǎng)絡(luò)的學(xué)習(xí)時間也稍長;③當(dāng)隱層神經(jīng)元數(shù)較多時,LM神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)誤差較小,但校驗誤差較大,兩者不一致,反映出LM網(wǎng)絡(luò)的學(xué)習(xí)能力較好而泛化能力卻差的過擬合現(xiàn)象。結(jié)合上述分析,可以大概找到LM神經(jīng)網(wǎng)絡(luò)的較優(yōu)隱層神經(jīng)元數(shù),即學(xué)習(xí)能力和泛化能力均較優(yōu)的LM神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。另外,從表3可以看出:相比于LM網(wǎng)絡(luò),LMFNN算法的學(xué)習(xí)誤差和測試誤差均處在較小的數(shù)量級,且執(zhí)行時間也相對較短,能得到較優(yōu)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),能實現(xiàn)對目標(biāo)函數(shù)的有效逼近。
綜合表1-3可知,無論在網(wǎng)絡(luò)性能還是運行時間方面,WASD算法均優(yōu)于單獨使用LM算法或者LMFNN算法。而且,相對于單獨使用LM算法而言,WASD算法可以自動確定最優(yōu)隱層神經(jīng)元數(shù),單獨的LM算法則需要提前設(shè)定隱層神經(jīng)元數(shù)(其一般難以達到最優(yōu))。所以,如果要確定LM神經(jīng)網(wǎng)絡(luò)的最優(yōu)隱層神經(jīng)元數(shù),以試錯法形式的反復(fù)測試校正將會耗費非常長的計算時間。而對比于LMFNN算法(其測試誤差較低),WASD算法能得到更優(yōu)的隱含層神經(jīng)元數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)和性能。
表1 WASD神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)與測試結(jié)果
表2 用于對比的LM神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)與測試結(jié)果
表3 用于對比的LMFNN神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)與測試結(jié)果
為了更進一步地驗證和展示基于雙極S激勵函數(shù)神經(jīng)網(wǎng)絡(luò)的WASD算法的有效性,下面以目標(biāo)函數(shù)(6)為例(設(shè)定執(zhí)行時間為100s),進行數(shù)值實驗,實驗結(jié)果如圖5至圖9所示。
具體而言,圖5顯示了WASD算法在兩個學(xué)習(xí)過程當(dāng)中,網(wǎng)絡(luò)學(xué)習(xí)誤差的變化情況。在過程1 (Process1)中,隨著神經(jīng)元數(shù)的增加,網(wǎng)絡(luò)的學(xué)習(xí)誤差逐漸降低,由于采用了邊增邊刪的策略,期間并無發(fā)生振蕩現(xiàn)象,最終確定的隱層神經(jīng)元數(shù)為207;進入過程2 (Process2)后,網(wǎng)絡(luò)的學(xué)習(xí)誤差一直下降,直至程序(達到結(jié)束條件)結(jié)束,最終訓(xùn)練停止時,網(wǎng)絡(luò)的學(xué)習(xí)誤差到達8.455×10-7。圖6是神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)的學(xué)習(xí)結(jié)果和校驗結(jié)果。此外,圖7和圖8展示了WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在[0.05,1.02]2內(nèi)的測試和預(yù)測結(jié)果??梢钥闯?,此時神經(jīng)網(wǎng)絡(luò)的測試和預(yù)測誤差均較小,尤其是在[0.05,1.01]2內(nèi)的測試和預(yù)測誤差小于0.015。更進一步地,圖9顯示了WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在[0.05,1.04]2內(nèi)的測試和預(yù)測結(jié)果。雖然網(wǎng)絡(luò)輸出與目標(biāo)輸出函數(shù)之間存在差別,但結(jié)果還是令人滿意的。從上述結(jié)果可知,通過該算法得到的WASD神經(jīng)網(wǎng)絡(luò)具有較好的泛化能力。
圖5 WASD神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)誤差E和神經(jīng)元數(shù)n的關(guān)系Fig.5 Relationship between WASD neural network learning error E and neuron number n
圖6 WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在區(qū)間[0,1]2內(nèi)的學(xué)習(xí)結(jié)果Fig.6 Learning results of WASD neural network for target function (6) in [0,1]2
圖7 WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在區(qū)間[0.05,1.01]2內(nèi)的測試和預(yù)測結(jié)果Fig.7 Testing and forecasting results of WASD neural network for target function (6) in [0.05,1.01]2
圖8 WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在區(qū)間[0.05,1.02]2內(nèi)的測試和預(yù)測結(jié)果Fig.8 Testing and forecasting results of WASD neural network for target function (6) in [0.05,1.02]2
圖9 WASD神經(jīng)網(wǎng)絡(luò)對目標(biāo)函數(shù)(6)在區(qū)間[0.05,1.04]2內(nèi)的測試和預(yù)測結(jié)果Fig.9 Testing and forecasting results of WASD neural network for target function (6) in [0.05,1.04]2
綜上所述,WASD算法可以根據(jù)已有的樣本數(shù)據(jù),通過網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練,無需人工干預(yù),自動地確定出最優(yōu)隱層神經(jīng)元數(shù),同時實現(xiàn)對權(quán)值和閾值的后續(xù)有效調(diào)整,而且執(zhí)行時間較短,最終得到的WASD網(wǎng)絡(luò)具有很好的學(xué)習(xí)能力和泛化能力,能夠?qū)Ψ蔷€性函數(shù)數(shù)據(jù)進行有效的擬合。相比較而言,單獨LM神經(jīng)網(wǎng)絡(luò)的隱層神經(jīng)元數(shù)需要人為提前設(shè)定,如果想要獲得較好的效果和性能,需要反復(fù)地進行嘗試或者根據(jù)設(shè)計者的經(jīng)驗進行隱層神經(jīng)元數(shù)的人為優(yōu)化,過程相當(dāng)耗時。而LMFNN算法,雖然可以自動確定隱層神經(jīng)元數(shù)和網(wǎng)絡(luò)結(jié)構(gòu),但由于其算法受到樣本大小影響,當(dāng)學(xué)習(xí)樣本的數(shù)量和分布不夠合理時,所得到的隱層神經(jīng)元數(shù)和網(wǎng)絡(luò)結(jié)構(gòu)未必保證是最優(yōu)。
此外,為了驗證WASD算法中LM方法的有效性和優(yōu)越性,針對目標(biāo)函數(shù)(5) 、(6)和(7),使用不同的訓(xùn)練方法(即,在后續(xù)迭代中采用LM算法)來優(yōu)化輸入層和隱層神經(jīng)元的連接權(quán)值以及隱層神經(jīng)元的閾值。表4為對應(yīng)的數(shù)值結(jié)果(取5次實驗平均值)。
表4 不同訓(xùn)練方法的性能對比
從表4中可以看出:LM方法的訓(xùn)練誤差和測試誤差總體而言優(yōu)于其它的訓(xùn)練方法(如BFGS和最速下降法)。此結(jié)果說明了LM方法在WASD算法中的有效性及優(yōu)越性。此外,針對目標(biāo)函數(shù)(5),本文使用WASD算法進行50次實驗,其目標(biāo)精度設(shè)置為5.0×10-12,執(zhí)行時間為20s,表5為50次實驗的統(tǒng)計結(jié)果。
表5 WASD算法50次實驗的統(tǒng)計結(jié)果
從表5中可以看出:WASD算法的學(xué)習(xí)誤差與測試誤差的均值和標(biāo)準(zhǔn)差都處于10-9這一微小量級。此結(jié)果(特別是其標(biāo)準(zhǔn)差處于較小的量級)說明了WASD算法具有較好的穩(wěn)定性和收斂性。
值得指出的是,我們還在神經(jīng)網(wǎng)絡(luò)算法性能實驗中采用了交叉驗證的評價方法。具體而言,針對目標(biāo)函數(shù)(5)進行了10折(10-fold)交叉驗證。在10次驗證中,學(xué)習(xí)誤差最小為2.000×10-12,此時的測試誤差為5.512×10-10;測試誤差最小為3.797×10-10,此時學(xué)習(xí)誤差為9.793×10-12。總體而言,10折交叉驗證學(xué)習(xí)誤差的均值為2.349×10-10,測試誤差的均值為2.304×10-7??梢钥闯?,本文提出的算法在多重交叉驗證實驗中,學(xué)習(xí)誤差和測試誤差也均處于較小的量級。該結(jié)果進一步證實了所提出算法的有效性和優(yōu)越性。
本文首先構(gòu)造了一種三層的雙極S激勵函數(shù)前向神經(jīng)網(wǎng)絡(luò)模型,進而提出了一種帶后續(xù)迭代的權(quán)值與結(jié)構(gòu)確定算法。為了實現(xiàn)在較短時間內(nèi)確定最優(yōu)隱層神經(jīng)元數(shù)的同時,使神經(jīng)網(wǎng)絡(luò)獲得更好的學(xué)習(xí)性能和泛化性能,該算法創(chuàng)造性地結(jié)合了權(quán)值直接確定法與Levenberg-Marquardt算法各自的優(yōu)點,并采用了邊增邊刪的結(jié)構(gòu)增長策略。計算機數(shù)值實驗和對比結(jié)果表明:基于WASD算法的雙極S激勵函數(shù)神經(jīng)網(wǎng)絡(luò)具有更為優(yōu)異的學(xué)習(xí)能力和泛化能力,學(xué)習(xí)時間少(或適中),在非線性函數(shù)數(shù)據(jù)擬合方面可表現(xiàn)出很好的效果。本文提出的帶后續(xù)迭代的神經(jīng)網(wǎng)絡(luò)權(quán)值與結(jié)構(gòu)確定算法因此可具有廣泛的應(yīng)用前景(其限于篇幅不再贅述)。而如何在更進一步的實際應(yīng)用中發(fā)現(xiàn)本算法的不足和做出相應(yīng)的改進措施或也是下一步工作的重點和未來研究方向。
[1] 張青貴. 人工神經(jīng)網(wǎng)絡(luò)導(dǎo)論[M]. 北京: 中國水利水電出版社, 2004.
[2] 張雨濃,王茹, 勞穩(wěn)超,等. 符號函數(shù)激勵的WASD神經(jīng)網(wǎng)絡(luò)與XOR應(yīng)用[J]. 中山大學(xué)學(xué)報(自然科學(xué)版), 2014, 53(1): 1-7.
[3]SHRIVASTAVAS,SINGHMP.Performanceevaluationoffeed-forwardneuralnetworkwithsoftcomputingtechniquesforhandwrittenEnglishalphabets[J].AppliedSoftComputing, 2011, 11(1): 1156-1182.
[4] 楊文光. 權(quán)值直接確定的三角型模糊前向神經(jīng)網(wǎng)絡(luò)[J]. 中山大學(xué)學(xué)報(自然科學(xué)版), 2013, 52(2): 33-37.
[5] 蔡娟,蔡堅勇, 廖曉東,等. 基于卷積神經(jīng)網(wǎng)絡(luò)的手勢識別初探[J]. 計算機系統(tǒng)應(yīng)用, 2015, 24(4): 113-117.
[6]HORNIKK,STINCHCOMBEM,WHITEH.Multilayerfeedforwardnetworksareuniversalapproximators[J].NeuralNetworks, 1989, 2(5): 359-366.
[7]CHENT,CHENH.Universalapproximationtononlinearoperatorsbyneuralnetworkswitharbitraryactivationfunctionsanditsapplicationtodynamicalsystems[J].IEEETransactionsonNeuralNetworks, 1995, 6(4): 911-917.
[8]GUERRAFA,COELHOLS.Multi-stepaheadnonlinearidentificationofLorenz’schaoticsystemusingradialbasisneuralnetworkwithlearningbyclusteringandparticleswarmoptimization[J].ChaosSolitonsandFractals, 2008, 35(5): 967-979.
[9] 王建軍,徐宗本. 多元多項式函數(shù)的三層前向神經(jīng)網(wǎng)絡(luò)逼近方法[J]. 計算機學(xué)報, 2009, 32(12): 2482-2488.
[10] 李凱,翟振華. 神經(jīng)網(wǎng)絡(luò)在函數(shù)逼近問題中的應(yīng)用研究[J]. 計算機工程, 2001, 27(5): 189-190.
[11]COTTERNE.TheStone-Weierstrasstheoremanditsapplicationtoneuralnetworks[J].IEEETransactiononNeuralNetworks, 1990, 1(4): 290-295.
[12]CYBENKOG.Approximationbysuperpositionofasigmoidalfunction[J].MathematicsofControl,Signals,Systems, 1989, 2(4): 303-314.
[13] 魏海坤,徐嗣鑫,宋文忠. 神經(jīng)網(wǎng)絡(luò)的泛化理論和泛化方法[J]. 自動化學(xué)報, 2001, 27(6): 806-815.
[14]JAINAK,MAOJC,MOHIUDDINKM.Artificialneuralnetworks:atutorial[J].Computer, 1996, 29(3): 31-34.
[15]LAWRENCES,GILESCL,TSOIAC.Whatsizeneuralnetworkgivesoptimalgeneralization?Convergencepropertiesofbackpropagation,UMIACS-TR-96-22andCS-TR-3617 [R].CollegePark:UniversityofMarylandCollegePark, 1996.
[16] 蘇高利,鄧芳萍. 論基于MATLAB語言的BP神經(jīng)網(wǎng)絡(luò)的改進算法[J]. 科技通報, 2003, 19(2): 130-135.
[17] 張雨濃,楊逸文,李巍. 神經(jīng)網(wǎng)絡(luò)權(quán)值直接確定法[M]. 廣州: 中山大學(xué)出版社, 2012.
[18] 張雨濃,羅飛恒,陳錦浩,等. 三輸入伯努利神經(jīng)網(wǎng)絡(luò)權(quán)值與結(jié)構(gòu)雙確定[J]. 計算機工程與科學(xué), 2013, 35(05): 142-148.
[19]ZHANGY,DINGS,LIUX,etal.WASPneuronetactivatedbybipolar-sigmoidfunctionsandappliedtoglomerular-filtration-rateestimation[C].The26thChineseControlandDecisionConference(CCDC),IEEE, 2014: 172-177.
[20] 李鴻儒,王曉楠,何大闊,等. 一種優(yōu)化計算確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的方法[J]. 系統(tǒng)仿真學(xué)報, 2009, 21(1): 104-107.
[21]BAHIJM,CONTASSOT-VIVIERS,SAUGETM.Anincrementallearningalgorithmforfunctionapproximation[J].AdvanceinEngineeringSoftware, 2009, 40(8): 725-730.
[22]BENARDOSPG,VOSNIAKOSGC.Optimizingfeedforwardartificialneuralnetworkarchitecture[J].EngineeringApplicationsofArtificialIntelligence, 2007, 20(4): 365-382.
[23]TSAIJT,CHOUJH,LIUTK.TuningthestructureandparametersofaneuralnetworkbyusinghybridTaguchi-geneticalgorithm[J].IEEETransactionsonNeuralNetworks, 2006, 17(1): 69-80.
[24]ARULAMPALAMG,RAMAKONARV,BOUZERDOA,etal.Classificationofdigitalmodulationschemesusingneuralnetworks[C].The5thInternationalSymposiumonSignalProcessingandItsApplications(ISSPA),IEEE, 1999, 2: 649-652.
[25]HAYKINS.Neuralnetworks:acomprehensivefoundation[M]. 2nded.EnglewoodCliffs,NJ:PrenticeHall, 2004.
[26]HAGANM,DEMUTHH,BEALEM.Neuralnetworkdesign[M].Beijing:ChinaMachinePress, 2002.
[27] 傅薈璇,趙紅.MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計[M]. 北京: 機械工業(yè)出版社, 2010.
[28]DEMUTHH,BEALEM,HAGANM.Neuralnetworktoolbox6user’sguide[M].TheMathWorksPress, 2009.
[29]ZHANGY,YUX,GUOD,etal.Weightsandstructuredeterminationofmultiple-inputfeed-forwardneuralnetworkactivatedbyChebyshevpolynomialsofclass2viacross-validation[J].NeuralComputingandApplications, 2014, 25(7/8): 1761-1770.
[30]ZHANGY,YINY,GUOD,etal.Cross-validationbasedweightsandstructuredeterminationofChebyshevpolynomialneuralnetworksforpatternclassification[J].PatternRecognition, 2014, 47: 3414-3428.
WASD neural network activated by bipolar sigmoid functions together with subsequent iterations
ZHANGYunong1,2,3,XIAOZhengli1,2,3,DINGSitong1,2,3,MAOMingzhi1,LIUJinrong1
(1. School of Data and Computer Science, Sun Yat-sen University, Guangzhou 510006, China;2. Key Laboratory of Autonomous Systems and Networked Control, Ministry of Education,South China University of Technology, Guangzhou 510640, China;3. SYSU-CMU Shunde International Joint Research Institute, Foshan 528300, China)
A weights-and-structure-determination (WASD) algorithm is proposed for the neural network using bipolar sigmoid activation functions together with subsequent iterations, which is the combination of the Levenberg-Marquardt algorithm and the weights-direct-determination method for neural network training. The proposed algorithm, combined with the Neural Network Toolbox of MATLAB software, aims at remedying the common weaknesses of traditional artificial neural networks, such as long-time learning expenditure, difficulty in determining the network structure, and to-be-improved performance of learning and generalization. Meanwhile, the WASD algorithm has good flexibility and operability. Taking data fitting of nonlinear functions for example, numerical experiments and comparison results illustrate the superiority of the WASD algorithm for determining the optimal number and optimal weights of hidden neurons. And the resultant neural network has more excellent performance on learning and generalization.
neural networks; weights-and-structure-determination (WASD) algorithm; subsequent iterations; bipolar sigmoid activation functions; numerical experiments
10.13471/j.cnki.acta.snus.2016.04.001
2015-07-07
國家自然科學(xué)基金資助項目(61473323);廣州市科技計劃資助項目(2014J4100057);自主系統(tǒng)與網(wǎng)絡(luò)控制教育部重點實驗室開放基金資助項目(2013A07);大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃資助項目(201410558065,201410558069)
張雨濃(1973年生),男;研究方向:人工神經(jīng)網(wǎng)絡(luò)、冗余機器人;E-mail:zhynong@mail.sysu.edu.cn
TP183
A
0529-6579(2016)04-0001-10