Xception

Posted Coding_ML

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xception相关的知识,希望对你有一定的参考价值。

Xception(Deep Learning with Depth-wise Separable convolutions)——google Inception-V3

Xception 并不是真正意义上的轻量化模型,只是其借鉴 depth-wise convolution,而 depth-wise convolution 又是上述几个轻量化模型的关键点,所以在此一并介绍,其思想非常值得借鉴。

创新点:

  1. 借鉴depth-wise convolution 改进 Inception V3
    Inception的假设是,卷积的时候要将通道的卷积和空间的卷积进行分离,这样比较好。

Inception V3 ——> Xception

下图 1 是 Inception module,图 2 是作者简化了的 inception module(就是只保留 1*1 的那条「路」,如果带着 avg pool,后面怎么进一步假设嘛~)

假设出一个简化版 inception module 之后,再进一步假设,把第一部分的 3 个 11 卷积核统一起来,变成一个 11 的,后面的 3 个 33 的分别「负责」一部分通道,如图 3 所示; 最后提出「extreme」version of an Inception,module Xception 登场,,先用 11 卷积核对各通道之间(cross-channel)进行卷积,如图 4 所示,

作者说了,这种卷积方式和 depth-wise convolution 几乎一样。

Xception 是借鉴 Rigid-Motion Scatteringfor Image Classification 的 Depth-wise convolution,是因为 Xception 与原版的 Depth-wise convolution 有两个不同之处

  • 第一个:原版 Depth-wise convolution,先逐通道卷积,再 11 卷积; 而 Xception 是反过来,先 11 卷积,再逐通道卷积;
  • 第二个:原版 Depth-wise convolution 的两个卷积之间是不带激活函数的,而 Xception 在经过 1*1 卷积之后会带上一个 Relu 的非线性激活函数;

    Xception 结构如上图所示,共计 36 层分为 Entry flow;Middle flow;Exit flow。。

Entry flow 包含 8 个 conv;Middle flow 包含 3*8 =24 个 conv;Exit flow 包含 4 个 conv,所以 Xception 共计 36 层。

Xception 小结:

Xception 是基于 Inception-V3,并结合了 depth-wise convolution,这样做的好处是提高网络效率,以及在同等参数量的情况下,在大规模数据集上,效果要优于 Inception-V3。这也提供了另外一种「轻量化」的思路:在硬件资源给定的情况下,尽可能的增加网络效率和性能,也可以理解为充分利用硬件资源。

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

以上是关于Xception的主要内容,如果未能解决你的问题,请参考以下文章

Xception网络结构理解

Xception

Xception(图像分类)中的损失和准确性没有提高

JSP慕课网之applicationpagepageContextconfigexception

Xception实现动物识别(TensorFlow)

人脸表情识别系统——基于Mini-Xception网络模型实现表情分类