关闭

深度学习经典卷积神经网络之VGGNet

标签: 深度学习卷积神经网络VGGNet
3113人阅读 评论(2) 收藏 举报
分类:

论文地址:https://arxiv.org/abs/1409.1556

VGGNet是牛津大学计算机视觉组(VisualGeometry Group)和GoogleDeepMind公司的研究员一起研发的的深度卷积神经网络。VGGNet探索了卷积神经网络的深度与其性能之间的关系,通过反复堆叠3*3的小型卷积核和2*2的最大池化层,VGGNet成功地构筑了16~19层深的卷积神经网络。VGGNet相比之前state-of-the-art的网络结构,错误率大幅下降,并取得了ILSVRC 2014比赛分类项目的第2名和定位项目的第1名。同时VGGNet的拓展性很强,迁移到其他图片数据上的泛化性非常好。VGGNet的结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3*3)和最大池化尺寸(2*2。到目前为止,VGGNet依然经常被用来提取图像特征。VGGNet训练后的模型参数在其官方网站上开源了,可用来在特定的图像分类任务上进行再训练(相当于提供了非常好的初始化权重),因此被用在了很多地方。

VGGNet论文中全部使用了3*3的卷积核和2*2的池化核,通过不断加深网络结构来提升性能。图1所示为VGGNet各级别的网络结构图,图2所示为每一级别的参数量,从11层的网络一直到19层的网络都有详尽的性能测试。虽然从A到E每一级网络逐渐变深,但是网络的参数量并没有增长很多,这是因为参数量主要都消耗在最后3个全连接层。前面的卷积部分虽然很深,但是消耗的参数量不大,不过训练比较耗时的部分依然是卷积,因其计算量比较大。这其中的D、E也就是我们常说的VGGNet-16和VGGNet-19。C很有意思,相比B多了几个1*1的卷积层,1*1卷积的意义主要在于线性变换,而输入通道数和输出通道数不变,没有发生降维

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

图1  VGGNet各级别网络结构图

图2  VGGNet各级别网络参数量

VGGNet拥有5段卷积,每一段内有2~3个卷积层,同时每段尾部会连接一个最大池化层用来缩小图片尺寸。每段内的卷积核数量一样,越靠后的段的卷积核数量越多:64-128-256-512-512。其中经常出现多个完全一样的3*3的卷积层堆叠在一起的情况,这其实是非常有用的设计。如图3所示,两个3*3的卷积层串联相当于15*5的卷积层,即一个像素会跟周围5*5的像素产生关联,可以说感受野大小为5*5。而33*3的卷积层串联的效果则相当于17*7的卷积层。除此之外,3个串联的3*3的卷积层,拥有比17*7的卷积层更少的参数量,只有后者的(3*3*3)/(7*7)=55%。最重要的是,33*3的卷积层拥有比17*7的卷积层更多的非线性变换(前者可以使用三次ReLU激活函数,而后者只有一次),使得CNN对特征的学习能力更强。

3  两个串联3´3的卷积层功能类似于一个5´5的卷积层

VGGNet在训练时有一个小技巧,先训练级别A的简单网络,再复用A网络的权重来初始化后面的几个复杂模型,这样训练收敛的速度更快。在预测时,VGG采用Multi-Scale的方法,将图像scale到一个尺寸Q,并将图片输入卷积网络计算。然后在最后一个卷积层使用滑窗的方式进行分类预测,将不同窗口的分类结果平均,再将不同尺寸Q的结果平均得到最后结果,这样可提高图片数据的利用率并提升预测准确率。在训练中,VGGNet还使用了Multi-Scale的方法做数据增强,将原始图像缩放到不同尺寸S,然后再随机裁切224´224的图片,这样能增加很多数据量,对于防止模型过拟合有很不错的效果。实践中,作者令S在[256,512]这个区间内取值,使用Multi-Scale获得多个版本的数据,并将多个版本的数据合在一起进行训练。图4所示为VGGNet使用Multi-Scale训练时得到的结果,可以看到D和E都可以达到7.5%的错误率。最终提交到ILSVRC 2014的版本是仅使用Single-Scale的6个不同等级的网络与Multi-Scale的D网络的融合,达到了7.3%的错误率。不过比赛结束后作者发现只融合Multi-Scale的D和E可以达到更好的效果,错误率达到7.0%,再使用其他优化策略最终错误率可达到6.8%左右,非常接近同年的冠军Google Inceptin Net。同时,作者在对比各级网络时总结出了以下几个观点:1LRN层作用不大(VGGNet不使用局部响应标准化(LRN),这种标准化并不能在ILSVRC数据集上提升性能,却导致更多的内存消耗和计算时间。);2)越深的网络效果越好;(31*1的卷积也是很有效的,但是没有3*3的卷积好,大一些的卷积核可以学习更大的空间特征。


4  各级别VGGNet在使用Multi-Scale训练时的top-5错误率

在训练的过程中,比AlexNet收敛的要快一些,原因为:(1)使用小卷积核和更深的网络进行的正则化;(2)在特定的层使用了预训练得到的数据进行参数的初始化。

对于较浅的网络,如网络A,可以直接使用随机数进行随机初始化,而对于比较深的网络,则使用前面已经训练好的较浅的网络中的参数值对其前几层的卷积层和最后的全连接层进行初始化。

2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。 技术交流QQ群:433250724,欢迎对算法、技术感兴趣的同学加入。关于卷积神经网络CNN,网络和文献...
  • xbinworld
  • xbinworld
  • 2016-01-02 11:18
  • 57826

卷积神经网络CNN经典模型整理(AlexNet,GoogleNet,VGG,Deep Residual Learning)

欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld。  技术交流QQ群:433250724,欢迎对算法、技术感兴趣的同学加入。 关于卷积神经网络CNN,网...
  • u013087984
  • u013087984
  • 2016-07-25 20:46
  • 6203

深度网络VGG理解

前言: ILSVRC 2014的第二名是Karen Simonyan和 Andrew Zisserman实现的卷积神经网络,现在称其为VGGNet。它主要的贡献是展示出网络的深度是算法优良性能的关键部...
  • wcy12341189
  • wcy12341189
  • 2017-02-21 14:12
  • 10835

[caffe]深度学习之图像分类模型VGG解读

vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper。跟googlenet不同的是,vgg继承了lenet以及alexnet的一些框架,尤...
  • sunbaigui
  • sunbaigui
  • 2015-07-01 19:26
  • 80245

深度学习 VGG 网络 实现 face landmark 与 head pose

深度学习实现 人脸特征点(68点)标注及人脸3D姿态估计
  • luojun2007
  • luojun2007
  • 2016-08-09 14:26
  • 1903

VGG学习总结

Very Deep Convolutional Networks for Large-Scale Image Recognition
  • u011576009
  • u011576009
  • 2017-07-04 16:14
  • 775

VGGNet-16网络结构构造

from datetime import datetime import math import time import tensorflow as tf    首先构建conv_op函数,用于创建卷...
  • zSean
  • zSean
  • 2017-09-04 09:54
  • 721

牛津大学视觉几何组VGG卷积神经网络实践教程VGG Convolutional Neural Networks Practical

VGG Convolutional Neural Networks Practical By Andrea Vedaldi and Andrew Zisserman This is an ...
  • GarfieldEr007
  • GarfieldEr007
  • 2016-04-01 13:58
  • 8451

经典卷积神经网络的学习(二)—— VGGNet

1. 简介VGGNet 是牛津大学计算机视觉组(Visual Geometry Group)和 Google DeepMind 公司的研究员一起研发的深度卷积神经网络,其主要探索了卷积神经网络的深度与...
  • lanchunhui
  • lanchunhui
  • 2017-03-12 17:13
  • 873

Tensorflow学习记录10--VGG网络

点我下载paper1 VGG网络总结感觉就是再alex-net的基础上,研究了下如何加深网络来提高性能的。总体上也是五层卷积加上三层全链接,但是这五层卷积中都会以pooling来分割,且五层卷积尝试叠...
  • qq_16949707
  • qq_16949707
  • 2017-02-02 20:47
  • 5658
    个人资料
    • 访问:113723次
    • 积分:1761
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:50篇
    • 译文:0篇
    • 评论:21条
    访问统计
    Free counters!
    最新评论