資源描述:
《神經(jīng)網(wǎng)絡(luò)到卷積神經(jīng)網(wǎng)絡(luò)原理與實(shí)踐》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、神經(jīng)網(wǎng)絡(luò)到卷積神經(jīng)網(wǎng)絡(luò)推導(dǎo)與實(shí)踐摘要卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)是一種源于人工神經(jīng)網(wǎng)絡(luò)(NeuralNetwork,NN)的深度機(jī)器學(xué)習(xí)方法,近年來在圖像識別領(lǐng)域取得了巨大的成功。CNN由于采用局部連接和權(quán)值共享,保持了網(wǎng)絡(luò)的深層結(jié)構(gòu),同時又大大減少了網(wǎng)絡(luò)參數(shù),使模型具有良好的泛化能力又較容易訓(xùn)練。NN的訓(xùn)練算法是基于梯度下降的錯誤反向傳播(BackPropagate,BP)算法,CNN的訓(xùn)練算法是BP算法的一種變形。本文從梯度下降的數(shù)學(xué)推導(dǎo)中總結(jié)了NN訓(xùn)練過程中的錯誤
2、信號傳播和權(quán)重修改策略,用切割小圖訓(xùn)練共權(quán)神經(jīng)網(wǎng)絡(luò)的方式解釋了CNN中的卷積過程,并以特殊卷積的方式解釋了CNN的子采樣過程,最后將NN的錯誤信號傳播和權(quán)重修改策略移植到CNN的訓(xùn)練中。我們將推導(dǎo)出的CNN訓(xùn)練方法用C++編碼實(shí)現(xiàn),用CNN應(yīng)用最早最典型的手寫數(shù)字識別問題驗(yàn)證被編碼的推導(dǎo)過程,得到了正確的效果。目錄摘要I目錄I圖目錄III第三章神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)13.1神經(jīng)網(wǎng)絡(luò)13.1.1單層感知機(jī)33.1.2單輸出多層感知機(jī)73.1.3多輸出多層感知機(jī)83.2卷積神經(jīng)網(wǎng)絡(luò)103.2.1卷積神經(jīng)網(wǎng)絡(luò)的常用結(jié)構(gòu)11
3、3.2.2卷積與子采樣123.2.3卷積與權(quán)值共享133.2.4CNN訓(xùn)練過程中的三次卷積過程143.2.5卷積的作用173.3卷積神經(jīng)網(wǎng)絡(luò)實(shí)踐183.4本章小結(jié)19第六章總結(jié)與展望20圖目錄圖3.1神經(jīng)元的結(jié)構(gòu)[24]2圖3.2神經(jīng)元之間的連接[25]2圖3.3sigmoid函數(shù)3圖3.4單層感知機(jī)4圖3.5單層感知機(jī)的錯誤信號5圖3.6單輸出多層感知機(jī)7圖3.7多輸出多層感知機(jī)9圖3.8卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示例11圖3.9卷積過程12圖3.11CNN中的卷積過程13圖3.12四個4*1的神經(jīng)網(wǎng)絡(luò)14圖3.13前向卷積
4、過程15圖3.14錯誤傳播過程中的卷積16圖3.15四個4*1的神經(jīng)網(wǎng)絡(luò)的權(quán)重更新16圖3.16卷積核的權(quán)重修改量17圖3.17權(quán)重更新過程中的卷積17圖3.18兩個固定卷積核18圖3.19數(shù)字識別使用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[26]19第三章神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)(NeuralNetwork,NN)有50多年的歷史。神經(jīng)網(wǎng)絡(luò)的發(fā)展也經(jīng)歷過單層感知機(jī),多層感知機(jī),多層感知機(jī)變形幾個階段。卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeuralNetwork,CNN)是多層感知機(jī)的一種變體。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法是錯誤反
5、向傳播算法(BackPropagate,BP),而錯誤反向傳播算法的數(shù)學(xué)基礎(chǔ)是梯度下降。在本章的前半部分,我給出單層感知機(jī)和多層感知機(jī)的工作原理,即BP算法。計算機(jī)學(xué)者從生物視覺的研究中得到啟示,一個視覺神經(jīng)細(xì)胞只與其距離較近的鄰層神經(jīng)元相連。鑒于此,CNN的采用了局部感受野。為了簡化模型,一個特征平面的神經(jīng)元共享權(quán)值。CNN最早由YannLecun實(shí)現(xiàn)并運(yùn)用到手寫數(shù)字識別問題中,并取得該領(lǐng)域最高的識別率,至今未被超越。CNN是NN的一種變形,CNN與NN最大的不同在于CNN的卷積和子采樣過程,而子采樣可以被認(rèn)為是一
6、種特殊的卷積過程。在本章的后半部分,將以切割小圖訓(xùn)練共享權(quán)值的NN的方式闡釋卷積神經(jīng)網(wǎng)絡(luò)中的卷積過程。本文按照BP的思想實(shí)現(xiàn)并訓(xùn)練了一個卷積神經(jīng)網(wǎng)絡(luò)模型。我使用經(jīng)典的手寫數(shù)字識別問題檢測CNN訓(xùn)練推導(dǎo)過程的準(zhǔn)確性。在實(shí)驗(yàn)中,我使用6萬張圖片訓(xùn)練CNN,用1萬張數(shù)字圖片做測試,訓(xùn)練后的CNN模型在測試集上的準(zhǔn)確率高達(dá)98.6%。實(shí)驗(yàn)說明用切割小圖訓(xùn)練NN的方法推導(dǎo)的CNN訓(xùn)練方法是正確的。3.1神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)(neuralnetwork,NN)是生物科學(xué)和信息科學(xué)交叉的產(chǎn)物。生物學(xué)家研究人腦神經(jīng)的工作過程,發(fā)現(xiàn)神經(jīng)元
7、(神經(jīng)細(xì)胞)和神經(jīng)元之間通過突起(軸突和樹突)的相連,神經(jīng)細(xì)胞感受到刺激之后產(chǎn)生興奮并通過細(xì)胞突起將興奮傳導(dǎo)給與之有連接的神經(jīng)元。神經(jīng)元的連接大多是相鄰層間的連接,神經(jīng)細(xì)胞總體上呈現(xiàn)分層結(jié)構(gòu),感受器中的神經(jīng)接收外界刺激,神經(jīng)中樞的神經(jīng)元決定人腦的意識。如圖3.1為一個神經(jīng)細(xì)胞的結(jié)構(gòu):圖3.1神經(jīng)元的結(jié)構(gòu)Error!Referencesourcenotfound.Figure3.1structureofaneuronError!Referencesourcenotfound.一個神經(jīng)元和其它神經(jīng)元的連接如圖3.2所示:
8、圖3.2神經(jīng)元之間的連接Error!Referencesourcenotfound.Figure3.2theconnectionbetweenneuronsError!Referencesourcenotfound.一個神經(jīng)元通常和若干個神經(jīng)元相連,連接有強(qiáng)有弱,不同的連接就像電子元件之間阻值不同的帶阻導(dǎo)體。一個非輸入神經(jīng)元在興奮傳導(dǎo)過程中受到