翟龍飛+陳迎春++楊沖++閆心寶
摘 要: 通過(guò)對(duì)標(biāo)準(zhǔn)梯度下降算法BP神經(jīng)網(wǎng)絡(luò)進(jìn)行應(yīng)用研究,眾多學(xué)者發(fā)現(xiàn)其收斂速度有待進(jìn)一步提高。本文通過(guò)對(duì)標(biāo)準(zhǔn)BP網(wǎng)絡(luò)分析以及針對(duì)網(wǎng)絡(luò)中暴露的問(wèn)題逐步解決優(yōu)化,逐算法進(jìn)行訓(xùn)練比較,最終選出最優(yōu)算法。
關(guān)鍵詞:學(xué)習(xí)算法 標(biāo)準(zhǔn)梯度 最優(yōu)理論
中圖分類號(hào):TP301.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-9082(2016)04-0006-01
研究發(fā)現(xiàn),標(biāo)準(zhǔn)BP網(wǎng)絡(luò)算法暴露出的主要問(wèn)題有:一是訓(xùn)練網(wǎng)絡(luò)易陷入局部最優(yōu);二是網(wǎng)絡(luò)收斂慢,訓(xùn)練時(shí)間長(zhǎng);三是訓(xùn)練時(shí)對(duì)于舊樣本趨勢(shì)進(jìn)行遺忘[1]。目前BP網(wǎng)絡(luò)的優(yōu)化學(xué)習(xí)算法可分為兩大類:基于標(biāo)準(zhǔn)梯度下降的啟發(fā)式學(xué)習(xí)算法和基于最優(yōu)理論的訓(xùn)練算法[2]。
一、基于改進(jìn)標(biāo)準(zhǔn)梯度啟發(fā)式學(xué)習(xí)算法分析
改進(jìn)梯度算法是在原有標(biāo)準(zhǔn)梯度算法基礎(chǔ)上,通過(guò)優(yōu)化計(jì)算網(wǎng)絡(luò)權(quán)值和閾值的調(diào)整方式實(shí)現(xiàn)收斂?jī)?yōu)化的目的。改進(jìn)梯度算法包括增加動(dòng)量法、學(xué)習(xí)速率可變法和彈性梯度法。
1.增加動(dòng)量的梯度下降算法
標(biāo)準(zhǔn)梯度算法有遺忘舊樣本趨勢(shì),即在網(wǎng)絡(luò)訓(xùn)練中只參考本次樣本輸入影響,在此情況下便導(dǎo)致網(wǎng)絡(luò)訓(xùn)練震蕩性大。為克服該弱點(diǎn),引入動(dòng)量因素,即考慮以往網(wǎng)絡(luò)輸入對(duì)于當(dāng)前梯度方向影響,如式(1)中引入前一時(shí)刻網(wǎng)絡(luò)調(diào)整方向: (1)
表示時(shí)刻,表示時(shí)刻的負(fù)梯度。由于考慮了以往梯度的影響,相當(dāng)于給迭代過(guò)程中增加了一個(gè)低通濾波器,使得網(wǎng)絡(luò)綜合歷史以及當(dāng)前情況進(jìn)行調(diào)整,從而忽略了誤差下降曲面的部分不規(guī)則細(xì)節(jié)優(yōu)化了網(wǎng)絡(luò)收斂。
2.學(xué)習(xí)速率可變的梯度下降算法
在標(biāo)準(zhǔn)梯度下降的BP網(wǎng)絡(luò)中,學(xué)習(xí)速率是恒定的,這就造成了網(wǎng)絡(luò)訓(xùn)練前期和后期,學(xué)習(xí)速率對(duì)于網(wǎng)絡(luò)自身的不適應(yīng)性。為解決學(xué)習(xí)速率帶來(lái)的問(wèn)題,引入學(xué)習(xí)速率可變的算法。
該算法通過(guò)當(dāng)前總誤差與前一次總誤差對(duì)比,實(shí)現(xiàn)學(xué)習(xí)速率的自適應(yīng)調(diào)整,根據(jù)當(dāng)前訓(xùn)練所在誤差曲面的復(fù)雜度來(lái)確定學(xué)習(xí)速率的調(diào)整。
同增加動(dòng)量的梯度下降算法一樣,學(xué)習(xí)速率可變的梯度下降算法同樣存在權(quán)值的修正量過(guò)小,學(xué)習(xí)效率得不到保證的問(wèn)題。
3.彈性梯度下降算法
為解決輸入數(shù)據(jù)進(jìn)入Sigmoid傳輸函數(shù)“飽和區(qū)”的不利影響,當(dāng)訓(xùn)練進(jìn)入平坦區(qū)時(shí),壓縮神經(jīng)元輸入,從而使得輸入退飽和區(qū)。該算法數(shù)學(xué)表達(dá)為:
由(2)式可知,當(dāng) 時(shí),傳輸函數(shù)的敏感區(qū)段延長(zhǎng)至原來(lái)的倍。輸入退出飽和區(qū)時(shí),自適應(yīng)調(diào)整 ,使得傳輸函數(shù)擁有較高靈敏度。
二、基于最優(yōu)理論的算法分析
基于最優(yōu)化理論,在BP網(wǎng)絡(luò)的研究上有共軛梯度法、擬牛頓法和Levenberg-Marquardt法。
1.共軛梯度算法
標(biāo)準(zhǔn)梯度下降算法,目標(biāo)擬合思想是權(quán)值和閾值調(diào)整沿誤差函數(shù)下降最快的方向,然而由于誤差曲面的非光滑性質(zhì),導(dǎo)致梯度下降方向并不一定為收斂最快方向,且易陷入局部最優(yōu)。因此,引入共軛梯度,權(quán)值和閾值調(diào)整沿共軛梯度方向調(diào)整來(lái)獲得更快收斂[3]。
2.擬牛頓算法
在數(shù)值優(yōu)化算法中,標(biāo)準(zhǔn)的牛頓法迭代公式為: (3)
是誤差性能函數(shù)對(duì)當(dāng)前權(quán)值和偏差的二階微分構(gòu)成的Hessian矩陣[3]。然而,對(duì)于前向型BP網(wǎng)絡(luò),計(jì)算Hessian矩陣耗費(fèi)的計(jì)算資源量較大,反而提高了收斂時(shí)間。擬牛頓算法是每一次迭代計(jì)算一個(gè)近似Hessian矩陣,不僅提高了計(jì)算效率而且還解決了Hessian矩陣計(jì)算困難的問(wèn)題,提高了網(wǎng)絡(luò)性能。
3.Levenberg-Marquardt算法
綜合以上兩種算法特點(diǎn),提出Levenberg-Marquardt學(xué)習(xí)算法BP網(wǎng)絡(luò)。L-M法中,將誤差性能函數(shù)可以表示為平方和的形式,此時(shí),Hessian矩陣可以近似為[3]: (4)
梯度為: (5)
L-M算法的更新過(guò)程與牛頓法類似,公式表達(dá)如下:
(6)
三、最優(yōu)算法
1.標(biāo)準(zhǔn)梯度以及其改進(jìn)算法綜合比較
2.基于最優(yōu)理論學(xué)習(xí)算法的綜合比較
3.兩類算法中的最優(yōu)算法進(jìn)行比較
通過(guò)比較,Levenberg-Marquardt算法在收斂速度和收斂效果上都要優(yōu)于彈性梯度算法。因此,選取Levenberg-Marquardt算法為最優(yōu)算法。