VGG论文阅读笔记

02 Very Deep Convolutional Networks For Large-Scale Image Recognition

跟AlexNet比有什么不一样:层数更深了,卷积核更小(3*3和1*1)(stride=1),层的width更小(也就是channel、卷积核的数目更少)

还是使用了ReLU,但是没有用LRN局部响应归一化(性能没有提升而且增大了计算量)

跟googleNet相比,都采用了很大的深度,而且卷积核都比较小

用的卷积核感受野更小有什么好处?

1)3个使用3*3的卷积核的层,相当于一个使用7*7的卷积核的层,但是3层的话非线性修正单元会更多,学到的东西会比只是用一层的要好,多个非线性层可以学习到更复杂的模式。而且发现参数的数目其实更少(27 vs 49)

2)1*1卷积:主要是改变了通道数目,而且还可以增加一个非线性层

Training

训练上跟AlexNet其实比较像,也在前两个全连接层用了dropout机制

为什么网络更深参数更多,但跟AlexNet比起来训练停止的epoch数目还更少了呢?:更大深度和更小卷积核带来的隐式正则化&&某些层的预初始化(pre-train the parameters with a shallower model and then apply the result to the deeper nets)

图片裁剪:fixed S or multi-scale S (use pre-trained parameters)

训练过程中用到了很多预训练:比如层数更浅的模型的参数就是随机初始化的,然后将训练出来的参数用于更深层数的模型的预初始化;S=256的模型参数会被用于S=384的模型的预初始化;S=384的参数会被用于multi-scale的预初始化。

Test

考虑了两种预测方式:dense和multi-crop

dense:fully-convolutional network:,测试的时候全连接层被改成卷积层。这样的转换的好处有:

​ 1)测试图像的大小不必与S相契合了

​ 2)AlexNet是将测试图片的上下左右中五个框裁出来用,相当于算10张图的平均,但现在我是可以很多很多图的平均,而且其实中间的很多计算步骤和结果都是可以共享的。

​ 3)之前裁出10张的话,使用0来进行padding,但是现在使用周边的pixel的值来进行padding

multi-crop的效果还是更好的一些的,但是计算上更费时间

GPU并行训练,机制比AlexNet更简单

Single-Scale evaluation

Q=S

使用了LRN的模型,并不比不使用任何归一化层的模型表现好

网络越深表现越好

加了1*1的网络表现更好:说明增加了非线性(这里是ReLU)对模型提升性能是有帮助的

同样深度,1*1的表现没有3*3好:3*3对于捕捉空间特征是有帮助的,不仅仅是起到了单纯增加非线性层的作用

跟5*5比,小尺寸的卷积核效果更好

浮动尺度效果更好,有助于学习同一类目标在不同尺度下的特征

Multi-Scale evaluation

这里的multi scale表示测试时的scale不固定。 当训练时的S固定时,Q取{S - 32, S, S+32}中的每个值,进行测试过后取平均结果。 当S为[Smin,Smax]浮动时,Q取{Smin, 0.5(Smin+Smax), Smax},测试后取平均。

结论基本上跟上面一样:越深效果越好

Multi-Crop evaluation

还是multi-crop的效果要好一点的

把两种结合起来效果更好:padding的方式不同?

多个网络结合取平均

总的来说其实没有跳出LeNet的大框架,主要改变的就是卷积核的大小和深度

卷积核大的好处就是感受野更大,可以看到的图片信息就越多,特征会学得好。但是卷积核大了之后,深度不能太深,否则参数会太多不好学习。采用小的卷积核可以增加层数,增加非线性的层数,这样反而可以学到更复杂的特征

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值