卷积神经网络之 - VGGNet
本文建議閱讀時間 20min
VGGNet 是由牛津大學(xué)視覺幾何小組(Visual Geometry Group, VGG)提出的一種深層卷積網(wǎng)絡(luò)結(jié)構(gòu),他們以 7.32% 的錯誤率贏得了 2014 年 ILSVRC 分類任務(wù)的亞軍(冠軍由 GoogLeNet 以 6.65% 的錯誤率奪得)和 25.32% 的錯誤率奪得定位任務(wù)(Localization)的第一名(GoogLeNet 錯誤率為 26.44%)
論文地址:https://arxiv.org/abs/1409.1556
網(wǎng)絡(luò)結(jié)構(gòu)
在《Very Deep Convolutional Networks for Large-Scale Image Recognition》論文中,作者給出了 6 個 VGG 模型,對應(yīng)不同的網(wǎng)絡(luò)結(jié)構(gòu)和深度,具體結(jié)構(gòu)如下:
不同的網(wǎng)絡(luò)結(jié)構(gòu)不同網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)量(單位:百萬)VGG-19 的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計要點
預(yù)處理過程:圖片每個像素中減去在訓(xùn)練集上的圖片計算 RGB 均值
所有隱藏層都配備了 ReLU 激活
全局使用 3×3 小卷積,可以有效的減少參數(shù),2 個 3×3 卷積可以替代一個 5×5 卷積,參數(shù)量變成 5×5 卷積的 (2×3×3)/(5×5)=0.72 倍,3 個 3×3 卷積可以替換 1 個 7×7 卷積,參數(shù)量是 7×7 卷積的 (3×3×3)/(7×7)=0.6 倍。這樣的連接方式使得網(wǎng)絡(luò)參數(shù)量更小,而且多層的激活函數(shù)令網(wǎng)絡(luò)對特征的學(xué)習(xí)能力更強。多個 3*3 的卷積核比一個較大尺寸的卷積核有更多層的非線性函數(shù),增加了非線性表達,使判決函數(shù)更具有判決性。
結(jié)合 1×1 卷積層是增加決策函數(shù)非線性而不影響卷積層感受野的一種方式。
訓(xùn)練設(shè)置:批量大小設(shè)為 256,動量為 0.9。訓(xùn)練通過權(quán)重衰減(L2 懲罰乘子設(shè)定為 5×10^?4)進行正則化,前兩個全連接層采取 dropout 正則化(dropout 比率設(shè)定為 0.5)。學(xué)習(xí)率初始設(shè)定為 10?2,然后當(dāng)驗證集準(zhǔn)確率停止改善時,學(xué)習(xí)率以 10 倍的比率進行減小。學(xué)習(xí)率總共降低 3 次,學(xué)習(xí)在 37 萬次迭代后停止(74 個 epochs)。
為了進一步增強訓(xùn)練集,裁剪圖像經(jīng)過了隨機水平翻轉(zhuǎn)和隨機 RGB 顏色偏移
全連接轉(zhuǎn)卷積(測試階段),使用不同的尺度進行測試
結(jié)果分析
單尺度的測試結(jié)果
網(wǎng)絡(luò)的性能隨著網(wǎng)絡(luò)的加深而提高。
應(yīng)該注意到 B,C,D 這個網(wǎng)絡(luò)的性能。C 網(wǎng)絡(luò)好于 B 網(wǎng)絡(luò),說明額外添加的非線性激活函數(shù),確實是有好處的;但是,D 網(wǎng)絡(luò)好于 C 網(wǎng)絡(luò),這說明也可以使用非平凡的感受野( non-trivial receptive fields)來捕獲更多的信息更有用。
當(dāng)網(wǎng)絡(luò)層數(shù)達到 19 層時,使用 VGG 架構(gòu)的錯誤率就不再隨著層數(shù)加深而提高了。更深的網(wǎng)絡(luò)應(yīng)該需要更多的數(shù)據(jù)集。
論文還將網(wǎng)絡(luò) B 與具有 5×5 卷積層的淺層網(wǎng)絡(luò)進行了比較,淺層網(wǎng)絡(luò)可以通過用單個 5×5 卷積層替換 B 中每對 3×3 卷積層得到。測量的淺層網(wǎng)絡(luò) top-1 錯誤率比網(wǎng)絡(luò) B 的 top-1 錯誤率(在中心裁剪圖像上)高 7%,這證實了具有小濾波器的深層網(wǎng)絡(luò)優(yōu)于具有較大濾波器的淺層網(wǎng)絡(luò)。
多尺度評估,測試圖像的尺度抖動對性能的影響
在單尺度上評估 ConvNet 模型后,我們現(xiàn)在評估測試時尺度抖動的影響。它包括在一張測試圖像的幾個歸一化版本上運行模型(對應(yīng)于不同的 Q 值),然后對所得到的類別后進行平均。考慮到訓(xùn)練和測試尺度之間的巨大差異會導(dǎo)致性能下降,用固定 S 訓(xùn)練的模型在三個測試圖像尺度上進行了評估,接近于訓(xùn)練的尺度:Q = {S?32, S, S+32}。同時,訓(xùn)練時的尺度抖動允許網(wǎng)絡(luò)在測試時應(yīng)用于更廣的尺度范圍,所以用變量 S ∈ [Smin; ?Smax] 訓(xùn)練的模型在更大的尺寸范圍 Q = {Smin, 0.5 (Smin + Smax), Smax} 上進行評估。
稠密和多裁剪圖像評估
Dense(密集評估),即指全連接層替換為卷積層(第一 FC 層轉(zhuǎn)換到 7×7 卷積層,最后兩個 FC 層轉(zhuǎn)換到 1×1 卷積層),最后得出一個預(yù)測的 score map,再對結(jié)果求平均。
multi-crop,即對圖像進行多樣本的隨機裁剪,將得到多張裁剪得到的圖像輸入到網(wǎng)絡(luò)中,最終對所有結(jié)果平均
模型特性
整個網(wǎng)絡(luò)都使用卷積核尺寸為 3×3 和最大池化尺寸 2×2。
VGGNet 在訓(xùn)練時有一個小技巧,先訓(xùn)練淺層的的簡單網(wǎng)絡(luò) VGG11,再復(fù)用 VGG11 的權(quán)重來初始化 VGG13,如此反復(fù)訓(xùn)練并初始化 VGG19,能夠使訓(xùn)練時收斂的速度更快。
在訓(xùn)練過程中使用多尺度的變換對原始數(shù)據(jù)做數(shù)據(jù)增強,使得模型不易過擬合。
參考:
https://www.bbsmax.com/A/o75Nv7M95W/
https://www.cnblogs.com/bigcindy/p/10688835.html
總結(jié)
以上是生活随笔為你收集整理的卷积神经网络之 - VGGNet的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特征工程与规则模型
- 下一篇: 卷积神经网络之 - Alexnet