【CV06】LeNet,AlexNet,VGG,GoogLeNet,ResNet 簡介



CNN的架構設計

卷積神經網絡的元素(例如卷積和池化層)相對容易理解。在實踐中使用卷積神經網絡的挑戰性部分是如何設計最能使用這些簡單元素的模型架構。

學習如何設計有效的卷積神經網絡架構的一種有用方法是研究成功的網絡。2012年至2016年間,大規模視覺識別挑戰賽(ILSVRC)進行了大量的CNN研究和應用,這一挑戰促進了計算機視覺任務的發展,以及卷積神經網絡模型的創新。

1. LeNet-5

Yann LeCun等人在1998年題爲《基於梯度學習的文檔識別(Gradient-Based Learning Applied to Document Recognition)》的論文中最早提出了卷積神經網絡LeNet-5。(獲取PDF)。

該系統被開發用於手寫字符識別問題,並在MNIST標準數據集上實現了大約99.2%的分類精度(0.8%的錯誤率)。在廣泛系統中,該網絡爲Graph Transformer Networks的核心技術。

這篇論文比較長,最值得關注的部分是第二部分,描述了LeNet-5架構。論文將網絡描述爲具有7層灰度圖像輸入,其形狀爲32×32,即MNIST數據集中的圖像大小。
在這裏插入圖片描述
卷積層和池化層重複交疊組合多層,仍然是當今設計和使用卷積神經網絡的常見模式。該架構第一層使用少量的filter,有6個5×5的filter。在合併之後(稱爲子採樣層),另一個卷積層有更多的filter,之後的卷積層更小,有16個5×5的filter,再次合併。在這兩個卷積和池化層中,趨勢是filter數量的增加

與如今的網絡相比,filter的數量很少,但是隨着網絡深度的增加,filter數量的增長趨勢仍然是該技術在現代使用中的一種普遍模式。

如今,通過全連接層對特徵圖進行展平(flatten)以及對提取的特徵進行解釋和分類也仍然是常見的模式。在現代術語中,網絡模型的最後部分通常被稱爲分類器,而模型中較早的卷積層和池化層被稱爲特徵提取器

可以總結出與現代模型相關的架構的關鍵信息:

  • 固定尺寸的輸入圖像;
  • 將卷積層和池層分組爲塊;
  • 架構中卷積層和池化層的交疊重複;
  • 隨着網絡深度的增加,filter的數量也會增加;
  • 架構可以設置不同的特徵提取器和分類器。

2. AlexNet

Alex Krizhevsky等人在2012年發表的論文ImageNet Classification with Deep Convolutional Neural Networks可以歸因於對神經網絡的重新激發興趣以及深度學習在許多計算機視覺應用中的主導地位的開始。該論文表明,無需使用當時流行的無監督預訓練技術,就可以開發出深度有效的端到端模型來解決具有挑戰性的問題。

AlexNet 在每個卷積層之後都使用整流線性激活函數(ReLU)作爲非線性函數,而不是使用S形函數(例如logistic或tanh),直到那個時候才通用。同樣,在輸出層中使用了softmax激活函數,現在該函數是神經網絡進行多類分類的主要條件。

LeNet-5中使用的平均池化替換爲最大池化,在這種情況下,發現重疊池化的性能優於當今常用的非重疊池(即池操作的步幅與池操作的大小相同 ,例如2 x 2像素)。爲了解決過擬合問題,在模型的分類器部分的全連接層之間使用了新提出的Dropout方法,以改善泛化誤差。

AlexNet的體系結構很深,並擴展了LeNet-5建立的某些模式。在這種情況下,分爲兩個並行部分以在當時的GPU硬件上進行訓練。

在這裏插入圖片描述
該模型在特徵提取部分有5個卷積層,分類器部分有3層全連接層。輸入圖像通過三個顏色通道的尺寸固定爲224×224。在每個卷積層中使用的過濾器數量方面,在LeNet中看到的過濾器數量隨着深度的增加而增加的模式在大多數情況下都遵循,即大小爲96、256、384、384、256。 filter的尺寸隨深度減小,尺寸從11×11減小到5×5,在較深的層減小到3×3。現在通常使用較小尺寸的filter,例如5×5和3×3

使用數據增強對模型進行了訓練,從而人爲地增加了訓練數據集的大小,併爲模型提供了更多的機會來學習不同方向的相同特徵。

可以總結出與現代模型相關的架構的關鍵信息:

  • 卷積層使用ReLU激活函數,輸出使用softmax函數;
  • 使用最大池化代替平均池化;
  • 在全連接的層之間使用Dropout正則化;
  • 卷積層的特徵圖直接饋送到另一個卷積層;
  • 使用數據增強。

3. VGG

牛津大學的Visual Geometry Group提出了稱爲VGG的網絡模型(論文原文),與先前兩種網絡模型的第一個重要區別是使用了大量的尺寸較小的filter。具體而言,使用步幅爲1尺寸爲3×3和1×1的filter,不同於LeNet-5中大尺寸的filter,以及步幅很大,尺寸相對較大的filter的AlexNet。

在從AlexNet中大多數(不是全部)卷積層之後使用了最大池化層,但是所有池化都以2×2的大小和相同的步幅執行,這也已成爲常用的標準。具體而言,VGG網絡在最大池化層之前堆疊多層卷積層。基本原理是,具有較小filter的堆疊卷積層近似具有較大filter的單層卷積層的效果,例如,具有3×3filter的三層堆疊卷積層與具有7×7filter的單層卷積層類似。

另一個重要的區別是使用了大量的filter。filter的數量隨模型深度的增加而增加,從相對較大的64個開始,在模型的特徵提取部分結束時增加到128、256、512個。

開發和評估了該網絡結構的多種變體,在性能和深度方面最常提及兩種。它們以層數命名:分別是VGG-16和VGG-19。下表中,最右邊的兩列表示該架構的VGG-16和VGG-19版本中配置的filter的數量。
在這裏插入圖片描述
可以總結出與現代模型相關的架構的關鍵方面,如下所示:

  • 使用非常小的卷積濾波器,例如3×3和1×1,步幅爲1;
  • 使用大小爲2×2且跨度相同的最大池;
  • 池化層之前,使用多層卷積層堆疊;
  • 卷積層池化層的重複交疊配置;
  • 開發非常深的(16和19層)模型。

4. Inception and GoogLeNet

Christian Szegedy等人在2015年的論文Going Deeper with Convolutions中提出了使用卷積層的重要創新。作者提出了Inception v1的網絡架構,以及一個名爲GoogLeNet的特定模型,該模型在2014年ILSVRC中取得了最佳成績。

inception模型的關鍵創新稱爲 inception module。這是具有不同大小的filter(例如1×1、3×3、5×5)的並行卷積層和3×3的最大池化層的block,然後將其結果合併在一起。下面是一個示例。
在這裏插入圖片描述
初始模型的一個問題是filter(深度或通道)的數量開始快速增加,尤其是在堆疊初始block時。在數量較多的filter上,使用較大尺寸的filter(例如3和5)進行卷積在計算上很昂貴。爲了解決這個問題,使用1×1卷積層來減少初始模型中的filter數量。特別是在3×3和5×5卷積層之前和池化層之後。下圖取自論文,顯示了對初始模塊的更改。

在這裏插入圖片描述
初始模型中的第二個重要設計決策是將輸出連接到模型中的不同節點。這是通過從主網絡創建經過訓練以進行預測的小型支路輸出網絡來實現的。目的是在深度模型的不同點上提供來自分類任務的附加誤差信號,以解決梯度消失問題。然後在訓練後將這些小型輸出網絡刪除。
在這裏插入圖片描述
在模型的分類器部分之前,在模型的特徵提取部分的末尾使用了重疊的最大池化,並使用了較大的平均池化操作。

以總結出與現代模型相關的架構的關鍵信息:

  • 開發和重複Inception模塊;
  • 大量使用1×1卷積以減少通道數;
  • 在網絡中的多個點使用錯誤反饋;
  • 開發非常深的(22層)模型;
  • 使用全局平均池化作爲模型的輸出。

5. ResNet

Kaiming He等人在論文Deep Residual Learning for Image Recognition提出了一個非常深的模型,稱爲殘差網絡,簡稱ResNet。模型具有152層,模型設計的關鍵是利用快捷連接(shortcut connections)的殘差塊(residual blocks)的概念,這些只是網絡結構中的連接,其中輸入保持原樣(不加權)並傳遞到更深的層,例如,跳過下一層。

殘差塊(residual blocks)是具有ReLU激活的兩個卷積層的模式,其中,塊的輸出與塊的輸入(例如,快捷連接)組合在一起。如果到塊的輸入的形狀與塊的輸出不同,則使用1×1卷積。與未加權或identity快捷連接相比,這些稱爲投影快捷連接(projected shortcut connections)

該網絡受VGG啓發,使用較小尺寸的filter(3×3),成組的卷積層堆疊,且沒有池化層,全連接層之前使用平均池化,該模型的檢測器部分在完全連接輸出之前使用softmax激活函數。

通過添加快捷連接以定義殘留塊,將普通網絡修改爲殘留網絡。通常,快捷連接的輸入形狀與殘差塊的輸出大小相同

下圖取自本文,從左至右比較了VGG模型,普通卷積模型和帶有殘差模塊的普通卷積模型(稱爲殘差網絡)的網絡結構。
在這裏插入圖片描述
可以總結出與現代模型相關的架構的關鍵方面,如下所示:

  • 使用快捷連接;
  • 殘差塊的擴展和重複;
  • 開發非常深的(152層)模型。

參考:
https://machinelearningmastery.com/review-of-architectural-innovations-for-convolutional-neural-networks-for-image-classification/

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