首页
学习
活动
专区
工具
TVP
发布

从MobileNet V1到MobileNet V2

从MobileNet V1到MobileNet V2

MobileNet v1的创新点在于用深度可分离卷积(depthwise separable convolution)代替传统的卷积操作,这样可以减少参数的数量和操作,但同时会使特征丢失导致精度下降。为了解决上述问题,MobileNet V2在深度可分离卷积的基础上,使用倒残差(Inverted Residual)和线性瓶颈(Linear Bottleneck )技术来保持模型的表征能力。

1. 回顾MobileNet V1

MobileNet V1是一个体积较小,计算量较少,适用于移动设备的卷积神经网络。MobileNet V1之所以如此轻量,背后的思想是用深度可分离卷积代替标准的卷积,并使用宽度乘数(width multiply)减少参数量。

1.1 深度可分离卷积

深度可分离卷积把标准的卷积因式分解成一个深度卷积(depthwise convolution)和一个逐点卷积(pointwise convolution)。这样做背后的思想是channel相关性和spatial相关性解耦。

depthwise convolution:每个滤波器都只需跟输入的每个通道进行卷积(标准的卷积跟所有通道操作然后需要求和),它的输出通道数跟输入通道数相同。

pointwise convolution:是一个1*1的标准卷积,它用于将depthwise convolution的结果整合成新的特征。

例如,一个3×3的卷积,输入通道为16、输出通道为32。标准的卷积操作的参数个数为32X16X3X3=4608。而对于深度可分离卷积,depthwise convolution先用16个3×3的卷积核分别与16个输入通道卷积;然后pointwise convolution用32个1×1大小的卷积核与depthwise convolution的输出特征图相卷积,进行相加融合。这个过程的参数个数是16×3×3+16×32×1×1=656,远少于标准卷积的4608个参数。

1.2 宽度乘数

输入一组图像,网络的(任何层的)层激活(layer activation)形成一个“感兴趣流形”。长久以来,人们一直认为神经网络中的流形可以嵌入到低维子空间中。当查看深度卷积层的所有的d通道像素时,这些值中编码的信息实际上位于某个流形中,而这个流形又可嵌入到低维子空间中。

MobileNetV1利用上述原理,使用宽度乘数参数降低激活空间的维度,直到感兴趣流形扩展整个空间。N维的层激活上应用小于1的宽度乘数压缩到M维,而特征信息组成的流形的维度也是M维,理想化地会认为所有的有用的特征信息都被保留下来。

MobileNet V2的改进

1. 线性瓶颈(Linear Bottleneck)

通常在MobileNet V1的宽度乘数压缩后的M维空间后通过一个非线性变换RELU,如果ReLU的输入小于零时,该通道的值会被清零。如果ReLU转换后感兴趣的流形保持非零值,则它相当于线性变换。

上图是嵌入高维空间的低维流形的ReLU变换示例。 在这些例子中,使用随机矩阵T和ReLU将初始螺旋嵌入到n维空间中,然后使用逆矩阵T -1投影回2D空间。 当n = 2,3导致信息损失很多,恢复后的张量坍缩严重,而对于n = 15到30,不会丢失太多的输入信息。显然当通道数较多时,如果输入流形可嵌入激活空间的显着较低维的子空间,则ReLU变换将保留信息。当通道数较少时,通道的信息很可能被丢弃。

综上所述,在通道数较少的层后,应该用线性激活代替ReLU。

2. 倒残差(Inverted Residual)

残差块已经被证明有助于提高精度,所以MobileNet V2也引入了类似的块。经典的残差块是:1x1(压缩)-》3x3(卷积)-》1x1(升维),而inverted residual顾名思义是颠倒的残差:1x1(升维)-》3x3(dw conv+relu)-》1x1(降维+线性变换),skip-connection(跳过连接)是在低维的瓶颈层间发生的(如下图),这对于移动端有限的宽带是有益的。

先升维的目的是在数据进入深度卷积之前扩展数据中的通道数量,丰富特征数量,提高精度。 在深度卷积之后压缩通道数,自动选择有用的特征,减少参数数量。

(线性瓶颈倒残差块)Linear bottleneck Inverted residual block如下图所示,

MobileNet V2的网络结构

MobileNet V2与其他模型的比较

参考论文:

【1】MobileNets: Efficient Convolutional Neural Networks for MobileVision Applications

【2】Inverted Residuals and Linear Bottlenecks Mobile Networks for Classification, Detection and Segmentation

关于本号

本号每天都会更新一些关于深度学习,机器学习和强化学习相关的专业知识,最新论文推荐,论文解读,项目实践,代码解读等等。

!!!欢迎关注!!!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180710G03KDR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券