劉長明(濱州市科學(xué)技術(shù)情報研究所,山東 濱州 256600)
?
基于深度信念網(wǎng)絡(luò)的手寫數(shù)字識別方法研究
劉長明
(濱州市科學(xué)技術(shù)情報研究所,山東 濱州 256600)
摘 要:多隱層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)一直是大家關(guān)注的熱點問題,而傳統(tǒng)的學(xué)習(xí)算法并不能很好地適應(yīng)于多隱層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。提出了一種基于受限玻爾茲曼機的學(xué)習(xí)算法,將多隱層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)變?yōu)槎鄠€受限玻爾茲曼機的順序?qū)W習(xí)。將該方法應(yīng)用于手寫數(shù)字識別問題,取得了較好的識別結(jié)果。
關(guān)鍵詞:深度信念網(wǎng)絡(luò);受限玻爾茲曼機;模式識別
對于維數(shù)較高的有向信念網(wǎng)絡(luò),根據(jù)給定的數(shù)據(jù)矢量推測隱層行為的條件分布是很難的,這也導(dǎo)致它們的學(xué)習(xí)非常困難。變分法(Variational methods)對條件分布真值采用簡單的近似,但是近似是很不盡如人意的,特別是在最深的隱層。變分學(xué)習(xí)需要對所有的參數(shù)一起學(xué)習(xí),隨著參數(shù)數(shù)量的增加讓學(xué)習(xí)時間規(guī)模變的很大。
針對上述問題,Hinton等提出了一種由受限玻爾茲曼機構(gòu)成的深度信念網(wǎng)絡(luò)。這種深度信念網(wǎng)絡(luò)可以用一個快速貪婪學(xué)習(xí)算法來很快找到一組性能很好參數(shù)??梢赃M行無監(jiān)督學(xué)習(xí),推斷速度快而且準(zhǔn)確。本文將這種深度信念網(wǎng)絡(luò)用于手寫數(shù)字識別,并對其性能進行了討論。
深度信念網(wǎng)絡(luò)由可視層、輸入層及多個隱層組成。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)中[1-2],當(dāng)隱層較多的時候,反向傳播等算法都不能很好的工作。在深度信念網(wǎng)絡(luò)中,相鄰的兩層可以看作一個受限玻爾茲曼機[3-4],這樣一個深度信念網(wǎng)絡(luò)就可以看作多個串聯(lián)在一起的受限玻爾茲曼機。每次深度信念網(wǎng)絡(luò)的學(xué)習(xí),都可以分解成每個玻爾茲曼機從下向上的順序?qū)W習(xí)。
如圖1所示,每個受限玻爾茲曼機包括一個可視層和一個隱層,每一層都由多個隨機神經(jīng)元組成。層間的神經(jīng)元之間都有連接,而層內(nèi)的神經(jīng)元之間沒有連接。每個神經(jīng)元都具有兩個狀態(tài)——激活和未激活,可以用0和1表示,狀態(tài)是根據(jù)概率來確定。
1.1 補充先驗
1.2 受限玻爾茲曼機的對比散度學(xué)習(xí)
當(dāng)上述概率分布確定之后,需要根據(jù)此概率分布,確定在整個訓(xùn)練集(包含K個訓(xùn)練數(shù)據(jù))上概率最大的使得φ,即
求φ*的關(guān)鍵是對L( φ)求偏導(dǎo),可以將L( φ)表示為:
對φ中的某個參數(shù)φl求偏導(dǎo)為
這里,<.>P為依分布P的數(shù)學(xué)期望。上述方法稱為對比散度學(xué)習(xí)算法[5]。
MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫包括60000個訓(xùn)練圖片和10000個測試圖片。這個公開的數(shù)據(jù)庫上,不同模式識別技術(shù)的結(jié)果都已經(jīng)給出,所以評估新模式識別技術(shù)比較理想。在訓(xùn)練之前并不進行預(yù)處理和增強。網(wǎng)絡(luò)在44000個訓(xùn)練圖像上進行訓(xùn)練,將訓(xùn)練集分為440小批,每批包括每類數(shù)字的各10個圖片。每個小批更新一次權(quán)重。
測試網(wǎng)絡(luò)的一種方法是采用測試集,采用本生成模型來獲得分類。對于測試集10000個測試圖片,錯誤率1.29%。出錯的125個數(shù)據(jù)如圖2所示,在左上角給出了網(wǎng)絡(luò)識別的結(jié)果。
每個訓(xùn)練周期的重構(gòu)均方誤差如圖3所示。左側(cè)是7層的網(wǎng)絡(luò),每層分別包括784、400、200、100、50、25、6個神經(jīng)元。右側(cè)是3層網(wǎng)絡(luò),每層分別包括784、532、6個神經(jīng)元。從圖中可以看出,7層網(wǎng)絡(luò)的訓(xùn)練速度要明顯高于3層網(wǎng)絡(luò),而且訓(xùn)練誤差低于3層網(wǎng)絡(luò)。
本文討論了一種深度學(xué)習(xí)的算法,將多隱層神經(jīng)網(wǎng)絡(luò)表示為一系列受限玻爾茲曼機串聯(lián)的形式,而多隱層網(wǎng)絡(luò)的學(xué)習(xí)相應(yīng)的變?yōu)槎鄠€受限玻爾茲曼機的順序?qū)W習(xí)。給出了受限玻爾茲曼機的對比散度學(xué)習(xí)方法。進而,將本方法應(yīng)用到手寫數(shù)字識別問題,取得了較高的識別率。
參考文獻:
[1]葉世偉,史忠植.神經(jīng)網(wǎng)絡(luò)原理[M].北京:機械工業(yè)出版社,2006.
[2]Haykin S.神經(jīng)網(wǎng)絡(luò)與機器學(xué)習(xí)(英文版)[M].北京:機械工業(yè)出版社,2009.
[3]Jordan M, Sejnowski T. Learning and relearning in boltzmann machines [A]. Parallel Distributed Processing Explorations in the Microstructure of Cognition,1986:45-76
[4]Hinton GE. Training products of experts by minimizing contrastive divergence[J].Neural Computation,2002, 14(08):1711-1800.
[5]Hinton GE, Dayan P, Frey BJ et al. The wake-sleep algorithm for self-organizing neural networks[J].Science, 1995,268:1158-1161.
DOI:10.16640/j.cnki.37-1222/t.2016.12.112
作者簡介:劉長明(1971-), 男,山東無棣人,本科,助理研究員,主要從事科學(xué)技術(shù)基礎(chǔ)研究工作。