一文詳解卷積神經網路的演變歷程!
AI研習社按:提起卷積神經網路你會想到什麼?LeNet、AlexNet 還是ResNet?它們之間有哪些差別和特點,又經歷了怎樣的發展和演變?本文將針對這一話題展開討論。原文作者楊熹,載於作者的個人博客,AI研習社經授權發布。
人工神經網路模型整體上的發展過程如下圖所示:
上圖對比了本文所述的各種神經網路之間,操作複雜度和精度之間的關係。
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
---------------------------
來聊聊吧
你最熟悉的編程語言是什麼?
嘗試過用它做一些 AI 項目嗎?
歡迎在評論區分享
點擊展開全文
※深度學習自動編碼器還能用於數據生成?這篇文章告訴你答案
※只要130 行代碼即可生成二維樣本,心動了嗎?
※如何用 Caffe 生成對抗樣本?這篇文章告訴你一個更高效的演算法
※一文詳解 DNN 在聲學應用中的模型訓練
※深度學習下的醫學圖像分析(三)
TAG:唯物 |
※一文看懂卷積神經網路
※圖文並茂地講解卷積神經網路
※一文詳解循環神經網路的基本概念
※一文簡述循環神經網路
※卷積神經網路概述
※卷積神經網路
※白話卷積神經網路
※理解卷積神經網路的利器:9篇重要的深度學習論文
※深度全解卷積神經網路
※解析:網路精品課程
※淺析圖卷積神經網路
※詳解神經網路中的神經元和激活函數
※入門|一文簡述循環神經網路
※重新發現語義分割,一文簡述全卷積網路
※膠囊網路簡介——膠囊網路是如何克服卷積神經網路的一些缺點的?
※論文解讀:神經網路修剪最新研究進展
※卷積神經網路文本分類
※一文讀懂人工神經網路
※神經網路簡史:BP演算法後的又一突破—信念網路
※全解卷積神經網路,並分享9篇必讀論文