VGG论文阅读笔记

论文阅读笔记:VGG

来源:K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprintarXiv:1409.1556, 2014

1、摘要


这篇论文探究了卷积神经网咯的深度对大规模图像识别精度的影响。

作者评估了使用更小卷积核3*3,结果显示当网络层数达到16-19层时网络效果提升明显。

这些发现让我们在2014的Imagenet的挑战赛里获得the first and the second places in the localisation and classification tracks respectively。

我们公布了两款最佳的模型,以便进一步研究。

相对于ALEXNET主要的改动在:

  • 1 :使用更小的卷积核,3 * 3,Alexnet上面主要是7 * 7等较大的卷积核
  • 2:在整个图片和multi-scale上训练和测试图片

2、相关情况


VGGNet不好的一点是它耗费更多计算资源,并且使用了更多的参数,导致更多的内存占用(140M)。其中绝大多数的参数都是来自于第一个全连接层。

后来发现这些全连接层即使被去除,对于性能也没有什么影响,这样就显著降低了参数数量。

目前使用比较多的网络结构主要有ResNet(152-1000层),GooleNet(22层),VGGNet(19层)。大多数模型都是基于这几个模型上改进,采用新的优化算法,多模型融合等,这里
重点介绍VGG。

3、总览


当前最好的Imagenet上最好的结果第一层用了更小的卷积核,另外的改进是进行多尺度训练和测试。我们这篇论文使用其他方法,增加网络深度来提升网络性能。由于我们使用了很小的卷积核3*3,能堆叠更深的卷积层。因此,我们提出了新的卷积网络结构,不仅仅在分类和定位上去得了好成绩,同时他们的特征提取可以用于SVM等分类器。它的缺点在于,参数量有140M之多,需要更大的存储空间。但是这个模型很有研究价值。

4、卷积网络配置

4.1网络结构


作者测试了六种网络结构,如下图(A,A-LRN,B,C,D,E),我们就看D(VGG16)和E(VGG19)好了。因为前面的网络效果没有D和E的效果好,而且比起D和E更为简洁。六种结构都有5个max-pooling层,所以是5阶段卷积特征提取。每层的卷积核个数从首阶段的64个开始,每个阶段增长一倍,直到达到最高的512个,然后保持,也就是每执行一次Maxpool,卷积核的数目就翻倍。
这里写图片描述

4.2参数数目


下面是不同网络结构的参数数目。
这里写图片描述
这张图的意思是他们一共建了A, B, C, D, E, F 6个不同的网络进行效果的比对。

注:在你看这里的时候我已经假设你看懂了AlexNet,已经对神经网络的结构有了个大致的印象。

结构A:和AlexNet类似,卷积层分为了5个stage,全连接层还是3层。只不过卷积层用的都是3x3大小的filter,具体的细节我会在下文接着阐述。

结构A-LRN:保留AlexNet里面LRN操作,其他与结构A无区别。

结构B:在A的stage2和stage3分别增加一个3x3的卷积层,共有10个卷积层。

结构C:在B的基础上,stage3,stage4,stage5分别增加一个1x1的卷积层,有13个卷积层,总计16层。

结构D:在C的基础上,stage3,stage4,stage5分别增加一个3x3的卷积层,有13个卷积层,总计16层。

结构E:在D的基础上,stage3,stage4,stage5分别再增加一个3x3的卷积层,有16个卷积层,总计19层。

4.3六种测试网络对比:


·A与A-LRN比较:A-LRN结果没有A好,说明LRN作用不大。

·A与B, C, D, E比较,A是这当中layer最少的,相比之下A效果不如B,C,D,E,说明Layer越深越好;

·B与C比较:增加1x1filter,增加了额外的非线性提升效果;

·C与D比较:3x3 的filter(结构D)比1x1(结构C)的效果好

为什么说小的卷积核比大的卷积核好

假设你一层一层地重叠了3个3x3的卷积层(层与层之间有非线性激活函数)。在这个排列下,第一个卷积层中的每个神经元都对输入数据体有一个3x3的视野。

第二个卷积层上的神经元对第一个卷积层有一个3x3的视野,也就是对输入数据体有5x5的视野。同样,在第三个卷积层上的神经元对第二个卷积层有3x3的视野,

也就是对输入数据体有7x7的视野。假设不采用这3个3x3的卷积层,二是使用一个单独的有7x7的感受野的卷积层,那么所有神经元的感受野也是7x7,但是就有一些缺点。
首先,多个卷积层与非线性的激活层交替的结构,比单一卷积层的结构更能提取出深层的更好的特征。其次,假设所有的数据有C个通道,那么单独的7x7卷积层将会包含

77C=49C2个参数,而3个3x3的卷积层的组合仅有个3*(33C)=27C2个参数。直观说来,最好选择带有小滤波器的卷积层组合,而不是用一个带有大的滤波器的卷积层。前者可以表达出输入数据中更多个强力特征,

使用的参数也更少。唯一的不足是,在进行反向传播时,中间的卷积层可能会导致占用更多的内存。

4.4与ALEXNET的对比

相同点
  • 1.最后三层FC层(Fully Connected全连接层)结构相同。
  • 2.都分成五层(组)。
  • 3.每层和每层之间用pooling层分开。
不同点

1.AlexNet每个层级仅仅含有一个Convolution层,filter的大小7x7(很大);而VGG每个层级含有多个(2~4)个Convolution层,filter的大小是3x3(最小)。很明显,VGG是在模仿Alex的结构,然而它通过降低filter的大小,增加层数来达到大卷积核的效果。我提出我的一个对这种模仿的一种我自己的理解。因为不是论文中讲到,仅仅是我自己的理解,仅供大家参考。

作者在论文中说了一句
“This can be seen as imposing a regularisation on the 7 × 7 conv. filters, forcing them to have a decomposition through the 3 × 3 filters”
他说7x7 filter可以被分解成若干个3x3的filter的叠加。

类比一下n维空间的向量x,x的正交分解
x = x1(1, 0, 0, …) + x2(0, 1, 0, …) + x3(0, 0, 1,…) + … + xn(0, 0, 0, …, 1)

每一组的每一层的filter被类比成n维欧几里得空间的基底。
若VGG的一组含有3层3x3的filter,则我们则假设一个7x7的filter可以被分解成3种“正交”的3x3的filter。

2.AlexNet的Channel明显小于VGG。猜测VGG的之所以能够达到更高的精准性,源自于更多的Channel数。而由于filter size的减小,channel可以大幅度增加,更多的信息可以被提取,这里我猜想,channel数增加提高了特征的表达能力。

11 filter: 作用是在不影响输入输出维数的情况下,对输入线进行线性形变,然后通过Relu进行非线性处理,增加网络的非线性表达能力。 Pooling:22,间隔s=2。

5、Multi-scale训练

首先对原始图片进行等比例缩放,使得短边要大于224,然后在图片上随机提取224x224窗口,进行训练。由于物体尺度变化多样,所以多尺度(Multi-scale)可以更好地识别物体。

  • 方法1:在不同的尺度下,训练多个分类器:

参数S为短边长。训练S=256和S=384两个分类器,其中S=384的分类器用S=256的进行初始化,且将步长调为10e-3

  • 方法2:直接训练一个分类器,每次数据输入的时候,每张图片被重新缩放,缩放的短边S随机从[256,512]中选择一个。

Multi-scale其实本身不是一个新概念,学过图像处理的同学都知道,图像处理中已经有这个概念了,我们学过图像金字塔,那就是一种多分辨率操作

只不过VGG网络第一次在神经网络的训练过程中提出也要来搞多尺寸。目的是为了提取更多的特征信息。像后来做分割的网络如DeepLab也采用了图像金字塔的操作。


6、结构


训练时,输入是resize之后的224*224的RGB图像,只做了去均值处理。图像通过一系列卷积层,我们使用了最小的接受域

一大堆的卷积层后面接三个全连接层,前两个有4096个通道,最后一个有1000个通道,是softmax网络,和Imagenet的分类数目一样多

详细的train 和evalution过程

待补充

7、结论

虽然VGG比Alex-net有更多的参数,更深的层次;但是VGG只需要很少的迭代次数就开始收敛,原因:
1:深度和小的滤波器尺寸起到了隐士规则化作用。
2:一些层的pre-initialisation
pre-initialisation:网络A的权值W~(0,0.01)的高斯分布,bias为0;由于存在大量的ReLU函数,不好的权值初始值对于网络训练影响较大。
为了绕开这个问题,作者现在通过随机的方式训练最浅的网络A;然后在训练其他网络时,把A的前4个卷基层(感觉是每个阶段的以第一卷积层)
和最后全连接层的权值当做其他网络的初始值,未赋值的中间层通过随机初始化。

8、参考资料


https://www.jianshu.com/p/9c6d90e4f20e VGG 论文笔记
https://blog.csdn.net/wcy12341189/article/details/56281618

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值