VGGNet

VGGNet

VGGNet是2014年ILSVRC竞赛分类任务的第二名(第一名是 GoogLeNet)和定位任务的第一名。

VGGNet新特点

  • 对卷积核和池化大小进行了统一: 3x3卷积和2x2最大池化操作
  • 采用卷积层堆叠的策略,将多个连续的卷积层构成卷积层组
  • 采用小的卷积滤波器,网络更深(16/19层)
  • 不采用LRN(Local Response Normalization)

VGG网络架构

在这里插入图片描述
VGG-16有16个卷积层或全连接层,包括五组卷积层和3个全连接层,即: 16-2+2+3+3+3+3.

卷积堆叠

在这里插入图片描述

  • 与单个卷积层相比,卷积组可以提高感受野范围,增强网络的学习能力和特征表达能力

  • 与具有较大核的卷积层相比,采用多个具有小卷积核的卷积层串联的方式能够减少网络参数

  • 在每层卷积之后进行ReLU非线性操作可提升网络的特征学习能力
    两次3x3相比与一次5x5:感受野一样、参数更少、两次激活函数。
    在这里插入图片描述

  • 网络包含5组卷积操作,每组内的卷积层具有相同的结构

  • 每组包含1-3个连续的卷积层,每两个卷积层之间为ReLU层。

  • VGGNet的卷积层有一个显著的特点:特征图的空间分辨率单调递减,特征图的通道数单调递增使得输入图像在维度上流畅地转换到分类向量。

  • AlexNet的通道数无此规律, VGGNet后续的GoogLeNet和ResNet均遵循此维度变化的规律。

1x1的全连接(全连接)

这也是VGG的一个特点,在网络测试阶段将训练阶段的三个全连接替换为三个卷积,使得测试得到的全卷积网络因为没有全连接的限制,因而可以接收任意宽或高为的输入,这在测试阶段很重要。
如本节第一个图所示,输入图像是224x224x3,如果后面三个层都是全连接,那么在测试阶段就只能将测试的图像全部都要缩放大小到224x224x3,才能符合后面全连接层的输入数量要求,这样就不便于测试工作的开展。
而“全连接转卷积”,替换过程如下:
在这里插入图片描述
例如7x7x512的层要跟4096个神经元的层做全连接,则替换为对7x7x512的层作通道数为4096、卷积核为1x1的卷积。

参数计算

在这里插入图片描述
*反向传播的梯度值,需乘2

训练与测试

  • 训练是通过使用带有动量的小批次梯度下降的反向传播来优化多类别逻辑回归目标
  • 批次大小设置为256,动量为0.9,通过权重衰减正则化(L2惩罚因子设置为5 x 10-4)和前两个全连接层的丢弃(丢弃率设置为0.5)对训练进行正则化。学习率初始设定为10-2,然后当验证集准确率度停止改善时,学习率降低10倍训练图像大小
数据增强
  • 训练图像大小
    单尺度训练single-scale training: 剪裁大小固定为224x224 (S= 244)或S =384
    多尺度训练multi-scale training:
    scale jittering (尺度抖动)
    [Smin, Smax] (Smin = 256 and Smax = 512)

  • 训练阶段,将图像缩放到不同尺寸s,并随机裁剪大小为224x224的训练样本

  • 测试阶段,将图像缩放到固定尺寸Q,并对网络最后的卷积层使用滑动窗口进行分类预测,对不同窗口的分类结果取平均

  • 测试图片大小设置为:
    对于固定的s设置Q = s;
    对于有抖动的s设置Q= 0.5(Smin + Smax), S E [Smin, Smax).

多剪裁和密集评估(Multi-Crop vs Dense Evaluation)

  • Multi-Crop evaluation:从测试图像中剪切出一大批224x224的小块图像,在输出时取平均得到一个1000维的平均结果。
  • Dense evaluation:测试图像的尺寸不作任何变化,将,后一个卷积层和全连接层看成为一个卷积操作,然后对所作的结果进行平均,全卷积网络因为没有全连接的限制,因而可以接收任意宽或高的输入。
    Dense evaluation做法:
    首先将全连接的层转换为卷积层(第一个FC层转换到7x7卷积层,最后两个FC层转换到1x1转换层) 。然后将得到的全卷积网络应用于整个(未剪切的)图像。
    比如,对于训练图像其大小为224x224,经过最后一个卷积得到7 x 7 x m的特征图,然后输出为1000个结点。这是训练好的网络。对于一个448:448的测试图像,经过训练好的网络的映射,最后会输出2x2x1000大小的结果,将2x2里面的内容进行平均,即得到1000维向量
单尺度下测试的性能

VGG有ABCDE多个不同版本的配置:(D有16层,E有19层)
数据表明,层数、特征数增加,错误率降低;在训练集上使用多尺度图像,在测试集上使用固定尺度图像是有效果的。
在这里插入图片描述

  • 随着ConvNet深度的增加,分类错误减小
  • 即使在测试时使用单个尺度,在训练时的尺度抖动(S E [256; 512])比具有固定最小边(S= 256或S= 384)的图像上的训练有更好的结果。通过尺度抖动的训练集增强确实有助于获得多尺度图像的统计。
    随机从256:512范围内选择一个尺寸:
    在这里插入图片描述
多个尺度下测试的性能

在这里插入图片描述

  • 在测试时的尺度抖动会带来更好的性能
  • 在测试集上,配置E达到7.5%的Top-5错误
多剪裁下测试的性能

训练尺度s从[256;512]中取样,考虑三个测试尺度: (256,384,512).
在这里插入图片描述

  • 使用multiple crops评估的效果略好于dense评估。
  • 这两种方法是互补的,因为它们的组合优于每种方法

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值