卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)——LeNet-5(卷積神經(jīng)網(wǎng)絡(luò)入門,Keras代碼實現(xiàn))

背景簡介

要深入理解卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),我們需要追根溯源,只有這樣才能更好的理解 CNN 網(wǎng)絡(luò)。

1998年 LeCun 和 Bengio 等人利用 LeNet-5 網(wǎng)絡(luò)在手寫體數(shù)字識別領(lǐng)域上的識別效果超過了傳統(tǒng)方法,從此開啟了卷積神經(jīng)網(wǎng)絡(luò)的在圖像上的應(yīng)用大門。據(jù)說,一開始美國銀行的手寫體數(shù)字識別就是用的這個算法。

原論文

Gradient -Based Learing Applied to Document Recognition
http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf
論文有點長,46頁,估計很難讀下來。

官方模型演示

LeCun 做了一些網(wǎng)頁展示,有興趣可以去瀏覽。
http://yann.lecun.com/exdb/lenet/

個人 github 實現(xiàn)

https://github.com/uestcsongtaoli/LeNet-5

個人理解

1. 模型介紹

原論文圖片

上圖是 LeCun 原論文中 LeNet-5 的結(jié)構(gòu)圖。

  1. 卷積層 C1
Conv2D(filters=6, kernel_size=(5, 5), padding=None, stride=(1, 1), activation='tanh')
  1. 池化層,用的是平均池化 S1
AveragePooling2D(pool_size=(2, 2), stride=(2, 2), padding=None)
  1. 卷積層 C3
Conv2D(filters=16, kernel_size=(5, 5), padding=None, stride=(1, 1), activation='tanh')
  1. 池化層,用的是平均池化 S4
AveragePooling2D(pool_size=(2, 2), stride=(2, 2), padding=None)
  1. 卷積層 C5 或者FC_1
Conv2D(filters=120, kernel_size=(5, 5), padding=None, stride=(1, 1), activation='tanh')
# 或者理解成
Flatten()
Dense(120, activation='tanh')
  1. F6
Dense(84, activation='tanh')
  1. OUTPUT
Dense(10, activation='softmax')

個人理解

  1. 這是后來典型的結(jié)構(gòu)
    卷積-->池化-->卷積-->池化-->全連接-->全連接(softmax)
  2. LeNet-5 卷積核的大小是5x5,現(xiàn)在3x3,5x5和7x7都有
  3. 沒有用 padding 技術(shù),對圖片邊緣的信息處理不夠
  4. 池化為了加快收斂,防止過擬合。池化用的是平均池化 average_pooling, 當(dāng)下主要是最大值池化 max_pooling
  5. 激活函數(shù)用的 tanh, 當(dāng)下主要用 relu,因為 relu 收斂更快
  6. filters 沒一步都在增大,主要是為了避免丟失信息。用多個不同的 kernel 去學(xué)習(xí)前一層 feature map 中的特征
  7. 訓(xùn)練的時候用到了數(shù)據(jù)增強(qiáng) augmentation
  8. 優(yōu)化器,應(yīng)該是用的 SGD
  9. 沒有 dropout 技術(shù)
  10. 模型較小,學(xué)的特征不夠多,無法處理較大較復(fù)雜的數(shù)據(jù)集。

模型講解

  1. 英文
  2. 圖文并茂
  3. Keras 代碼實現(xiàn)
    https://engmrk.com/lenet-5-a-classic-cnn-architecture/

Kaggle教程

  1. 數(shù)據(jù): Digit Recognizer
  2. 框架: Keras
    https://www.kaggle.com/vsmolyakov/lenet-cnn
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容