• 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破坏特征。

  • 相关阅读:
    Photon3Unity3D.dll 解析三——OperationRequest、OperationResponse
    关于VS2010的一些操作
    Photon3Unity3D.dll 解析二——EventData
    Photon3Unity3D.dll 解析一
    关于U3D中的移动和旋转
    U3D的一些常用基础脚本
    U3D模拟仿真实现
    构建基于TCP的应用层通信模型
    TCP协议的三次握手
    Python生成随机字符串
  • 原文地址:https://www.cnblogs.com/ziwh666/p/12485222.html
Copyright © 2020-2023  润新知