Depthwise Separable Convolution

Suppose we have a input image of size on which we apply filters of size to get a output image of size . This output image then put through point-wise convolution, that is we use filters of size to get a output image of size .

Now this could have been done directly also by straight away using filters of size . But this would mean we would have to perform more computations. In general using a Depthwise Separable Convolution reduces the computation by a factor of

MobileNet

In the original MobileNet paper the Depthwise Separable layer is used 13 times. In the v2 of this paper a residual connection was used.

In the MobileNet v2 the following architecture is used :

  • We apply a expansion layer in which we expand the input image using multiple 1 x 1 filters.
  • Then a Depthwise layer is applied and then a Pointwise one.

This is used 17 times in the original paper.

Now let us look at Transfer Learning

For the code implementation of this network go to - Code implementation of MobileNet with Transfer Learning.