Lenet 神经网络-实现篇(1)
Lenet 神經網絡結構為:
①輸入為 32*32*1 的圖片大小,為單通道的輸入;
②進行卷積,卷積核大小為 5*5*1,個數為 6,步長為 1,非全零填充模式;
③將卷積結果通過非線性激活函數;
④進行池化,池化大小為 2*2,步長為 1,全零填充模式;
⑤進行卷積,卷積核大小為 5*5*6,個數為 16,步長為 1,非全零填充模式;
⑥將卷積結果通過非線性激活函數;
⑦進行池化,池化大小為 2*2,步長為 1,全零填充模式;
⑧全連接層進行 10 分類。
Lenet 神經網絡的結構圖及特征提取過程如下所示:
Lenet 神經網絡的輸入是 32*32*1,經過 5*5*1 的卷積核,卷積核個數為 6 個,采用非全零填充方式,步長為 1,根據非全零填充計算公式:輸出尺寸=(輸入尺寸-卷積核尺寸+1)/步長=(32-5+1)/1=28.
故經過卷積后輸出為 28*28*6。
經過第一層池化層,池化大小為 2*2,全零填充,步長為 2,由全零填充計算公式:輸出尺寸=輸入尺寸/步長=28/2=14,池化層不改變深度,深度仍為 6。
用同樣計算方法,得到第二層池化后的輸出為 5*5*16。
將第二池化層后的輸出拉直送入全連接層。
根據 Lenet 神經網絡的結構可得,Lenet 神經網絡具有如下特點:
①卷積(Conv)、池化(ave-pooling)、非線性激活函數(sigmoid)相互交替;
②層與層之間稀疏連接,減少計算復雜度。
對 Lenet 神經網絡進行微調,使其適應 Mnist 數據集:
由于 Mnist 數據集中圖片大小為 28*28*1 的灰度圖片,而 Lenet 神經網絡的輸入為 32*32*1,故需要對 Lenet 神經網絡進行微調。(微調是如何進行調整?整個網絡的對接是如何進行?后面博客繼續學習)
①輸入為 28*28*1 的圖片大小,為單通道的輸入;
②進行卷積,卷積核大小為 5*5*1,個數為 32,步長為 1,全零填充模式;
③將卷積結果通過非線性激活函數;
④進行池化,池化大小為 2*2,步長為 2,全零填充模式;
⑤進行卷積,卷積核大小為 5*5*32,個數為 64,步長為 1,全零填充模式;
⑥將卷積結果通過非線性激活函數;
⑦進行池化,池化大小為 2*2,步長為 2,全零填充模式;
⑧全連接層,進行 10 分類。
Lenet 進行微調后的結構如下所示:
前面第五、六講中,輸入mnist數據集是28*28像素,輸出是長度為10的一維數組;
現在運用Lennet神經網絡
圖片大小即每張圖片分辨率為 28*28,故 IMAGE_SIZE 取值為 28;
Mnist 數據集為灰度圖,故輸入圖片通道數 NUM_CHANNELS 取值為 1;
第一層卷積核大小為 5,卷積核個數為 32,故 CONV1_SIZE 取值為 5,CONV1_KERNEL_NUM 取值為 32;
第二層卷積核大小為 5,卷積核個數為 64,故 CONV2_SIZE 取值為 5, CONV2_KERNEL_NUM為 64;
全連接層第一層為 512 個神經元,故FC_SIZE 取值為 512,
全連接層第二層為 10 個神經元,OUTPUT_NODE 取值為 10,實現 10 分類輸出。
注:本文章通過觀看北京大學曹健老師的Tensorflow視頻,筆記總結而來的。
總結
以上是生活随笔為你收集整理的Lenet 神经网络-实现篇(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谁更了解你,是女朋友吗。不,是这些推荐算
- 下一篇: 飞凡汽车:中大型纯电轿车飞凡 F7 定档