CNN網絡經典之作-LeNet5詳解


LeNet5 介紹

LeNet通常就指LeNet5,該網絡誕生於1998年,作者是Yann LeCun,當初被設計用來識別手寫數字,是最早的CNN網絡之一,被后續學者奉為經典,該論文的下載地址 http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=054E02BBBFEFE6B1C98D119DC503F6A7?doi=10.1.1.42.7665&rep=rep1&type=pdf

在加拿大瑞爾森大學的官網上,有一個LeNet手寫數字識別的3D可視化模型,想要了解LeNet的同學們,可以先到這個網站上體驗一下,對理解LeNet會有很大的幫助,網址 https://www.cs.ryerson.ca/~aharley/vis/conv/

 

網絡結構

論文中的網絡結構圖如下:

 

包含輸入輸出層,LeNet-5 一共有8層網絡,分為

Input 輸入層、C1 卷積層、S2 下采樣池化層、C3 卷積層、S4 下采樣卷積層、C5 卷積層、F6 全連接層、Output 輸出層。

Input 輸入層

LeNet-5 輸入圖像為單通道的32x32大小的手寫數字圖像。

 

C1 卷積層

卷積層是用作特征提取的圖層,C1 卷積層這里使用了6個5x5大小的卷積核,卷積步長為1。該層接收輸入層傳入的32x32大小的單通道圖像,輸出為6個特征平面,每個特征面的尺寸為28x28大小(32-5+1)。

連接數為 (5x5+1)x28x28x6 = 122304個。

權值數為6個卷積核的權值參數,每個卷積核有5x5個權值+1個偏移量,共有(5x5+1)x6 = 156個。

 

 

 

S2 池化層

池化層就是下采樣層,用來降低數據的維度,一般在CNN(卷積神經網絡)中,一組卷積操作之后會接一個池化層。卷積層提取完特征后相當於對數據進行一次抽象,數據量可以進行一次壓縮。

池化層一般有 最大值池化、平均值池化兩種,LeNet5網絡當初使用的是平均池化,后來人們發現最大值池化效果更好一下,目前使用LeNet5網絡的時候很多都會改用最大值池化。

該池化層輸入為6個28x28的特征圖,對每個特征圖分別進行2x2大小的窗口進行下采樣,下采樣后每個特征圖的尺寸長寬各縮小一半,變為14x14,即輸出為6個14x14大小的特征圖。

 

C3 卷積層

該卷積層有16個特征平面,輸入6個14x14大小的特征圖,輸出為16個10x10大小的特征平面(14-5+1=10)。

不同於C2層,該層的特征平面和上一層的池化層並不是每一個特征平面都與所有的上層特征平面相連,連接關系矩陣如下所示:

 

前6個特征平面只中每一個平面只與上層6個平面中的3個相連,第7-15層每層與4個相連,只有最后一個特征平面才與上層所有特征面相連。這么設計的目的論文中有講到,主要是為了打破對稱性,提取深層特征,因為特征不是對稱的,因此需要打破這種對稱,以提取到更重要的特征。

連接數,前6個 特征平面 (5x5x3+1)x10x10x6=45600,第7-15個為 (5x5x4+1)x10x10x9=90900,最后一個 (5x5x6+1)x10x10x1=15100,總個數為 151600個。

權值數,(5x5x3+1)x6 + (5x5x4+1)x9 + (5x5x6+1)x1 = 1516個。

S4 池化層

輸入為16個10x10大小的特征平面

輸出為16個5x5大小的特征平面

C5 卷積層

這是一個比較特殊的卷積層,特殊之處在於卷積核大小剛好等於輸入特征圖的大小,都是5x5的尺寸,導致該卷積層的輸出為1x1大小的特征圖。該卷積層使用了120個卷積核,輸出為120個1x1大小的特征圖。

 

該層的連接數為 (5x5x16+1)x120=48120個,權值也是這么多個。

F6 全連接層

有84個神經元大小的全連接層,相當於BP網絡的隱藏層,連接個數與權值數都為(120+1)x84=10164個。

參考文章

https://blog.csdn.net/weixin_42398658/article/details/84392845

https://blog.csdn.net/u013963380/article/details/93316111


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM