天天看點

經典CNN之:VGGNet介紹

VGGNet是牛津大學計算機視覺組和DeepMind公司共同研發一種深度卷積網絡,并且在2014年在ILSVRC比賽上獲得了分類項目的第二名和定位項目的第一名。

1. VGGNet的特點

經典CNN之:VGGNet介紹

1、結構簡潔

VGG結構由5層卷積層、3層全連接配接層、softmax輸出層構成,層與層之間使用max-pooling(最大池化)分開,所有隐層的激活單元都采用ReLU函數。

2、小卷積核和多卷積子層

VGG使用多個較小卷積核(3x3)的卷積層代替一個卷積核較大的卷積層,一方面可以減少參數,另一方面相當于進行了更多的非線性映射,可以增加網絡的拟合/表達能力。

小卷積核是VGG的一個重要特點,雖然VGG是在模仿AlexNet的網絡結構,但沒有采用AlexNet中比較大的卷積核尺寸(如7x7),而是通過降低卷積核的大小(3x3),增加卷積子層數來達到同樣的性能(VGG:從1到4卷積子層,AlexNet:1子層)。

VGG的作者認為兩個3x3的卷積堆疊獲得的感受野大小,相當一個5x5的卷積;而3個3x3卷積的堆疊擷取到的感受野相當于一個7x7的卷積。這樣可以增加非線性映射,也能很好地減少參數(例如7x7的參數為49個,而3個3x3的參數為27)

3、小池化核

相比AlexNet的3x3的池化核,VGG全部采用2x2的池化核。

4、通道數多

VGG網絡第一層的通道數為64,後面每層都進行了翻倍,最多到512個通道,通道數的增加,使得更多的資訊可以被提取出來。

5、層數更深、特征圖更寬

由于卷積核專注于擴大通道數、池化專注于縮小寬和高,使得模型架構上更深更寬的同時,控制了計算量的增加規模。

6、全連接配接轉卷積(測試階段)

這也是VGG的一個特點,在網絡測試階段将訓練階段的三個全連接配接替換為三個卷積,使得測試得到的全卷積網絡因為沒有全連接配接的限制,因而可以接收任意寬或高為的輸入,這在測試階段很重要。

如輸入圖像是224x224x3,若後面三個層都是全連接配接,那麼在測試階段就隻能将測試的圖像全部都要縮放大小到224x224x3,才能符合後面全連接配接層的輸入數量要求,這樣就不便于測試工作的開展。

而“全連接配接轉卷積”,替換過程如下:

經典CNN之:VGGNet介紹

例如7x7x512的層要跟4096個神經元的層做全連接配接,則替換為對7x7x512的層作通道數為4096、卷積核為1x1的卷積。

2. VGGNet的結構

經典CNN之:VGGNet介紹

VGGNet一共有六種不同的網絡結構(A、A-LRN、B、C、D、E),這6種網絡結構相似,都是由5層卷積層、3層全連接配接層組成,其中差別在于每個卷積層的子層數量不同,從A至E依次增加(子層數量從1到4),總的網絡深度從11層到19層(添加的層以粗體顯示)。表格中的卷積層參數表示為“conv⟨感受野大小⟩-通道數⟩”,例如con3-128,表示使用3x3的卷積核,通道數為128。為了簡潔起見,在表格中不顯示ReLU激活功能。其中,網絡結構D就是著名的VGG16,網絡結構E就是著名的VGG19。

以網絡結構D(VGG16)為例,介紹其各層的處理過程如下:

1、輸入224x224x3的圖檔,經64個3x3的卷積核作兩次卷積+ReLU,卷積後的尺寸變為224x224x64

2、作max pooling(最大化池化),池化單元尺寸為2x2(效果為圖像尺寸減半),池化後的尺寸變為112x112x64

3、經128個3x3的卷積核作兩次卷積+ReLU,尺寸變為112x112x128

4、作2x2的max pooling池化,尺寸變為56x56x128

5、經256個3x3的卷積核作三次卷積+ReLU,尺寸變為56x56x256

6、作2x2的max pooling池化,尺寸變為28x28x256

7、經512個3x3的卷積核作三次卷積+ReLU,尺寸變為28x28x512

8、作2x2的max pooling池化,尺寸變為14x14x512

9、經512個3x3的卷積核作三次卷積+ReLU,尺寸變為14x14x512

10、作2x2的max pooling池化,尺寸變為7x7x512

11、與兩層1x1x4096,一層1x1x1000進行全連接配接+ReLU(共三層)

12、通過softmax輸出1000個預測結果

執行過程如下:

經典CNN之:VGGNet介紹

VGG16結構的簡化圖如下:

經典CNN之:VGGNet介紹

A、A-LRN、B、C、D、E這6種網絡結構的深度雖然從11層增加至19層,但參數量變化不大,這是由于基本上都是采用了小卷積核(3x3,隻有9個參數),這6種結構的參數數量(百萬級)并未發生太大變化,這是因為在網絡中,參數主要集中在全連接配接層。

經典CNN之:VGGNet介紹

總結:

1、通過增加深度能有效地提升性能;

2、最佳模型:VGG16,從頭到尾隻有3x3卷積與2x2池化,簡潔優美;

3、卷積可代替全連接配接,可适應各種尺寸的圖檔;

4、多個小卷積核比單個大卷積核性能好;

5、AlexNet曾經用到的LRN層并沒有帶來性能的提升,是以在其它組的網絡中均沒再出現LRN層。

繼續閱讀