深度学习
  • 前言
  • 第一章:经典网络
    • ImageNet Classification with Deep Convolutional Neural Network
    • Very Deep Convolutional Networks for Large-Scale Image Recognition
    • Going Deeper with Convolutions
    • Deep Residual Learning for Image Recognition
    • PolyNet: A Pursuit of Structural Diversity in Very Deep Networks
    • Squeeze-and-Excitation Networks
    • Densely Connected Convolutional Networks
    • SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE
    • MobileNet v1 and MobileNet v2
    • Xception: Deep Learning with Depthwise Separable Convolutions
    • Aggregated Residual Transformations for Deep Neural Networks
    • ShuffleNet v1 and ShuffleNet v2
    • CondenseNet: An Efficient DenseNet using Learned Group Convolution
    • Neural Architecture Search with Reinforecement Learning
    • Learning Transferable Architectures for Scalable Image Recognition
    • Progressive Neural Architecture Search
    • Regularized Evolution for Image Classifier Architecture Search
    • 实例解析:12306验证码破解
  • 第二章:自然语言处理
    • Recurrent Neural Network based Language Model
    • Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
    • Neural Machine Translation by Jointly Learning to Align and Translate
    • Hierarchical Attention Networks for Document Classification
    • Connectionist Temporal Classification : Labelling Unsegmented Sequence Data with Recurrent Neural Ne
    • About Long Short Term Memory
    • Attention Is All you Need
    • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  • 第三章:语音识别
    • Speech Recognition with Deep Recurrent Neural Network
  • 第四章:物体检测
    • Rich feature hierarchies for accurate object detection and semantic segmentation
    • Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
    • Fast R-CNN
    • Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
    • R-FCN: Object Detection via Region-based Fully Convolutuional Networks
    • Mask R-CNN
    • You Only Look Once: Unified, Real-Time Object Detection
    • SSD: Single Shot MultiBox Detector
    • YOLO9000: Better, Faster, Stronger
    • Focal Loss for Dense Object Detection
    • YOLOv3: An Incremental Improvement
    • Learning to Segment Every Thing
    • SNIPER: Efficient Multi-Scale Training
  • 第五章:光学字符识别
    • 场景文字检测
      • DeepText: A Unified Framework for Text Proposal Generation and Text Detection in Natural Images
      • Detecting Text in Natural Image with Connectionist Text Proposal Network
      • Scene Text Detection via Holistic, Multi-Channel Prediction
      • Arbitrary-Oriented Scene Text Detection via Rotation Proposals
      • PixelLink: Detecting Scene Text via Instance Segmentation
    • 文字识别
      • Spatial Transform Networks
      • Robust Scene Text Recognition with Automatic Rectification
      • Bidirectional Scene Text Recognition with a Single Decoder
      • multi-task learning for text recognition with joint CTC-attention
    • 端到端文字检测与识别
      • Reading Text in the Wild with Convolutional Neural Networks
      • Deep TextSpotter: An End-to-End Trainable Scene Text Localization and Recognition Framework
    • 实例解析:字符验证码破解
    • 二维信息识别
      • 基于Seq2Seq的公式识别引擎
      • Show and Tell: A Neural Image Caption Generator
      • Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
  • 第六章:语义分割
    • U-Net: Convolutional Networks for Biomedical Image Segmentation
  • 第七章:人脸识别
    • 人脸检测
      • DenseBox: Unifying Landmark Localization with End to End Object Detection
      • UnitBox: An Advanced Object Detection Network
  • 第八章:网络优化
    • Batch Normalization
    • Layer Normalization
    • Weight Normalization
    • Instance Normalization
    • Group Normalization
    • Switchable Normalization
  • 第九章:生成对抗网络
    • Generative Adversarial Nets
  • 其它应用
    • Holistically-Nested Edge Detection
    • Image Style Transfer Using Convolutional Nerual Networks
    • Background Matting: The World is Your Green Screen
  • Tags
  • References
由 GitBook 提供支持
在本页
  • 前言
  • 1. Inception回顾
  • 2. Xception
  • 3. 总结

这有帮助吗?

  1. 第一章:经典网络

Xception: Deep Learning with Depthwise Separable Convolutions

上一页MobileNet v1 and MobileNet v2下一页Aggregated Residual Transformations for Deep Neural Networks

最后更新于4年前

这有帮助吗?

tags: Inception, Xception

前言

深度可分离卷积(Depthwise Separable Convolution)率先是由 Laurent Sifre载气博士论文《Rigid-Motion Scattering For Image Classification》中提出。经典的 系列算法便是采用深度可分离卷积作为其核心结构。

这篇文章主要从 的角度出发,探讨了Inception和深度可分离卷积的关系,从一个全新的角度解释了深度可分离卷积。再结合stoa的,一个新的架构Xception应运而生。Xception取义自Extreme Inception,即Xception是一种极端的Inception,下面我们来看看它是怎样的一种极端法。

1. Inception回顾

Inception的核心思想是将channel分成若干个不同感受野大小的通道,除了能获得不同的感受野,Inception还能大幅的降低参数数量。我们看图1中一个简单版本的Inception模型

图1:简单的Inception

对于一个输入的Feature Map,首先通过三组1×11\times11×1卷积得到三组Feature Map,它和先使用一组1×11\times11×1卷积得到Feature Map,再将这组Feature Map分成三组是完全等价的(图2)。假设图1中1×11\times11×1卷积核的个数都是k1k_1k1​,3×33\times33×3的卷积核的个数都是k2k_2k2​,输入Feature Map的通道数为mmm,那么这个简单版本的参数个数为

m×k1+3×3×3×k13×k23=m×k1+3×k1×k2m\times k_1 + 3\times 3\times 3 \times \frac{k_1}{3} \times \frac{k_2}{3} = m\times k_1+ 3\times k_1 \times k_2m×k1​+3×3×3×3k1​​×3k2​​=m×k1​+3×k1​×k2​

图2:简单Inception的等价形式

对比相同通道数,但是没有分组的普通卷积,普通卷积的参数数量为:

m×k1+3×3×k1×k2m\times k_1 + 3\times3\times k_1 \times k_2m×k1​+3×3×k1​×k2​

参数数量约为Inception的三倍。

2. Xception

如果Inception是将3×33\times33×3卷积分成3组,那么考虑一种极度的情况,我们如果将Inception的1×11\times11×1得到的k1k_1k1​个通道的Feature Map完全分开呢?也就是使用k1k_1k1​个不同的卷积分别在每个通道上进行卷积,它的参数数量是:

m×k1+k1×3×3m\times k_1 + k_1\times 3\times 3m×k1​+k1​×3×3

更多时候我们希望两组卷积的输出Feature Map相同,这里我们将Inception的1×11\times11×1卷积的通道数设为k2k_2k2​,即参数数量为

m×k2+k2×3×3m\times k_2 + k_2\times 3\times 3m×k2​+k2​×3×3

它的参数数量是普通卷积的1k1\frac{1}{k_1}k1​1​,我们把这种形式的Inception叫做Extreme Inception,如图3所示。

在搭建GoogLeNet网络时,我们一般采用堆叠Inception的形式,同理在搭建由Extreme Inception构成的网络的时候也是采用堆叠的方式,论文中将这种形式的网络结构叫做Xception。

如果你看过深度可分离卷积的话你就会发现它和Xception几乎是等价的,区别之一就是先计算Pointwise卷积和先计算Depthwise的卷积的区别。

上图中要注意的几点:

  1. Keras的SeparalbeConv函数是由3×33\times33×3的depthwise卷积和1×11\times11×1的pointwise卷积组成,因此可用于升维和降维;

  2. 图5中的⊕\oplus⊕是add操作,即两个Feature Map进行单位加。

3. 总结

Xception的结构和MobileNet非常像,两个算法的提出时间近似,不存在谁抄袭谁的问题。他们从不同的角度揭示了深度可分离卷积的强大作用,MobileNet的思路是通过将普通3×33\times33×3卷积拆分的形式来减少参数数量,而Xception是通过对Inception的充分解耦来完成的。

图3:Extreme Inception

在中,我们指出bottleneck的最后一层1×11\times11×1卷积核为线性激活时能够更有助于减少信息损耗,这也就是Xception和深度可分离卷积(准确说是MobileNet v2)的第二个不同点。

结合残差结构,一个完整的模型见图4,其实现Keras官方已经。

图4:Xception

MobileNet v2
开源
MobileNet
Inception
残差网络
图3:简单Inception的等价形式
图4:Xception
图2:简单Inception的等价形式
图1:简单的Inception