結合 等價 選擇 mac 不同的 works info 內存 enc

技術分享圖片

論文原址:https://arxiv.org/abs/1409.1556

代碼原址:https://github.com/machrisaa/tensorflow-vgg

摘要

本文主要分析卷積網絡的深度對基於大數據集分類任務中準確率的影響,本文使用較小的卷積核(3x3), 應用至較深的網絡中並進行評估,將網絡中的深度增加至16至19層,可以有效改進分類效果。

介紹

卷積網絡在大規模圖片/視頻分類任務中取得巨大成功的原因主要有,(1)大規模的圖像數據,像ImageNet(2)高性能的計算資源(GPU)。

存在大量改善分類效果的嘗試,其中一種是,通過設置網絡中的第一層卷積以較小的步長及感受野的大小來改善分類性能。另一種是對與訓練測試過程中,對整張圖片進行密集處理,從而可以得到多尺寸的信息。而本文主要從網絡的結構-深度下手,具體實現為,通過固定其他的參數,逐漸增加網絡的深度,其中,所有層的卷積核的大小為3x3,因此實現上具有靈活性。

卷積網絡的配置

本文主要是分析網絡的深度對性能的影響,因此,網絡中每層的設計都是相同的。

1 結構:訓練時,卷積網絡的固定輸入大小為224x224的RGB圖像。本文唯一的預處理方式為對訓練集中的每個像素進行減均值處理。圖片在一系列卷積核大小為3x3(具有較小的感受野)的卷積層中進行傳遞。利用1x1的卷積核對輸入的通道數進行線性變換。卷積核的stride固定為1個像素。卷積的padding設置為1,因此,可以使卷積前後的分辨率得以保留。最大池化層的大小為2x2,stride為2。一系列的卷積層後面跟隨的為三個全連接層。前兩個每個通道數為4096,第三個全連接層包含1000個通道,代表ILSVRC中的類別數,最後一層為多分類的soft-max 層。網絡中的隱藏層添加ReLU進行非線性處理。本文中為使用LRN,原因是發現LRN不僅不能改進ILSVRC分類性能,同時,還會占用大量的內存及計算時間。

2配置:網絡的設計及參數如下圖

技術分享圖片

3討論:以前的網絡使用較大感受野的卷積核(比如7x7,stride為2或者11x11,stride為4),本文整個網絡中使用的都為感受野較小的的卷積核(3x3),與輸入中的每個像素進行卷積操作。兩個大小為3x3的卷積效果上等價與一個5x5的卷積核,三個3x3的卷積核等價於一個7x7的卷積核。上述做法的好處有兩點:(1)結合三個非線性層,而不是一個,可以使決策函數更易區分。(2)減少參數的數量,對於三個3x3的卷積層,輸入輸出的通道數都為C,參數量為3(3*3*C^2),同時,一個7x7的大小的卷積核為49C^2,比前面要多81%。因此,上述操作可以看作是在7x7的卷積核中通過3x3的卷積核引入正則化處理。1x1的卷積可以在不影響卷積感受野的情況下,增加決策函數的非線性。雖然1x1的卷積本質上為相同維度上的線性映射,但通過正則化函數引進非線性。本文特點之一是將小的卷積核應用至更深的網絡中。

分類框架

訓練:優化目標為多項式的邏輯回歸,使用帶動量的mini-batch梯度下降法,batch的大小設置為256,動量為0.9。權重基於L2正則化進行懲罰。在前兩個全連接層中增加dropout。初始化學習率為0.01。本文中的網絡可以提前收斂的原因有:(a)通過更深的層數及更小的卷積核來增加隱式的正則化。(b)網絡關鍵層的初始化。

網絡權重的初始化十分重要,由於深度網絡中的梯度不穩定性,本文現在較淺層的網絡中進行隨機初始化訓練,後在更深的網絡層中基於隨機初始化進行訓練。因此,較差的初始化會妨礙學習,隨機量服從均值為0,方差為0.01的正態分布,偏差初始化為0。在網絡進行學習時,進行學習率的衰減。采用隨機裁剪的方式對輸入圖片進行規範化處理。使用隨機水平翻轉及彩色變換對數據進行增強。

訓練圖片的大小:本文對數據集中的圖片大小采用兩個尺寸,一個為256,另一個為384,首先基於256的尺寸圖片進行訓練。為了加速訓練384的網絡,選擇在256上預訓練的網絡得到的權重來初始化384的網絡,同時,初始學習率設置為0.001。另一種方法是,多尺寸訓練。每次訓練的圖片被單獨調整為【256,512】中的一個尺寸。由於圖像中的目標物存在不同的尺寸大小,因此,尺寸信息在網絡訓練時是值得考慮的。通過在一個單尺寸模型上(尺寸大小為384)進行微調得到多尺寸的網絡模型。

測試:給定訓練好的模型及輸入圖片,首先,調整尺寸至網絡預定義的最小尺寸。然後,網絡作用於調整後的圖片。全連接層首先變化為全卷積層(第一個全連接層的大小為7x7,剩下的兩個全連接層設置為1x1),得到一個全卷積網絡,然後,將此網絡作用至整張圖片上(未進行裁剪的圖片),得到一個通道數為類別數,分辨率與輸入圖片大小對應尺寸的的類別score map。最後,為了得到關於此圖片的類別分數的固定向量。對score map進行空間均值池化操作。同時,對測試圖片也采用了相同的水平反轉操作進行數據擴充。對於一張圖片,原始的圖片及反轉的圖片得到的soft-max類別先驗取平均作為該圖最終的分數。

由於全卷積網絡作用於整個圖片,因此,測試時並不需要進行裁剪操作。同時,使用大量的裁剪圖可以提高準確率。因為相比全卷積網絡,對輸入圖片可以進行更適合的采樣。由於不同的卷積邊界的條件,多樣性裁剪評估對於密集測試十分重要。當卷積網絡作用於一個crop時,卷積後得到的feature maps用0進行padding,然而當進行密集測試時,對crop進行padding,本質上來自於圖片中的相鄰區域,由於卷積和池化操作增加了整個網絡的感受野,可以捕捉更多的上下文信息。但本文認為實際上多尺寸的crops在計算時間上的消耗並不能證明準確率上有潛在的增益。

實驗

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

Reference

[1]Bell, S., Upchurch, P., Snavely, N., and Bala, K. Material recognition in the wild with the materials in context database. CoRR, abs/1412.0623, 2014.

[2]Chatfield, K., Simonyan, K., Vedaldi, A., and Zisserman, A. Return of the devil in the details: Delving deep into convolutional nets. In Proc. BMVC., 2014.

[3]Cimpoi, M., Maji, S., and Vedaldi, A. Deep convolutional filter banks for texture recognition and segmentation. CoRR, abs/1411.6836, 2014.

論文閱讀筆記四十一:Very Deep Convolutional Networks For Large-Scale Image Recongnition(VGG ICLR2015)