基于貝葉斯正則化的深度學(xué)習(xí)網(wǎng)絡(luò)圖像識(shí)別方法
【專利摘要】基于貝葉斯正則化的深度學(xué)習(xí)網(wǎng)絡(luò)圖像識(shí)別方法屬于人工智能和機(jī)器學(xué)習(xí)領(lǐng)域。深度信念網(wǎng)絡(luò)越來(lái)越多的在數(shù)字檢測(cè)及圖像識(shí)別領(lǐng)域發(fā)揮重要作用。為了解決該網(wǎng)絡(luò)在訓(xùn)練過(guò)程中的過(guò)擬合問(wèn)題,本文基于網(wǎng)絡(luò)的稀疏特性及連接權(quán)值的變化,提出一種基于貝葉斯正則化的深度信念網(wǎng)。通過(guò)將貝葉斯正則化應(yīng)用到網(wǎng)絡(luò)訓(xùn)練過(guò)程中,有效地調(diào)節(jié)誤差減小與權(quán)值增大之間的平衡。本文使用數(shù)字手寫(xiě)體數(shù)據(jù)庫(kù)的分類(lèi)實(shí)驗(yàn)來(lái)證明該改進(jìn)算法的有效性。實(shí)驗(yàn)結(jié)果表明在深度信念網(wǎng)中,該方法能夠有效克服過(guò)擬合現(xiàn)象,提高數(shù)字識(shí)別的正確率。
【專利說(shuō)明】基于貝葉斯正則化的深度學(xué)習(xí)網(wǎng)絡(luò)圖像識(shí)別方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明利用基于貝葉斯正則化(Bayesian Regularizat1n)的深度學(xué)習(xí)網(wǎng)絡(luò)(Deep BeliefNetwork, DBN)實(shí)現(xiàn)手寫(xiě)體數(shù)字圖像的識(shí)別和分類(lèi)。神經(jīng)網(wǎng)絡(luò)是人工智能和神經(jīng)計(jì)算領(lǐng)域的重要方法,圖像檢測(cè)和識(shí)別是機(jī)器學(xué)習(xí)領(lǐng)域的重要任務(wù)之一,因此本發(fā)明屬于人工智能和機(jī)器學(xué)習(xí)領(lǐng)域。
【背景技術(shù)】
[0002]數(shù)字識(shí)別技術(shù)在很多行業(yè)中占有一席之地,例如教育,交通運(yùn)輸,商業(yè),郵政和銀行等。數(shù)字的自動(dòng)識(shí)別的實(shí)現(xiàn)和應(yīng)用為人們的生活提供了重要的便利,與人們的生活息息相關(guān),被廣泛應(yīng)用于車(chē)輛和道路的號(hào)碼檢測(cè),個(gè)人成績(jī)單的自動(dòng)識(shí)別等。與印刷體的數(shù)字識(shí)別相比,手寫(xiě)體的數(shù)字識(shí)別由于其復(fù)雜性,多樣性和不確定性,一直是該領(lǐng)域的重點(diǎn)和難點(diǎn)。手寫(xiě)體數(shù)據(jù)庫(kù)數(shù)量不多但樣本復(fù)雜,因此成為檢驗(yàn)新技術(shù)和新方法的重要工具。
[0003]深度神經(jīng)網(wǎng)絡(luò)(DBN)能夠以一種較好的方式模擬人類(lèi)大腦的工作模式對(duì)數(shù)據(jù)進(jìn)行分類(lèi)和識(shí)別,且成功避免維數(shù)災(zāi)難問(wèn)題,已成功應(yīng)用于多種模式分類(lèi)問(wèn)題,其在信號(hào)處理中的應(yīng)用對(duì)象不僅包含語(yǔ)音、圖像和視頻,同樣也包含文本、語(yǔ)言和傳遞人類(lèi)可獲知的語(yǔ)義信息。但在手寫(xiě)體數(shù)字識(shí)別任務(wù)中,深度神經(jīng)網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象影響正確識(shí)別率,網(wǎng)絡(luò)的識(shí)別能力有待提高。針對(duì)這個(gè)問(wèn)題,國(guó)內(nèi)外學(xué)者提出許多改進(jìn)方案,例如快速平穩(wěn)的CD準(zhǔn)則通過(guò)引入輔助變量來(lái)改進(jìn)訓(xùn)練過(guò)程中的混合速率,稀疏性受限玻爾茲曼機(jī)通過(guò)在最大自然函數(shù)中引入懲罰項(xiàng)來(lái)減小次要神經(jīng)元的作用。越來(lái)越多的工作表明,網(wǎng)絡(luò)參數(shù)的正確設(shè)置與否,會(huì)在很大程度上影響結(jié)果。
[0004]過(guò)擬合是神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中的常見(jiàn)問(wèn)題之一,為了提高網(wǎng)絡(luò)泛化能力,傳統(tǒng)的方式有簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu)和提前停止訓(xùn)練等方法,這些方法在不同程度上發(fā)揮作用,但不易于推廣。貝葉斯正則化方法通過(guò)在訓(xùn)練中減小網(wǎng)絡(luò)權(quán)值,有效抑制不重要的神經(jīng)元發(fā)揮作用,從而達(dá)到抑制過(guò)擬合現(xiàn)象的目的。為了解決DBN網(wǎng)絡(luò)在應(yīng)用于手寫(xiě)體數(shù)字識(shí)別任務(wù)中的過(guò)擬合現(xiàn)象,本發(fā)明設(shè)計(jì)了一種基于貝葉斯正則化的DBN網(wǎng)絡(luò),通過(guò)引入貝葉斯正則化項(xiàng),有效調(diào)節(jié)訓(xùn)練過(guò)程中的誤差減小和權(quán)值增加之間的平衡,設(shè)置合適的性能參數(shù)α和β,提高識(shí)別正確率,實(shí)現(xiàn)對(duì)數(shù)字圖像的識(shí)別。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于通過(guò)提出一種基于貝葉斯正則化的深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,改進(jìn)DBN網(wǎng)絡(luò)訓(xùn)練目標(biāo)函數(shù),通過(guò)分析連接權(quán)值的變化趨勢(shì),調(diào)節(jié)訓(xùn)練過(guò)程中訓(xùn)練誤差減小與權(quán)值增大之間的平衡,保證網(wǎng)絡(luò)中稀疏連接發(fā)揮作用,抑制過(guò)擬合現(xiàn)象的發(fā)生,提高網(wǎng)絡(luò)泛化能力,增加對(duì)數(shù)字圖像的識(shí)別準(zhǔn)確度。
[0006]本發(fā)明采用了如下的技術(shù)方案及實(shí)現(xiàn)步驟:
[0007]基于貝葉斯正則化的深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)方法,包括以下步驟:
[0008](I確定輸入對(duì)象及網(wǎng)絡(luò)結(jié)構(gòu)。采用含有兩個(gè)隱含層的DBN網(wǎng)絡(luò),以數(shù)字圖像作為網(wǎng)絡(luò)輸入,輸入層神經(jīng)元數(shù)量為一張圖像含有的像素點(diǎn)數(shù),設(shè)置隱含層神經(jīng)元數(shù),為保證訓(xùn)練精度,一般大于100,但如果太大則會(huì)造成過(guò)擬合,輸出層為類(lèi)別數(shù)量。
[0009](2基于貝葉斯正則化的無(wú)監(jiān)督訓(xùn)練步驟。根據(jù)已知的DBN運(yùn)算準(zhǔn)則,首先初始化網(wǎng)絡(luò)權(quán)值及閾值為[0,1]區(qū)間的隨機(jī)值,當(dāng)信號(hào)從可視層傳入隱含層,公式(I)為由已知的可視層節(jié)點(diǎn)得到的隱含層節(jié)點(diǎn)的值:
【權(quán)利要求】
1.基于貝葉斯正則化的深度學(xué)習(xí)網(wǎng)絡(luò)圖像識(shí)別方法,其特征在于: 1)確定網(wǎng)絡(luò)結(jié)構(gòu):采用含有兩個(gè)隱含層的DBN網(wǎng)絡(luò),輸入層神經(jīng)元數(shù)量為一張圖像含有的像素點(diǎn)數(shù),設(shè)置隱含層神經(jīng)元數(shù),大于100 ; 改進(jìn)DBN網(wǎng)絡(luò)訓(xùn)練目標(biāo)函數(shù);該DBN由多個(gè)疊加的受限玻爾茲曼機(jī),以下簡(jiǎn)稱RBM,和一個(gè)輸出層組成;DBN的訓(xùn)練過(guò)程分為兩步:首先,使用無(wú)監(jiān)督學(xué)習(xí)方法訓(xùn)練每一層受限玻爾茲曼機(jī),且每個(gè)RBM的輸入為上一個(gè)RBM的輸出,即每一層RBM都要單獨(dú)訓(xùn)練;第二,使用最后一層網(wǎng)絡(luò)接收最后一個(gè)RBM的輸出,用有監(jiān)督的方式反向訓(xùn)練整個(gè)網(wǎng)絡(luò),對(duì)其進(jìn)行微調(diào);具體步驟如下: 2).首先,初始化網(wǎng)絡(luò)權(quán)值及閾值為[0,1]區(qū)間的隨機(jī)值,當(dāng)信號(hào)從可視層傳入隱含層,公式(I)為由已知的可視層節(jié)點(diǎn)得到的隱含層節(jié)點(diǎn)的值:
第二,將信號(hào)從隱含層反傳回可視層;由于RBM是對(duì)稱網(wǎng)絡(luò),因此可以得到由隱含層節(jié)點(diǎn)得到可視層節(jié)點(diǎn)的值,見(jiàn)公式(2):
式(I)為由已知的可視層節(jié)點(diǎn)得到的隱含層節(jié)點(diǎn)的值,(2)為由隱含層節(jié)點(diǎn)得到可視層節(jié)點(diǎn)的值中Wi和Ci分別對(duì)應(yīng)每一個(gè)RBM網(wǎng)絡(luò)中可視層第i個(gè)節(jié)點(diǎn)的取值和閾值,hj和bj分別對(duì)應(yīng)網(wǎng)絡(luò)中隱含層第j個(gè)節(jié)點(diǎn)的取值和閾值,wu為可視節(jié)點(diǎn)i和隱藏節(jié)點(diǎn)j之間的權(quán)值,表示兩個(gè)神經(jīng)元之間連接信號(hào)的強(qiáng)弱,上述值在訓(xùn)練之前需初始化,均取[0,1]之間的隨機(jī)值,P (hj = I)表示隱含層節(jié)點(diǎn)hj取值為I的概率,P (Vi = I)表示可視層節(jié)點(diǎn)Vi取值為I的概率; 公式(3)為可視層的特征向量V和隱含層的特征向量h的聯(lián)合概率分布,在訓(xùn)練過(guò)程中計(jì)算其極小值,為改進(jìn)算法之前的目標(biāo)函數(shù):
式中P(v,h)為函數(shù)運(yùn)算目標(biāo),表示可視層和隱含層的聯(lián)合概率分布,W是可視層和隱含層之間的權(quán)值矩陣,V和h分別為網(wǎng)絡(luò)可視層和隱含層神經(jīng)元的取值向量,c和b分別為網(wǎng)絡(luò)可視層和隱含層神經(jīng)元的閾值向量,T表示轉(zhuǎn)置,E(v, h)是特征向量V和h的數(shù)學(xué)期望值,其絕對(duì)值的大小代表h能夠保存的V的信息的多少,~表示正相關(guān); 基于貝葉斯正則化的網(wǎng)絡(luò)訓(xùn)練方法見(jiàn)公式(4)、(5)、(6),其中目標(biāo)函數(shù)為:
Fw = a P+ β Eff (4) 式中,P為函數(shù)(3), Ew為貝葉斯正則項(xiàng),α和β是性能參數(shù),α+β =1且α > β ,分別用于控制訓(xùn)練過(guò)程中訓(xùn)練誤差的變化和權(quán)值的變化;公式(4)中的P和Ew分別見(jiàn)(5)和(6),
式(6)中,m為單個(gè)樣本的像素?cái)?shù)量,η為隱含層節(jié)點(diǎn)數(shù)量; 利用馬爾科夫鏈蒙特卡洛方法,以下簡(jiǎn)稱MCMC,使RBM的可視層和隱含層互為條件進(jìn)行交替求解,當(dāng)其共同趨于平穩(wěn)狀態(tài)時(shí),P (V,h)達(dá)到最大,然后求得P (V,h)與初始狀態(tài)的聯(lián)合概率分布的斜率alogp(v,h)/aθ’使用公式(7)更新權(quán)值及閾值:
式⑵為權(quán)值更新公式,其中,Θ = (W,b,C),表示訓(xùn)練過(guò)程中的權(quán)值和閾值矩陣,τ為迭代次數(shù),Η為學(xué)習(xí)速度; 用if表示第i個(gè)可視層單元在t時(shí)刻的特征向量,v°是t = O時(shí)刻的可視層特征向量即RBM的輸入,h°是由v°根據(jù)公式⑴得到的隱含層特征向量,V1是在t = I時(shí)刻由11°根據(jù)公式(2)得到的可視層特征向量,以此類(lèi)推,V00和h~分別是t =C?即穩(wěn)定狀態(tài)的可視層和隱含層的特征向量,公式(7)中的斜率由公式(8)計(jì)算得出:
式中,<hV1〉為輸入特征向量與其對(duì)應(yīng)的隱含層特征向量的點(diǎn)乘的平均值,^00V00)為馬爾可夫鏈末端可視層特征向量與其對(duì)應(yīng)的隱含層特征向量的乘積的平均值,已知<h00 V00〉是收斂的;由公式⑶可知,聯(lián)合概率分布的斜率與中間狀態(tài)無(wú)關(guān),只與網(wǎng)絡(luò)的初始狀態(tài)和最終狀態(tài)有關(guān);于是權(quán)值及閾值更新公式為:
式中參數(shù)意義同公式(7); 根據(jù)⑶快速運(yùn)算準(zhǔn)則,再運(yùn)行一次公式(I),將信號(hào)重新傳給隱含層,得到新的P (hj =1),利用(9)更新權(quán)值,至此第一層RBM訓(xùn)練完畢;將數(shù)據(jù)輸出給第二個(gè)隱含層,重復(fù)上述步驟,訓(xùn)練第二層RBM,直至所有隱含層訓(xùn)練完畢; 3).有監(jiān)督訓(xùn)練步驟: 根據(jù)已知的誤差反向傳播進(jìn)行實(shí)現(xiàn),首先,將輸入向量沿輸入端傳至輸出端;然后使用反向傳播,計(jì)算網(wǎng)絡(luò)的輸出結(jié)果與帶有標(biāo)簽的正確結(jié)果的誤差,將誤差從輸出端反向傳播至輸入端,以修改DBN的參數(shù);具體實(shí)現(xiàn)步驟如下; ①初始化BP網(wǎng)絡(luò)的參數(shù),設(shè)定步長(zhǎng)A; ②前向傳播,對(duì)于第I層的j單元節(jié)點(diǎn),有
式中,首先判斷神經(jīng)元屬于某一輸出層為當(dāng)前迭代步數(shù),表示第I層第j個(gè)神經(jīng)元的實(shí)際輸出值,令dj (a)為理想輸出值即正確信息,則誤差
③計(jì)算權(quán)值調(diào)整大小S,然后使用反向傳播調(diào)整參數(shù); 對(duì)于輸出神經(jīng)元有:
對(duì)于非輸出層神經(jīng)兀有:
式(11)、(12)中,e」(a)為第a步中第j個(gè)神經(jīng)元的誤差,(Ω):表示第I層第j個(gè)神經(jīng)元的實(shí)際輸出值,W^i(Ci)表示第a步第1+1層第j個(gè)神經(jīng)元和第I層第i個(gè)神經(jīng)元的權(quán)值,考(《)表示第a步第I層第j個(gè)神經(jīng)元的權(quán)值調(diào)整值,Sr Ho)表示第a步第1+1層第i個(gè)神經(jīng)元的權(quán)值調(diào)整值,Σ為加和符號(hào); ④權(quán)值調(diào)整:
η為學(xué)習(xí)速率,+ I)為第a+ι迭代步數(shù)的權(quán)值,即調(diào)整后的權(quán)值,Μ$(β)表示第a步第I層第j個(gè)神經(jīng)元和第1-1層第i個(gè)神經(jīng)元的權(quán)值,Sf表示第I層第j個(gè)神經(jīng)元的權(quán)值調(diào)整值,表示第a步第1-1層第i個(gè)神經(jīng)元的實(shí)際輸出值; ⑤如果a= A,則訓(xùn)練結(jié)束,反之,a = a+1,返回步驟②。
【文檔編號(hào)】G06N3/08GK104077595SQ201410266127
【公開(kāi)日】2014年10月1日 申請(qǐng)日期:2014年6月15日 優(yōu)先權(quán)日:2014年6月15日
【發(fā)明者】喬俊飛, 潘廣源, 韓紅桂, 柴偉 申請(qǐng)人:北京工業(yè)大學(xué)