本文重點
在前面的課程中,我們已經學習了VGG網絡模型,也學習了AlexNet網絡模型,AlexNet模型先于VGG網絡模型產生,所以VGG在一定程度上要優于AlexNet模型,二者來看一下,二者究竟有什么不同?
深度
AlexNet是一個8層的卷積神經網絡,而VGG16是它的兩倍,眾所周知,神經網絡的深度越大,往往學習能力越強,所以VGG的性能相對于AlexNet有了一個明顯的提升。
卷積核
VGG相對于AlexNet模型,VGG只使用了3*3的卷積核,這帶來了參數量的極大減少,我們來比較一下。
AlexNet的第一個卷積層輸出維度96維,而卷積核大小為11*11,那么參數量為96*3*11
VGG的參數量為64*3*3*3
96*3*11/(64*3*3*3)=20
也就是說二者相差20倍,那么計算量就相差了20倍,這就是的VGG雖然深度比AlexNet大,但是參數量卻沒有增加的很夸裝,整個模型只有550M,而8層的AlexNet達到了240M。
池化
VGG中池化的核大小為2*2,然后步長為2。而AlexNet中采用了重疊池化方案,核大小為3*3,步長為2。這樣不重疊的池化的計算量會少一些。但是重疊的池化能夠有效的降低過擬合問題。
數據增強
VGG使用了更多的數據增強的方式,即Scale Jittering。先固定一種裁剪尺寸m*m,比如224*224,然后把圖片的最短邊縮放到一個大于m的值,長邊也相應的變化,最后裁剪出一張m*m的圖片。
這種方法比直接將圖片縮放到224*224來說,存在更大的操作空間,當然有可能剪掉圖片的重要區域,但是在大數據下,這種影響可以忽略不計。