一種新型卷積神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)算法,特別涉及一種新型卷積神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練方法。
【背景技術(shù)】
[0002] 卷積神經(jīng)網(wǎng)絡(luò)是計(jì)算機(jī)視覺和模式識別一個重要的研究領(lǐng)域,它是指計(jì)算機(jī)仿照 生物大腦思維啟發(fā)進(jìn)行類似人類對特定對象的信息處理系統(tǒng)。其應(yīng)用廣泛,快速而準(zhǔn)確的 對象檢測與識別技術(shù)是現(xiàn)代信息處理技術(shù)中的重要組成部分。由于信息量近年來急劇地增 長,我們也迫切的需要有合適的對象檢測以及識別技術(shù)能夠讓人們從大量的信息中尋找出 自己所需要的信息。圖像檢索及文字識別都屬于這一類別,而文字的檢測與識別系統(tǒng)則是 進(jìn)行信息檢索的基本條件。檢測與識別技術(shù)是計(jì)算機(jī)視覺和人機(jī)交互領(lǐng)域重要組成部分。
[0003] 卷積神經(jīng)網(wǎng)絡(luò)是最近廣泛應(yīng)用于模式識別和計(jì)算機(jī)視覺等領(lǐng)域的一種算法模型, 為增加算法針對真實(shí)數(shù)據(jù)的實(shí)際性能測試,進(jìn)而對應(yīng)用程序的泛化性提出了更高的要求。 特別涉及在泛化性的性能上,神經(jīng)網(wǎng)絡(luò)在整個結(jié)構(gòu)設(shè)計(jì)和計(jì)算過程中有大量的時間消耗在 樣本采集和訓(xùn)練過程上,在實(shí)際的應(yīng)用中,訓(xùn)練的效果在樣本集上有很大的體現(xiàn),可是在實(shí) 際的無指導(dǎo)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練模型中,根據(jù)來自輸出節(jié)點(diǎn)的外部反饋,就是期望輸出的調(diào)整 連接權(quán)值,使得網(wǎng)絡(luò)輸出節(jié)點(diǎn)的實(shí)際輸出與外部的期望輸出一致。相對于卷積神經(jīng)網(wǎng)絡(luò)的 整體構(gòu)架,激活函數(shù),拓?fù)浣Y(jié)構(gòu)和選擇訓(xùn)練的方式等方面相比樣本的采集和整理可能不被 重視,幾乎任何可以訓(xùn)練的神經(jīng)網(wǎng)絡(luò)都存在包含錯誤樣本的訓(xùn)練集,在這樣存差樣本集的 實(shí)際錯誤被當(dāng)作正確的數(shù)值傳入網(wǎng)絡(luò)訓(xùn)練的過程而不被網(wǎng)絡(luò)糾錯和判別。對于訓(xùn)練集的的 樣本而言。真正的問題是如何將神經(jīng)網(wǎng)絡(luò)執(zhí)行對現(xiàn)實(shí)世界中的分類和識別模式而又不是只 對僅有的一部分實(shí)驗(yàn)數(shù)據(jù)集做驗(yàn)證。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的是為了提供一種快速神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練方法,以解決現(xiàn)有的神經(jīng) 網(wǎng)絡(luò)在整個結(jié)構(gòu)設(shè)計(jì)和計(jì)算過程中有大量的時間消耗在樣本采集和訓(xùn)練過程上的問題。
[0005] 為達(dá)到上述目的,本發(fā)明提供一種新型卷積神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練方法,包括如下 步驟:
[0006] 確定一定數(shù)量的樣本集合作為訓(xùn)練的基準(zhǔn)數(shù)據(jù)集合,對訓(xùn)練權(quán)值進(jìn)行適度的扭 曲,設(shè)置訓(xùn)練的初始學(xué)習(xí)率和最終學(xué)習(xí)率;
[0007] 以初始學(xué)習(xí)率為基礎(chǔ),使用二階反向傳播學(xué)習(xí)算法對樣本集合進(jìn)行訓(xùn)練,當(dāng)學(xué)習(xí) 率達(dá)到最終學(xué)習(xí)率時,結(jié)束訓(xùn)練。
[0008] 具體地,使用二階反向傳播算法過程中會產(chǎn)生誤差,誤差的偏導(dǎo)數(shù)等于后一層網(wǎng) 絡(luò)實(shí)際輸出值與后一層網(wǎng)絡(luò)目標(biāo)輸出值的差值,利用所述差值對權(quán)重值進(jìn)行更新。
[0009] 具體地,更新權(quán)重值的具體方法為:新的權(quán)重值等于更新前的權(quán)重值減去學(xué)習(xí)率 與所述差值的乘積。
[0010] 具體地,所述初始學(xué)習(xí)率為0.001,最終學(xué)習(xí)率為0.00005。
[0011] 可選地,對訓(xùn)練權(quán)值進(jìn)行扭曲的方法包括縮放因子,反轉(zhuǎn)和彈性形變。
[0012] 具體地,網(wǎng)絡(luò)神經(jīng)元節(jié)點(diǎn)對權(quán)重值進(jìn)行校驗(yàn),當(dāng)權(quán)重值遠(yuǎn)大于或者遠(yuǎn)小于學(xué)習(xí)率 下降的范圍時,丟棄該權(quán)重值。
[0013] 本發(fā)明的有益效果是:通過本發(fā)明的方法,可以在不占用大量計(jì)算資源的情況下, 最大程度上提升卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果,在訓(xùn)練算法提升和學(xué)習(xí)率和迭代回?cái)?shù)等優(yōu)化參 數(shù)配置并保持足夠數(shù)量訓(xùn)練和測試樣本的情況下可以在后續(xù)的實(shí)驗(yàn)和模擬中針對手寫數(shù) 字做分類和識別工作?;趦?yōu)化的卷積神經(jīng)網(wǎng)絡(luò)模型在字符集樣本模式變形,采樣不完全 或受干擾樣本模式等高噪音環(huán)境下實(shí)現(xiàn)高精度識別。而且在適應(yīng)性能大幅提升的情況下, 也可以促進(jìn)更加廣泛的模式識別和計(jì)算機(jī)視覺領(lǐng)域針對目標(biāo)檢測和對象識別的使用范圍, 基于這種新型卷積神經(jīng)網(wǎng)絡(luò)的無指導(dǎo)網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練及樣本采集的優(yōu)化方法的基礎(chǔ)設(shè)計(jì)技 術(shù)提升智能家電產(chǎn)品的性能,提高了家電在視覺交互方面的智能性和泛化性,以實(shí)際產(chǎn)品 使用過程中獲得更好的用戶體驗(yàn)。
【具體實(shí)施方式】
[0014] 以下對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)描述。
[0015] 本發(fā)明為解決現(xiàn)有的神經(jīng)網(wǎng)絡(luò)在整個結(jié)構(gòu)設(shè)計(jì)和計(jì)算過程中有大量的時間消耗 在樣本采集和訓(xùn)練過程上的問題,提供一種新型卷積神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練方法,該方法包 括如下步驟:
[0016]確定一定數(shù)量的樣本集合作為訓(xùn)練的基準(zhǔn)數(shù)據(jù)集合,對訓(xùn)練權(quán)值進(jìn)行適度的扭 曲,設(shè)置訓(xùn)練的初始學(xué)習(xí)率和最終學(xué)習(xí)率;
[0017] 以初始學(xué)習(xí)率為基礎(chǔ),使用二階反向傳播學(xué)習(xí)算法對樣本集合進(jìn)行訓(xùn)練,當(dāng)學(xué)習(xí) 率達(dá)到最終學(xué)習(xí)率時,結(jié)束訓(xùn)練。
[0018] 使用二階反向傳播算法過程中會產(chǎn)生誤差,誤差的偏導(dǎo)數(shù)等于后一層網(wǎng)絡(luò)實(shí)際輸 出值與后一層網(wǎng)絡(luò)目標(biāo)輸出值的差值,利用所述差值對權(quán)重值進(jìn)行更新。更新權(quán)重值的具 體方法為:新的權(quán)重值等于更新前的權(quán)重值減去學(xué)習(xí)率與所述差值的乘積。對訓(xùn)練權(quán)值進(jìn) 行扭曲的方法包括縮放因子,反轉(zhuǎn)和彈性形變。
[0019] 初始學(xué)習(xí)率為0.001,最終學(xué)習(xí)率為0.00005。網(wǎng)絡(luò)神經(jīng)元節(jié)點(diǎn)對權(quán)重值進(jìn)行校驗(yàn), 當(dāng)權(quán)重值遠(yuǎn)大于或者遠(yuǎn)小于學(xué)習(xí)率下降的范圍時,丟棄該權(quán)重值。
[0020] 本發(fā)明采用的技術(shù)方案是:
[0021] 首先我們用一個含有10000個模式的樣本集作為訓(xùn)練的基準(zhǔn)數(shù)據(jù)集合。在一個隨 機(jī)序列中連續(xù)處理反向傳播算法,其中每一個通過10000種模式的Epoch我們簡單稱作一個 迭代。訓(xùn)練的目的是努力提高神經(jīng)網(wǎng)絡(luò)的泛化性能,在本專利闡述的例子中訓(xùn)練算法淺顯 的表達(dá)是使權(quán)重在浮動范圍內(nèi)跳變更大一些,最大程度上避免了錯誤樣本的權(quán)重屬性,特 別是在輸入的訓(xùn)練集模式,數(shù)據(jù)采集即使再規(guī)整,再投入時間人力做大量的準(zhǔn)備工作,但樣 本也不可能完全與現(xiàn)實(shí)世界中的屬性特征相同。為提高泛化性更為重要的技術(shù)就是適度的 改變訓(xùn)練權(quán)值,使權(quán)值適度的扭曲:用于在網(wǎng)絡(luò)反向傳播之前訓(xùn)練模式被輕微的扭曲。而神 經(jīng)網(wǎng)絡(luò)每次迭代運(yùn)行權(quán)重的計(jì)算。從另一個角度看這是扭曲被放大的訓(xùn)練集,通過一次又 一次的迭代反饋計(jì)算,人為地從現(xiàn)有的模式創(chuàng)造新的訓(xùn)練模式。適當(dāng)?shù)呐で鷻?quán)值計(jì)算權(quán)重 使每個模式再隨機(jī)反向傳播。扭曲權(quán)值的三種不同類型的應(yīng)用有:縮放因子,反轉(zhuǎn)和彈性形 變。
[0022] 其次,在適當(dāng)?shù)母淖冇?xùn)練權(quán)值后,為保障訓(xùn)練的更優(yōu)化結(jié)果還需設(shè)置其他參數(shù),核 心的內(nèi)容是學(xué)習(xí)率的設(shè)置。網(wǎng)絡(luò)的訓(xùn)練過程必須指定一個初始學(xué)習(xí)率和最終的學(xué)習(xí)率。一 般來說,學(xué)習(xí)率在沒有訓(xùn)練神經(jīng)網(wǎng)絡(luò)時初始值應(yīng)該更大,由于大的學(xué)習(xí)率在反復(fù)的回饋計(jì) 算中將發(fā)生變化。學(xué)習(xí)率在訓(xùn)練的過程中緩慢梯度下降,由于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機(jī)制,從而使 權(quán)重收斂于最后數(shù)值。但它從來沒有真正讓