張紅玉,丁 寧,徐江榮
(杭州電子科技大學(xué)能源研究所,浙江 杭州 310018)
BP神經(jīng)網(wǎng)絡(luò)激勵(lì)函數(shù)改進(jìn)研究
張紅玉,丁 寧,徐江榮
(杭州電子科技大學(xué)能源研究所,浙江 杭州 310018)
針對(duì)BP神經(jīng)網(wǎng)絡(luò)算法收斂速度慢、收斂精度低等缺陷,提出了一種改進(jìn)的BP網(wǎng)絡(luò)算法,即在S型傳遞函數(shù)(激勵(lì)函數(shù))中引入位移因子,給出了具體函數(shù)公式及改進(jìn)算法.對(duì)不同位移因子所產(chǎn)生的運(yùn)行結(jié)果進(jìn)行比對(duì),給出了位移因子合適的取值范圍,將改進(jìn)的函數(shù)集成到MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中.最后,應(yīng)用改進(jìn)算法進(jìn)行仿真,實(shí)驗(yàn)結(jié)果表明,相對(duì)于標(biāo)準(zhǔn)BP算法,改進(jìn)算法的收斂速度提高了61%,收斂精度達(dá)到0.003 1,驗(yàn)證了改進(jìn)函數(shù)的可行性,收斂速度和收斂精度均得到了改善.
BP神經(jīng)網(wǎng)絡(luò);激勵(lì)函數(shù);Logistic曲線;位移因子
反向傳播(Back-Propagation,BP)神經(jīng)網(wǎng)絡(luò)是一種多層前向神經(jīng)網(wǎng)絡(luò),可實(shí)現(xiàn)從輸入到輸出的任意非線性映射,其權(quán)值的調(diào)整采用反向傳播的人工神經(jīng)網(wǎng)絡(luò).在標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)算法中,神經(jīng)元激勵(lì)函數(shù)通常采用單、雙極S型函數(shù).然而,標(biāo)準(zhǔn)的Sigmoidal函數(shù)形式單一,其映射范圍和位置都是固定不變的,缺少靈活性,這與神經(jīng)網(wǎng)絡(luò)的泛化能力不協(xié)調(diào),無法改善神經(jīng)網(wǎng)絡(luò)的收斂速度慢、收斂精度低、易陷入局部極小解等問題[1-4].針對(duì)標(biāo)準(zhǔn)BP算法存在的缺陷,很多學(xué)者進(jìn)行了研究并提出了改進(jìn)方案,比如,文獻(xiàn)[5]提出了一種含有4個(gè)待定參數(shù)的神經(jīng)元激活函數(shù),然而,在實(shí)際應(yīng)用中,由于該方法所含參數(shù)較多,耗費(fèi)了大量時(shí)間.本文在文獻(xiàn)[5]研究的基礎(chǔ)上,結(jié)合當(dāng)下應(yīng)用較多、較成熟的MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中的傳遞函數(shù),提出了一種高效可調(diào)帶位移因子的激勵(lì)函數(shù),經(jīng)過仿真實(shí)驗(yàn)驗(yàn)證,該函數(shù)能夠滿足BP算法快速收斂的需求.
(1)
(2)
其中,η為算法的學(xué)習(xí)速率,E為誤差函數(shù),f′為神經(jīng)元傳遞函數(shù)的導(dǎo)數(shù),I為神經(jīng)元節(jié)點(diǎn)的輸入量,O為神經(jīng)元節(jié)點(diǎn)實(shí)際輸出量,y為神經(jīng)元節(jié)點(diǎn)期望輸出量.
由權(quán)值變化量公式可知,BP網(wǎng)絡(luò)收斂速度由兩部分決定,一是學(xué)習(xí)率η.學(xué)習(xí)率一般不宜過大,學(xué)習(xí)率太大將導(dǎo)致網(wǎng)絡(luò)在訓(xùn)練過程中出現(xiàn)振蕩或者發(fā)散現(xiàn)象,學(xué)習(xí)率太小將導(dǎo)致權(quán)值閾值更新速度慢,通常學(xué)習(xí)率設(shè)置為較小正數(shù),本文選取學(xué)習(xí)率為0.05.另一個(gè)是傳遞函數(shù)的導(dǎo)數(shù),當(dāng)網(wǎng)絡(luò)落到誤差函數(shù)平坦區(qū)域時(shí)(如逐漸收斂到近零區(qū)域時(shí)),傳遞函數(shù)的導(dǎo)數(shù)比較小將導(dǎo)致網(wǎng)絡(luò)權(quán)值和閾值φ更新速度減慢,從而耗費(fèi)更多時(shí)間來訓(xùn)練網(wǎng)絡(luò),增加時(shí)間成本.
從改進(jìn)后的傳遞函數(shù)導(dǎo)數(shù)可知,通過調(diào)整c的大小來改變傳遞函數(shù)導(dǎo)數(shù)的大小,從而控制收斂算法速度.BP算法的執(zhí)行過程如下:
1)初始化權(quán)值w和閾值φ,系統(tǒng)隨機(jī)賦值;
2)根據(jù)給定的輸入I和期望輸出y進(jìn)行正向傳播訓(xùn)練,計(jì)算實(shí)際輸出O和誤差E;
3)反向傳播誤差量,計(jì)算△w,修正權(quán)值;
4)若誤差精度或者循環(huán)次數(shù)達(dá)到設(shè)定標(biāo)準(zhǔn),輸出結(jié)果,反之繼續(xù)步驟2.
本文將改進(jìn)后的傳遞函數(shù)集成到MATLAB神經(jīng)網(wǎng)絡(luò)工具箱中,用該工具箱對(duì)改進(jìn)后的算法進(jìn)行仿真測(cè)試.首先,通過newff函數(shù)創(chuàng)建一個(gè)前饋神經(jīng)網(wǎng)絡(luò)對(duì)象,newff函數(shù)中有6個(gè)輸入?yún)?shù),新版MATLAB中第1個(gè)參數(shù)為輸入元素的歸一化矩陣,是一個(gè)R×2的矩陣,其中R表示輸入元素的個(gè)數(shù);第2個(gè)參數(shù)是每層神經(jīng)網(wǎng)絡(luò)的長度;第3個(gè)參數(shù)是一個(gè)包含各層神經(jīng)元用到的傳遞函數(shù)的數(shù)組;第4個(gè)參數(shù)是訓(xùn)練網(wǎng)絡(luò)所需的函數(shù)名稱;第5個(gè)參數(shù)是權(quán)值和閾值的BP學(xué)習(xí)算法;第6參數(shù)是網(wǎng)絡(luò)的性能函數(shù).從理論上講,所要求的任意函數(shù)都可以由三層BP神經(jīng)網(wǎng)絡(luò)來逼近,因此,本文采用三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行仿真,改進(jìn)算法后的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示.
圖1 三層神經(jīng)網(wǎng)絡(luò)模型示意圖
網(wǎng)絡(luò)初始參數(shù)設(shè)置如下:
net.trainParam.epochs=104∥設(shè)置訓(xùn)練迭代時(shí)間
net.trainParam.lr=0.05 ∥設(shè)置學(xué)習(xí)速度
net.trainParam.goal=10-6∥設(shè)置目標(biāo)誤差值
根據(jù)改進(jìn)算法,連續(xù)改變位移因子a的值,得到了一組傳遞函數(shù),并研究了這些函數(shù)對(duì)BP網(wǎng)絡(luò)收斂速度的影響,計(jì)算結(jié)果如表1所示.
表1 位移因子改變對(duì)性能參數(shù)影響
由仿真結(jié)果可知,當(dāng)a=0時(shí),即傳遞函數(shù)為初始網(wǎng)絡(luò)函數(shù),迭代較慢;當(dāng)a≤0時(shí),迭代次數(shù)略微較少,但迭代速度依舊比較慢,并無明顯提升;當(dāng)a≥0時(shí),隨著其值的增大,迭代次數(shù)明顯減少,表明收斂速度不斷加快.通過以上分析,不難發(fā)現(xiàn),選用合適的位移因子,可以提高BP算法的收斂速度,節(jié)約時(shí)間成本.經(jīng)證實(shí)加入位移因子的改進(jìn)算法具有實(shí)用性,可以推廣使用.
由表1可以看出,當(dāng)a值大于0時(shí),收斂速度較快,但當(dāng)a值過大,雖然速度有所提高,但收斂精度降低,因此,在實(shí)際選取時(shí),位移因子不宜過大.綜合收斂速度和收斂精度兩方面因素,經(jīng)過大量仿真實(shí)驗(yàn)證明a取小于18的正值,模擬效果較好,本文選取其中的一個(gè)值a=4進(jìn)行仿真實(shí)驗(yàn).
選取杭州市2015年11月至2016年1月共90個(gè)空氣質(zhì)量數(shù)據(jù)作為輸入數(shù)據(jù),所有數(shù)據(jù)輸入訓(xùn)練系統(tǒng)后進(jìn)行歸一化處理,統(tǒng)一各輸入量的數(shù)量級(jí),避免了各輸入量不同單位帶來的影響,其中90%的數(shù)據(jù)用于訓(xùn)練網(wǎng)絡(luò),10%的數(shù)據(jù)用于預(yù)測(cè)結(jié)果,利用MATLAB建立改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò),進(jìn)行網(wǎng)絡(luò)訓(xùn)練.網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,得到輸入層神經(jīng)元與隱含層神經(jīng)元之間的連接權(quán)值w12和閾值φ1,具體數(shù)值如下:
同時(shí)得到隱含層神經(jīng)元與輸出層神經(jīng)元之間的連接權(quán)值和閾值分別為:
w23=(-0.623 6 0.973 0 0.106 4),φ2=-0.092 5.
在以上權(quán)值和閾值前提下,對(duì)標(biāo)準(zhǔn)BP算法和改進(jìn)的BP算法進(jìn)行模擬仿真和對(duì)比,結(jié)果如表2所示.
表2 仿真結(jié)果對(duì)比
以上測(cè)試結(jié)果表明,改進(jìn)后的BP算法預(yù)測(cè)結(jié)果與給定的期望輸出值很接近,經(jīng)過78次迭代達(dá)到設(shè)定要求,而標(biāo)準(zhǔn)BP算法則需要迭代198次,改進(jìn)算法迭代速度提高了60.61%,相比傳統(tǒng)算法,提高了收斂速度,節(jié)約了時(shí)間成本.改進(jìn)算法經(jīng)過多次迭代訓(xùn)練學(xué)習(xí),均方誤差減小到0.003 1,可以看出,BP神經(jīng)網(wǎng)絡(luò)的收斂精度得到提高,說明本文提出的改進(jìn)算法在收斂速度和精度上,都得到了較好的效果.
進(jìn)一步進(jìn)行仿真模擬,總樣本數(shù)據(jù)為90個(gè),其中90%用于訓(xùn)練,10%用于測(cè)試,改進(jìn)算法的訓(xùn)練曲線和預(yù)測(cè)圖及訓(xùn)練數(shù)據(jù)和樣本數(shù)據(jù)的擬合情況如圖2所示.
圖2 改進(jìn)后訓(xùn)練曲線和預(yù)測(cè)結(jié)果
改進(jìn)算法的預(yù)測(cè)結(jié)果能很好地逼近所有樣本點(diǎn),實(shí)現(xiàn)了空氣質(zhì)量指標(biāo)AQI與6種污染物之間的函數(shù)映射關(guān)系,改進(jìn)后的BP算法練精度較高,能較好地實(shí)現(xiàn)預(yù)測(cè).
訓(xùn)練數(shù)據(jù)與實(shí)際數(shù)據(jù)的相關(guān)性如圖3所示.
相關(guān)度的計(jì)算公式為
圖3 訓(xùn)練數(shù)據(jù)與實(shí)際數(shù)據(jù)的相關(guān)度
通過計(jì)算得到,訓(xùn)練數(shù)據(jù)與實(shí)際數(shù)據(jù)相關(guān)度為99.30%、確認(rèn)數(shù)據(jù)與實(shí)際數(shù)據(jù)相關(guān)度為99.02%、測(cè)試數(shù)據(jù)與實(shí)際數(shù)據(jù)相關(guān)度為99.87%、總數(shù)據(jù)與實(shí)際數(shù)據(jù)相關(guān)度為99.30%.當(dāng)數(shù)據(jù)相關(guān)度R>80.00%時(shí),即可認(rèn)為兩個(gè)變量具有很強(qiáng)的相關(guān)性,或者觀察擬合線與標(biāo)準(zhǔn)線重合程度,重合程度越好,表明擬合效果越接近.通過計(jì)算和圖3可知,訓(xùn)練數(shù)據(jù)與實(shí)際數(shù)據(jù)擬合效果較好,精度較高.
本文針對(duì)標(biāo)準(zhǔn)BP算法中各神經(jīng)元節(jié)點(diǎn)的激勵(lì)函數(shù)模式固定的缺陷,在MATLAB工具箱中常用的神經(jīng)元傳遞函數(shù)上增加了一個(gè)可調(diào)的位移因子,提出了一種帶可調(diào)位移因子的激勵(lì)函數(shù)形式,并通過實(shí)際案例驗(yàn)證了其有效性,為后續(xù)研究BP算法提供了一定的思路.但本文提出的改進(jìn)算法也存在局限,本文改進(jìn)的函數(shù)只針對(duì)S型函數(shù),針對(duì)其他函數(shù)形式的研究有待進(jìn)一步展開.
[1] Norio Baba. A new approach for finding the global minimum of error function of neural networks[J].Neural Network,1989,2(5):367-373.
[2] 向國全,董道珍.BP模型中的激勵(lì)函數(shù)和改進(jìn)的網(wǎng)絡(luò)訓(xùn)練法[J].計(jì)算機(jī)研究與發(fā)展,1997,34(2):113-117.
[3] 陸金桂,王石剛,胡于進(jìn),等.多層神經(jīng)網(wǎng)絡(luò)算法的研究[J].計(jì)算機(jī)工程,1994,20(1):17-19.
[4] 徐宜桂,史鐵林,楊叔子.BP網(wǎng)絡(luò)的全局最優(yōu)算法[J].計(jì)算機(jī)科學(xué),1996,23(1):73-75.
[5] 李恩玉,楊平先,孫興波.基于激活函數(shù)四參可調(diào)的BP神經(jīng)網(wǎng)絡(luò)改進(jìn)算法[J].微電子學(xué)與計(jì)算機(jī),2008,25(11):89-93.
[6] 石靈芝,鄧啟紅,路嬋,等.基于BP人工神經(jīng)網(wǎng)絡(luò)的大氣顆粒物PM10質(zhì)量濃度預(yù)測(cè)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,43(5):1969-1974.
[7] 吉祝美.環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)新標(biāo)準(zhǔn)解讀[J].污染防治技術(shù),2012,25(6):67-69.
ResearchontheImprovementofBPNeuralNetworkExcitationFunction
ZHANG Hongyu, DING Ning, XU Jiangrong
(InstituteofEnergy,HangzhouDianziUniversity,HangzhouZhejiang310018,China)
In view of the shortcomings of the BP neural network algorithm, such as low convergence rate and low convergence precision. An improved BP network algorithm is proposed, in this method, the displacement factor is introduced into the S-type transfer function. And then, the concrete function formula and the improved algorithm are given. By comparing the results of different displacement factors, the appropriate range of the displacement factors is given. The improved functions are integrated into the MATLAB neural network toolbox and compared with the performance of the standard BP algorithm. Finally, the simulation results show that the convergence rate of the improved algorithm is 61% higher than that of the standard BP algorithm and the convergence rate is 0.0031, through real data simulation results demonstrate the improved algorithm is feasible, convergent and convergent.
BP neural network; excitation function; logistic curve; displacement factor
10.13954/j.cnki.hdu.2017.06.012
2016-12-12
國家自然科學(xué)基金資助項(xiàng)目(51176044);浙江省自然科學(xué)基金資助項(xiàng)目(Y1111085)
張紅玉(1990-),女,黑龍江雞西人,碩士研究生,能源機(jī)械.通信作者:丁寧副教授,E-mail:tinin@hdu.edu.cn.
O241
A
1001-9146(2017)06-0062-05