VGG論文給出了一個非常振奮人心的結論:卷積神經網絡的深度增加和小卷積核的使用對網絡的最終分類識別效果有很大的作用。記得在AlexNet論文中,也做了最后指出了網絡深度的對最終的分類結果有很大的作用。這篇論文則更加直接的論證了這一結論。
網絡結構
論文指出:
- VGG不僅在ILSVRC的分類和檢測任務中取得了the state-of-the-art的精度
- 在其他數據集上也具有很好的推廣能力
結構Architecture
說明:
*1x1卷積核:降維,增加非線性性 *3x3卷積核:多個卷積核疊加,增加空間感受野,減少參數
論文中,作者指出,雖然LRN(Local Response Normalisation)在AlexNet對最終結果起到了作用,但在VGG網絡中沒有效果,並且該操作會增加內存和計算,從而作者在更深的網絡結構中,沒有使用該操作
VGG網絡結構
VGG網絡參數
Q1: 為什么3個3x3的卷積可以代替7x7的卷積?
3個3x3的卷積,使用了3個非線性激活函數,增加了非線性表達能力,使得分割平面更具有可分性
減少參數個數。對於C個通道的卷積核,7x7含有參數72C272C2, 3個3x3的參數個數為3∗32C23∗32C2,參數大大減少
Q2: 1x1卷積核的作用
- 在不影響感受野的情況下,增加模型的非線性性
- 1x1卷機相當於線性變換,非線性激活函數起到非線性作用
Q3: 網絡深度對結果的影響(同年google也獨立發布了深度為22層的網絡GoogleNet)
VGG與GoogleNet模型都很深
都采用了小卷積
VGG只采用3x3,而GoogleNet采用1x1, 3x3, 5x5,模型更加復雜(模型開始采用了很大的卷積核,來降低后面卷機層的計算)
模型框架
VGG采用了min-batch gradient descent去優化multinomial logistic regression objective
正則化方法:
- 增加了對權重的正則化,5∗10−4||W||L25∗10−4||W||L2
- 對FC全連接層進行dropout正則化,dropout ratio = 0.5
說明:雖然模型的參數和深度相比AlexNetyou 了很大的增加,但是模型的訓練迭代次數卻要求更少:a)正則化+小卷積核,b)特定層的預初始化
初始化策略:
首先,隨機初始化網絡結構A(A的深度較淺)
利用A的網絡參數,給其他的模型進行初始化(初始化前4層卷積+全連接層,其他的層采用正態分布隨機初始化,mean=0,var=10−210−2, biases = 0)最后證明,即使隨 機初始化所有的層,模型也能訓練的很好
訓練輸入:
采用隨機裁剪的方式,獲取固定大小224x224的輸入圖像。並且采用了隨機水平鏡像和隨機平移圖像通道來豐富數據。
Training image size: 令S為圖像的最小邊,如果最小邊S=224S=224,則直接在圖像上進行224x224區域隨機裁剪,這時相當於裁剪后的圖像能夠幾乎覆蓋全部的圖像信息;如果最小邊S>>224S>>224,那么做完224x224區域隨機裁剪后,每張裁剪圖,只能覆蓋原圖的一小部分內容。
注:因為訓練數據的輸入為224x224,從而圖像的最小邊S,不應該小於224
數據生成方式:首先對圖像進行放縮變換,將圖像的最小邊縮放到S大小,然后
方法1: 在S=224和S=384的尺度下,對圖像進行224x224區域隨機裁剪
方法2: 令S隨機的在[Smin,Smax][Smin,Smax]區間內值,放縮完圖像后,再進行隨機裁剪(其中Smin=256,Smax=512Smin=256,Smax=512)
預測方式:作者考慮了兩種預測方式:
方法1: multi-crop,即對圖像進行多樣本的隨機裁剪,然后通過網絡預測每一個樣本的結構,最終對所有結果平均
方法2: densely, 利用FCN的思想,將原圖直接送到網絡進行預測,將最后的全連接層改為1x1的卷積,這樣最后可以得出一個預測的score map,再對結果求平均
上述兩種方法分析:
Szegedy et al.在2014年得出multi-crops相對於FCN效果要好
multi-crops相當於對於dense evaluatio的補充,原因在於,兩者在邊界的處理方式不同:multi-crop相當於padding補充0值,而dense evaluation相當於padding補充了相鄰的像素值,並且增大了感受野
multi-crop存在重復計算帶來的效率的問題
效果分析
單尺度
效果分析
單尺度
結論:
- 模型E(VGG19)的效果最好,即網絡越深,效果越好
- 同一種模型,隨機scale jittering的效果好於固定S大小的256,384兩種尺度,即scale jittering數據增強能更准確的提取圖像多尺度信息
多尺度
結論:
- 對比單尺度預測,多尺度綜合預測,能夠提升預測的精度
- 同單尺度預測,多尺度預測也證明了scale jittering的作用
多尺度裁剪
結論:
- 數據生成方式multi-crop效果略優於dense,但作者上文也提高,精度的提高不足以彌補計算上的損失
- multi-crop於dense方法結合的效果最后,也證明了作者的猜想:multi-crop和dense兩種方法互為補充
模型融合
結論:
- 通過多種模型融合輸出最終的預測結果,能達到the state-of-the-art的效果
對比
結論:
- 與其他模型對比發現,VGG也能達到非常好的效果。
總結
作者指出,VGG模型不僅能夠在大規模數據集上的分類效果很好,其在其他數據集上的推廣能力也非常出色。