Advertisement

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

阅读量:

论文链接:https://arxiv.org/abs/1602.07261

1、简介

本文主要致力于将googLeNet的Inception模块与ResNet结构进行结合,并整合出Inception-ResNet架构。经过实验分析发现,在降低训练收敛难度方面展现出明显优势的该架构并未带来显著提升在图像识别任务中的分类精度。

2、Inception V4

接下来看图分析:所有图中未标记为‘V’的部分均采用same模式填充。这表示这些区域的操作会使得输出特征图尺寸与输入大小完全一致。相反,在标记为‘V’的部分则采用valid模式填充。这种策略能确保每个操作仅考虑包含在前几层中的单元块,并相应地减少输出激活图(output activation map)的空间维度。

![(https://ad.itadn.com/c/weblog/blog-img/images/2025-01-14/KQIjL0ZS2JBowApzy5nUk7lgRXYD.png)

茎放弃了传统池化方式,并采用了并行处理的方式;同时通过不同Inception模块之间的连接关系实现降维增容效果。具体而言,在保持相同输出分辨率的前提下降低了特征图的空间维度,并提高了滤波器的数量。

3、Inception-ResNet

相较于经典的Inception架构,针对其改进后的残差版本采用的是更为经济高效的模块设计。在每个典型的Inception模块之后紧跟一层无激活函数的1×1卷积层用于完成维度转换操作,并以此确保输出与输入保持一致的效果;同时该结构通过弥补原始Inception模块导致的维度缩减问题而增强了整体性能。本文中作者提出了两个基于残差机制的不同版本:

  • Inception-ResNet v1的运算复杂度与Inception v3相当接近。
    • Inception-ResNet v2的运算复杂度与Inception v4几乎一致。

残差与非残差Inception方法之间的一个技术性区别在于,在Inception-ResNet网络架构中,在传统层级顶部引入批归一化(batch-normalization)而非所有层级均采用这一技术。理论上讲,在所有层级都应用批归一化是可以理解的做法;然而为了节省计算资源与存储空间,则希望将此技术限制于特定层级范围内以实现模型的有效训练与部署。实验结果表明,在增大激活尺寸时,在GPU内存上的处理时间显著增加;而通过仅对部分中间层应用批归一化处理,则可以在保持模型结构的同时显著提升性能

话不多说,上图:

Inception-ResNet-V1:

这里写图片描述

Inception-ResNet-V2:

这里写图片描述

4、对残差模块的缩放

观察到当滤波器数量超过1 时(1\times),残差网络在滤波器数量超过1 时(1\times)出现不稳定状态(instability),并在此阶段(phase stage)会立即发生所谓的"崩溃现象"(catastrophic collapse)。该崩溃现象意味着经过大量迭代计算,在平均池化之前的层仅输出零值(zero output)。无论尝试降低学习率还是增加额外的批归一化操作都无法缓解这一问题。其实在引入残差模块前进行比例缩放能够有效提升训练稳定性(training stability)。通常来说我们将其残留放大因子设定为介于[0.1, 0.3]之间以确保模型性能与原始架构的一致性

https://ask.julyedu.com/uploads/questions/20170322/3a3a322c2c278376e9bd92a1c9d262c7.png

图20展示了整合Inception-ResNet模块的一般架构。我们预期相似的思想能够在ResNet案例中得到应用,并且针对所有非Inception块的设计均进行了实施。缩放机制仅限于最终的线性激活阶段

https://ask.julyedu.com/uploads/questions/20170322/5c805a434d37e323542f0d93b3f453af.png

表1展示了三种不同的Inception模块中的滤波器数量对比。其中,在Inception-ResNet架构中设置了四组卷积核参数。

5、实验

Inception-ResNet收敛较快,但对精度提高不明显

https://ask.julyedu.com/uploads/questions/20170322/01bdbdb3f6d8a62d119a9463ca6578e7.png

图 不同网络训练过程

https://ask.julyedu.com/uploads/questions/20170322/08f083a9972e0b416c2d86b212aa2f1f.png

表 2 一次裁剪-单个模型实验结果。

https://ask.julyedu.com/uploads/questions/20170322/8652ca193b791666b210c93058e2ec9e.png

表 3 10/12裁剪评估-单一模型试验结果。

https://ask.julyedu.com/uploads/questions/20170322/ab4333f0ffa41d66350db6aeb1e51a69.png

表 4 144个裁剪评估,单一模型的实验结果。

三种新的网络结构:
1. Inception-Reset-v1:混合Inception版本,它的计算效率同Inception-v3;
2. Inception-ResNet-v2:更加昂贵的混合Inception版本,同明显改善了识别性能;
3. Inception-v4:没有残差链接的纯净Inception变种,性能如同Inception-ResNet-v2我们研究了引入残差连接如何显著的提高inception网络的训练速度。而且仅仅凭借增加的模型尺寸,我们的最新的模型(带和不带残差连接)都优于我们以前的网络。

参考博客:https://ask.julyedu.com/question/7711

全部评论 (0)

还没有任何评论哟~