熱線電話:13121318867

登錄
首頁精彩閱讀剖析手寫數字識別器LeNet-5認識卷積網絡
剖析手寫數字識別器LeNet-5認識卷積網絡
2018-08-07
收藏

剖析手寫數字識別器LeNet-5認識卷積網絡

關于卷積神經網絡(CNN)的文章網上非常多,也有很多大牛們講得生動形象,令人十分佩服,也給我的學習帶來了很大的幫助,但是關于LeNet-5的具體剖析感覺還沒有一篇博文講得很清楚,本著菜鳥服務菜鳥的精神,寫一個通過詳細介紹LeNet-5手寫識別器的過程來認識卷積網絡。

CNN的核心思想無非三種:

1、局部感受野:每個神經元感受局部圖像區域;

2、權值共享:同一個濾波器下,每個神經元權值參數是一樣的;

3、時間或空間亞采樣:模糊圖像,帶來更好的泛化性能。

其實理解CNN的方法有很多種,比如一個Map是28*28,讓它去卷積上一層的Map,怎么看呢?可以看作是28*28個神經元走一次(因為“局部感受野”和“權值共享”嘛)。所以,可以把一個Map叫做一個濾波器,也可以把一個神經元叫做濾波器。

下面介紹這次博文的主題,典型的用來識別數字的卷積網絡LeNet-5。當年美國大多數銀行就是用它來識別支票上面的手寫數字的。能夠達到這種商用的地步,它的準確性可想而知。上圖。

由圖知輸入的圖像是32*32格式的。

第一步,C1層,也就是卷積層的第一層。一共有6個Map,每個Map分辨率是28*28,每個神經元的分辨率則是(32-28+1)*(32-28+1)=5*5,我們可以把這個神經元看作一個濾波器,而這就是局部感受野,因為一個濾波器只感受5*5的風景。又因為權值共享,同Map下所有的神經元感受的特征都是一樣的,所以這整個Map都只能算一個濾波器。每個Map算一個濾波器,每個濾波器有(5*5+1)個參數,28*28個神經元是重復被6個濾波器使用的,每個神經元一共有(5*5+1)*6=156個參數,這里要注意一點,這里是6個濾波器卷一個Map,所以有6個偏置。假如6個濾波器卷兩個Map呢?還是只有6個偏置,因為被卷的Map不論數量只算一個偏置。一共有156*(28*28)=122304個連接。

第二步,S2層,下采樣層,模糊圖像,提高泛化性。6個Map,每個Map14*14,size=2*2,卷積層有重疊,而采樣層無重疊,所以每個Map=上一層Map分辨率28*28/size 2*2=14*14。采樣層參數計算方法和卷積層也不一樣,每個濾波器有可訓練參數和可訓練偏置兩個參數,所以一共有2*6=12個參數。而采樣層又是特殊的卷積層,只不過是卷積核為2*2(pool size),所以連接數計算方法不變,一共有(2*2+1)*14*14*6=5880個連接。

第三部,C3層,卷積層。16個Map,每個Map有10*10個神經元,每個神經元分辨率為(14-10+1)*(14-10+1)=5*5,前6個Map卷S2中3個相鄰Map,接下來6個Map卷S2中4個相鄰Map,接下來3個卷S2中4個不相鄰Map,最后一個卷S2中所有Map。一共有6*(3*5*5+1)+6*(4*5*5+1)+3*(4*5*5+1)+1*(6*5*5+1)=1516個參數,一共有1516*10*10=151600個連接。

第四層,S4層,下采樣層,16個Map,每個Map有5*5個神經元,pool size=2*2。有32個參數,有(2*2+1)*5*5*16=2000個連接。

第五層,C5層,卷積層。有120個Map,每個神經元與S4的16個Map的5*5相連,所以C5的Map為(5-5+1)*(5-5+1)=1*1個神經元。一共有120*(16*5*5+1)=48120個參數,有1*1*48120個連接。

第六層,F6層,全連接層,84個Map,一共有84*121=10164個參數。


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢