MobileNetV2: Inverted Residuals and Linear Bottlenecks


本文的主要贡献点是一个构造了一个结构,称为the inverted residual with linear bottleneck。该结构与传统的residual block中维度先缩减后扩增相反,而是先将输入的低维feature map扩增到高维,然后用depthwise convolution方式做卷积运算,然后再使用一个线性的卷积将其映射到低维空间中。

     Inverted residual block简单介绍

  如上图,左边(a)图的传统的residual block,先用1x1卷积将输入的feature map的维度降低,然后进行3x3的卷积操作,最后再用1x1的卷积将维度变大。右边(b)图即为本文提出的结构,先用1x1卷积将输入的feature map维度变大,然后用3x3 depthwise convolution方式做卷积运算,最后使用1x1的卷积运算将其维度缩小。注意,此时的1x1卷积运算后,不再使用ReLU激活函数,而是使用线性激活函数,以保留更多特征信息,保证模型的表达能力。

    该block具体结构如下:

当stride=1时,block内会有short cut;而当stride=2时,block没有short cut。

下图是MobileNetV2与MobileNetV1的区别(原图链接):

 

主要区别有两点:

(1)Depth-wise convolution之前多了一个1*1的“扩张”层,目的是为了提升通道数,获得更多特征;

(2)最后不采用Relu,而是Linear,目的是防止Relu破坏特征。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM