Example: air traffic controller

Xception: Deep Learning With Depthwise Separable …

Xception: Deep Learning with Depthwise Separable ConvolutionsFranc ois CholletGoogle, present an interpretation of Inception modules in con-volutional neural networks as being an intermediate stepin-between regular convolution and the Depthwise separableconvolution operation (a Depthwise convolution followed bya pointwise convolution). In this light, a Depthwise separableconvolution can be understood as an Inception module witha maximally large number of towers. This observation leadsus to propose a novel deep convolutional neural networkarchitecture inspired by Inception, where Inception moduleshave been replaced with Depthwise Separable show that this architecture, dubbed Xception, slightlyoutperforms Inception V3 on the ImageNet dataset (whichInception V3 was designed for), a

ules and depthwise separable convolutions are also possible: in effect, there is a discrete spectrum between regular convo-lutions and depthwise separable convolutions, parametrized by the number of independent channel-space segments used for performing spatial convolutions. A regular convolution (preceded by a 1x1 convolution), at one extreme ...

Tags:

  With, Learning, Convolutions, Separable, Lution, Depthwise, Convos, Learning with depthwise separable, Convo lutions

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of Xception: Deep Learning With Depthwise Separable …

1 Xception: Deep Learning with Depthwise Separable ConvolutionsFranc ois CholletGoogle, present an interpretation of Inception modules in con-volutional neural networks as being an intermediate stepin-between regular convolution and the Depthwise separableconvolution operation (a Depthwise convolution followed bya pointwise convolution). In this light, a Depthwise separableconvolution can be understood as an Inception module witha maximally large number of towers. This observation leadsus to propose a novel deep convolutional neural networkarchitecture inspired by Inception, where Inception moduleshave been replaced with Depthwise Separable show that this architecture, dubbed Xception, slightlyoutperforms Inception V3 on the ImageNet dataset (whichInception V3 was designed for), and significantly outper-forms Inception V3 on a larger image classification datasetcomprising 350 million images and 17,000 classes.

2 Sincethe Xception architecture has the same number of param-eters as Inception V3, the performance gains are not dueto increased capacity but rather to a more efficient use ofmodel IntroductionConvolutional neural networks have emerged as the mas-ter algorithm in computer vision in recent years, and de-veloping recipes for designing them has been a subject ofconsiderable attention. The history of convolutional neuralnetwork design started with LeNet-style models [10], whichwere simple stacks of convolutions for feature extractionand max-pooling operations for spatial sub-sampling.

3 In2012, these ideas were refined into the AlexNet architec-ture [9], where convolution operations were being repeatedmultiple times in-between max-pooling operations, allowingthe network to learn richer features at every spatial followed was a trend to make this style of networkincreasingly deeper, mostly driven by the yearly ILSVRC competition; first with Zeiler and Fergus in 2013 [25] andthen with the VGG architecture in 2014 [18].At this point a new style of network emerged, the Incep-tion architecture, introduced by Szegedy et al.

4 In 2014 [20]as GoogLeNet (Inception V1), later refined as Inception V2[7], Inception V3 [21], and most recently Inception-ResNet[19]. Inception itself was inspired by the earlier Network-In-Network architecture [11]. Since its first introduction,Inception has been one of the best performing family ofmodels on the ImageNet dataset [14], as well as internaldatasets in use at Google, in particular JFT [5].The fundamental building block of Inception-style mod-els is the Inception module, of which several different ver-sions exist.

5 In figure1we show the canonical form of anInception module, as found in the Inception V3 architec-ture. An Inception model can be understood as a stack ofsuch modules. This is a departure from earlier VGG-stylenetworks which were stacks of simple convolution Inception modules are conceptually similar to con-volutions (they are convolutional feature extractors), theyempirically appear to be capable of Learning richer repre-sentations with less parameters. How do they work, andhow do they differ from regular convolutions ? What designstrategies come after Inception?

6 The Inception hypothesisA convolution layer attempts to learn filters in a 3D space, with 2 spatial dimensions (width and height) and a chan-nel dimension; thus a single convolution kernel is taskedwith simultaneously mapping cross-channel correlations andspatial idea behind the Inception module is to make thisprocess easier and more efficient by explicitly factoring itinto a series of operations that would independently look atcross-channel correlations and at spatial correlations. Moreprecisely, the typical Inception module first looks at cross-channel correlations via a set of 1x1 convolutions , mappingthe input data into 3 or 4 separate spaces that are smaller thanthe original input space, and then maps all correlations inthese smaller 3D spaces, via regular 3x3 or 5x5 is illustrated in figure1.

7 In effect, the fundamental hy-pothesis behind Inception is that cross-channel correlationsand spatial correlations are sufficiently decoupled that it ispreferable not to map them variant of the process is to independently look at width-wise corre-1251 Consider a simplified version of an Inception module thatonly uses one size of convolution ( 3x3) and does notinclude an average pooling tower (figure2). This Incep-tion module can be reformulated as a large 1x1 convolutionfollowed by spatial convolutions that would operate on non-overlapping segments of the output channels (figure3).

8 Thisobservation naturally raises the question: what is the ef-fect of the number of segments in the partition (and theirsize)? Would it be reasonable to make a much strongerhypothesis than the Inception hypothesis, and assume thatcross-channel correlations and spatial correlations can bemapped completely separately?Figure 1. A canonical Inception module (Inception V3).Figure 2. A simplified Inception The continuum between convolutions and sep-arable convolutionsAn extreme version of an Inception module, based onthis stronger hypothesis, would first use a 1x1 convolution tomap cross-channel correlations, and would then separatelymap the spatial correlations of every output channel.

9 Thisis shown in figure4. We remark that this extreme form ofan Inception module is almost identical to adepthwise sepa-rable convolution, an operation that has been used in neurallations and height-wise correlations. This is implemented by some of themodules found in Inception V3, which alternate 7x1 and 1x7 use of such spatially Separable convolutions has a long history in im-age processing and has been used in some convolutional neural networkimplementations since at least 2012 (possibly earlier).Figure 3. A strictly equivalent reformulation of the simplified In-ception 4.

10 An extreme version of our Inception module, with onespatial convolution per output channel of the 1x1 design as early as 2014 [15] and has become morepopular since its inclusion in the TensorFlow framework [1]in Depthwise Separable convolution, commonly called Separable convolution in deep Learning frameworks such asTensorFlow and Keras, consists in adepthwise convolution, a spatial convolution performed independently over eachchannel of an input, followed by apointwise convolution, a 1x1 convolution, projecting the channels output by thedepthwise convolution onto a new channel space.


Related search queries