卷積神經網路鼻祖LeNet網路分析
卷積神經網路鼻祖LeNet網路分析
https://blog.csdn.net/weixin_42137700/article/details/85005009
1998 年,被成為是現代卷積神經網路的鼻祖LeNet,被Yann LeCun正式提出。 下圖是廣為流傳LeNet的網路結構,它可以用麻雀雖小,五臟俱全來形容,其中卷積層、池化層、全連線層,這些都是現代卷積神經網路的基本元件。
總體來說LeNet是從輸入INPUT->C1卷積層->S2池化層->C3卷積層->S4池化層->C5卷積層->F6全連線層->輸出OUTPUT,如下圖所示。
1 LeNet 輸入
LeNet 的輸入影像是32*32的大小,這要比mnist資料集中字母28*28要大。 也就是說,要對mnist的資料進行兩圈值為零的畫素填充。畫素填充的目的是為了讓影像邊緣的區域,也能出現在卷積過程感受野的中心。
2 LeNet 的C1卷積層
C1 層是LeNet的第一個卷積層,它的輸入是32*32大小的影像,然後經過卷積過程,輸出為6個通道28*28大小的特徵影像。 其中卷積核的大小為5*5,在LeNet中都使用了5*5大小的卷積核。
卷積過程的滑動步長為1, 所以輸出特徵影像的計算方式為:32-5+1=28,因此輸出特徵圖的大小為28*28。
因為輸入為1通道的影像,然後用了6個卷積核,所以輸出為6通道的特徵影像。C1層的引數計算方式為(5*5+1)*6=156,其中每個卷積核為5*5,還帶有一個偏置項。
3 LeNet 的S2池化層
LeNet 的第2層即S2是個池化層,在之前的文章中也為大家介紹過池化(pooling)過程,它是在做下采樣操作,目的是在保留特徵影像主要資訊的同時,降低卷積神經網路的引數數量。
常見的池化有兩種:
(1)Max-Pooling,選擇Pooling視窗中的最大值作為取樣值;
(2)Mean-Pooling, 將Pooling視窗中的所有值相加取平均,以平均值作為取樣值。
在S2中的池化,選擇的是特徵影像2*2大小的視窗區域進行池化,因此特徵影像的大小縮減了一倍,即從28*28的大小,變為14*14的大小。池化過程不影響特徵圖通道的數目,S2層池化過程如下圖所示。
4 卷積與池化的重複
在卷積神經網路中,卷積與池化可以重複多次,可以一層卷積帶有一層的池化如LeNet中的C1->S2,C3->S4,也可以多層卷積後再跟一個池化層。
在這裡大家可以去思考一個問題,也就是怎樣計算C3層的引數數目(提示,可以結合C1層的計算方式和之前文章中介紹的卷積知識去推算)。
在這裡還需要注意的是C5層,它是一個比較特殊的卷積層,它的輸入是16通道5*5大小的特徵影像,而輸出是一個120的向量。C5層可以有兩種實現,第一種是使用5*5大小的卷積核進行卷積,第二種是將16通道5*5大小的特徵影像拉平,然後再做全連線。
5 全連線
在實際LeNet的編碼實現中,F6層和Output層都可以用全連線來實現。 其中F6是120->84的全連線,而Output是84->10的全連線,最後的10對應10種類別。
F6 層引數數量的計算為(120+1)*84=10164,這個跟多層感知器全連線引數的計算方式是一樣的,每個全連線都帶有一個偏置項。
後記
LeNet 是學習卷積神經網路的一個非常好的示例,通過學習LeNet可以對卷積神經網路設計有基礎的認識,比如卷積核大小,通道數目,全連線結構等等,為以後深入學習卷積神經網路設計打下比較好的基礎。另外,在現在的卷積神經網路中經常會使用ReLU作為啟用函式,並採用批歸一化BN,DropOut等處理 ,在後續的文章還會為大家帶來更多的分享,歡迎大家關注我們。
本文作者:寬濤老師
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2285291/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習——LeNet卷積神經網路初探深度學習卷積神經網路
- TensorFlow實戰卷積神經網路之LeNet卷積神經網路
- 經典卷積神經網路LeNet&AlexNet&VGG卷積神經網路
- 卷積神經網路卷積神經網路
- 卷積神經網路概述卷積神經網路
- 解密卷積神經網路!解密卷積神經網路
- 5.2.1 卷積神經網路卷積神經網路
- 卷積神經網路CNN卷積神經網路CNN
- 卷積神經網路-AlexNet卷積神經網路
- 卷積神經網路-1卷積神經網路
- 卷積神經網路-2卷積神經網路
- 卷積神經網路-3卷積神經網路
- 全卷積神經網路FCN卷積神經網路
- 深度剖析卷積神經網路卷積神經網路
- 經典卷積神經網路結構——LeNet-5、AlexNet、VGG-16卷積神經網路
- 卷積神經網路四種卷積型別卷積神經網路型別
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- (四)卷積神經網路 -- 8 網路中的網路(NiN)卷積神經網路
- CNN神經網路之卷積操作CNN神經網路卷積
- 卷積神經網路 part2卷積神經網路
- 14 卷積神經網路(進階)卷積神經網路
- 卷積神經網路(CNN)詳解卷積神經網路CNN
- 何為神經網路卷積層?神經網路卷積
- Tensorflow-卷積神經網路CNN卷積神經網路CNN
- (四)卷積神經網路 -- 12 稠密連線網路(DenseNet)卷積神經網路SENet
- 卷積神經網路學習筆記——Siamese networks(孿生神經網路)卷積神經網路筆記
- 卷積神經網路:Convolutional Neural Networks(CNN)卷積神經網路CNN
- 卷積神經網路(Convolutional Neural Network,CNN)卷積神經網路CNN
- 直白介紹卷積神經網路(CNN)卷積神經網路CNN
- 卷積神經網路—基本部件(2)卷積神經網路
- 卷積神經網路-啟用函式卷積神經網路函式
- 深度學習三:卷積神經網路深度學習卷積神經網路
- 一文看懂卷積神經網路卷積神經網路
- 神經網路之卷積篇:詳解經典網路(Classic networks)神經網路卷積
- 吳恩達《卷積神經網路》課程筆記(1)– 卷積神經網路基礎吳恩達卷積神經網路筆記
- 神經網路之卷積篇:詳解單層卷積網路(One layer of a convolutional network)神經網路卷積
- 卷積神經網路中的Winograd快速卷積演算法卷積神經網路演算法
- 初識卷積神經網路第一講!卷積神經網路