高峰
(山西大同大學(xué)工學(xué)院,山西大同037003)
PSO-BP組合人工神經(jīng)網(wǎng)絡(luò)算法研究
高峰
(山西大同大學(xué)工學(xué)院,山西大同037003)
基于梯度下降的BP人工神經(jīng)網(wǎng)絡(luò)應(yīng)用廣泛,但網(wǎng)絡(luò)目標(biāo)函數(shù)誤差曲面極其復(fù)雜,網(wǎng)絡(luò)初始值的選取對網(wǎng)絡(luò)訓(xùn)練結(jié)果影響很大,導(dǎo)致收斂速度慢,容易陷入局部極小等問題.基于粒子群算法(pso)的訓(xùn)練方法能夠擺脫陷入局部最優(yōu)的困擾,但粒子群算法局部搜索能力不夠,影響網(wǎng)絡(luò)的訓(xùn)練效果,在充分研究兩種算法特點(diǎn)的基礎(chǔ)上,提出一種新的組合訓(xùn)練方法,建立了PSO-BP組合人工神經(jīng)網(wǎng)絡(luò)模型.
組合人工神經(jīng)網(wǎng)絡(luò) BP算法 PSO算法 算法設(shè)計
人工神經(jīng)網(wǎng)絡(luò)(ANN)以大腦生理研究成果為基礎(chǔ),模擬生物神經(jīng)網(wǎng)絡(luò)信息處理的網(wǎng)絡(luò),是傳統(tǒng)工程系統(tǒng)與人工智能領(lǐng)域處理技術(shù)的混合,通過學(xué)習(xí)、記憶,采用類似黑箱方法擬合輸入變量與輸出變量間的非線性關(guān)系[1,2],具有自學(xué)習(xí)、自組織、自適應(yīng)能力和非局域性、非定常性、非凸性、非線性動態(tài)處理等特點(diǎn),宜于表現(xiàn)多影響因子間的復(fù)雜因果規(guī)律,是求解非線性問題的常用方法.傳統(tǒng)BP網(wǎng)絡(luò)初始權(quán)值、閾值隨機(jī)設(shè)定,初值選取不當(dāng)直接影響網(wǎng)絡(luò)收斂性能和最終穩(wěn)定狀態(tài),網(wǎng)絡(luò)學(xué)習(xí)易陷入局部極小,存在收斂速度慢、訓(xùn)練時間長等問題,不能保證所優(yōu)選權(quán)值為全局最優(yōu).
自然界中單個自然生物通常不是智能的,但卻有一定的群體行為,即整個群體表現(xiàn)出處理復(fù)雜問題的能力.基于對鳥群捕食行為研究和演化計算理論[4]的粒子群優(yōu)化算法(PSO),就是模擬自然生物行為的優(yōu)化技術(shù),具有記憶粒子最佳位置的能力和粒子間信息共享的機(jī)制,通過種群間內(nèi)個體合作與競爭可實現(xiàn)優(yōu)化問題求解.為克服傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)缺陷,本文將PSO算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合,建立PSO-BP組合人工神經(jīng)網(wǎng)絡(luò)模型,以充分發(fā)揮PSO算法全局尋優(yōu)能力和BP算法局部搜索優(yōu)勢,縮短訓(xùn)練時間,克服連接權(quán)值隨機(jī)問題.
人工神經(jīng)網(wǎng)絡(luò)(ANN)理論[1,2]是上世紀(jì)80年代中后期發(fā)展起來的非線性科學(xué),在大腦神經(jīng)網(wǎng)絡(luò)認(rèn)識的基礎(chǔ)上,人工構(gòu)造的能實現(xiàn)某種功能的神經(jīng)網(wǎng)絡(luò),是理論化的人腦神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型.ANN由許多神經(jīng)元組成并行分布結(jié)構(gòu)的信息處理網(wǎng)絡(luò),顯示出人腦的某些基本特征,是傳統(tǒng)工程系統(tǒng)與人工智能領(lǐng)域處理技術(shù)的混合;它可從積累的工作經(jīng)驗中學(xué)習(xí)知識,在數(shù)據(jù)含噪音、缺項或缺乏認(rèn)知時能獲得較為滿意的結(jié)果,對于多變量系統(tǒng),泛化能力強(qiáng),能逼近任意非線性映射;高度并行計算能力使得容錯能力更高.
ANN模型結(jié)構(gòu)是決定網(wǎng)絡(luò)特性的第二大因素,大量神經(jīng)元按一定規(guī)則連接形成一定的拓?fù)浣Y(jié)構(gòu),根據(jù)神經(jīng)元連接方式與內(nèi)部信息傳遞方向的不同,可分為前饋型神經(jīng)網(wǎng)絡(luò)和反饋型神經(jīng)網(wǎng)絡(luò).ANN能進(jìn)行復(fù)雜的邏輯操作和非線性映射,依賴于神經(jīng)元間的相互作用,知識或信息存儲表現(xiàn)為網(wǎng)絡(luò)元件之間的分布式的物理聯(lián)系.生物神經(jīng)元信息傳遞特性的數(shù)學(xué)表達(dá)式為:
式中,xi-輸入信號;wi-連接權(quán)值;Σ-信號累加;θ-神經(jīng)元閾值;f-傳遞函數(shù);Yi-輸出信號.
傳遞函數(shù)是神經(jīng)元、神經(jīng)網(wǎng)絡(luò)的核心,反映神經(jīng)元輸出與激活狀態(tài)間的關(guān)系,決定了神經(jīng)網(wǎng)絡(luò)求解問題的能力與效率,可分為閾值型傳遞函數(shù)、分段線性傳遞函數(shù)、非線性傳遞函數(shù),見圖1.
圖1 人工神經(jīng)元中的傳遞函數(shù)
Ramelhart等提出的誤差反傳訓(xùn)練(BP)算法[1,2]由正向計算和誤差反傳兩部分組成.BP神經(jīng)網(wǎng)絡(luò)包含一個輸入層、一個輸出層及至少一個隱含層,見圖2.在網(wǎng)絡(luò)的正向計算中,輸入信息從輸入經(jīng)隱含層逐層處理,并傳向輸出層,在正向傳播的過程中,每一層神經(jīng)網(wǎng)絡(luò)的狀態(tài)只影響其下一層神經(jīng)元的狀態(tài).若輸出層不能得到期望的輸出,則轉(zhuǎn)入反向傳播,將輸出誤差沿原來的連接通路返回,通過修改各層神經(jīng)元的權(quán)重,使最終的輸出誤差達(dá)到最小.
圖2 BP人工神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
隱含層神經(jīng)網(wǎng)絡(luò)是一組從輸入節(jié)點(diǎn)到輸出節(jié)點(diǎn)的高度非線性映射,BP累積誤差反向傳播算法步驟:①確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);②設(shè)置權(quán)值、閾值矩陣、學(xué)習(xí)速率和動量因子;③學(xué)習(xí)訓(xùn)練,直到誤差足夠小.BP算法數(shù)學(xué)意義明確、步驟分明,并具有中間隱含層和有相應(yīng)的學(xué)習(xí)規(guī)則可循,使得它具有對非線性模式的識別能力,已成為工程應(yīng)用最多、最成熟的方法之一.
1)神經(jīng)網(wǎng)絡(luò)層數(shù)
Kolmogorov定理:任意連續(xù)函數(shù)f∶RT→Rm,f可以精確地用三層前饋網(wǎng)絡(luò)來實現(xiàn).選擇合適神經(jīng)元,神經(jīng)網(wǎng)絡(luò)可任意精度逼近任一連續(xù)函數(shù).增加層數(shù)可降低誤差、提高精度,但網(wǎng)絡(luò)趨于復(fù)雜,從而增加了網(wǎng)絡(luò)訓(xùn)練時間[3],見圖3.因此,BP神經(jīng)網(wǎng)絡(luò)設(shè)計時,一般設(shè)置一個隱層,先考慮增加隱含層神經(jīng)元數(shù),當(dāng)節(jié)點(diǎn)數(shù)很多仍不能改善網(wǎng)絡(luò)性能時,才考慮增加隱層.
2)隱含層神經(jīng)元數(shù)
較小規(guī)模網(wǎng)絡(luò)學(xué)習(xí)比較困難,適當(dāng)增加神經(jīng)元數(shù)目可提高誤差精度,訓(xùn)練效果易于觀察和調(diào)整.但隱層節(jié)點(diǎn)數(shù)過多,節(jié)點(diǎn)冗余增加網(wǎng)絡(luò)訓(xùn)練時間,模型泛化性能降低.通常可采用構(gòu)造法、進(jìn)化法、刪除法等確定隱層神經(jīng)元數(shù)目.
圖3 系統(tǒng)誤差-網(wǎng)絡(luò)隱層數(shù)變化曲線
3)初始權(quán)值
初始權(quán)值決定了非線性系統(tǒng)的收斂性及收斂速度.初值太大,使得加權(quán)后的輸入、輸出值落在S型傳遞函數(shù)飽和區(qū),導(dǎo)數(shù)太小,導(dǎo)致計算權(quán)重修正值趨于0,從而使得調(diào)節(jié)過程幾乎停頓下來.因此,初始加權(quán)的神經(jīng)元輸出值應(yīng)近于零,以保證神經(jīng)元權(quán)值在傳遞函數(shù)變化最大處調(diào)節(jié),常取(-1,1)間的隨機(jī)數(shù).
4)學(xué)習(xí)速率
學(xué)習(xí)速率決定每一循環(huán)訓(xùn)練中權(quán)值變化量,值過大可導(dǎo)致系統(tǒng)不穩(wěn)定,值過小雖能保證跳出網(wǎng)絡(luò)誤差表面低谷,趨于誤差最小值,但收斂速度慢,效率低.一般在[0.1,0.8]之間取值即可保證系統(tǒng)穩(wěn)定性和精度要求.
Reynolds研究鳥群飛行發(fā)現(xiàn),鳥僅追蹤它有限數(shù)量的鄰居,但最終結(jié)果是整個鳥群好像在一個中心的控制下,即復(fù)雜的全局行為是由簡單規(guī)則的相互作用引起.一群鳥在隨機(jī)搜尋食物,若某區(qū)域里只有一塊食物,那么找到食物最簡單有效的策略就是搜尋目前離食物最近的鳥的周圍區(qū)域.
圖4 粒子群算法原理示意圖
Eberhart和Kennedy從中得到啟示,將鳥類尋找食物與特定問題尋找最優(yōu)解聯(lián)系起來,用粒子(質(zhì)量、體積忽略不記)來代替飛鳥,并為粒子制定類似于鳥類運(yùn)動的簡單行為規(guī)則,從而使整個粒子群的運(yùn)動表現(xiàn)出鳥類覓食的特性,即粒子最終能夠飛向解空間的最優(yōu)解處[4-6],見圖4.
PSO求解優(yōu)化問題時,解空間初始化為一群隨機(jī)粒子,每一粒子都有自己的位置、速度以決定飛行方向、距離,還有一個由被優(yōu)化函數(shù)決定的適應(yīng)值.各粒子記憶、追蹤當(dāng)前的最優(yōu)粒子,在解空間中搜索.在每次迭代中,粒子通過跟蹤個體極值、全局極值更新自己的速度、位置.粒子速度和位置更新方程為:
PSO算法采用速度-位移模型,避免了復(fù)雜的遺傳操作,特有的記憶使算法可動態(tài)跟蹤當(dāng)前的搜索情況來調(diào)整其搜索策略,算法簡單有效,應(yīng)用領(lǐng)域已擴(kuò)展到多元函數(shù)與參數(shù)優(yōu)化、模式識別、聚類分析、神經(jīng)網(wǎng)絡(luò)等[4].
BP模型不需精確數(shù)學(xué)表達(dá)式,只要用已知模式對網(wǎng)絡(luò)加以訓(xùn)練,網(wǎng)絡(luò)就具有輸入-輸出間的映射能力;理論基礎(chǔ)堅實、推導(dǎo)過程嚴(yán)謹(jǐn)、物理概念清晰、通用性強(qiáng),廣泛應(yīng)用于模式匹配、分類、自動控制等領(lǐng)域.但BP算法基于梯度下降算法,本質(zhì)上屬局部尋優(yōu)算法.復(fù)雜網(wǎng)絡(luò)的誤差曲面是一高維空間中的曲面,非常復(fù)雜和不規(guī)則,局部極小點(diǎn)多,見圖5,一旦陷入就很難逃脫出來,學(xué)習(xí)效果變差.
PSO算法以生物群體內(nèi)通過個體間的合作與競爭所產(chǎn)生的群體智能為核心理論體系,屬于全局優(yōu)化算法,具有收斂速度快,操作簡單、易于編程實現(xiàn),是一種良好的優(yōu)化算法.因此,引入粒子群算法對BP網(wǎng)絡(luò)初始權(quán)值和閾值等參數(shù)優(yōu)化,可產(chǎn)生一種新的組合人工神經(jīng)網(wǎng)絡(luò)模型.
圖5 單權(quán)值調(diào)整過程中的局部極小點(diǎn)
PSO-BP神經(jīng)網(wǎng)絡(luò)基本原理是,先將神經(jīng)元間所有連接權(quán)值編碼成實數(shù)向量以表示種群中個體,隨機(jī)生成向量群體,迭代中新生成的個體向量還原為神經(jīng)網(wǎng)絡(luò)權(quán)值,將訓(xùn)練中產(chǎn)生的均方誤差作為評價個體的適應(yīng)度函數(shù),此時訓(xùn)練轉(zhuǎn)化為尋找一組使均方誤差最小的最佳聯(lián)接權(quán)值優(yōu)化問題.若均方誤差小于系統(tǒng)設(shè)定值或迭代次數(shù)大于最大迭代次數(shù),則訓(xùn)練過程停止;否則,迭代繼續(xù)進(jìn)行,直至最大迭代次數(shù),此時參數(shù)組合已較接近于最佳組合.然后,采用BP算法進(jìn)一步精確優(yōu)化上面得到的網(wǎng)絡(luò)參數(shù),直至網(wǎng)絡(luò)參數(shù)最優(yōu).這樣既提高了神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,又增強(qiáng)了神經(jīng)網(wǎng)絡(luò)泛化性能和預(yù)測能力.
PSO-BP組合神經(jīng)網(wǎng)絡(luò)算法流程如下:
1)初始化BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),設(shè)定網(wǎng)絡(luò)的輸入層、輸出層的神經(jīng)元個數(shù),設(shè)置網(wǎng)絡(luò)參數(shù),通過試算確定最佳隱含層神經(jīng)元個數(shù).
2)初始化粒子群的規(guī)模、維度D以及每個粒子的初始速度、位置.種群規(guī)模一般取為10~40間的數(shù)值,復(fù)雜問題大于100;初始速度、位置可隨機(jī)賦值.問題解空間維度D計算公式:
式中,m、n、p、q分別為輸出層-隱含層連接權(quán)值個數(shù)、隱含層-輸出層連接權(quán)值個數(shù)、隱含層閾值個數(shù)、輸出層閾值個數(shù).
3)根據(jù)適應(yīng)度函數(shù)計算每個粒子的適應(yīng)度方差,步驟為:
①按當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)和權(quán)值、閾值計算出每個樣本的輸出值.
②計算每個訓(xùn)練樣本的輸出值的誤差.
式中,n-訓(xùn)練集樣本總數(shù);m-輸出層神經(jīng)元個數(shù);Yij-實際輸出值;yij-理想輸出值.
圖6 PSO-BP組合神經(jīng)網(wǎng)絡(luò)運(yùn)算流程
③計算出該粒子的適應(yīng)度方差.
4)更新每一個粒子的個體極值、全局極值,生成下一代粒子.慣性因子w設(shè)計為隨迭代次數(shù)遞減,按照式(7)進(jìn)行自適應(yīng)調(diào)解.
式中,wmax-最大慣性權(quán)重;wmin-最小慣性權(quán)重;t-當(dāng)前迭代次數(shù);Tmax-最大迭代次數(shù).
5)檢查粒子適應(yīng)度方差和當(dāng)前最大迭代次數(shù),若誤差大于系統(tǒng)設(shè)定值或迭代次數(shù)小于最大迭代次數(shù),繼續(xù)步驟(3)進(jìn)行下一代粒子計算;否則,退出迭代計算,將全局最優(yōu)粒子位置映射為網(wǎng)絡(luò)初始權(quán)值和閾值,見圖6.
BP算法非線性模式識別能力強(qiáng)大,但存在網(wǎng)絡(luò)學(xué)習(xí)易陷入局部極小,收斂速度慢、訓(xùn)練時間長等問題.PSO算法以群體智能為核心理論體系,收斂速度快,操作簡單、易于編程實現(xiàn),是一種很好的全局優(yōu)化算法.基于粒子群算法建立的PSO-BP組合人工神經(jīng)網(wǎng)絡(luò)模型,充分利用神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力,發(fā)掘數(shù)據(jù)內(nèi)隱藏的規(guī)律,為進(jìn)一步拓展人工神經(jīng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域開辟了一條新的途徑.
[1]張良均,曹晶,蔣世忠.神經(jīng)網(wǎng)絡(luò)實用教程[M].北京:機(jī)械工業(yè)出版社,2008:12-45.
[2]徐秉錚,張百靈,韋崗.神經(jīng)網(wǎng)絡(luò)理論與應(yīng)用[M].廣州:華南理工大學(xué)出版社,1994:2-16.
[3]馮夏庭.智能巖石力學(xué)導(dǎo)論[M].北京:科學(xué)出版社,2000:102-145.
[4]Bonabean E,Dorigo M,Theraulaz G.Inspiration for optinization from social insect behavior[J].Nature,2000,406(6):39-42.
[5]曾建潮,介倩,崔志華.微粒群算法[M].科學(xué)出版社,2004:52-85.
[6]楊威,李岐強(qiáng).粒子群優(yōu)化算法綜述[J].中國工程科學(xué),2004,6(5):87-90.
Abstract:BP artificial neural network based on gradient algorithm method is widely applied,but because the error surface of object function is extramly complex and the choose of initial value effects network training results,convergence rate is slow and local minimum is likely to fall into.Paticle swarm optimization algorithm has better global searching ability to get rid the puzzles of falling into local minimum.By adequately studying on the two algorithms'characteristics,a new type of combined artificial neural network training method is put forward,and PSO-BP ann model is successfully built.
Key words:combined artificial neural network;bp algorithm;pso algorithm;algorithm design
〔編輯 石白云〕
Research of PSO-BP Combined Artificial Neural Network Method
GAO Feng
(School of Engineering,Shanxi Datong University,Datong Shanxi,037003)
TP183;TU452
A
1674-0874(2010)03-0066-04
2010-04-12
高峰(1977-),男,山東泰安人,講師,博士,研究方向:工程力學(xué)與巖土工程.