張 東
(鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院,河南 鄭州 451191)
BP神經(jīng)網(wǎng)絡(luò)算法的技術(shù)分析
張 東
(鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院,河南 鄭州 451191)
本研究通過(guò)對(duì)BP神經(jīng)網(wǎng)絡(luò)的特點(diǎn)及其原理進(jìn)行簡(jiǎn)單介紹,提出當(dāng)前的一些算法改進(jìn),分析各種算法的優(yōu)缺點(diǎn),最后對(duì)BP神經(jīng)的應(yīng)用現(xiàn)狀進(jìn)行了探討。
人工神經(jīng)網(wǎng)絡(luò);BP算法;優(yōu)化算法;最佳預(yù)測(cè)
本文著錄格式:張東.BP神經(jīng)網(wǎng)絡(luò)算法的技術(shù)分析[J].軟件,2016,37(12):227-229
BP神經(jīng)網(wǎng)絡(luò)又稱人工神經(jīng)網(wǎng)絡(luò),它是一種模擬動(dòng)物神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型。神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代生物學(xué)研究人腦組織成果的基礎(chǔ)上提出的,用來(lái)模擬人類大腦神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和行為。神經(jīng)網(wǎng)絡(luò)反映了人腦功能的基本特征,如并行信息的處理、學(xué)習(xí)、想象、記憶等。BP神經(jīng)網(wǎng)絡(luò)是由人工神經(jīng)元互連組成的網(wǎng)絡(luò),以人工神經(jīng)元為節(jié)點(diǎn),用有向加權(quán)弧連接起來(lái)的有向圖,其中人工神經(jīng)元模擬人腦神經(jīng)元,有向弧模擬軸突—突觸—樹(shù)突對(duì),有向弧的權(quán)值表示相互連接的兩個(gè)人工神經(jīng)元相互作用的強(qiáng)弱。
早在1986年首先由Romelhart和Mc2clelland提出誤差反向傳播算法(Error Back Propagation Algorit hm,簡(jiǎn)稱BP算法),由于在應(yīng)用中誤差反向傳播算法常用于多層前反饋網(wǎng)絡(luò)的訓(xùn)練,也常把多層反饋網(wǎng)絡(luò)成為BP網(wǎng)絡(luò)[1]。
BP網(wǎng)絡(luò)模型包括其輸入輸出模型、作用函數(shù)模型、誤差計(jì)算模型和自學(xué)習(xí)模型。
1.1 節(jié)點(diǎn)輸出模型
f-非線形作用函數(shù),q-神經(jīng)單元閾值。
圖一 BP神經(jīng)網(wǎng)絡(luò)的典型結(jié)構(gòu)
1.2 作用函數(shù)模型
作用函數(shù)是反映下層輸入對(duì)上層節(jié)點(diǎn)刺激脈沖強(qiáng)度的函數(shù)又稱刺激函數(shù),一般取為(0,1)內(nèi)連續(xù)取值Sigmoid函數(shù)f(x)=1/(1+e-x)
1.3 誤差計(jì)算模型
誤差計(jì)算模型是反映神經(jīng)網(wǎng)絡(luò)期望輸出與計(jì)算輸出之間誤差大小的函數(shù):
Ep=1/2×∑(tpi-Opi)2 tpi-i節(jié)點(diǎn)的期望輸出值;Opi-i節(jié)點(diǎn)計(jì)算輸出值。
1.4 自學(xué)習(xí)模型
神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程,即連接下層節(jié)點(diǎn)和上層節(jié)點(diǎn)之間的權(quán)重拒陣Wij的設(shè)定和誤差修正過(guò)程。BP網(wǎng)絡(luò)有師學(xué)習(xí)方式-需要設(shè)定期望值和無(wú)師學(xué)習(xí)方式-只需輸入模式之分。自學(xué)習(xí)模型為△Wij(n+1)= h ×Фi ×Oj+a×△Wij(n) h-學(xué)習(xí)因子;Фi-輸出節(jié)點(diǎn)i的計(jì)算誤差;Oj-輸出節(jié)點(diǎn)j的計(jì)算輸出;a-動(dòng)量因子。
2.1 BP神經(jīng)網(wǎng)絡(luò)算法存在的問(wèn)題
①容易陷入局部極小,使得全局達(dá)不到最優(yōu);
②訓(xùn)練次數(shù)過(guò)多,誤差下降緩慢,影響收斂速度,使得學(xué)習(xí)效率低下;
③選取隱節(jié)點(diǎn)是缺乏理論指導(dǎo)。當(dāng)隱節(jié)點(diǎn)過(guò)多時(shí),使得網(wǎng)絡(luò)學(xué)習(xí)的時(shí)間變長(zhǎng),甚至?xí)l(fā)生不能收斂的情況;當(dāng)隱節(jié)點(diǎn)過(guò)少時(shí),網(wǎng)絡(luò)的容錯(cuò)力較差;
④訓(xùn)練時(shí)會(huì)發(fā)生學(xué)習(xí)新樣本忘記舊樣本的情況。
2.2 BP神經(jīng)網(wǎng)絡(luò)算法的改進(jìn)措施
針對(duì)BP網(wǎng)絡(luò)算法易出現(xiàn)的問(wèn)題,國(guó)內(nèi)外的學(xué)者教授對(duì)此進(jìn)行了深入細(xì)致的研究,并提出了一些改進(jìn)措施:
2.2.1 新增動(dòng)量項(xiàng)。這種方法也可以稱為慣性校正法,可以用下面的權(quán)值調(diào)整公式表示:
μδi(t)yj表示BP神經(jīng)網(wǎng)絡(luò)算法的修正量,其中δi(t)為廣義誤差,yj為神經(jīng)元在第j層的輸出;Δ wij(t-1)為動(dòng)量項(xiàng),α是動(dòng)量系數(shù)。在使用加入動(dòng)量項(xiàng)這一方法后,可以加快收斂的速度并抑制振蕩。在何玉彬,李新忠所著《神經(jīng)網(wǎng)絡(luò)技術(shù)及其應(yīng)用》中對(duì)這一方法做了更加深入的研究和推廣[2],在該研究中涉及的增廣LPIDBP學(xué)習(xí)算法,就是通過(guò)對(duì)微分、積分、誤差梯度的比例進(jìn)行組合,從而形成調(diào)節(jié)量。
2.2.2 改變學(xué)習(xí)率。在BP神經(jīng)網(wǎng)絡(luò)中,學(xué)習(xí)率又可稱為步長(zhǎng),BP算法中學(xué)習(xí)率設(shè)定成常數(shù),但在實(shí)際應(yīng)用時(shí),無(wú)法確定最佳的學(xué)習(xí)率。通過(guò)觀察誤差曲面,在平坦區(qū)域內(nèi),學(xué)習(xí)率過(guò)小會(huì)使得訓(xùn)練次數(shù)增加,此時(shí)提高學(xué)習(xí)率的作用就十分重要;在誤差變化劇烈的區(qū)域,學(xué)習(xí)率過(guò)大會(huì)導(dǎo)致調(diào)整量過(guò)大,跨過(guò)較窄的坑凹處,整個(gè)訓(xùn)練會(huì)由于出現(xiàn)震蕩使得迭代次數(shù)的增加[3]。在不同的區(qū)域內(nèi)過(guò)大過(guò)小的學(xué)習(xí)率都會(huì)對(duì)收斂過(guò)程產(chǎn)生不利影響,而進(jìn)行學(xué)習(xí)率的自使用改變,讓學(xué)習(xí)率在改增大的時(shí)候增大,在該減小時(shí)較小,可以很容易的避免收斂過(guò)程過(guò)慢的情況。
2.2.3 采用其他梯度優(yōu)化算法。最速下降梯度法自身的特點(diǎn)決定了BP算法收斂速度慢的缺點(diǎn),最速下降可以使得初期的迭代速度很快接近于極值點(diǎn)[4],但最終收斂仍需較長(zhǎng)時(shí)間。因此可以采用擬牛頓法共軛梯度法、Levenberg-Marquardt法克服這一缺點(diǎn)。這些算法的共同特點(diǎn)是二階學(xué)習(xí)算法,當(dāng)誤差曲面接近于極值點(diǎn)附近時(shí),具有很快的收斂速度。
2.2.3.1 擬牛頓法。擬牛頓法在搜索方向下比傳統(tǒng)方法有所改進(jìn),它可以利用準(zhǔn)則函數(shù)在搜索上的梯度,并且使用了二次倒數(shù),更好的利用了搜索點(diǎn)提供的信息,使得搜索方向更加精準(zhǔn)的指向最優(yōu)點(diǎn)。它的迭代方程可以表示為:Δw(k+1)=w(k)-D-1▽f(w(k))
擬牛頓法的收斂速度快于一階梯度,但缺點(diǎn)是計(jì)算過(guò)程較為復(fù)雜,典型的算法有一步正切擬牛頓法、BFGS擬牛頓法[5]。在進(jìn)行應(yīng)用時(shí)MATLAB中的工具函數(shù)trainbfg()、trainoss()即對(duì)應(yīng)擬牛頓法中的BFGS擬牛頓法和一步正切擬牛頓法
2.2.3.2 共軛梯度法。傳統(tǒng)算法收斂速度慢,擬牛頓法計(jì)算較為復(fù)雜,但共軛梯度法可以很好的規(guī)避以上兩種缺點(diǎn)。共軛梯度法是一種通過(guò)改進(jìn)搜索方向的方法,把計(jì)算中前一步驟的梯度乘上適當(dāng)?shù)南禂?shù),加上該點(diǎn)的梯度,可以得到新的搜索方向。它的迭代方程可以表示為:Δw(k+1)=w(k)+ρ(k)S(k) ρ(k)為最佳步長(zhǎng)
共軛梯度法比大多常規(guī)的梯度下降法收斂速度更快,且只需要增加有限的存儲(chǔ)量和計(jì)算量[6]。當(dāng)進(jìn)行權(quán)值較多的神經(jīng)網(wǎng)絡(luò)計(jì)算時(shí),尤其適用共軛梯度法。在實(shí)際應(yīng)用時(shí)MATLABz中的traincgb()、traincgf()、traincgp()工具函數(shù)即為共軛梯度法。
2.2.3.3 Levenberg-Marquardt法。Levenberg-Marquardt法其實(shí)是傳統(tǒng)算法和牛頓法的結(jié)合體,它具有在權(quán)值數(shù)較少是比傳統(tǒng)算法和其他改進(jìn)算法的迭代次數(shù)少,收斂速度快,精確度高等優(yōu)點(diǎn)。但由于該算法較為復(fù)雜,運(yùn)用時(shí)會(huì)占用大量的內(nèi)存空間,花費(fèi)更多的計(jì)算時(shí)間。在應(yīng)用時(shí)MATLAB中的teainlm()工具函數(shù)即為L(zhǎng)evenberg-Marquardt法的改進(jìn)算法。
2.2.4 結(jié)合遺傳算法和退火算法。立足于目前網(wǎng)絡(luò)算法的利用情況,遺傳算法和模擬退火算法作為典型研究對(duì)象,相關(guān)學(xué)者對(duì)其研究程度也最為深入,偏向于采用數(shù)值優(yōu)化的方法,泛化性能較為完善且局部極小值相對(duì)穩(wěn)定[7]?;诖?,限于篇幅內(nèi)容,本研究?jī)H對(duì)遺傳算法和模擬退火法進(jìn)行探討。
①遺傳算法(GA)。基于BP神經(jīng)網(wǎng)絡(luò)算法改進(jìn),遺傳算法具備模擬自然進(jìn)化機(jī)制的特點(diǎn),與進(jìn)化策略、進(jìn)化規(guī)劃等方面具有一定聯(lián)系[8]。其中,應(yīng)用最廣的遺傳算法有兩個(gè)明顯的特點(diǎn),即群體搜索策略和群體與個(gè)體信息交換。以參數(shù)編碼、設(shè)定初始群體、設(shè)計(jì)適應(yīng)度函數(shù)、設(shè)計(jì)遺傳操作(選擇、交叉、變異)、設(shè)計(jì)控制參數(shù)為遺傳算法的核心五要素,確定BP網(wǎng)絡(luò)的結(jié)構(gòu)權(quán)值、閥值選定程序。并且,遺傳操作中的交叉和變異是算法優(yōu)化的關(guān)鍵步驟,交叉保證子代對(duì)父代優(yōu)良特點(diǎn)的繼承,變異則為群體的多樣性提供了可能,較易跳出局部極值(滿足評(píng)價(jià)個(gè)體適應(yīng)度)。
文獻(xiàn)6是利用遺傳算法對(duì)神經(jīng)網(wǎng)絡(luò)優(yōu)化的步驟做了詳細(xì)闡述。文獻(xiàn)7對(duì)遺傳算法進(jìn)行了權(quán)值優(yōu)化的仿真實(shí)驗(yàn),以證明其精度、效率、簡(jiǎn)易型均優(yōu)于傳統(tǒng)算法。此外文獻(xiàn)8遺傳算法在優(yōu)化權(quán)值和優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)上做了有益的探索[9],該算法中五要素的仍有較大的設(shè)計(jì)隨意性,導(dǎo)致算法的成功與否還得依靠算法設(shè)計(jì)人員的經(jīng)驗(yàn)和反復(fù)耐心的操作。
②模擬退火算法(SA)。由于該種算法有金屬的物理退火具有一定的相似性,因而得此名稱。模擬退火法是通過(guò)利用Metropolis抽樣中的概率突跳特點(diǎn)進(jìn)行隨機(jī)搜索,隨著溫度的下降,抽樣不斷重復(fù),直到最終得到最優(yōu)解。通過(guò)馬氏鏈可以得出:初始溫度足夠高,溫度下降足夠慢的情況下,SA是收斂的。模擬退火算法可有效避免局部極小值,達(dá)到全局優(yōu)化功效,正由于這一特點(diǎn)使得該算法過(guò)程時(shí)間較長(zhǎng)。文獻(xiàn)9對(duì)比了遺傳算法和模擬退火法,得出了模擬退火法比傳統(tǒng)算法更好,但由于模擬退火法是點(diǎn)對(duì)點(diǎn)搜索的優(yōu)化,許多算法參數(shù)選擇困難,其總體性能不如遺傳算法。
結(jié)合BP神經(jīng)網(wǎng)絡(luò)算法的實(shí)際問(wèn)題,重點(diǎn)論述最優(yōu)預(yù)測(cè)的應(yīng)用案例,聯(lián)系實(shí)踐生產(chǎn)活動(dòng)以達(dá)到BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法的優(yōu)化目標(biāo)。在日常實(shí)踐活動(dòng)中,通過(guò)BP神經(jīng)網(wǎng)絡(luò)建立模擬人腦活動(dòng)的模型,使其具有大規(guī)模處理信息的能力、自訓(xùn)練學(xué)習(xí)能力等,可以用于輿情預(yù)測(cè)、銷售預(yù)測(cè)、股市預(yù)測(cè)等。并且,在BP神經(jīng)網(wǎng)絡(luò)應(yīng)用實(shí)際生活生產(chǎn)前,由網(wǎng)絡(luò)輿情危機(jī)構(gòu)成的預(yù)警研究也已構(gòu)成雛形,結(jié)合BP神經(jīng)網(wǎng)路算法應(yīng)用機(jī)制,構(gòu)建科學(xué)、系統(tǒng)、可行的預(yù)警指標(biāo)體系對(duì)其具備防范功效,轉(zhuǎn)入非線性關(guān)系演算程序,打破局部最小值誤區(qū)(選擇全局搜索、優(yōu)化算法),從而具有樣本記憶和聯(lián)想的能力。以2015年中期河南省文化類網(wǎng)絡(luò)輿情相關(guān)事件為例,整合媒體分析內(nèi)容,以教育、文脈、媒體三個(gè)關(guān)鍵詞作為此次突發(fā)事件的典型代表,利用BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行具體分析[10]。在此期間,經(jīng)由網(wǎng)絡(luò)預(yù)測(cè)的實(shí)際訓(xùn)練,依據(jù)網(wǎng)絡(luò)輿情危機(jī)等級(jí)與網(wǎng)絡(luò)輿情傳播階段結(jié)合趨勢(shì),明確優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值及閥值,結(jié)合MATLAB工具箱、預(yù)警模型所占據(jù)的數(shù)據(jù)比例,轉(zhuǎn)用BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法的精度效應(yīng),便于縮減預(yù)測(cè)結(jié)果的真實(shí)數(shù)值偏離程度,具備較強(qiáng)的適用性[11]。
BP神經(jīng)網(wǎng)絡(luò)算法可對(duì)社會(huì)生產(chǎn)生活進(jìn)行預(yù)測(cè)監(jiān)控和圖像壓縮編碼過(guò)程等,但BP神經(jīng)網(wǎng)絡(luò)固有的最速下降梯度機(jī)制[12],導(dǎo)致其收斂速度慢,存在局部極小等問(wèn)題。在實(shí)際生活中,明確BP神經(jīng)網(wǎng)絡(luò)的基本原理,依據(jù)原有的實(shí)際問(wèn)題,從新增動(dòng)量項(xiàng)、改變學(xué)習(xí)率、采用其他梯度優(yōu)化算法、結(jié)合遺傳算法和退火算法等方面入手探究改進(jìn)優(yōu)化舉措[13],使改進(jìn)后的算法更加適用于生產(chǎn)生活中。此外,BP神經(jīng)網(wǎng)絡(luò)算法已在實(shí)際生活中有所應(yīng)用,尤以網(wǎng)絡(luò)輿情危機(jī)演示為典型特征,希望本研究對(duì)BP神經(jīng)網(wǎng)絡(luò)算法的研究發(fā)展有所裨益。
[1] 劉載文,等.過(guò)程神經(jīng)元網(wǎng)絡(luò)學(xué)習(xí)算法及軟測(cè)量方法的研究[J].系統(tǒng)仿真學(xué)報(bào),2007,19(70):1456-1459.
[2] 王益群,等.神經(jīng)網(wǎng)絡(luò)軟測(cè)量模型中全共軛梯度算法研究[J].機(jī)械工程學(xué)報(bào),2005,41(6):97-101.
[3] 鐘珞,饒文碧,鄒承明.人工神經(jīng)網(wǎng)絡(luò)及其融合應(yīng)用技術(shù)[M].北京:科學(xué)出版社,2007.
[4] 郭敬,董彥良,趙克定.基于混合優(yōu)化策略的自回歸—滑動(dòng)平均模型建模[J].機(jī)械工程學(xué)報(bào),2007,43(4):229-233.
[5] 候祥林,等.多層人工神經(jīng)網(wǎng)絡(luò)合理結(jié)構(gòu)的確定方法[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2003,24(1):35-38.
[6] 王益群,等.基于基于神經(jīng)網(wǎng)絡(luò)的熱軋帶鋼卷取溫度預(yù)報(bào)[J].中國(guó)機(jī)械工程,2005,16(11):990-992.
[7] Randall S.Sexton,Robert E.Dosey,John D.Johnson.To-ward global optimization of network:A comparison of the ge-netic algorithm and back propagation.Decision Support Sys-tems,1998.22:171~185
[8] Randall S.Sexton,JatinderN.D.Gupta.Comparative eval-uation of genetic algorithm and back propagation for trainingneural networks.Information Sciences,2000.129:45~59
[9] Randall S.Sexton,Robert E.Dorsey,John D.Johnson.Optimization of neural networks:A comparative analysis ofthe genetic algorithm and simulated annealing. European Journal of Operational Research,1999.114:589~601
[10] Wang S, Liu Z, Sun Q, Zou H, Yang F. Towards an accurate evaluation of quality of cloud service in service-oriented cloud computing. Journal of Intelligent Manufacturing,2014,25(2):283-291.
[11] 張 雁,王 棵,劉玉連,等. 基于微信平臺(tái)的計(jì)算機(jī)專業(yè)學(xué)習(xí)通[J]. 軟件,2016,37(4):115-118
[12] 胡 健,王理江. 數(shù)據(jù)挖掘在選課推薦中的研究[J]. 軟件,2016,37(4):119-121
[13] 鄒積凱. 公安系統(tǒng)應(yīng)急平臺(tái)建設(shè)及資源應(yīng)用研究[J]. 軟件,2016,37(4):122-125
Technical Analysis of BP Neural Network Algorithm
Zhang Dong
(Zhengzhou Shengda Economics and Trade Management College, Zhengzhou,Henan 451191)
This study through the BP neural network and the characteristics of the principle of a simple introduction,some of the current algorithm to improve the analysis of the advantages and disadvantages of various algorithms, and finally the application of the BP nerve was discussed.
artificial neural network; BP algorithm; optimization algorithm; the best prediction
TP183
A
10.3969/j.issn.1003-6970.2016.12.049
張東(1988—),男,河南鄭州人,助教、網(wǎng)絡(luò)工程師,鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院教師,研究方向:計(jì)算機(jī)網(wǎng)絡(luò)安全及算法分析。