本文重点
在前面的课程中,我们已经学习了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来说,存在更大的操作空间,当然有可能剪掉图片的重要区域,但是在大数据下,这种影响可以忽略不计。