VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3*3的小型卷积核和2*2的最大池化层,VGGNet成功地构筑了16~19层的卷积神经网络。VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3*3)和最大池化层(2*2)。
到目前为止,VGGNet依然经常被用来提取图像特征。VGGNet训练后的模型参数在其官网上开源了,可用来在domain specific的图像分类任务上进行再训练(相当于提供了非常好的初始化权重),因此被用在了很多地方。VGGNet的网络结构如下图所示:
在VGGNet中运用到的技巧:
- 经常出现多个完全一样的3*3的卷积层堆叠在一起的情况,这其实是非常有用的设计。例如2个3*3的卷积层串联相当于1个5*5的卷积层,即一个像素会跟周围5*5的像素产生关联,可以说感受野大小为5*5。而3个3*3的卷积层串联的效果相当于一个7*7的卷积层。但是3个3*3的卷积层拥有比1个7*7的卷积层更少的参数,只有后者的 3∗3∗37∗7=55 。最重要的是,3个3*3的卷积层拥有比一个7*7的卷积层更多的非线性变换,