1. 程式人生 > >深度學習論文隨記(二)---VGGNet模型解讀-2014年(Very Deep Convolutional Networks for Large-Scale Image Recognition)

深度學習論文隨記(二)---VGGNet模型解讀-2014年(Very Deep Convolutional Networks for Large-Scale Image Recognition)

深度學習論文隨記(二)---VGGNet模型解讀

Very Deep Convolutional Networks forLarge-Scale Image Recognition

Author: K Simonyan , A Zisserman

Year: 2014

1、  導引

VGGNet是2014年ILSVRC競賽的第二名,沒錯你沒聽錯它是第二名,第一名是GoogLeNet(真不是我打錯google,是谷歌為了紀念LeNet,所以用的大寫L).為什麼先講VGG,因為它這個模型在多個遷移學習任務中的表現要優於googLeNet。而且,從影象中提取CNN特徵,VGG模型是首選演算法。它的缺點在於,引數量有140M之多

,需要更大的儲存空間。但是這個模型很有研究價值。

為什麼叫VGG?

是牛津大學 Visual Geometry Group(視覺幾何組)的同志寫的論文,所以叫VGG.

2、  模型解讀


這張圖的意思是他們一共建了A, B, C, D, E, F  6個不同的網路進行效果的比對。

注:在你看這裡的時候我已經假設你看懂了AlexNet,已經對神經網路的結構有了個大致的印象。

結構A:和AlexNet類似,卷積層分為了5個stage,全連線層還是3層。只不過卷積層用的都是3x3大小的filter,具體的細節我會在下文接著闡述。

結構A-LRN:保留AlexNet裡面LRN操作,其他與結構A無區別。

結構B:在A的stage2和stage3分別增加一個3x3的卷積層,共有10個卷積層。

結構C:在B的基礎上,stage3,stage4,stage5分別增加一個1x1的卷積層,有13個卷積層,總計16層。

結構D:在C的基礎上,stage3,stage4,stage5分別增加一個3x3的卷積層,有13個卷積層,總計16層。

結構E:在D的基礎上,stage3,stage4,stage5分別再增加一個3x3的卷積層,有16個卷積層,總計19層。


對比

·A與A-LRN比較:A-LRN結果沒有A好,說明LRN作用不大。

·A與B, C, D, E比較,A是這當中layer最少的,相比之下A效果不如B,C,D,E,說明Layer越深越好;

·B與C比較:增加1x1filter,增加了額外的非線性提升效果;

·C與D比較:3x3 的filter(結構D)比1x1(結構C)的效果好


3 特點分析:(我們以最終的結構E來進行分析)


①可以看到共有5個池化層,所以可以把卷積部分視為5個部分,和AlexNet一樣,只不過每一個部分他用了不止一層卷積層

所有卷積層都是同樣大小的filter!尺寸3x3,卷積步長Stirde = 1,填充Padding = 1

為什麼這麼搞?

A、3x3是最小的能夠捕獲左、右、上、下和中心概念的尺寸;

B兩個3x3的卷積層連在一起可視為5x5的filter三個連在一起可視為一個7x7

   這是卷積的性質,受過#訊號系統#這門課摧殘的同學應該記憶猶新

C、多個3x3的卷積層比一個大尺寸的filter卷積層有更多的非線性,使得判決函式更加具有判斷性。

D、多個3x3的卷積層筆一個大尺寸的filter具有更少的引數

卷積層變多了。結構E有16層卷積層,加上全連線層共19層。這也是對深度學習繼續往深處走的一個推動。

實際上卷積層越多的話,影象的細節資訊的就能得到更好的提取,可以想象成拿放大鏡把細節放大再放大?我不知道我這個比喻是否恰當,但是便於理解。

4、  Multi-scale訓練

首先對原始圖片進行等比例縮放,使得短邊要大於224,然後在圖片上隨機提取224x224視窗,進行訓練。由於物體尺度變化多樣,所以多尺度(Multi-scale)可以更好地識別物體。

方法1:在不同的尺度下,訓練多個分類器:

引數S為短邊長。訓練S=256和S=384兩個分類器,其中S=384的分類器用S=256的進行初始化,且將步長調為10e-3

方法2:直接訓練一個分類器,每次資料輸入的時候,每張圖片被重新縮放,縮放的短邊S隨機從[256,512]中選擇一個。

Multi-scale其實本身不是一個新概念,學過影象處理的同學都知道,影象處理中已經有這個概念了,我們學過影象金字塔,那就是一種多解析度操作

只不過VGG網路第一次在神經網路的訓練過程中提出也要來搞多尺寸。目的是為了提取更多的特徵資訊。像後來做分割的網路如DeepLab也採用了影象金字塔的操作。