VGG网络结构分析

一:VGG详解

本节主要对VGG网络结构做一个详细的解读,并针对它所在Alexnet上做出的改动做详解的分析。
首先,附上一张VGG的网络结构图:

这里写图片描述
由上图所知,VGG一共有五段卷积,每段卷积之后紧接着最大池化层,作者一共实验了6种网络结构。分别是VGG-11,VGG-13,VGG-16,VGG-19,网络的输入是224*224大小的图像,输出是图像分类结果(本文只针对网络在图像分类任务上,图像定位任务上暂不做分析)
接下来开始对VGG做详细的分析,首先VGG是基于Alexnet网络的,VGG在Alexnet基础上对深度神经网络在深度和宽度上做了更多深入的研究,业界普遍认为,更深的网络具有比浅网络更强的表达能力,更能刻画现实,完成更复杂的任务。
首先,VGG与Alexnet相比,具有如下改进几点:

  • 去掉了LRN层,作者发现深度网络中LRN的作用并不明显,干脆取消了
  • 采用更小的卷积核-3x3,Alexnet中使用了更大的卷积核,比如有7x7的,因此VGG相对于Alexnet而言,参数量更少
  • 池化核变小,VGG中的池化核是2x2,stride为2,Alexnet池化核是3x3,步长为2

这样做改进都是有一些原因的,首先为了更好的探究深度对网络的影响,必须要解决参数量的问题,更深的网络意味着更多的参数,训练更困难,使用大卷积核时尤其明显。作者通过分析,认为由于卷积神经网络的特性,3x3大小的卷积核足以捕捉到横、竖以及斜对角像素的变化。使用大卷积核会带来参数量的爆炸不说,而且图像中会存在一些部分被多次卷积,可能会给特征提取带来困难,所以在VGG中,普遍使用3x3的卷积。
另外在VGG网络的最后几层使用了三层全连接层,最终接一个softmax,事实上,这三层全连接层的参数在VGG的整体参数中占据了很大一部分,不过就目前来讲,为了减少参数量,后几层的全连接网络都被全剧平均池化( global average pooling )和卷积操作代替了,但是全局平均池化也有很大的优点,下文会详细介绍。

众所周知,VGG是一个良好的特征提取器,其与训练好的模型也经常被用来做其他事情,比如计算perceptual loss(风格迁移和超分辨率任务中),尽管现在resnet和inception网络等等具有很高的精度和更加简便的网络结构,但是在特征提取上,VGG一直是一个很好的网络,所以说,当你的某些任务上resnet或者inception等表现并不好时,不妨试一下VGG,或许会有意想不到的结果。

VGG之所以是一个很好的特征提取器,除了和它的网络结构有关,我认为还和它的训练方式有关系,VGG并不是直接训练完成的,它使用了逐层训练的方法。

分析到这里可以得出结论,VGG对于Alexnet来说,改进并不是很大,主要改进就在于使用了小卷积核,网络是分段卷积网络,通过maxpooling过度,同时网络更深更宽。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值