带你读论文系列之计算机视觉--Inception V4

带你读论文系列之计算机视觉–Inception V4

一直在路上,不是在奔跑,就是在漫步。

前言

论文
Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

CNN很强,例如我们的Inception;最近的resnet也很强。那强强联手会怎么样呢

  1. 速度方面:残差学习可加快inception收敛;
  2. 精度方面:残差学习仅带来一小部分提升;
  3. 提出新模型;
  4. 提出激活值缩放技巧来训练模型;
  5. 在2015ILSVRC挑战中取得了 SOTA(State Of The Art), 它的性能类似于最新一代的Inception-v3 网络;
  6. 使用三个残差和一个Inception-v4的集合,在ImageNet classification (CLS)挑战的测试集上实现3.08%的top-5 错误。

残差Inception网络在没有残差连接的情况下比同样的Inception网络表现出色。

回顾Res Net

主要思想就是将residual和inception结构相结合,以获得residual带来的好处。

论文详情

由于Inception网络往往非常深,因此用残差连接替换Inception架构的过滤器级联阶段。

ResNet网络的亮点

  • 超神的网络结构(突破1000层);
  • 提出Residual模块;
  • 使用Batch Normalization加速训练(丢弃Dropput);

因此Inception获得残差方法的所有好处,同时保持其计算效率。

带你读论文系列之计算机视觉–GoogLeNet

带你读论文系列之计算机视觉–Inception v2/BN-Inception

带你读论文系列之计算机视觉–GoogLeNet V3

模型的参数和计算复杂性束缚了Inception V3 的性能。而Inception V4它具有比Inception V3更统一的简化架构和更多的Inception模块。

Inception V4和Inception-ResNet V2的表现相似,超过了最先进的单帧性能ImageNet验证集。

残差模块的引入。

ResNet的残差连接。

v4要针对v3进行一系列简洁的优化。

Inception的结构是很容易调节的,就是说改变一些fitler最终并不会影响结果。但是作者为了优化训练速度小心的调整了每一层的大小。现在因为tensorflow的优化功能,作者认为不需要再像以前一样根据经验小心的调整每一层,现在可以更加标准化的设置每一层的参数。而提出了Inception-V4,网络结构如下:

纯Inception-v4和Inception-ResNet-v2网络的Stem模式。这是这些网络的输入部分。

Inception V4具体的Block如下图:

纯Inception-v4网络的35×35网格模块的模式。这是Inception-V4网络结构中的Inception-A块。

纯Inception-v4网络的17×17grid模块的模式。这是Inception-V4网络结构中的Inception-B块。

纯Inception-v4网络的8×8 grid模块模式。这是Inception-V4网络结构中的Inception- C块。

35×35到17×17reduction模块的模式。

17×17到8×8grid-reduction模块的模式。这是Inception-V4网络结构中的纯Inception-v4 network使用的reduction模块。

Inception-ResNet-v1网络的35×35网格(Inception-ResNet-A)模块的模式。

Inception-ResNet-v1网络的17×17 grid(Inception-ResNet-B)模块的模式。

较小的Inception-ResNet-v1网络所使用的这个模块是"Reduction-B"17×17至8×8 grid还原模块。

Inception-ResNet-v1网络的8×8网格(Inception-ResNet-C)模块的模式。

Inception-ResNet-v1网络的主干。

Inception-ResNet-v1和Inception-ResNet-v2网络的架构。此架构适用于两个网络,但底层组件不同。

Inception-ResNet-v2具体的Block如下图:

Inception-ResNet-v2网络的35×35grid(Inception-ResNet-A)模块的模式。


Inception-ResNet-v2网络的17×17grid(Inception-ResNet-B)模块的模式。

17×17至8×8网格还原模块的模式。图中更广泛的Inception-ResNet-v1network所使用的Reduction-B模块。

Inception-ResNet-v2网络的8×8 grid(Inception-ResNet-C)模块的模式。

Inception-V4和Inception-Resnet-V2的总体结构是比较像的,都是一个stem加上多次重复的Inception或者Inception-Resnet block,然后后面再连接reduction,然后重复这样的结构几次。

三种Inception变体的Reduction-A模块的filter数量。

K代表1✖️1 Conv,l代表3✖️3 Conv,m代表 3✖️3 Conv stride为2,n代表 3✖️3 Conv stride为2。

当超过1000个卷积核时,会出现“死”神经元。在最后的平均。池化层之前会出现输出值为0 的现象。解决方案是要么减小learning rate,要么对这些层增加额外的batch normalization。

如果将残差部分缩放后再跟需要相加的层相加,会使网络在训练过程中更稳定。因此缩放块只是用一个合适的常数来缩放最后的线性激活,通常在0.1 左右,用这个缩放因子去缩放残差网络,然后再做加法。求和前进行缩放,可稳定训练。缩放系数为0.1-0.3之间。

类似的不稳定在resnet中也有resnet提出warm-up来解决。当卷积核很多,很小的学习率(0.00001)也不能让训练稳定。

scaling并不是必须的!是否找到某种应用场景,让scaling成为必须的,此为一个可研究方向。

实验


Inception-v3训练期间的TOP-1error与计算成本相似的残余Inception相比。评估是在ILSVRC-2012验证集的非黑名单图像的单一作物上进行的。Residual version 的训练速度要快得多,最终准确率也比传统的Inception-v4略高

Single crop-Single model的实验结果。报告了ILSVRC2012验证集的非黑名单子集。

可以看出Inception-V4和Inception-ResNet-V2的差别并不大,但是都比Inception-V3和Inception-ResNet-V1都好很多。

总结

  1. Inception-ResNet-v1:一个混合的Inception版本
  2. Inception-ResNet-v2:一个成本较高的混合Inception版本,其识别能力显著提高。
  3. Inception-V4:纯粹的Inception变体,无残余连接,其识别能力与Inception-ResNet-v2 大致相同。

主要研究了如何用residual learning 来提升inception的训练速度(紧扣主题,residual learning 只能加快训练,对精度提升没什么用)。此外,我们最新的模型(有和没有残差连接)优于我们以前的所有网络,仅因为模型尺寸的增加。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进阶媛小吴

规则简单易懂,粗暴却完美!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值