VGG Net 論文細(xì)讀

論文地址:《Very Deep Convolutional Networks for Large-Scale Image Recognition
思維導(dǎo)圖:https://mubu.com/explore/5JnjDt1vIng


一、背景

LSVRC:大規(guī)模圖像識(shí)別挑戰(zhàn)賽

ImageNet Large Scale Visual Recognition Challenge 是李飛飛等人于2010年創(chuàng)辦的圖像識(shí)別挑戰(zhàn)賽,自2010起連續(xù)舉辦8年,極大地推動(dòng)計(jì)算機(jī)視覺發(fā)展。比賽項(xiàng)目涵蓋:圖像分類(Classification)、目標(biāo)定位(Object localization)、目標(biāo)檢測(Object detection)、視頻目標(biāo)檢測(Object detection from video)、場景分類(Scene classification)、場景解析(Scene parsing)。

VGG Net由牛津大學(xué)的視覺幾何組(Visual Geometry Group)參加2014年ILSVRC提出的網(wǎng)絡(luò)模型,它主要的貢獻(xiàn)是展示了卷積神經(jīng)網(wǎng)絡(luò)的深度(depth)是算法優(yōu)良性能的關(guān)鍵部分。

二、Abstract

Q1:做了什么?

研究了“卷積網(wǎng)絡(luò)的深度”在大規(guī)模的圖像識(shí)別環(huán)境下對準(zhǔn)確性的影響(即神經(jīng)網(wǎng)絡(luò)的深度與其性能之間的關(guān)系)。

Q2:怎么做的?

使用一個(gè)非常小的卷積核(3\times3)對網(wǎng)絡(luò)深度進(jìn)行評(píng)估,評(píng)估發(fā)現(xiàn)將網(wǎng)絡(luò)深度加至16層-19層,性能有了顯著提升。

Q3:做得怎么樣?

在ImageNet Challenge 2014競賽中,定位賽道獲得第一名,分類賽道獲得第二名。

三、Architecture

論文提出了多種規(guī)模的網(wǎng)絡(luò)架構(gòu)(不同規(guī)模深度不盡相同),下圖為其中性能表現(xiàn)良好的網(wǎng)絡(luò)架構(gòu)之一:VGG16結(jié)構(gòu)圖。

VGG16結(jié)構(gòu)圖

1、輸入

  1. 規(guī)格:3@224x224(3個(gè)通道,寬高像素均為224);
  2. 唯一的預(yù)處理操作:計(jì)算出3個(gè)通道的平均值,在每個(gè)像素上減去平均值(處理后迭代更少,收斂更快);

2、卷積

  1. 大部分網(wǎng)絡(luò)架構(gòu)使用非常小的3x3卷積核貫穿整個(gè)網(wǎng)絡(luò);
  2. 部分網(wǎng)絡(luò)架構(gòu)除了3x3卷積核之外還使用了1x1卷積核;
  3. 卷積層步長(stride)=1,3x3卷積核的填充(padding)=1;
  4. 所有隱藏卷積層都配備了ReLU非線性激活。

3、池化

  1. 整個(gè)網(wǎng)絡(luò)架構(gòu)的池化總共由5個(gè)“MAX池化層”實(shí)現(xiàn);
  2. 池化操作在一系列卷積操作之后執(zhí)行;
  3. 池化窗口為2x2,步長=2。

4、分類器

所有卷積操作之后跟有3個(gè)全連接層(FC層):

  1. 前2個(gè)FC層:均為4096通道;
  2. 最后1個(gè)FC層:1000個(gè)通道;
  3. 全連接層之后是SoftMax分類器。

四、Dicussion

所有的ConvNet配置如圖所示,VGG結(jié)構(gòu)全部都采用較小的卷積核(3x3,部分1x1):

ConvNet配置

1、3x3卷積核的作用(優(yōu)勢)

兩個(gè)3×3的卷積層串聯(lián)相當(dāng)于1個(gè)5×5的卷積層(二者具有等效感受野5x5),3個(gè)串聯(lián)的3×3卷積層串聯(lián)的效果相當(dāng)于一個(gè)7×7的卷積層;

下圖展示了為什么“兩個(gè)3x3卷積層”與“單個(gè)5x5卷積層”具有等效的5x5的感受野。

等效感受野

1)作用1:減少網(wǎng)絡(luò)層參數(shù)

  1. 對于兩個(gè)3x3卷積核,所用的參數(shù)總量為2\times3^2\times{channels}(假設(shè)通過padding填充保證卷積層輸入輸出通道數(shù)不變);
  2. 對于單個(gè)5x5卷積核,參數(shù)量為5^2\times{channels}
  3. 參數(shù)量減少了(1-\frac{2\times3^2\times{channels}}{5^2\times{channels}})\times100\%=28\%。

2)作用2:增加更多的非線性變換

2個(gè)3x3卷積層擁有比1個(gè)5x5卷積層更多的非線性變換(前者可以使用兩次ReLU激活函數(shù),而后者只有一次),使得卷積神經(jīng)網(wǎng)絡(luò)對特征的學(xué)習(xí)能力更強(qiáng)。

2、1x1卷積核的作用

1)作用1:降低運(yùn)算量

不影響輸入輸出的維度情況下(即圖片寬高尺寸不變),降低了大量運(yùn)算,同時(shí)改變了維度(通道數(shù));

2)作用2:提高非線性

卷積之后再緊跟ReLU進(jìn)行非線性處理,提高決策函數(shù)的非線性。

五、Classification Framework

1、訓(xùn)練

1)參數(shù)設(shè)置

  1. 使用了mini-batch的梯度下降法(帶有沖量),batch_size設(shè)為256,沖量設(shè)為0.9;
  2. 前兩個(gè)FC層使用了dropout(失活概率為0.5),用來緩解過擬合;
  3. 訓(xùn)練通過權(quán)重衰減(L2懲罰乘子設(shè)定為5\times{10}^{-4})進(jìn)行正則化;
  4. 學(xué)習(xí)率初始化為0.01
    • 當(dāng)驗(yàn)證集準(zhǔn)確率穩(wěn)定時(shí),學(xué)習(xí)率減少為原來\frac{1}{10};
    • 整個(gè)訓(xùn)練過程,學(xué)習(xí)率總共降低3次,學(xué)習(xí)在37萬次迭代后停止(74個(gè)epochs)。

2)預(yù)訓(xùn)練

  1. 先訓(xùn)練較淺的網(wǎng)絡(luò)A,A收斂之后呢,將A的網(wǎng)絡(luò)權(quán)重保存下來;
  2. 再復(fù)用A網(wǎng)絡(luò)的權(quán)重來初始化后面的幾個(gè)復(fù)雜模型
    • 只對“前四個(gè)卷積層”、“后三層全連接層”復(fù)用A的網(wǎng)絡(luò)權(quán)重,其它的中間層都是隨機(jī)初始化;
      • 隨機(jī)初始化,均值是0,方差是0.01,bias是0。

3)多尺度訓(xùn)練

Q1:什么是多尺度訓(xùn)練(Multi-scale)?

詳見:https://www.cnblogs.com/xxxxxxxxx/p/11629657.html

通俗點(diǎn)講,就是將一張圖片先進(jìn)行等比例縮放到不同尺寸(實(shí)現(xiàn)1張圖片變多張圖片),再在縮放后的圖片中隨機(jī)裁剪出指定尺寸區(qū)域得到更多的圖像。

就這樣,實(shí)現(xiàn)了訓(xùn)練集的數(shù)據(jù)增強(qiáng)。

Q2:作用是什么?

數(shù)據(jù)增強(qiáng),有利于預(yù)防過擬合。

Q3:步驟是什么?

  1. 步驟1:將原始圖像縮放到不同尺寸S;
    • Q:S設(shè)為多大合適呢?(兩種解決方法A1、A2)
      • S過小,裁剪到224x224的時(shí)候,就相當(dāng)于幾乎覆蓋了整個(gè)圖片,這樣對原始圖片進(jìn)行不同的隨機(jī)裁剪得到的圖片就基本上沒差別,就失去了增加數(shù)據(jù)集的意義;
      • S過大,,裁剪到的圖片只含有目標(biāo)的一小部分,也不是很好。
    • A1:單尺度訓(xùn)練(將S設(shè)為一個(gè)固定值)
      • 論文評(píng)估了S=256和S=384兩種單尺度模型;
    • A2:多尺度訓(xùn)練(將S設(shè)為一個(gè)區(qū)間[S_{min}, S_{max}]
      • 論文隨機(jī)從[256,512]的區(qū)間范圍內(nèi)進(jìn)行抽樣,這樣原始圖片尺寸不一,有利于訓(xùn)練,這個(gè)方法叫做尺度抖動(dòng)(scale jittering),有利于訓(xùn)練集增強(qiáng)。
  2. 步驟2:從縮放后的圖片隨機(jī)裁剪224x224區(qū)域的圖片;
  3. 步驟3:對裁剪后的圖片進(jìn)行水平翻轉(zhuǎn)和隨機(jī)RGB色差調(diào)整(改變訓(xùn)練圖像中 RGB 通道的強(qiáng)度);

2、測試

測試階段與訓(xùn)練階段主要有兩點(diǎn)不同:

  1. 對于測試集同樣采用Multi-scale,將圖像縮放到尺寸Q,但是Q可以≠訓(xùn)練尺度S;
  2. 將“FC全連接層”轉(zhuǎn)換為“等效卷積層”

六、Classification Experiments

1、Single Scale Evaluation

  1. 若S采用單尺度,設(shè)Q=S;若S采用多尺度,設(shè)Q=0.5(S_{min}+S_{max});
  2. 通過“A-LRN”證明,網(wǎng)絡(luò)中加入LRN沒什么用;
  3. 通過比較A-E的“top-1 val.error”和“top-5 val.error”發(fā)現(xiàn),網(wǎng)絡(luò)深度越深,訓(xùn)練性能越好,且深度達(dá)19層時(shí),性能趨于飽和;
  4. 通過比較D和C,證明3x3卷積效果優(yōu)于1x1卷積;
  5. 通過將“B”和“帶有5x5卷積的淺層網(wǎng)絡(luò)”,發(fā)現(xiàn)兩個(gè)3x3卷積效果優(yōu)于單個(gè)5x5卷積(即使二者具有等效的感受野);
  6. 通過比較單尺度S和多尺度S,發(fā)現(xiàn)尺度抖動(dòng)有利于訓(xùn)練集數(shù)據(jù)增強(qiáng)。
在單測試尺度的ConvNet性能

2、Multi-Scale Evaluation

  1. 保持S為單尺度(S=256 or S=384),查看多尺度Q的性能(Q=\{S-32, S, S+32\});
  2. 令S為多尺度(S\in[S_{min}, S_{max}]),查看多尺度Q的性能(Q=\{ S_{min}, 0.5(S_{min}+S_{max}, S_{max}) \});
  3. 證明測試時(shí)的尺度抖動(dòng)導(dǎo)致了更好的性能。
在多個(gè)測試尺度上的ConvNet性能

3、Multi-Crop Evaluation

  1. 將“稠密ConvNet_{(即未進(jìn)行多裁剪)}評(píng)估”與“多裁剪圖像評(píng)估”進(jìn)行比較;
  2. 通過平均其soft-max輸出來評(píng)估兩種評(píng)估技術(shù)的互補(bǔ)性;
  3. 證明了使用多裁剪圖像表現(xiàn)比密集評(píng)估略好,而且這兩種方法確實(shí)是互補(bǔ)的(因?yàn)樗鼈兊慕M合優(yōu)于其中的每一種)。
ConvNet評(píng)估技術(shù)比較

4、Convnet Fusion

  1. 查看多個(gè)卷積網(wǎng)絡(luò)融合結(jié)果;
  2. ILSVRC提交的是單規(guī)模網(wǎng)絡(luò);post-提交的是多規(guī)模網(wǎng)絡(luò);
  3. 表現(xiàn)最好的多尺度模型(配置D和E)的組合,它使用密集評(píng)估將測試誤差降低到7.0%,使用密集評(píng)估和多裁剪圖像評(píng)估將測試誤差降低到6.8%。
多個(gè)卷積網(wǎng)絡(luò)融合結(jié)果

七、我的總結(jié)

VGGNet網(wǎng)絡(luò)特點(diǎn):

  1. 層數(shù)深(VGG擁有5段卷積,每段卷積內(nèi)包含2-3個(gè)卷積層),同時(shí)每段尾部配有最大池化層,適用于大型數(shù)據(jù)集;
  2. 網(wǎng)絡(luò)簡潔,使用了同樣大小的卷積核尺寸(3x3)和最大池化尺寸(2x2)貫穿整個(gè)網(wǎng)絡(luò)架構(gòu);
  3. 采用“幾個(gè)小濾波器(3x3)卷積層的串聯(lián)組合”替代“一個(gè)大濾波器(5x5或7x7)卷積層”,效果更好;
  4. 訓(xùn)練和測試階段都對數(shù)據(jù)集進(jìn)行了Multi-scale將圖片縮放并采樣,實(shí)現(xiàn)了數(shù)據(jù)增強(qiáng);
  5. 測試階段將全連接層轉(zhuǎn)換為等效卷積層,去除了FC層對輸入圖像尺寸的限制;
  6. 采用多GPU并行訓(xùn)練,每個(gè)GPU處理部分?jǐn)?shù)據(jù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容