雷鋒網按:提起卷積神經網絡你會想到什麼?LeNet、AlexNet 還是 ResNet?它們之間有哪些差別和特點,又經歷瞭怎樣的發展和演變?本文將針對這一話題展開討論。原文作者楊熹,載於作者的個人博客,雷鋒網經授權發佈。
人工神經網絡模型整體上的發展過程如下圖所示:
上圖對比瞭本文所述的各種神經網絡之間,操作復雜度和精度之間的關系。
LeNet5
1998, Yann LeCun 的 LeNet5。
圖像特征分佈在整個圖像上。
在具有很少參數的多個位置上提取類似特征時,具有可學習的參數的卷積是個比較有效的方法。
在沒有應用 GPU 的時候,能夠保存參數和計算就成瞭一個關鍵優勢。
LeNet5 並沒有把每個像素都作為大型多層神經網絡的一個輸入,因為圖像是高度空間相關的,如果用瞭這種方法,就不能很好地利用相關性。
LeNet5 的主要特征:
CNN 主要用這 3 層的序列: convolution, pooling, non-linearity;
用卷積提取空間特征;
由空間平均得到子樣本;
用 tanh 或 sigmoid 得到非線性;
用 multi-layer neural network(MLP)作為最終分類器;
層層之間用稀疏的連接矩陣,以避免大的計算成本。
Dan Ciresan Net
2010, Dan Claudiu Ciresan and Jurgen Schmidhuber 的 Dan Ciresan Net。
是比較早的 GPU 神經網絡之一,在 NVIDIA GTX 280 圖形處理器上實現瞭 9 層神經網絡的前向後向計算。
AlexNet
2012,Alex Krizhevsky 的 AlexNet。
是 LeNet 的一個更深和更廣的版本,可以用來學習更復雜的對象。
AlexNet 的主要特征:
用 rectified linear units(ReLU)得到非線性;
使用輟 dropout 技巧在訓練期間有選擇性地忽略單個神經元,來減緩模型的過擬合;
重疊最大池,避免平均池的平均效果;
使用 GPU NVIDIA GTX 580 可以減少訓練時間,這比用 CPU 處理快瞭 10 倍,所以可以被用於更大的數據集和圖像上。
OverFeat
2013 年 12 月,Yann LeCun 的紐約大學實驗室的 OverFeat。
是 AlexNet 的衍生,提出瞭 learning bounding boxes。
VGG
2015,牛津的 VGG。
率先在每個卷積層中使用更小的 3×3 filters,並將它們組合成卷積序列。
雖然小,但是多個 3×3 卷積序列可以模擬更大的接收場的效果。
這個想法也在最近的 Inception 和 ResNet 網絡中有所應用。
NiN
2014,Min Lin, Qiang Chen, Shuicheng Yan 的 NiN。
它的思想很簡單但是很有效,使用 1x1 卷積給一個卷積層的特征提供瞭更多的組合性。
每個卷積之後使用空間 MLP 層,以便在另一層之前更好地組合特征,而沒有使用原始像素作為下一層的輸入。
可以有效地使用非常少的參數,在這些特征的所有像素之間共享。
GoogLeNet and Inception
2014,Google Christian Szegedy 的 GoogLeNet and Inception。
在昂貴的並行塊之前,使用 1×1 卷積塊(NiN)來減少特征數量,這通常被稱為 " 瓶頸 ",可以減少深層神經網絡的計算負擔。
它用一個沒有 inception modules 的 stem 作為初始層。
用類似於 NiN 的平均池加上 softmax 分類器。
Inception V3 ( and V2 )
2015 年 2 月,Christian 團隊的 Inception V2,2015 年 12 月,Inception V3。
在每個池之前,增加 feature maps,構建網絡時,仔細平衡深度和寬度,使流入網絡的信息最大化。
當深度增加時,特征的數量或層的寬度也有所增加。
在下一層之前,增加每一層的寬度來增多特征的組合性。
盡量隻使用 3x3 卷積。
ResNet
2015,Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun 的 ResNet。
這個網絡繞過瞭 2 層,可以被看作一個小的分類器,或者一個 NiN 。
這也是第一次訓練瞭大於 100 甚至 1000 層的網絡。
在每一層,通過使用更小 output 的 1x1 卷積來減少特征的數量,然後經過一個 3x3 層,接著又是一個 1x1 卷積,這個方法可以保持少計算量,同時提供豐富的特征組合。
Xception
2016,François Chollet 的 Xception。
這個網絡和 ResNet and Inception V4 一樣有效,而且用瞭更簡單優雅的結構 。
它有 36 個卷積階段,和 ResNet-34 相似,不過模型和代碼和 ResNet 一樣簡單,並且比 Inception V4 更易理解 。
這個網絡在 Torch7/Keras / TF 都已經可以應用瞭。
英文參考:
http://t.cn/R6V1ELT
雷鋒網相關閱讀:
YJango 的卷積神經網絡——介紹
雜談 CNN:如何通過優化求解輸入圖像