CNN模型之VGGNet

一、介紹

        VGGNet是於2014年由牛津大學計算機視覺組和DeepMind公司共同研究的。在2014年的ILSVRC比賽上獲得了分類項目的第二名和定位項目的第一名。這個網絡據說是基於NIN網絡的思想。與比賽中的第一名GooLeNet從NIN開始向兩個方向發展。VGGNet的理念是更深的網絡性能更好。因此,VGGNet的主要理念有:

  1. 網絡層數越多,也就是網絡越深,網絡的性能越好。
  2. 網絡越深越不好訓練,容易過擬合。因此,採用小卷積核。

二、模型結構

VGGNet網絡結構
        如圖中所示,論文中一共提供了六種結構,可以分爲VGG11、VGG13、VGG16和VGG19。其中VGG16和VGG19是我們常用的網絡。它們的結構可分爲兩部分,第一部分爲卷積層,主要目的是提取特徵。第二部分爲全連接層,主要目的是進行分類。在網絡中主要的操作有

  • 輸入圖像預處理只做了減均值操作,可以減去128或者減去所有像素的均值,收斂會快一些,性能不會差太多。
  • 隱藏層使用ReLU,效率更高。不使用LRN。LRN也被證實沒多大用處。在之後的模型也不被使用。
  • 使用3×33\times 31×11\times 1的卷積核,非常小的感受野,這樣就可以把網絡加深,使用多個卷積核的總參數變少。
  • 1×11\times 1的卷積增加了決策函數的非線性,相當於全連接。可進行通道的降維或者升維。
  • 兩個連續的3×33\times 3卷積核相當於一個5×55\times 5,三個相當於7×77\times 7。好處是網絡結構更深,增加了非線性能力,參數更少了。

        在模型中,優化方法使用含有動量的隨機梯度下降,損失函數中加入了L2正則化,全連接層的前兩層加入了Dropout防止過擬合。網絡的測試結果爲
測試結果

三、總結

        VGGNet雖然是2014年分類任務的第二名,但是與第一名相差並不多,並且對之後的模型發展影響巨大。VGGNet網絡得出的結論有

  • LRN,局部歸一化並不能改善網絡的性能
  • 隨着網絡的加深,分類誤差降低,特徵收斂越快,受樣本變化的影響越小。
  • 數據增加等操作可以增強模型的魯棒性。
  • 多裁剪評估比密集評估,效果更好。

        VGGNet網絡是一個非常好的網絡,在很多任務中,都以它爲基礎模型,在此基礎上進行更改。學習VGGNet模型,要知道它的網絡結構,以及設計思想和最終的實驗結論。

友情鏈接:
代碼實現:https://github.com/guoyuantao/CNN_Model/tree/master/CNN_on_cifar_ByPytorch
聯繫方式:2391855138(加好友請備註)

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