天天看點

LeNet-5網絡結構解析

參考文章:

文章1

文章2

文章3

特殊性

  • 神經元間的連接配接是非全連接配接的
  • 同一層中某些神經元之間的連接配接的權重是共享的(即相同的)

權值共享

LeNet-5網絡結構解析

使用同一個Kernel

池化

轉:http://blog.csdn.net/geekmanong/article/details/50605340

CNN的池化(圖像下采樣)方法很多:Mean pooling(均值采樣)、Max pooling(最大值采樣)、Overlapping (重疊采樣)、L2 pooling(均方采樣)、Local Contrast Normalization(歸一化采樣)、Stochasticpooling(随即采樣)、Def-pooling(形變限制采樣)。

例如最大池化

LeNet-5網絡結構解析

為了簡單起見,我用上面的圖檔作為例子,假設上面的圖檔大小是4*4的,如上圖所示,然後圖檔中每個像素點的值是上面各個格子中的數值。然後我要對這張4*4的圖檔進行池化,池化的大小為(2,2),跨步為2,那麼采用最大池化也就是對上面4*4的圖檔進行分塊,每個塊的大小為2*2,然後統計每個塊的最大值,作為下采樣後圖檔的像素值,具體計算如下圖所示:

LeNet-5網絡結構解析

feature maps

轉:http://blog.csdn.net/geekmanong/article/details/50605340

特征圖,一張圖檔經過一個卷積核進行卷積運算,我們可以得到一張卷積後的結果圖檔,而這張圖檔就是特征圖。在CNN中,我們要訓練的卷積核并不是僅僅隻有一個,這些卷積核用于提取特征,卷積核個數越多,提取的特征越多,理論上來說精度也會更高,然而卷積核一堆,意味着我們要訓練的參數的個數越多。在LeNet-5經典結構中,第一層卷積核選擇了6個,而在AlexNet中,第一層卷積核就選擇了96個,具體多少個合适,還有待學習。

LeNet-5結構及參數計算

轉:http://blog.csdn.net/geekmanong/article/details/50605340

LeNet-5網絡結構解析

輸入: 32∗32 的手寫字型圖檔,這些手寫字型包含 0 9 數字,也就是相當于 10 個類别的圖檔

輸出:分類結果, 0 9 之間的一個數(softmax)

LeNet-5結構

輸入層: 32∗32 的圖檔,也就是相當于 1024 個神經元

C1層:選取 6 個特征卷積核,大小為5∗5(不包含偏置),得到 6 個特征圖,每個特征圖的大小為32−5+1=28,也就是神經元的個數由 1024 減小到了 28∗28=784 。

輸入層與C1層之間的參數: 6∗(5∗5+1) ,對于卷積層C1,每個像素都與前一層的 5∗5 個像素和 1 個bias有連接配接,有6∗(5∗5+1)∗(28∗28)個連接配接

S2層:池化,是一個下采樣層(為什麼是下采樣?利用圖像局部相關性的原理,對圖像進行子抽樣,可以減少資料處理量同時保留有用資訊),有 6 個14∗14的特征圖,特征圖中的每個單元與C1中相對應特征圖的 2∗2 鄰域相連接配接。 S2 層每個單元對應 C1 中 4 個求和,乘以一個可訓練參數,再加上一個可訓練偏置。

C1與S2之間的參數:每一個2∗2求和,然後乘以一個參數,加上一個偏置,共計 2∗6=12 個參數。 S2 中的每個像素都與 C1 中的 2∗2 個像素和 1 個偏置相連接配接,是以有6∗5∗14∗14=5880個連接配接

C3層:選取卷積核大小為 5∗5 ,得到新的圖檔大小為 10∗10 我們知道S2包含: 6張14∗14 大小的圖檔,我們希望這一層得到的結果是: 16張10∗10 的圖檔。這 16 張圖檔的每一張,是通過 S2 的 6 張圖檔進行權重組合得到的,具體是怎麼組合的呢?

S2與C3之間的組合

前6個feature map與 S2 層相連的 3 個feature map相連接配接,後面6個feature map與 S2層相連的4個 feature map相連接配接,後面 3 個feature map與S2層部分不相連的 4 個feature map相連接配接,最後一個與S2層的所有feature map相連。卷積核大小依然為 5∗5 ,總共有 6∗(3∗5∗5+1) + 6∗(4∗5∗5+1) + 3∗(4∗5∗5+1) + 1∗(6∗5∗5+1)=1516 個參數。而圖像大小為 10∗10 ,是以共有 151600 個連接配接。

LeNet-5網絡結構解析

S4層

池化,視窗大小為 2∗2 ,有 16 個特征圖,總共有 32 個參數

C3與S4之間的參數

16∗(25∗4+25)=2000 個連接配接

C5層

總共 120 個feature map,每個feature map與 S4 層所有的feature map相連接配接,卷積核大小是 5∗5 ,而 S4 層的feature map的大小也是 5∗5 ,是以 C5 的feature map就變成了1個點,共計有 120(25∗16+1)=48120 個參數。

F6層

全連接配接

F6 相當于MLP中的隐含層,有 84 個節點,是以有 84∗(120+1)=10164 個參數。 F6 層采用了正切函數。

輸出層

采用了RBF函數,即徑向歐式距離函數

繼續閱讀