本發(fā)明屬深度學(xué)習(xí)技術(shù)領(lǐng)域,涉及一種在全連接深度學(xué)習(xí)模型中的快速訓(xùn)練算法,具體涉及一種基于節(jié)點(diǎn)輸入約束的全連接深度學(xué)習(xí)模型快速訓(xùn)練方法。
背景技術(shù):
目前存在的深度學(xué)習(xí)模型快速訓(xùn)練方法主要有兩類:一類是基于節(jié)點(diǎn)函數(shù)改進(jìn)的,通過改進(jìn)節(jié)點(diǎn)函數(shù)形式,減少訓(xùn)練次數(shù),使得網(wǎng)絡(luò)快速收斂;另一類是基于訓(xùn)練算法策略改進(jìn),通過各種改進(jìn)的訓(xùn)練算法策略,減少訓(xùn)練次數(shù),使得網(wǎng)絡(luò)快速收斂。文獻(xiàn)“胡潔,曾祥金等.一種快速且全局收斂的bp神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[j].系統(tǒng)科學(xué)與數(shù)學(xué),2010,30(5):604-610.”公開了一種快速且全局收斂的bp神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。該算法通過定義一個(gè)適當(dāng)?shù)膭?dòng)量項(xiàng),避免訓(xùn)練過程中陷入局部極小并且提高收斂速度。文獻(xiàn)所用動(dòng)量項(xiàng),雖簡(jiǎn)單,但設(shè)置需人為經(jīng)驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有的基于動(dòng)量項(xiàng)提高bp神經(jīng)網(wǎng)絡(luò)算法收斂速度的問題,本發(fā)明提供了一種基于網(wǎng)絡(luò)節(jié)點(diǎn)輸入約束的全連接深度學(xué)習(xí)模型快速訓(xùn)練算法。該方法將節(jié)點(diǎn)輸入約束,引入到全連接深度學(xué)習(xí)模型訓(xùn)練中。首先,對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)輸入約束值進(jìn)行研究,依據(jù)激勵(lì)函數(shù)特性對(duì)其進(jìn)行原始函數(shù)曲線、一階導(dǎo)數(shù)曲線進(jìn)行節(jié)點(diǎn)約束值分析,得到節(jié)點(diǎn)輸入約束值;然后,在網(wǎng)絡(luò)正向計(jì)算時(shí)節(jié)點(diǎn)輸入中加入節(jié)點(diǎn)輸入限制條件,通過限制網(wǎng)絡(luò)節(jié)點(diǎn)輸入來控制一階梯度大小,從而優(yōu)化梯度,使得網(wǎng)絡(luò)快速達(dá)到收斂;最后,網(wǎng)絡(luò)誤差反向傳播更新網(wǎng)絡(luò)參數(shù),直到網(wǎng)絡(luò)收斂。
一種基于節(jié)點(diǎn)輸入約束的全連接深度學(xué)習(xí)模型快速訓(xùn)練方法,其特征在于步驟如下:
步驟1:基于激勵(lì)函數(shù)確定節(jié)點(diǎn)輸入約束值:根據(jù)激勵(lì)函數(shù)曲線和激勵(lì)函數(shù)一階導(dǎo)數(shù)函數(shù)曲線,確定使兩條曲線同時(shí)開始收斂的初始因變量,以該因變量值的絕對(duì)值作為節(jié)點(diǎn)輸入約束值mr;
步驟2:在全連接網(wǎng)絡(luò)正向計(jì)算中加入節(jié)點(diǎn)約束環(huán)節(jié):在網(wǎng)絡(luò)正向傳播中,對(duì)于每個(gè)隱層、輸出層中的每個(gè)節(jié)點(diǎn),以步驟1得到的約束值mr作為門限閾值,對(duì)節(jié)點(diǎn)原始輸入值進(jìn)行輸入限制,具體為:
對(duì)于隱層節(jié)點(diǎn):
若
若
對(duì)于輸出層節(jié)點(diǎn):
若
若
其中,
步驟3:神經(jīng)網(wǎng)絡(luò)訓(xùn)練:先進(jìn)行網(wǎng)絡(luò)正向傳播,再進(jìn)行誤差反向傳導(dǎo),更新網(wǎng)絡(luò)參數(shù),直到網(wǎng)絡(luò)收斂。
本發(fā)明的有益效果是:由于把節(jié)點(diǎn)輸入限制環(huán)節(jié)加入到了神經(jīng)網(wǎng)絡(luò)正向傳播環(huán)節(jié),有效的實(shí)現(xiàn)了網(wǎng)絡(luò)訓(xùn)練的快速收斂。相對(duì)于其他方法,思路簡(jiǎn)單,參數(shù)易于設(shè)置。
附圖說明
圖1是本發(fā)明的全連接深度學(xué)習(xí)網(wǎng)絡(luò)模型示意圖
圖2是本發(fā)明的一種基于節(jié)點(diǎn)輸入約束的全連接深度學(xué)習(xí)模型快速訓(xùn)練方法流程圖
圖3是sigmoid函數(shù)曲線
圖4是sigmoid函數(shù)一階導(dǎo)數(shù)曲線
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明,本發(fā)明包括但不僅限于下述實(shí)施例。
傳統(tǒng)全連接深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,其前向傳導(dǎo)過程如下:
本發(fā)明的一種基于節(jié)點(diǎn)輸入約束的全連接深度學(xué)習(xí)模型快速訓(xùn)練方法,其基本過程如圖2所示,具體包括以下步驟:
1、基于sigmoid激勵(lì)函數(shù)確定節(jié)點(diǎn)輸入約束值
sigmoid函數(shù)如下:
f(x)=1/(1+e-x)(1)
該函數(shù)曲線如圖3所示,其一階導(dǎo)數(shù)曲線如圖4所示,由兩個(gè)曲線可以得到:
f'(x)=0當(dāng)x>6或x<-6(3)
也就是說,使sigmoid函數(shù)曲線和其一階導(dǎo)數(shù)函數(shù)曲線同時(shí)趨于收斂的初始因變量為±6,因此,令節(jié)點(diǎn)輸入約束值mr=6。
2、在全連接網(wǎng)絡(luò)正向計(jì)算中加入節(jié)點(diǎn)約束環(huán)節(jié)
在全連接網(wǎng)絡(luò)正向傳播中,對(duì)于每個(gè)隱層、輸出層中的每個(gè)節(jié)點(diǎn),以步驟1得到的節(jié)點(diǎn)輸入約束值作為門限閾值,對(duì)節(jié)點(diǎn)原始輸入值進(jìn)行輸入限制,即在計(jì)算隱層輸入節(jié)點(diǎn)的輸入值
對(duì)于隱層節(jié)點(diǎn):
若
若
對(duì)于輸出層節(jié)點(diǎn):
若
若
3、神經(jīng)網(wǎng)絡(luò)訓(xùn)練
先進(jìn)行網(wǎng)絡(luò)正向傳播,再進(jìn)行誤差反向傳導(dǎo),更新網(wǎng)絡(luò)參數(shù),直到網(wǎng)絡(luò)收斂(即訓(xùn)練誤差在一定范圍內(nèi))。
(1)網(wǎng)絡(luò)正向傳播
隱層輸入節(jié)點(diǎn)輸入值:
隱層節(jié)點(diǎn)輸出值:
輸出層節(jié)點(diǎn)輸入值:
若
輸出層節(jié)點(diǎn)輸出值:
(2)dj為輸出節(jié)點(diǎn)期望輸出,反向傳導(dǎo)過程如下:
對(duì)輸出層節(jié)點(diǎn),計(jì)算:
對(duì)于隱層節(jié)點(diǎn),計(jì)算:
計(jì)算最終的權(quán)值偏導(dǎo)數(shù):
這里,η為學(xué)習(xí)率,
(3)權(quán)值更新
對(duì)于輸出層:
對(duì)于隱層:
其中,α是沖量,p表示迭代次數(shù)。
p加1,重復(fù)(1)-(3),直到