0. 背景
Karen Simonyan等人在2014年參加Imagenet挑戰(zhàn)賽的時候提出的深度卷積神經(jīng)網(wǎng)絡(luò)垃杖。作者通過對2013年的ILSVRC中最好的深度神經(jīng)網(wǎng)絡(luò)模型(他們最初的對應(yīng)模型都是alexnet)進(jìn)行研究,發(fā)現(xiàn)他們使用了更小的感受野凶硅,并且在第一層卷積層中使用了更小的stride尝苇,也就是這兩點(diǎn)都有助于準(zhǔn)確度的提升雳旅。所以本文就不去做無用功跌造,從網(wǎng)絡(luò)的深度去挖掘CNN模型的提升空間杆怕,并且發(fā)現(xiàn)當(dāng)網(wǎng)絡(luò)深度在超過16層時,有明顯的提升效果壳贪,故而如果截取當(dāng)前16層的網(wǎng)絡(luò)陵珍,就被稱之為VGG16。
從感受野角度來說违施,兩個3?3的卷積核疊加互纯,就等于一個5?5的卷積核的結(jié)果】钠眩可是從參數(shù)量上留潦,前者明顯會小于后者。而且從分層角度上看亿卤,因為之間會通過非線性激活函數(shù)的轉(zhuǎn)換愤兵,所以3?3的卷積核疊加還能得到更非線性的特征提取結(jié)果為了遵循單一變量的原則,除了深度外排吴,其他涉及到的參數(shù)基本保持一致。
1. 模型
如圖1.1所示懦鼠,圖片的輸入都是
如圖1.1所示钻哩,圖片的輸入都是224?224,卷積核大小都是3?3肛冶,滑動的步長stride=1街氢,在某些卷積層后面跟上最大池化,其中池化的大小為2?2睦袖,且每一層卷積都是保留尺寸的卷積(即卷積之后珊肃,feature map的大小不變),且為了降維、對通道的線性變換伦乔、增加決策函數(shù)的非線性等目的厉亏,采用了《network in network》中的1?1的卷積操作。其中FC層表示該層為全連接層烈和。
作者通過試驗發(fā)現(xiàn)alexnet中的LRN(Local Response Normalisation爱只,LRN)不但不利于準(zhǔn)確度提升,反而還會占用內(nèi)存招刹,所以都省略了該層恬试。
2. 訓(xùn)練結(jié)果
作者在訓(xùn)練的時候疯暑,開始先訓(xùn)練模型A训柴,然后在訓(xùn)練模型B的時候,將前面幾層CNN和最后的全連接層的參數(shù)用模型A的權(quán)重來初始化妇拯,以此達(dá)到用小模型去預(yù)訓(xùn)練大模型的目的畦粮;
而且,作者用S表示對訓(xùn)練集圖片做的一個縮放乖阵,用Q表示對測試集圖片做的一個縮放宣赔,當(dāng)然其中S和Q都不得小于224。
簡單的訓(xùn)練過程如下:
- 給定S和Q值瞪浸,將圖片進(jìn)行各方向同性縮放到S和Q儒将;
- 然后用crop的方法對縮放后的圖片進(jìn)行采樣到224?224;
-
將crop采樣得到的圖片放入VGG模型中訓(xùn)練对蒲。
從圖2.1和圖2.2中可以看出:從C模型與D模型對比钩蚊,可以肯定深度的好處的確有助于準(zhǔn)確度的提升;而從E模型與D模型的對比蹈矮,發(fā)現(xiàn)還是E模型更好砰逻,作者認(rèn)為深度有助于提升準(zhǔn)確度,可是模型還是需要通過卷積核去抓取空間上下文信息泛鸟。
因為大家通常都是直接將基于imagenet訓(xùn)練好的VGG拿來用蝠咆,所以基本沒多少人會從0開始訓(xùn)練VGG網(wǎng)絡(luò)。而且論文中也顯示4塊卡北滥,也需要小心的訓(xùn)練2-3個禮拜刚操。本文只著重于VGG的網(wǎng)絡(luò)結(jié)構(gòu),如有必要再芋,后續(xù)再補(bǔ)全該博文菊霜。
參考文獻(xiàn):
[] - Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[C]//European conference on computer vision. Springer, Cham, 2014: 818-833.
[] - Sermanet, P., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., and LeCun, Y. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks. In Proc. ICLR, 2014[]