張 東
(鄭州升達經貿管理學院,河南 鄭州 451191)
BP神經網絡算法的技術分析
張 東
(鄭州升達經貿管理學院,河南 鄭州 451191)
本研究通過對BP神經網絡的特點及其原理進行簡單介紹,提出當前的一些算法改進,分析各種算法的優缺點,最后對BP神經的應用現狀進行了探討。
人工神經網絡;BP算法;優化算法;最佳預測
本文著錄格式:張東.BP神經網絡算法的技術分析[J].軟件,2016,37(12):227-229
BP神經網絡又稱人工神經網絡,它是一種模擬動物神經網絡的數學模型。神經網絡是在現代生物學研究人腦組織成果的基礎上提出的,用來模擬人類大腦神經網絡的結構和行為。神經網絡反映了人腦功能的基本特征,如并行信息的處理、學習、想象、記憶等。BP神經網絡是由人工神經元互連組成的網絡,以人工神經元為節點,用有向加權弧連接起來的有向圖,其中人工神經元模擬人腦神經元,有向弧模擬軸突—突觸—樹突對,有向弧的權值表示相互連接的兩個人工神經元相互作用的強弱。
早在1986年首先由Romelhart和Mc2clelland提出誤差反向傳播算法(Error Back Propagation Algorit hm,簡稱BP算法),由于在應用中誤差反向傳播算法常用于多層前反饋網絡的訓練,也常把多層反饋網絡成為BP網絡[1]。
BP網絡模型包括其輸入輸出模型、作用函數模型、誤差計算模型和自學習模型。
1.1 節點輸出模型
f-非線形作用函數,q-神經單元閾值。

圖一 BP神經網絡的典型結構
1.2 作用函數模型
作用函數是反映下層輸入對上層節點刺激脈沖強度的函數又稱刺激函數,一般取為(0,1)內連續取值Sigmoid函數f(x)=1/(1+e-x)
1.3 誤差計算模型
誤差計算模型是反映神經網絡期望輸出與計算輸出之間誤差大小的函數:
Ep=1/2×∑(tpi-Opi)2 tpi-i節點的期望輸出值;Opi-i節點計算輸出值。
1.4 自學習模型
神經網絡的學習過程,即連接下層節點和上層節點之間的權重拒陣Wij的設定和誤差修正過程。BP網絡有師學習方式-需要設定期望值和無師學習方式-只需輸入模式之分。自學習模型為△Wij(n+1)= h ×Фi ×Oj+a×△Wij(n) h-學習因子;Фi-輸出節點i的計算誤差;Oj-輸出節點j的計算輸出;a-動量因子。
2.1 BP神經網絡算法存在的問題
①容易陷入局部極小,使得全局達不到最優;
②訓練次數過多,誤差下降緩慢,影響收斂速度,使得學習效率低下;
③選取隱節點是缺乏理論指導。當隱節點過多時,使得網絡學習的時間變長,甚至會發生不能收斂的情況;當隱節點過少時,網絡的容錯力較差;
④訓練時會發生學習新樣本忘記舊樣本的情況。
2.2 BP神經網絡算法的改進措施
針對BP網絡算法易出現的問題,國內外的學者教授對此進行了深入細致的研究,并提出了一些改進措施:
2.2.1 新增動量項。這種方法也可以稱為慣性校正法,可以用下面的權值調整公式表示:

μδi(t)yj表示BP神經網絡算法的修正量,其中δi(t)為廣義誤差,yj為神經元在第j層的輸出;Δ wij(t-1)為動量項,α是動量系數。在使用加入動量項這一方法后,可以加快收斂的速度并抑制振蕩。在何玉彬,李新忠所著《神經網絡技術及其應用》中對這一方法做了更加深入的研究和推廣[2],在該研究中涉及的增廣LPIDBP學習算法,就是通過對微分、積分、誤差梯度的比例進行組合,從而形成調節量。
2.2.2 改變學習率。在BP神經網絡中,學習率又可稱為步長,BP算法中學習率設定成常數,但在實際應用時,無法確定最佳的學習率。通過觀察誤差曲面,在平坦區域內,學習率過小會使得訓練次數增加,此時提高學習率的作用就十分重要;在誤差變化劇烈的區域,學習率過大會導致調整量過大,跨過較窄的坑凹處,整個訓練會由于出現震蕩使得迭代次數的增加[3]。在不同的區域內過大過小的學習率都會對收斂過程產生不利影響,而進行學習率的自使用改變,讓學習率在改增大的時候增大,在該減小時較小,可以很容易的避免收斂過程過慢的情況。
2.2.3 采用其他梯度優化算法。最速下降梯度法自身的特點決定了BP算法收斂速度慢的缺點,最速下降可以使得初期的迭代速度很快接近于極值點[4],但最終收斂仍需較長時間。因此可以采用擬牛頓法共軛梯度法、Levenberg-Marquardt法克服這一缺點。這些算法的共同特點是二階學習算法,當誤差曲面接近于極值點附近時,具有很快的收斂速度。
2.2.3.1 擬牛頓法。擬牛頓法在搜索方向下比傳統方法有所改進,它可以利用準則函數在搜索上的梯度,并且使用了二次倒數,更好的利用了搜索點提供的信息,使得搜索方向更加精準的指向最優點。它的迭代方程可以表示為:Δw(k+1)=w(k)-D-1▽f(w(k))
擬牛頓法的收斂速度快于一階梯度,但缺點是計算過程較為復雜,典型的算法有一步正切擬牛頓法、BFGS擬牛頓法[5]。在進行應用時MATLAB中的工具函數trainbfg()、trainoss()即對應擬牛頓法中的BFGS擬牛頓法和一步正切擬牛頓法
2.2.3.2 共軛梯度法。傳統算法收斂速度慢,擬牛頓法計算較為復雜,但共軛梯度法可以很好的規避以上兩種缺點。共軛梯度法是一種通過改進搜索方向的方法,把計算中前一步驟的梯度乘上適當的系數,加上該點的梯度,可以得到新的搜索方向。它的迭代方程可以表示為:Δw(k+1)=w(k)+ρ(k)S(k) ρ(k)為最佳步長

共軛梯度法比大多常規的梯度下降法收斂速度更快,且只需要增加有限的存儲量和計算量[6]。當進行權值較多的神經網絡計算時,尤其適用共軛梯度法。在實際應用時MATLABz中的traincgb()、traincgf()、traincgp()工具函數即為共軛梯度法。
2.2.3.3 Levenberg-Marquardt法。Levenberg-Marquardt法其實是傳統算法和牛頓法的結合體,它具有在權值數較少是比傳統算法和其他改進算法的迭代次數少,收斂速度快,精確度高等優點。但由于該算法較為復雜,運用時會占用大量的內存空間,花費更多的計算時間。在應用時MATLAB中的teainlm()工具函數即為Levenberg-Marquardt法的改進算法。
2.2.4 結合遺傳算法和退火算法。立足于目前網絡算法的利用情況,遺傳算法和模擬退火算法作為典型研究對象,相關學者對其研究程度也最為深入,偏向于采用數值優化的方法,泛化性能較為完善且局部極小值相對穩定[7]。基于此,限于篇幅內容,本研究僅對遺傳算法和模擬退火法進行探討。
①遺傳算法(GA)。基于BP神經網絡算法改進,遺傳算法具備模擬自然進化機制的特點,與進化策略、進化規劃等方面具有一定聯系[8]。其中,應用最廣的遺傳算法有兩個明顯的特點,即群體搜索策略和群體與個體信息交換。以參數編碼、設定初始群體、設計適應度函數、設計遺傳操作(選擇、交叉、變異)、設計控制參數為遺傳算法的核心五要素,確定BP網絡的結構權值、閥值選定程序。并且,遺傳操作中的交叉和變異是算法優化的關鍵步驟,交叉保證子代對父代優良特點的繼承,變異則為群體的多樣性提供了可能,較易跳出局部極值(滿足評價個體適應度)。
文獻6是利用遺傳算法對神經網絡優化的步驟做了詳細闡述。文獻7對遺傳算法進行了權值優化的仿真實驗,以證明其精度、效率、簡易型均優于傳統算法。此外文獻8遺傳算法在優化權值和優化網絡結構上做了有益的探索[9],該算法中五要素的仍有較大的設計隨意性,導致算法的成功與否還得依靠算法設計人員的經驗和反復耐心的操作。
②模擬退火算法(SA)。由于該種算法有金屬的物理退火具有一定的相似性,因而得此名稱。模擬退火法是通過利用Metropolis抽樣中的概率突跳特點進行隨機搜索,隨著溫度的下降,抽樣不斷重復,直到最終得到最優解。通過馬氏鏈可以得出:初始溫度足夠高,溫度下降足夠慢的情況下,SA是收斂的。模擬退火算法可有效避免局部極小值,達到全局優化功效,正由于這一特點使得該算法過程時間較長。文獻9對比了遺傳算法和模擬退火法,得出了模擬退火法比傳統算法更好,但由于模擬退火法是點對點搜索的優化,許多算法參數選擇困難,其總體性能不如遺傳算法。
結合BP神經網絡算法的實際問題,重點論述最優預測的應用案例,聯系實踐生產活動以達到BP神經網絡預測方法的優化目標。在日常實踐活動中,通過BP神經網絡建立模擬人腦活動的模型,使其具有大規模處理信息的能力、自訓練學習能力等,可以用于輿情預測、銷售預測、股市預測等。并且,在BP神經網絡應用實際生活生產前,由網絡輿情危機構成的預警研究也已構成雛形,結合BP神經網路算法應用機制,構建科學、系統、可行的預警指標體系對其具備防范功效,轉入非線性關系演算程序,打破局部最小值誤區(選擇全局搜索、優化算法),從而具有樣本記憶和聯想的能力。以2015年中期河南省文化類網絡輿情相關事件為例,整合媒體分析內容,以教育、文脈、媒體三個關鍵詞作為此次突發事件的典型代表,利用BP神經網絡算法進行具體分析[10]。在此期間,經由網絡預測的實際訓練,依據網絡輿情危機等級與網絡輿情傳播階段結合趨勢,明確優化BP神經網絡的初始權值及閥值,結合MATLAB工具箱、預警模型所占據的數據比例,轉用BP神經網絡預測方法的精度效應,便于縮減預測結果的真實數值偏離程度,具備較強的適用性[11]。
BP神經網絡算法可對社會生產生活進行預測監控和圖像壓縮編碼過程等,但BP神經網絡固有的最速下降梯度機制[12],導致其收斂速度慢,存在局部極小等問題。在實際生活中,明確BP神經網絡的基本原理,依據原有的實際問題,從新增動量項、改變學習率、采用其他梯度優化算法、結合遺傳算法和退火算法等方面入手探究改進優化舉措[13],使改進后的算法更加適用于生產生活中。此外,BP神經網絡算法已在實際生活中有所應用,尤以網絡輿情危機演示為典型特征,希望本研究對BP神經網絡算法的研究發展有所裨益。
[1] 劉載文,等.過程神經元網絡學習算法及軟測量方法的研究[J].系統仿真學報,2007,19(70):1456-1459.
[2] 王益群,等.神經網絡軟測量模型中全共軛梯度算法研究[J].機械工程學報,2005,41(6):97-101.
[3] 鐘珞,饒文碧,鄒承明.人工神經網絡及其融合應用技術[M].北京:科學出版社,2007.
[4] 郭敬,董彥良,趙克定.基于混合優化策略的自回歸—滑動平均模型建模[J].機械工程學報,2007,43(4):229-233.
[5] 候祥林,等.多層人工神經網絡合理結構的確定方法[J].東北大學學報(自然科學版),2003,24(1):35-38.
[6] 王益群,等.基于基于神經網絡的熱軋帶鋼卷取溫度預報[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] 張 雁,王 棵,劉玉連,等. 基于微信平臺的計算機專業學習通[J]. 軟件,2016,37(4):115-118
[12] 胡 健,王理江. 數據挖掘在選課推薦中的研究[J]. 軟件,2016,37(4):119-121
[13] 鄒積凱. 公安系統應急平臺建設及資源應用研究[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—),男,河南鄭州人,助教、網絡工程師,鄭州升達經貿管理學院教師,研究方向:計算機網絡安全及算法分析。