1. 程式人生 > >經典的幾個卷積神經網路(基本網路)

經典的幾個卷積神經網路(基本網路)

AlexNet:

( 2012 ILSVRC top 5 test error rate of 15.4%)

第一個成功展現出卷積神經網路潛力的網路結構。

這裡寫圖片描述

關鍵點:

  • 通過大量的資料與長時間的訓練得到最後的模型,結果十分顯著(拿到2012分類第一)
  • 使用兩塊GPU,分兩組進行卷積。
  • 自從Alexnet之後,卷積神經網路開始迅速發展

VGGnet:

(ILSVRC 2014 7.3% error rate)

自Alexnet開始,神經網路便漸漸流行起來,開始各種嘗試,最經典的是VGGnet
這裡寫圖片描述
這裡寫圖片描述
關鍵點:

  • 使用了3x3的filter取代了5x5和7x7,在實測中展示了兩個3x3與5x5相比有更好的效果並且引數更少
  • 隨著網路的深入,層數逐漸增大
  • 可以注意到後一個卷積核層數是前一個的兩倍,也是降低空間維度,增加深度
  • 此網路在分類和定位的任務上都能有很好的變現。
  • 訓練時使用了資料增強方法
  • 這個網路說明了深層的卷積神經網路有十分好的表現

GoogleNet:

(ILSVRC 2014 top 5 error rate of 6.7%)

神經網路除了縱向的擴充套件,是否能進行橫向的拓展?所以出現了第一個使用相疊加的方式的卷積的網路結構,即可以橫向擴充套件。
在傳統的轉換網路中,每個層從前一層提取資訊,以便將輸入資料變換成更有用的表示。然而,每個層型別提取不同種類的資訊。5x5卷積核的輸出告訴我們與3x3卷積核的輸出不同的東西,這告訴我們與最大池核心的輸出不同,等等。在任何給定的層面,我們如何知道什麼轉換提供了最有用的資訊?
為什麼不讓模型選擇?
於是Inception將1x1, 3x3, 5x5, max-pool結合起來,讓網路選擇

Inception模組:

這裡寫圖片描述
整個網路:
這裡寫圖片描述

這種模組的意義是,你可能不清楚用一個小的感受野效果好還是大的感受野效果好,可以把這些放一起來評判
關鍵點:
- 橫向擴充套件
- 使用了1x1的filter,可以很方便的改變卷積結果的層數(1x1的filter也被稱為bottleneck)

Xception:

Xception基於Inception做的新網路
作者提出一個假設:channel與空間的相關性是完全不相關的,所以最好不要共同對映它們
所以在Xception中採用了“深層可分離卷積”操作,首先每個channel做空間卷積,然後再一起做1x1卷積合在一起。
其效果與Inception v3相比較優,並且引數量不大
這裡寫圖片描述

Resnet:

( ILSVRC 2015 3.6%)

簡單的通過疊加捲積層的方式來增加網路深度,並不能提高模型效果,甚至還會使模型變得更差,更難訓練。(Alexnet只有5個卷積層,)
因為此時梯度減緩和梯度消失的現象就會變得十分嚴重,由於梯度反向傳播到較早的層,重複乘法可能使梯度無窮大。結果就是,隨著網路的深入,其效能飽和甚至開始迅速惡化。
這裡寫圖片描述
於是為了解決這個問題,MS嘗試搭建一個快捷通道(shortcut connections)來傳遞梯度。
Resnet並不是第一個使用快捷通道(shortcut connections),其中還有Highway Network也由相似的想法,不過最終效果Resnet的比較好。

Residual Block:

這裡寫圖片描述

這個block的目的是,作者認為相比原來的網路,這種殘差網路更加容易訓練。其中的原因為在Residual Network中,當進行網路的反向傳播時,梯度可以更加容易的向前傳遞,因為這個相加操作,可以更容易的傳播梯度。
當網路結構變深時,普通的網路就會因為網路太深,出現梯度消失的情況,從而難以訓練。
這裡寫圖片描述

關鍵點:
- 前面的網路都不夠深,而Resnet有152層
- 可以使用Residual block訓練更加深層的網路

ResNeXt:

ResNeX是Resnet的改版,比Resnet更加有效
這裡寫圖片描述
這裡寫圖片描述

上述三種網路等價(equivalent)

ResNeXt是現在物體識別裡 state-of-the-art ,其結合了Inception和Resnet的思想。其寬度十分寬,達到32個層,在論文中也說明,寬度的增加能夠給模型更好的效果。與Inception相比,Inception中每個路徑彼此不同(1x1, 3x3, 5x5的卷積),而ResNeXt中所有的路徑相同,作者還提出了一個引數叫做cardinality——獨立路徑的數量(上述為32條路徑),

DenseNet:Densely Connected CNN

在densenet之前其實就有其他的網路進行更多的跨層連線的嘗試,但是densenet更加粗暴,直接將所有的模組連線起來

Dense Block

這裡寫圖片描述
這裡寫圖片描述
Densenet與Resnet比較:
這裡寫圖片描述
從圖中可以看出,其效果較Resnet稍好,而且引數量下降許多,但densenet在訓練時會消耗更多的記憶體,不過對於densenet消耗記憶體較多的問題已經有一些改進方法。

關鍵點:
- 組塊內全連線
- 引數與Resnet比更少,但訓練需要更多記憶體

Reference: