首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >论文阅读: Xception

论文阅读: Xception

作者头像
JNingWei
发布2018-09-27 11:32:14
1.8K0
发布2018-09-27 11:32:14
举报

Introduction

GoogleNet论文中研究 group size 而搞出了Inceptionv1(即多group的CNN分支)。此后,Inception不断迭代,group size被越玩越复杂,一直发展到了v4版本。

这时,Inception的鼻祖Google团队又提出了 Extreme Inception ,即赫赫有名的 Xception 。只不过,这次不再是之前的 并行式group 了,取而代之的是 串行式group

具体来说,就是:

在channel上进行逐片分治,然后group之。

而这一 串行式group 的module,被起名 separable convolution

separable convolution是通过如下图所示(图片来源:Xception: Deep Learning with Depthwise Separable Convolutions)的演化而诞生的:

这里写图片描述
这里写图片描述

从此,group操作进入了“串行”时代。

传统的卷积操作如下图:

这里写图片描述
这里写图片描述

而separable convolution的操作如下图:

这里写图片描述
这里写图片描述

完整的一个SeparableConv组合如下图(图片来源):

这里写图片描述
这里写图片描述

整个网络结构并没有太多的创新点,可以视为将ResNeXt的Inception module替换为SeparableConv module:

这里写图片描述
这里写图片描述

换言之:

Xception是ResNeXt的一个变种。

Note

  • 我们平常所说的Xception145,其实指的是模型大小为145M的Xception。145并非层数。

Innovation

并行式group –> 串行式group

在SeparableConv module看来,channel之间的信息融合,交给Conv1×1就够了:

这里写图片描述
这里写图片描述

channel数个Conv3×3则只需对单channel负责,这样就可以更专心地学到本channel的location信息:

这里写图片描述
这里写图片描述

两部分各司其职,共同组成了SeparableConv module。

Result

经过实验,Xception在ImageNet上稍优于Inceptionv3:

这里写图片描述
这里写图片描述

参数数量和Inceptionv3基本一致,速度也差不多:

这里写图片描述
这里写图片描述

在ImageNet上的收敛情况也好于Inceptionv3:

这里写图片描述
这里写图片描述

Thinking

  • 对于Xception的串行式group为什么会优于Inceptionv3的并行式group,并且在ImageNet上取得了更好地分类结果,我还是觉得百思不得其解。如果先出来Xception,再出来Inceptionv3,且Inceptionv3的分类效果更好,那么又可以吹出一个貌似“有理有据”的故事。
  • 另外,Xception取代ResNet作为Detection算法的basemodel,从而提高算法速度和减少模型参数,是目前被普遍接受的一种做法。
  • Xception145、Xception39是Xception中最大和最小的两种version。
  • Xception的速度几乎比ResNet 一个数量级

[1] Xception: Deep Learning with Depthwise Separable Convolutions [2] Google Xception Network

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年06月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Introduction
  • Innovation
  • Result
  • Thinking
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档