VGG 16網路結構詳解

2021-10-21 16:42:47 字數 2419 閱讀 4875

vgg,又叫vgg-16,顧名思義就是有16層,包括13個卷積層和3個全連線層,是由visual geometry group組的simonyan和zisserman在文獻《very deep convolutional networks for large scale image recognition》中提出卷積神經網路模型,該模型主要工作是證明了增加網路的深度能夠在一定程度上影響網路最終的效能。其年參加了imagenet影象分類與定位挑戰賽,取得了在分類任務上排名第二,在定位任務上排名第一的優異成績。

根據卷積核大小與卷積層數目不同,vgg可以分為6種子模型,分別是a、a-lrn、b、c、d、e,我們常看到的基本是d、e這兩種模型,讓我們看下面官方給出的6種結構圖:

以配置d為例,在卷積層1(conv3-64),卷積層2(conv3-128),卷積層3(conv3-256),卷積層4(conv3-512)分別有64個,128個,256個,512個3x3卷積核,在每兩層之間有池化層為移動步長為2的2x2池化矩陣(maxpool)。在卷積層5(conv3-512)後有全連線層,再之後是soft-max**層。

這張圖可能會更好地理解:

影象張量尺寸變化:224->112->56->28->14->7

1、輸入處理

如果要使用224x224的圖作為訓練的輸入,用s表示最小邊的值,當s=224時這個圖就直接使用,直接將多餘的部分減掉;對於s遠大於224的,模型將對影象進行單尺度和多尺度的剪裁,通過剪下這個中包含object的子圖作為訓練資料。

2、訓練方式

採用帶動量的小批量梯度下降法,來優化目標函式,並且當學習效果較為滿意時,最初加入的學習率權重衰減係數會起作用,會減小學習率,緩慢達到最優解。

3、初始化

若為淺層,則先隨機初始化後訓練,深層採用淺層訓練後的資料作為初始化資料,中間層則隨機初始化。

1、卷積層均採用相同的卷積核引數,這樣就能夠使得每乙個卷積層(張量)與前一層(張量)保持相同的寬和高;

2、池化層均採用相同的池化核引數,池化層採用尺寸為2x2,stride=2,max的池化方式,使得池化後的層尺寸長寬為未池化前的1/2;

3、利用小尺寸卷積核等效大尺寸卷積核,2個3x3卷積核的感受野與1個5x5卷積核相當,3個3x3卷積核與1個7x7卷積核相當,故在特徵提取效果相當時,多個小卷核與大卷積核相比,學習引數更少,計算量較小,訓練更加快速,還能增加網路的深度,提公升模型效能。

下面用計算說明為什麼2個3x3卷積核能代替1個5x5卷積核:

假設feature map是28×28的,假設卷記的步長step=1,padding=0:

使用一層5x5卷積核

由(28−5)/1+1=24可得,輸出的feature map為24x24

使用兩層3x3卷積核

第一層,由(28−3)/1+1=26可得,輸出的feature map為26x26

第二層,由(26−3)/1+1=24可得,輸出的feature map為24x24

故最終尺寸結果相等,用3x3卷積核代替7x7卷積核同理。

可以看出:

1、增加了lrn層並沒有達到預想的提公升效果,反而逆向發展;

2、當網路深度逐漸增加時,模型準確率逐漸提公升;

3、採用多種尺寸影象訓練效果要比單一尺寸影象訓練要好。

可以看出,如果取同一影象的不同尺寸(產生尺寸抖動)進行訓練,效果比使用單一尺寸影象要好,並使模型能適應更大範圍的尺寸。

vgg-16網路憑著16層的深度(在2023年算是很深的網路),以及巨大的參數量,足以可見vgg有多麼強大的擬合能力在當時取得了非常的效果,但同時vgg也有部分不足:

1、巨大參數量導致訓練時間過長,調參難度較大;

2、模型所需記憶體容量大,vgg的權值檔案有500多mb,若想將其應用於移動端或嵌入式系統,較為困難。

[2]:【深度學習】全面理解vgg16模型

VGG16網路結構

vgg 訓練資料處理過程 let s be the smallest side of an isotropically rescaled training image.各向同性的縮放訓練影象的最小邊 以s 256為例 1.將進行等比例縮放,最小邊長度為256 2.對等比例比變化後的影象隨機擷取224...

深度學習 VGG16網路結構詳解

vgg16的結構層次 vgg16總共有16層,13個卷積層和3個全連線層,第一次經過64個卷積核的兩次卷積後,採用一次pooling,第二次經過兩次128個卷積核卷積後,再採用pooling,再重複兩次三個512個卷積核卷積後,再pooling,最後經過三次全連線。附上,官方的vgg16網路結構圖 ...

VGG16網路模型

該網路提出了卷積神經網路的深度增加和小卷積核的使用對網路的最終分類識別效果有很大的作用。後兩個網路對卷積核的開刀的優化方法也證明了這一觀點。在 的實驗中,證明了在大規模影象識別任務中卷積神經網路的深度對準確率的影響。主要的貢獻是利用帶有很小卷積核 3 3 的網路結構對逐漸加深的網路進行評估,結果表明...