VGGNet網絡模型

一、VGGNet模型簡介
  VGGNet由牛津大學的視覺幾何組(Visual Geometry Group,簡稱VGG)提出的,在ILSVRC-2014中取得了定位任務第一名和分類任務第二名,它總共有19層。其突出貢獻在於證明使用很小的卷積(3*3)來增加網絡深度可以有效提升模型的效果,而且VGGNet對其他數據集具有很好的泛化能力。VGGNet的缺點就是需要更大的存儲空間,參數量達到達到140M。
  VGGNet是從AlexNet發展而來,主要進行了兩個方面的改進:(1)在第一個卷積層使用更小的filter尺寸和間隔。(2)在整個圖片和multi-scale上訓練和測試圖片。

二、VGGNet模型的特點
  (1)小的Filter尺寸爲3*3,卷積的間隔s=1,3*3的卷積層有1個像素的填充。
  (2)3*3是最小的能夠捕獲上下左右和中心概念的尺寸。
  (3)兩個3*3的卷基層的有限感受野是5*5;三個3*3的感受野是7*7,可以替代大的filter尺寸。
  (4)多個3*3的卷基層比一個大尺寸filter卷基層有更多的非線性,使得判決函數更加具有判決性。
  (5)多個3*3的卷積層比一個大尺寸的filter有更少的參數。

三、VGGNet模型的結構
  VGGNet模型的結構如下圖所示:

這裏寫圖片描述

  模型有5個max-pooling層,故是5階段卷積特徵提取。每層的卷積個數從首階段的64個開始,每個階段增長一倍,直到達到最高的512個,然後保持。
  基本結構A:Input(224,224,3)→64F(3,3,3,1)→max-p(2,2)→128F(3,3,64,1)→max-p(2,2) →256F(3,3,128,1)→256F(3,3,256,1)→max-p(2,2)→512F(3,3,256,1)→512F(3,3,512,1)→max-p(2,2)→512F(3,3,256,1)→512F(3,3,512,1)→max-p(2,2)→4096fc→4096fc→1000softmax。有8個卷積層,3個全連接層,共計11層。
  結構B:在結構A的stage2 和stage3分別增加一個3*3的卷積層,10個卷積層,總計13層。
  結構C:在結構B的基礎上,stage3,stage4,stage5分別增加1*1的卷積層,13個卷積層,總計16層。
  結構D:在結構C的基礎上,stage3,stage4,stage5分別增加3*3的卷積層,13個卷積層,總計16層。
  結構E:在結構D的基礎上,stage3,stage4,stage5分別增加3*3的卷積層,16個卷積層,總計19層。
  各個結構的模型參數大小如下圖所示:

這裏寫圖片描述

四、VGGNet網絡訓練
4.1 訓練參數設置
  Minibatch=256,儘管VGG比Alex-net有更多的參數,更深的層次;但是VGG需要很少的迭代次數就開始收斂。這是得益於一下兩個方法:
  (1)深度和小的filter尺寸起到了隱式的規則化的作用;
  (2)先訓練淺層網絡。在得到A網絡的參數後,訓練更深的網絡E時,使用A中得到的參數初始化對應的層。
  Multi-scale 訓練:把原始 image縮放到最小邊S>224;然後在full image上隨機提取224*224窗口,進行訓練。由於物體尺寸的變化多樣,Multi-scale可以更好的識別物體,有兩種多尺度的訓練方法。
  (1)在S=256,和S=384上訓練兩個模型,然後求平均;
  (2)類似OverFeat測試時使用的方法,在[Smin,Smax]scale上,隨機選取一個scale,然後提取224*224的圖片,訓練一個網絡。這種方法類似圖片尺寸上的數據增益。
4.2 測試階段single-scale對比

這裏寫圖片描述

  A vs A-LRN:A-LRN結果沒有A好,說明LRN作用不大;
  A vs B,C,D,E:越深越好;
  A vs C:增加1*1filter,即增加額外的非線性確實提升效果;
  C vs D:3*3的filter比1*1filter要好,使用較大的filter能夠捕捉更大的空間特徵。
  訓練方法:在scale區間[256,512]通過scale增益來訓練網絡,比在固定的兩個S=256和S=512,結果明顯提升。Multi-scale訓練確實很有用,因爲卷積網絡對於縮放有一定的不變性,通過multi-scale訓練可以增加這種不變性的能力。
4.3 Multi-scale訓練
  方法1:single-scale訓練 S,multi-scale測試 {S-32,S,S+32};
  方法2:multi-scale訓練[Smin;Smax],multi-scale測試{Smin,middle,Smax}。

這裏寫圖片描述

  (1)B vs B’, C vs C’… :single-scale訓練,利用multi-scale測試,有0.2%的top-5提升。
  (2)B-256 vs B-384 …:single-scale在256和348上訓練,無論用什麼測試方法,結果基本上差不多。說明網絡在單個scale上提取能力有限。
  (3)multi-scale訓練,multi-scale測試,對於網絡提升明顯,D’和E’的top-5分類達到了7.5%。

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