Classic CNN introduction

Briefly introduces classic CNN including LeNet, AlexNet, VGG, GoogLeNet, ResNet

Kevin Chiu
CodingJourney
2 min readJul 11, 2020

--

取自網路

LeNet:

一切CNN的起源,最基礎的Conv -> Pooling -> FCN

pooling: average pooling(會有特徵模糊的問題)

activation func: tanh/sigmoid(會有梯度消失問題)

AlexNet:

類似LeNet5的架構,算是其加強版。主要的新技術與應用是把 ReLU, Dropout加到model中,並用GPU(一次訓練兩個model)來加快training效率以及data augmentation增加訓練資料集

pooling: max pooling (擷取特徵)

activation func: ReLU (避免梯度消失,使模型更有效率)

avoid overfitting: Dropout (避免過擬合)

VGG: 導入3x3 conv

一樣是Conv + Max pooling+ FC layer,特點是conv kernel皆為3x3奠定了使用3x3 conv kernel的趨勢,缺點是參數量是全部模型裡最大的。

擷取自:Convolution Neural Network 介紹(CNN 介紹)

論文中解釋關於僅使用3x3 conv kernel,因為兩個3x3的conv kernel疊合的reception field等效於一個5x5 conv kernel(亦即每個pixel可以correlate到周圍的5x5個pixel), 而三個3x3則可以等效於一個7x7,但兩層3x3的參數量僅有一層5x5的(3x3x2)/(5x5) = 0.72倍,而三層3x3參數量是一層7x7的(3x3x3)/(7x7)=0.55倍,對應到的範圍等效並且可使得需參數量更少,並且疊越多層Conv+ReLU的特徵學習能力比單一層Conv+ReLU來的更好。

GoogLeNet: 導入inception

Inception network中的inception block直接整合使用了4種layer,分別為1x1, 3x3, 5x5, max pooling,再將每一個layer的結果合併經過activation計算後再送到後面的inception block。

參數量最少,速度快是特點。

ResNet: 導入殘差網路

擷取自:Convolution Neural Network 介紹(CNN 介紹)

ResNet的概念來自於Highway Network。

Highway Network提出除了非線性轉換外,會保留一定比例的原始輸入直接輸出到下一layer中。而在ResNet中的residual unit則也是透用此概念,每兩層conv會有一個shortcut將輸入直接連結到後面的網路,因為傳統的conv layer在傳遞資料的時候,不可避免地都會有資料損耗的問題,而此residual unit則某種程度上可以保存資料的完整性,整個網路只要學習輸入與輸出差別的部分,可簡化訓練難度。

更詳細ResNet介紹可參考:(深度學習)ResNet之殘差學習

CNN綜合比較:

參考資料:Convolution Neural Network 介紹(CNN 介紹)

--

--