轻量级网络之MobileNet v2

轻量级网络之MobileNet v2

  • 前言
  • Inverted Residuals
  • Linear Bottlenecks
  • 网络结构
  • 网络性能

前言

《MobileNetV2: Inverted Residuals and Linear Bottlenecks》
论文地址:https://arxiv.org/pdf/1801.04381.pdf
MobileNetV1是借鉴了VGG的结构,而MobileNetV2就借鉴了ResNet的结构。一些在MobileNet V1中介绍过的就不再V2中重复介绍了。
从论文名字上,就能看出MobileNetV2网络的主要创新点:

  1. 倒置残差结构
  2. 线性瓶颈结构

v2和v1的区别:
轻量级网络之MobileNet v2_第1张图片

Inverted Residuals

为什么是倒置残差结构呢?如图所示:
轻量级网络之MobileNet v2_第2张图片

V2在DW卷积之前新加了一个PW卷积。这么做的原因,是因为DW卷积由于本身的计算特性决定它自己没有改变通道数的能力,上一层给它多少通道,它就只能输出多少通道。所以如果上一层给的通道数本身很少的话,DW也只能很委屈的在低维空间提特征,因此效果不够好。现在V2为了改善这个问题,给每个DW之前都配备了一个PW,专门用来升维,定义升维系数t,这样不管输入通道数C是多是少,经过第一个PW升维之后,DW 都是在相对的更高维( t*C,这里t是扩张系数)进行着辛勤工作的。
轻量级网络之MobileNet v2_第3张图片

Linear Bottlenecks

ReLU一定会带来信息损耗,而且这种损耗是没有办法恢复的,ReLU的信息损耗是当通道数非常少的时候更为明显。下图是作者给出的证明:
其输入是一个表示流形数据的矩阵,经过n个ReLU的操作得到Feature Map,然后试图通过Feature Map还原输入数据,还原的越像说明信息损耗的越少。从图中可以看出,当维度比较小时,ReLU的信息损耗非常严重,但是当特征维度比较大的时候,输入流形就能还原的很好了。
在这里插入图片描述
既然是ReLU导致的信息损耗,那么我们就将ReLU替换成线性激活函数;如果比较多的通道数能减少信息损耗,那么我们就使用更多的通道。
当然不能把ReLU全部换成线性激活函数,不然网络将会退化为单层神经网络,一个折中方案是在输出Feature Map的通道数较少的时候也就是bottleneck部分使用线性激活函数,由于第二个PW的主要功能就是降维,因此按照上面的理论,降维之后就不宜再使用ReLU6了。
轻量级网络之MobileNet v2_第4张图片

网络结构

轻量级网络之MobileNet v2_第5张图片

轻量级网络之MobileNet v2_第6张图片

网络性能

图像分类:
轻量级网络之MobileNet v2_第7张图片
目标检测:
轻量级网络之MobileNet v2_第8张图片
是在手机上跑的,可见200ms的速度真的很快,能够在手机端使用。
目标检测的时候,竟然V1还好一点?估计是对于COCO数据集的目标检测网络,参数量少了性能还是受点影响。
欢迎交流,禁止转载!!

上一篇:轻量级网络之MobileNet v1
下一篇:轻量级网络之MobileNet v3

你可能感兴趣的:(CNN卷积神经网络,人工智能,深度学习,计算机视觉,卷积)