经典神经网络学习(三)——VGG net

1.简介

VGGNet由牛津大学的视觉几何组(Visual Geometry Group)和Google DeepMind公司的研究员共同提出,是ILSVRC-2014中定位任务第一名和分类任务第二名。其突出贡献在于证明使用很小的卷积(3*3),增加网络深度可以有效提升模型的效果,而且VGGNet对其他数据集具有很好的泛化能力。到目前为止,VGGNet依然经常被用来提取图像特征。

VGGNet探索了CNN的深度及其性能之间的关系,通过反复堆叠3*3的小型卷积核和2*2的最大池化层,VGGNet成功的构筑了16-19层深的CNN。
VGG模型的简图:

VGG net网络配置情况:

训练时,输入是大小为224*224的RGB图像,预处理只有在训练集中的每个像素上减去RGB的均值。

为了在公平的原则下探究网络深度对模型精确度的影响,所有卷积层有相同的配置,即卷积核大小为3x3,步长为1,填充为1共有5个最大池化层,大小都为2x2,步长为2共有三个全连接层,前两层都有4096通道,第三层共1000路及代表1000个标签类别最后一层为softmax层所有隐藏层后都带有ReLU非线性激活函数;经过实验证明,AlexNet中提出的局部响应归一化(LRN)对性能提升并没有什么帮助,而且还浪费了内存的计算的损耗。

VGGNet有A-E七种结构,从A-E网络逐步变深,但是参数量并没有增长很多,原因为:参数量主要消耗在最后3个全连接层,而前面的卷积层虽然层数多,但消耗的参数量不大。不过,卷积层的训练比较耗时,因为其计算量大。

其中,D和E是常说的VGGNet-16和VGGNet-19。C很有意思,相比于B多了几个1*1的卷积层,1*1卷积的意义在于线性变换,而输入的通道数和输出的通道数不变,没有发生降维。

下表展示了所有的网络配置,这些网络遵循相同设计原则,只是深度不同。

关于VGG的一些讨论:

两个 3*3 的卷积层串联相当于 1 个 5*5 的卷积层,即一个像素会跟周围 5*5 的像素产生关联,可以说感受野大小为 5*5。而 3 个 3*3 的卷积层串联的效果则相当于 1 个 7*7 的卷积层。除此之外,3 个串联的 3*3 的卷积层,拥有比 1 个 7*7 的卷积层更少的参数量,只有后者的(3*3*3)/(7*7)=55%。最重要的是,3 个 3*3 的卷积层拥有比 1 个 7*7 的卷积层更多的非线性变换(前者可以使用三次 ReLU 激活函数,而后者只有一次),使得 CNN 对特征的学习能力更强

VGGNet 在训练时有一个小技巧,先训练级别 A 的简单网络,再复用 A 网络的权重来初始化后面的几个复杂模型,这样训练收敛的速度更快。在预测时,VGG 采用 Multi-Scale 的方法,将图像 scale 到一个尺寸 Q,并将图片输入卷积网络计算。然后在最后一个卷积层使用滑窗的方式进行分类预测,将不同窗口的分类结果平均,再将不同尺寸 Q 的结果平均得到最后结果,这样可提高图片数据的利用率并提升预测准确率。在训练中,VGGNet 还使用了Multi-Scale 的方法做数据增强,将原始图像缩放到不同尺寸 S,然后再随机裁切 224*224 的图片,这样能增加很多数据量,对于防止模型过拟合有很不错的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值