TensorFlow實戰(4):經典卷積神經網絡

這一章講解了幾個經典的卷積神經網絡,包括AlexNet,VGGNet,GoogleInceptionNet,ResNet,並用TensorFlow實現他們。關於這一章的介紹方式,我還是挺糾結的。原先想的是按照書上的,每個網絡架構講解一下,各寫一個博客,像先前一樣,重點還是在tensorflow的實現上。但是後來還是覺得,整體寫一個綜述可能對自己對大家的幫助更大。代碼的實現可以就不一一嘗試了,有興趣的可以看看書,理解代碼就好,畢竟現在輪子太多,不需要我們從頭實現這些網絡。

卷積網絡的發展歷程

img
《TensorFlow實戰》本章主要重點在前兩種發展趨勢,一種是網絡加深,一種是增強卷積塊功能。本文的重點也是介紹這兩條線的相關網絡。

LeNet5

論文:Gradient-Based Learning Applied to Document Recognition
時間:1998
網絡結構:
在這裏插入圖片描述
LeNet5是整個CNN的開山鼻祖,書上是在第5章的79頁介紹的。該網絡是用於手寫體字符識別的非常高效的卷積神經網絡。其一共有七層,分別爲卷積層,池化層,卷積層,池化層,卷積層,全連接層,全連接層。卷積核大小均爲5*5,池化層的採樣區域均爲2*2,。
突破:
(1)使用雙曲正切或Sigmoid激活函數
(2)定義了卷積神經網絡的基本架構:卷積層+池化層+全連接層
(3)定義了卷積層。

相關資料:LeNet5詳解

AlexNet

論文:ImageNet Classification with Deep Convolutional Neural Networks
時間:2012
網絡結構:
在這裏插入圖片描述
AlexNet網絡當時提出是用於ILSVRC任務中,即ImageNet數據集(1000類圖片)檢測。ALexNet把CNN的基本原理應用到了很深很寬的網絡中,其出現後,卷積神經網絡纔開始爆炸性發展。AlexNet一共有8層(不含池化層和LRN層),擁有5個卷積層。
這裏放個小彩蛋,AlexNet在圖片預處理中把圖片裁剪爲224*224並進行數據增強。爲什麼是這個尺寸呢?
答:最後一個卷積特徵feature map的大小,可以是3*3,5*5,7*7等等在這些尺寸中,如果尺寸太小,那麼信息就丟失太嚴重,如果尺寸太大,信息的抽象層次不夠高,計算量也更大,所以7*7的大小是一個最好的平衡。因此找一個7*2的指數次方,並且在300左右的,其中7*2的4次方=7*16=112,7*2的5次方等於7*32=224,7*2的6次方=448,而ImageNet中圖片長款多爲300左右,與300最接近的就是224了。
突破:
(1):使用Relu代替雙曲正切激活函數
(2):在最後幾個全連接層使用Dropout,隨機忽略一部分神經元。
(3):使用最大池化層代替平均池化層。
(4):提出LRN層,對局部神經元的活動創建競爭機制。
(5):採用雙 GPU 網絡結構,從而可以設計出更“大”、更“深”的網絡。
(6):數據預處理:使用數據增強擴充數據集,對訓練圖像做PCA,利用服從 (0,0.1) 的高斯分佈的隨機變量對主成分進行擾動。
相關資料:AlexNet詳解

VGGNet

論文地址:Very Deep Convolutional Networks for Large-Scale Image Recognition
時間:2014
網絡結構:
在這裏插入圖片描述
VGG網絡同樣也是用於ILSVRC比賽中,在2014年取得了第二名的成績。利用多個小卷積核可以代替高維卷積核進行卷及操作,達到減少計算量的效果。網絡結構中,卷積層步長都爲1,池化層步長都爲2。從VGG-A到VGG-E的參數量沒有發生太大的改變,其中D、E就是常說的VGG16和VGG19。
突破:
(1)取消LRN層,LRN的作用不大,且增加訓練時間
(2)先訓練簡單網絡,再複用該網絡權值來初始化後面的幾個複雜模型。
(3)在數據增強中,先做寬高等比縮放(原文用的詞是 isotropically rescaled,即同質化縮放),使其最短邊長度達到 S,接着再做隨機裁剪。
(4)證明了越深的網絡效果越好。
(5)整個網絡全部使用了3*3的卷積核和2*2的池化核。一方面可以減少運算量,另一方面可以進行更多地非線性變換,可以增強特徵的學習能力。

NIN

論文:Network in Network
時間:2013
網絡結構:
在這裏插入圖片描述
NIN改進了傳統的CNN,採用了少量參數就取得了超過AlexNet的性能,AlexNet網絡參數大小是230M,NIN只需要29M。
突破:
(1)將傳統卷積層替換爲非線性卷積層以提升特徵抽象能力
(2)使用新的pooling層(全局平均池化層)代替傳統全連接層
相關資料:NIN論文筆記(含TensorFlow實現)

Google Inception Net

Inception V1

論文地址:Going Deeper with Convolutions
時間:2014
網絡結構:
在這裏插入圖片描述
其中提出的Inception Module的結構如下:
在這裏插入圖片描述
它一共包含了4個 分支。第一個分支是一個1×1的卷積,1×1的卷積是一個非常優秀的結構,它可以跨通道組織信息,來提高網絡的表達能力,同時還可以對輸出通道進行升維和降維,1×1的卷積還可以進行低成本的跨通道特徵變換,在Google Inception Net中大量使用了1×1的卷積。第二個分支,先使用了一個1×1的卷積,然後再連接了一個3×3的卷積,相當於進行了兩次特徵變換。第三個分支的結構與第二個分類相類似,只是將3×3的卷積換成了更大的5×5的卷積。最後一個分支,是先進行3×3的最大池化,然後再使用1×1的卷積。最後通過聚合操作在輸出通道上將四個分支的結果進行合併。Inception Module中包含了1×1、3×3、5×5三種不同大小的卷積和一個3×3的最大池化,來增加網絡對於不同尺度的適應性。

GoogleNet是ILSVRC 2014的冠軍。Inception的最大特點是:通過精心設計,使得網絡在計算量不變的前提下,深度和寬度得到了增加,Inception V1一共有22層,比VGGNet更深。從而提高了深度網絡對於計算資源的利用。14年用於ILSVRC的GoogleNet是他的一個特例。Inception V1的特點就是控制了計算量和參數量,Inception V1只有500萬 的參數量,而AlexNet有6000萬。
突破:
(1)精心設計了Inception Module來提高參數的利用率。
(2)使用輔助分類節點(auxiliary classifiers),將中間某一層的輸出用作分類,並按一個較小的權重(0.3)加到最終的分類結果中。相當於做了模型融合,同時還給網絡增加了方向傳播的梯度信號。
(3)借鑑了NIN中全局平均池化層代替最後一層全連接層

Inception V2

論文地址:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
時間:2015
新的Inception module:
在這裏插入圖片描述
InceptionV2在ImageNet上的識別打敗了GoogleNet。
突破:
(1)Inception Module 中卷積核大小爲 5 × 5 的卷積層用兩個相連的卷積核大小爲 3 × 3 的卷積層進行替換。
(2)使用BN算法,對每一個batch數據進行內部的標準化處理(均值爲0,方差爲1),使得輸出規範化到N(0,1)的正態分佈,減少Internal Covariate Shift(內部神經元分佈的改變)。

Inception V3

論文地址:Rethinking the Inception Architecture for Computer Vision
時間:2015

突破:
(1)優化算法使用RMSProp替代SGD。
(2)使用Label Smoothing Regularization(LSR)方法

Inception V4(Inception ResNet)

論文地址:Inception-v4,Inception-ResNet and the Impact of Residual Connections on Learning
時間:2016
Inception V4相對於Inception V3主要是結合了微軟的ResNet。

ResNet

論文地址:Deep Residual Learning for lmage Recognition
時間:2015
2015 年,Kaiming He 提出了 ResNet(拿到了 2016 年 CVPR Best Paper Award),不僅解決了神經網絡中的退化問題(Degrade Problem,即相較於淺層神經網絡,深層神經網絡的深度到達一定深度後,擬合能力反而更差,訓練/測試誤差更高),還在同年的 ILSVRC 和 COCO 競賽橫掃競爭對手,分別拿下分類、定位、檢測、分割任務的第一名。

Xception

論文地址:Xception:Deep Learning with Depthwise Separable Convolutions
時間:2016

參考資料

CNN入門
CNN發展史
《TensorFlow實戰》第6章
機器學習與人工智能技術的分享(推薦!)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章