Advertisement

【Network architecture】Rethinking the Inception Architecture for Computer Vision(inception-v3)论文解析...

阅读量:

Network architecture

目录

    1. 论文链接
    1. 概述
    1. 四个通用设计原则
    1. 大尺寸卷积因子化
    • 3.1 将大尺寸卷积分解为小尺寸卷积
    • 3.2 空间分解为不对称卷积
    1. 辅助分类器的作用
    1. 高效网格尺寸缩减策略
    1. Inception-v2模型
    1. 通过标签平滑实现模型正则化
    1. 训练方法论探讨
    1. 低分辨率输入性能分析
    1. 实验验证结果展示

inception-v3

1. Overview

这篇文章有大量的实践经验。因为这些内容相当有深度和复杂性,所以会写的比较细致。我会收集一些关键点,并深入学习这些内容以便以后更好地设计网络系统。

2. Four General Design Principles

这里文章阐述了四种设计网络设计原则。这是基于多种卷积神经网络架构,在经过大量实验推断出的。

  1. 应尽量避免特征表示出现瓶颈问题,在网络架构设计中尤其需要注意这一点(池化操作以及卷积操作等)可能带来的潜在限制。
  2. 在卷积神经网络中构建局部化的高维信息表示系统是合理的策略,在此过程中逐步引入非线性激活函数有助于解耦更多的特征(独立提取更多特定特征),从而提升模型的整体训练效率。
  3. 空间聚合过程可以在较低维度的空间嵌入层中完成,并不会对模型的能力产生负面影响(例如,在执行更多空间扩展操作之前减小输入表示维度)。我们发现,在空间聚合的操作背景下对输出进行降维处理能够有效减少信息损失(这在Inception-V1模型中采用先通过1×1卷积降维再进行特征提取的做法就能得到印证)。值得注意的是即使维度有所降低但由于各相邻单元之间存在较强的相关性因此在降维过程中所丢失的信息量相对较小甚至可能带来额外的好处(类似于不同维度之间存在相关性关系降维是一种无损或低损压缩方式即使维度减少也不会显著影响信息恢复的能力)。
  4. 在设计神经网络时实现深度与宽度的最佳权衡是关键目标(即合理配置每一层滤波器数量与整个网络的层数)。虽然增加网络的深度或宽度都能提升性能但两者的协同优化能获得最大的性能提升效果。

3. Factorizing Convolutions with Large Filter Size

该研究者提出了一种名为Factorizing Convolutions的新方法。该方法通过大量降维处理技术的应用,在图像分类任务中表现出色。这种降维方法本质上是通过分解卷积运算来加速计算过程的技术手段,在提升模型效率的同时并未牺牲其表现力。在计算机视觉领域中,在聚合激活响应之前降低其相关性程度能够显著减少后续计算开销的同时也不会影响局部特征表达能力。因此,在节省计算资源的同时提升卷积核尺寸的能力得以保持

3.1 Factorization into smaller convolutions

大空间滤波器虽然在较早的层具有较大的感受野范围,并能影响到不同单元之间的激活关系;然而,在计算复杂度方面存在较大规模的增长。

1450389-20181027223423145-729785176.png

3.2. Spatial Factorization into Asymmetric Convolutions

文章指出超过[...]尺寸的卷积核并非始终有效,并非总是有用。尽管它们能够被分解为几个[...]大小的滤波器来替代较大的尺寸。然而是否可以将这些[...]进一步分解成更小的部分呢?为此文章提出了非对称卷积的概念:即通过先应用一个nx1滤波器后再应用一个1xn滤波器的方式实现效果。这种设计不仅能够减少比使用两个2×2滤波器更低的计算量而且随着n值的增长计算成本节省会显著提升。如图所示这种方法可以通过将单个[...]×[...]滤波器分解为两个路径来实现更高的效率。

1450389-20181027223435195-2009158251.png

然而实际上

4. Utility of Auxiliary Classifiers

GoogLeNet-v1通过引入辅助分类器既防止了梯度消失又能加快模型收敛速度。实验表明,在训练初期时该辅助模块并未发挥明显作用;然而在后期运行时相比未添加该模块的情况表现稍好一些。移除最底层的辅助模块也不会对整体性能产生显著影响;研究者推测其主要作用是通过增强模型正则性来提升整体性能

5. Efficient Grid Size Reduction

为了防止第一条准则所指出的计算资源消耗导致的数据丢失问题,在实际应用中通常会采用增加滤波器数量的方法来提升模型的能力;然而这种方法会导致计算负担进一步加重,并如上所示

1450389-20181027223502611-2143170795.png

作者设计了一种并行架构,并采用两个独立且相互作用的模块组,在每组内部设置step size为2。其中,P代表池化层,C代表卷积层。通过将两者的输出结果进行融合,实现了信息的有效整合。

1450389-20181027223516200-677590339.png

6. Inception-v2

将一个7×7的卷积分解成三个连续应用的3×3卷积操作,并在设计中融入关键组件如三个关键的设计单元:第一个模块采用自适应降维与升维策略实现信息的有效传递;第二个模块基于深度可分离结构中的通道调整机制实现了降维与升维过程;第三个模块则通过并行设计提升了特征提取能力。整个网络总计42层结构,在计算复杂度上仅为Inception系列中GoogLeNet的约两倍半(具体参数如图所示)。

1450389-20181027223533760-96087389.png

图5.6.7如下图

1450389-20181027223605057-1262910340.png
1450389-20181027223627531-1696615916.png
1450389-20181027223645788-1578015078.png

7. Model Regularization via Label Smoothing

在文章中引入了一个新的损失函数,在实际应用中并不复杂;然而,并不打算使用LaTeX排版工具而是选择直接复制粘贴即可

1450389-20181027223658253-598223913.png

8. Training Methodology

TensorFlow 。

batch-size=32,epoch=100。SGD+momentum,momentum=0.9。

RMSProp,decay=0.9,ϵ=0.1。

lr=0.045,每2个epoch,衰减0.94。

梯度最大阈值=2.0。

9. Performance on Lower Resolution Input

在处理低分辨率图像时, 一种评估方式是通过引入高分辨率的感受野进行分析; 如果仅调整输入的分辨率而不优化模型性能将会受到影响.

1450389-20181027223719017-702953258.png

使用步长为2并紧接着进行最大池化操作;
采用步长为1并随后执行最大池化操作;
对于79x79尺寸的输入层而言,在不进行最大池化的情况下;
三者采用了相同的参数设置但呈现出不同的感受野特征;
实验结果表明随着感受野的增大效果逐渐提升但提升幅度有限;
相比之下单纯缩减网络规模以适应较低分辨率的情况则会显著降低性能。

10. Experiment

实验结果如下:

1450389-20181027224145282-1131827825.png
1450389-20181027223752646-564108917.png
1450389-20181027223824847-1827959774.png

发布于2018年10月27日22时39分向前奔跑的少年 阅读(...) 评论(...) 编辑

全部评论 (0)

还没有任何评论哟~