深度学习论文精读(4):MobileNetV2

深度学习论文精读(4):MobileNetV2

论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks

参考博文1:https://zhuanlan.zhihu.com/p/33169767

参考博文2:https://zhuanlan.zhihu.com/p/33075914

参考博文3:https://blog.csdn.net/u014380165/article/details/79200958

1 总体介绍

  • 在移动端或嵌入式设备上使用CNN存在困难,对模型大小、计算力都有限制。
  • 深度学习模型通常模型较大,计算力需求过高。难以部署在移动端或嵌入式设备上。
  • 提出了使用depth-wise separable convolutions (深度可分离卷积结构) 构建的小权重DNN的精简构架。在MobileNetV1中介绍过了。
  • 提出了linear bottleneck和inverted residual进行改进。
  • 起到的效果:
    • 相似的模型大小,比MobileNetV1效果更好。

2 linear bottleneck

  • 对于RelU输出结果为非0的情况,Relu只是一个简单的线性变换。
  • RelU在 “input manifold处于输入空间的低维子空间” 的前提下,可以保留input manifold的信息。
  • 即:ReLU这样的非线性激活不能在所有情况下保留输入信息。
  • 论文中对于ReLU在各个维度下信息的保留情况作了下图的说明。可以看到高维情况下能更好的保留信息。
  • 理解:对原始input先升维,再恢复到原始图片。升维大时(最右边两张图片),恢复的图片效果越好。
  • 内在联系:ReLU会使feature中的负值置0,且这一过程是不可逆的。因此当维度较小时,进行ReLU会损失较多的feature,降低网络对信息的利用率。而先进行升维之后再进行ReLU,则可有有效地减少信息的丢失。

1543493178330

3 inverted residual

3.1卷积结构演变

1543495712635

  • (a)标准3*3卷积
  • (b)Depthwise Separable Convolution
  • (c)在b的基础上增加了一层bottleneck层(虚线表示没有ReLU)
  • (d)Inverted residuals结构
  • 实际上,c和d可以认为是相同的。(若干个c相连,与若干个d相连,除了两头的结构有点区别,中间部分都一样)
3.2 inverted residual block

1543496157736

  • ResNet中的residual block与本文中的inverted residual block的对比:
    • (a)中residual block进行的卷积流程为11降维,3 * 3卷积,11升维。
    • (b)中inverted residual block进行的卷积流程为11升维,3 * 3 Depthwise Convolution,11降维(通道数过少不再进行ReLU激活)。
  • 直观的形象上来看,ResNet 的微结构是沙漏形,而 MobileNet V2 则是纺锤形,刚好相反。
  • 文中这么做的理由正如前一节的linear bottleneck提到的,低维情况下进行非线性激活会丢失过多信息,因此,将提取信息的卷积放在升维之后的空间中进行,并在低维时放弃非线性激活。
  • inverted residual block具体结构
  • h,w,k:高,宽,通道。s:步长。t:升维系数。

1543497149029

3.3 ReLU6

ReLU6就是普通的ReLU但是限制最大输出值为6(对输出值做clip),这是为了在移动端设备float16的低精度的时候,也能有很好的数值分辨率,如果对ReLU的激活范围不加限制,输出范围为0到正无穷,如果激活值非常大,分布在一个很大的范围内,则低精度的float16无法很好地精确描述如此大范围的数值,带来精度损失。

4 MobileNetV2结构

4.1 卷积层结构

采用inverted residual block。其中非线性激活函数采用ReLU6。

  • 步长为1时,先进行1*1卷积升维,再进行depth-wise convolution提取信息,再通过不进行激活的1 *1卷积降维,并将input与output相加,形成残差结构。
  • 步长为2时,因为input和output的尺寸不符,因此不添加残差结构,其余均一致。

1543565862022

4.2 总体结构

1543567601228

除第一个卷积层外,均使用inverted residual block。

5 总结

  • 发现了在特征通道较少时,进行非线性激活会导致网络效果变差。因此提出了linear bottleneck。
  • 根据linear bottleneck和残差网络的优异性能,提出了inverted residual block。

另外,发现对于MobileNetV1中的调节通道数的超参数width-multiplier不作用于最后一层卷积,效果会更好。(直观理解是,保留的信息多了,效果肯定更好。同时因为只是最后一层,不会增加太多的参数和计算量。)


单词整理:

  • specturm 光谱
  • sematic segmentation 语义分割
  • expansion 膨胀,扩张
  • intermediate 中间
  • decoupling 去耦
  • expressiveness 表现
  • tailored 量身定做(tailor 裁缝)
  • pursue 追求
  • vein 静脉
  • glimpse 一瞥
  • mainfold 多种,复写(复写本)
  • capture 捕获
  • exploid 利用
  • curve 曲线
  • inevitably 必将
  • correspond 相当于,对应
  • empirical 经验
  • crucial 关键
  • capacity 容量
  • warrent 保证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值