Inception-v4, Inception-ResNet-V1、V2

1. Introduction

  • 除了Inception架构直接的集成 ResNet形成Inception-ResNet v1、v2之外,我们还研究了 Inception 本身是否可以通过使其更深更广而变得更高效。
  • 为此,我们设计了一个名为 Inception-v4 的新版本,它比 Inception-v3 具有更统一的简化架构和更多的 Inception 模块。

2. Related Work

  • resnet作者认为残差连接本质上是训练非常深的卷积模型所必需的。
  • Residual connection的提出是用于训练更深的网络,但是作者发现不使用Residual connection也可以训练更深的网络。Residual connection并不是必要条件,只是使用了Residual connection会加快训练速度。
    在这里插入图片描述

3. Architectural Choices

3.1. Pure Inception blocks

Inception-v4网络,对于Inception块的每个网格大小进行了统一。
inception-v4使网络更深了。
下图是Inception-v4的结构:

  • 所有图中没有标记“V”的卷积使用same的填充原则,即其输出网格与输入的尺寸正好匹配。
  • 使用“V”标记的卷积使用valid的填充原则,意即每个单元输入块全部包含在前几层中,同时输出激活图(output activation map)的网格尺寸也相应会减少。
    在这里插入图片描述

-stem:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:其中的inception-A、B、C block与 Inception V3中的一样


在这里插入图片描述

  • reductionA:连接Inception-A block和 Inception-B block,在三个版本中均使用了
  • reductionB:连接Inception-B block和 Inception-C block,只有Inception v4 使用了这个

3.2. Residual Inception Blocks

  • 我们尝试了残差Inception的几个版本。这里对其中的两个进行具体细节展示。第一个是“Inception-ResNet-v1”,计算代价跟Inception-v3大致相同,第二个“Inception-ResNet-v2”的计算代价跟Inception-v4网络基本相同。

  • Inception-ResNet的两个版本,结构基本相同,只是细节不同:

    • stem模块:Inception-ResNet-v1的stem如下, Inception-ResNet-v2 的stem和Inception v4的相同
    • reduction模块:reduction A:Inception-ResNet-v1、v2、inception v4相同;reduction B:Inception-ResNet-v1,v2的相同,Inception v4的不同
    • 其实Inception-ResNet-v1就是inception v3加上残差连接;Inception-ResNet-v2就是inception v4加上残差连接

    Inception-ResNet-v1和V2的网络结构:
    在这里插入图片描述

Inception-ResNet-v1的stem:
在这里插入图片描述
Inception-ResNet-v2和Inception-v4的stem:
在这里插入图片描述
Inception-ResNet-A、B、C(两个版本结构一样,不过输出通道数不一样,毕竟网络层数不一样):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
inception-resnet 1的reductionB:
在这里插入图片描述
inception-resnet-v2的reductionB(其实和v1的一样):
在这里插入图片描述

3.3. Scaling of the Residuals

  • 此外,我们还发现,如果过滤器的数量超过 1000,残差连接开始显示不稳定性,网络刚刚在培训的早期"死亡。 无论是通过降低学习率,还是通过在此层中增加额外的批次规范化,都无法阻止这种情况。
  • 我们发现,在将残差模块添加到activation激活层之前,对其进行放缩能够稳定训练。通常来说,我们将残差放缩因子定在0.1到0.3

注:He在训练Residual Net时也发现这个问题,提出了“two phase”训练。首先“warm up”,使用较小的学习率。接着再使用较大的学习率。
在这里插入图片描述
缩放模块仅仅适用于最后的线性激活

4. training Methoadology

  • 我们最好的模型是使用衰减为 0.9 和 1.0 的 RMSProp [16] 实现的。
  • 我们使用了 0.045 的学习率,使用 0.94 的指数率每两个 epoch 衰减一次。
  • 使用随时间计算的参数的运行平均值来执行模型评估。

在这里插入图片描述
在这里插入图片描述
结果显示:Inception V3和 Inception-ResNet-v1 结果相近;Inception-v4和Inception-ResNet-v2 结果相近。

在这里插入图片描述

6. Conclusions

  • Inception V3和 Inception-ResNet-v1 结果相近;Inception-v4和Inception-ResNet-v2 结果相近。
  • 残差连接的显着提高 Inception 架构的训练速度,但是对于深层网络结构来说不是必要的。
  • 当过滤器数量超过1000,残差的引入会使网络变得不稳定;在与上一层激活函数相加之前,缩小残差部分(Activation Scaling)能使网络更稳定。
  • 我们最新的模型(有和没有残差连接)优于我们以前的所有网络,仅仅是因为增加了模型大小

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值