VGG網路解讀

2021-10-23 16:18:06 字數 1915 閱讀 4420

一、網路結構和配置

主要貢獻是使用乙個帶有非常小(3x3)卷積濾波器的架構對增加深度的網路進行了徹底的評估,這表明通過將深度推進到16 - 19個權重層,可以實現對先前art配置的顯著改進

1、結構

(1)在訓練中,我們的是絡乙個固定大小的輸入224×224 rgb影象。我們所做的唯一預處理是從每個畫素中減去在訓練集上計算的平均rgb值。

(2)影象通過卷積層的堆疊傳遞,其中我們使用接受域很小的過濾器:3x3(這是捕捉左/右、上/下、中心概念的最小尺寸)。在其中一種配置中,我們還使用了11個卷積濾波器,它可以被看作輸入通道的線性變換(後面是非線性)。卷積步長固定為1畫素;空間填充是指經過卷積後保留空間解析度,即3個卷積層的填充為1畫素。

(3)後面由5個max-pooling層執行,它們遵循一些conv層(不是所有conv層都遵循max-pooling)。max-pooling是在乙個22畫素的視窗上執行的,步長為2。

(4)所有隱藏層均使用relu。

2、部署

我們將用網名(a-e)來指代網路。所有配置都遵循第2.1節中給出的通用設計,僅在深度上有所不同:與網路a中的11個權重層不同(8 conv.和3 fc層)到網路e中的19個權重層(16個conv層和3個fc層)。conv.層的寬度(channel的數量)比較小,從第一層的64開始,每一層max-pooling後增加2倍,直到512。(圖二為各個網路的引數個數)

二、分類框架

1、訓練

(小批量梯度下降)mini-batch gradient descent:batch-size = 256

(動量)momentum = 0.9

通過權重衰減(weight decay)進行正則化

懲罰:l2 penalty multiplier = 5· 10-4

丟失率:dropout ratio = 0.5

2、測試

首先,將其向同性地重新縮放到預先定義的最小影象端,記為q(我們也將其稱為測試尺度)。我們注意到q不一定等於訓練量表s(如我們將在第4節中所示,對每個s使用幾個q值可以提高效能)。

然後,網路以類似於(sermanet et al. 2014)的方式在重新縮放的測試影象上密集應用。即先將全連通層轉換為卷積層(第乙個fc層轉換為7x7conv層,最後兩個fc層轉換為11conv層)。然後將得到的全卷積網路應用於整個(未裁剪的)影象。其結果是乙個類得分對映,其中通道數等於類數,並具有依賴於輸入影象大小的可變空間解析度。

最後,為了得到影象的類分數的固定大小向量,對類分數對映進行平均池化。我們還增加了測試集的水平翻轉影象;對原始影象和翻轉影象的軟最大值類後驗進行平均,得到影象的最終得分。

三、改進總結

1 使用了更小的33卷積核,和更深的網路。兩個33卷積核的堆疊相對於55卷積核的視野,三個33卷積核的堆疊相當於77卷積核的視野。這樣一方面可以有更少的引數(3個堆疊的33結構只有77結構引數數量的(333)/(77)=55%);另一方面擁有更多的非線性變換,增加了cnn對特徵的學習能力。

2 在vggnet的卷積結構中,引入1*1的卷積核,在不影響輸入輸出維度的情況下,引入非線性變換,增加網路的表達能力,降低計算量。

3 訓練時,先訓練級別簡單(層數較淺)的vggnet的a級網路,然後使用a網路的權重來初始化後面的複雜模型,加快訓練的收斂速度。

4 採用了multi-scale的方法來訓練和**。可以增加訓練的資料量,防止模型過擬合,提公升**準確率。

VGG網路模型

import tensorflow as tf 卷積函式 def conv2d x,w,b,strides 1 x tf.nn.conv2d x,w,strides 1,strides,strides,1 padding same x tf.nn.bias add x,b return tf.nn....

VGG網路相關

概念 近來研究vgg網路,將自己的學習的一些知識記錄下來。vggnet是牛津大學計算機視覺組和google deepmind公司的研究員一起研發的深度卷積神經網路。vgg主要 了卷積神經網路的深度和其效能之間的關係,通過反覆堆疊33的小卷積核和22的最大 層,vggnet成功地搭建了16或者19層的...

深度網路VGG理解

源鏈結 ilsvrc 2014的第二名是karen simonyan和 andrew zisserman實現的卷積神經網路,現在稱其為 vggnet 它主要的貢獻是展示出網路的深度是演算法優良效能的關鍵部分。他們最好的網路包含了16個卷積 全連線層。網路的結構非常一致,從頭到尾全部使用的是3x3的卷...