本文主要是介绍轻量化网络(四)Xception: Deep Learning with Depthwise Separable Convolutions,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
论文链接
Pytorch实现
Tensorflow实现
Xception是2017年由Keras作者和谷歌著名人工智能专家Francois Chollet提出,是在 Inception modules 进行改进。Xception和Inception V3相比,网络参数并没有增加,只是更加合理得使用了参数导致了性能的提升。
一、The Inception hypothesis
在Figure 1中,Inception modules 先是使用 1 × 1 1 \times 1 1×1卷积核来融合通道信息并降维,之后使用常规的 3 × 3 3 \times 3 3×3或 5 × 5 5 \times 5 5×5来进行卷积。Figure 2是Inception modules简化版本,不再包含池化层。Figure 3只使用了一个 1 × 1 1 \times 1 1×1卷积核后使用三个 3 × 3 3 \times 3 3×3组卷积。持续增加卷积核来分割输入特征通道是否有效,cross-channel correlations and spatial correlations 完全分离是否更好,基于假设作者提出了Figure 4中的模块,一个“极端”版本的Inception,称为Xception,有点类似于depthwise separable convolution。但是和深度可分离卷积有两个不同之处:1.深度可分离卷积首先使用深度卷积对特征的每一个通道提取信息,之后使用 1 × 1 1 \times 1 1×1卷积核来融合通道之间的信息,但是Xception首先使用 1 × 1 1 \times 1 1×1卷积核。2.Xception中每层卷积层后都会加激活函数,但是深度可分离卷积后基本不加非线性转换函数。
二、网络结构
Xception网络结构分为三个周期。
更多实验参数配置和实验结果参考论文。
这篇关于轻量化网络(四)Xception: Deep Learning with Depthwise Separable Convolutions的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!