论文地址:https://arxiv.org/abs/1409.1556
论文翻译:http://blog.csdn.net/wangsidadehao/article/details/54311282
VGG-Net使用更多的层,通常有16-19层,而AlexNet只有8层。vgg是第一个在各个卷积层使用相同大小的3*3过滤器(filter),并把他们组合成为一个卷积序列进行处理的网络。
这看起来和LeNet的原理相反,即使用大的卷积来获得一张图像中相似的特征。和AlexNet的9或11过滤器不同,VGG的过滤器很小,离LeNet竭力所要避免的臭名昭著的1的卷积异常接近--至少在该网络的第一层是这样。但是VGG巨大的进展是通过依次采用多个3的卷积,能够模仿出更大的感受野(receptive field)的效果,例如5或7.这些思想也被用在了最近的更多的网络架构上。如Inception与ResNet。
VGG网络使用多个3x3卷积层去表征复杂特征。如果VGG-E的第3,4,5块(block):256 和 512个3过滤器被依次使用多次,以提取更多复杂特征以及这些特征的组合。其效果就等于一个带有3个卷积层的大型的512*512分类器。这显然意味着大量的参数和学习能力。但是这些网络训练困难,必须划分到较小的网络,并逐层累加。这是因为缺少强大的方式对模型进行正则化,这样或多或少约束大量由于大量参数增长的搜索空间。
VGG在许多层中都使用大特征尺寸,因为推断(inference)在运行时是相当耗费时间。正如Inception的瓶颈那样,减少特征的数量将节省一些计算成本。
主要贡献:
- 证明LRN层作用不大。
- 越深的网络效果越好。
- 1*1的卷积也是很有效的,但是没有3*3的卷积好,大一些的卷积核可以学习更大的空间特征
虽然从A到E每一级网络逐渐变深,但是网络的参数量并没有增长很多,这是因为参数量主要都消耗在最后3个全连接层。前面的卷积部分虽然很深,但是消耗的参数量不大,不过训练比较耗时的部分依然是卷积,因其计算量比较大
如上图所示,两个3*3的卷积层串联相当于1个5*5的卷积层,即一个像素会跟周围5*5的像素产生关联,可以说感受野大小为5*5。而3个3*3的卷积层串联的效果则相当于1个7*7的卷积层。除此之外,3个串联的3*3的卷积层,拥有比1个7*7的卷积层更少的参数量,只有后者的55%。最重要的是,3个3*3的卷积层拥有比1个7*7的卷积层更多的非线性变换(前者可以使用三次ReLU激活函数,而后者只有一次),使得CNN对特征的学习能力更强。