论文笔记 MobileNets V2

1.MobileNetV1不足

MobileNetV1引入了深度可分离卷积大大降低了网络参数和运算量,但也存在一些缺点

  • MobileNet V1 的结构其实非常简单,论文里是一个非常复古的直筒结构,类似于VGG一样。这种结构的性价比其实不高,后续一系列的 ResNet, DenseNet 等结构已经证明通过复用图像特征,使用 Concat/Eltwise+ 等操作进行融合,能极大提升网络的性价比。
  • Depthwise Conv确实是大大降低了计算量,而且N×N Depthwise +1×1PointWise的结构在性能上也能接近N×N Conv。在实际使用的时候,我们发现Depthwise部分的kernel比较容易训废掉:训练完之后发现Depthwise训出来的kernel有不少是空的。当时我们认为,Depthwise每个kernel dim相对于普通Conv要小得多,过小的kernel_dim, 加上ReLU的激活影响下,使得神经元输出很容易变为0,所以就学废了。ReLU对于0的输出的梯度为0,所以一旦陷入0输出,就没法恢复了。我们还发现,这个问题在定点化低精度训练的时候会进一步放大。

2.MobileNetv2改进

2.1 Linear Bottlenecks

在这里插入图片描述

  • MobileNetV2 在 V1的Depth-wise 卷积之前添加Point-wise卷积,目的是因为Depth-wise不能改变输出张量的通道数,所以只能在低维空间提取特征,通过Point-wise可以增加空间通道数,从而在更高维度提取特征。
  • MobileNetV2 在第二个Point-wise卷积后去掉ReLU激活函数。使用Point-wise的目标是减少通道数,降低维数。但在低维空间使用ReLU会丧失张量的信息,因此去掉了ReLU激活函数。
    在这里插入图片描述
    如上图所示,利用MxN的矩阵B将张量(2D,即N=2)变换到M维的空间中,通过ReLU进行变换,再用此矩阵之逆恢复原来的张量。可以看到,当M较小时(将张量变换为2,3维空间),恢复后的张量坍缩严重,M较大时(将张量变化为15,30维空间)则恢复较好

由此我们可以知道,在低维空间进行ReLU变换时会存在信息损耗,所以在需要进行ReLU激活时,先使用线性变换使张量在激活前进行扩张,提高张量的维度,然后再使用ReLU函数(即提高通道数,然后使用激活函数),从而减少低维信息通过ReLU时造成的损耗
在这里插入图片描述

2.2 Inverted Residuals

在这里插入图片描述Resnet网络的Bottleneck layer会先用1*1卷积对通道数进行压缩,然后再进行扩张, 如下图所示。
在这里插入图片描述而MobilNetV2则是先通过PW卷积进行升维,然后利用DW卷积提取特征,最后通过PW卷积进行降维。因此ResNet网络结构像花瓶,而MobilNetV2网络结构像纺锤体。
在这里插入图片描述

3. MobileNetsV2 网络结构

网络结构主要由两部分,一个是带残差连接的网络结构(stride=1)和不带残差连接(stride=2,用于特征图尺寸的缩小),它们整体结构都是一样的,唯一区别就是有没有跳跃连接。
在这里插入图片描述
对带残差连接的网络模块,输入尺寸为 h ∗ w ∗ k h*w*k hwk,膨胀系数为 t t t,通过PW卷积后,通道数变为 t k tk tk,然后通过DW卷积,最后通过PW卷积降低通道数为 k ′ k' k。除了最后一层的PW卷积后采用线性变换(因为由高维变为低维),其余都采用ReLU6激活函数。
ReLU6激活函数:使用 RELU6(最高输出为 6)激活函数,使得模型在低精度计算下具有更强的鲁棒性。
在这里插入图片描述
整体结构如下
在这里插入图片描述

  • Input 输入特征尺寸
  • t 膨胀系数
  • c 输出通道数
  • n 相同网络重复次数
  • s 步长,每个序列的第一层都有一个跨度s,所有其他层都使用跨度1。

4.参考文献

https://zhuanlan.zhihu.com/p/98874284
https://blog.csdn.net/mzpmzk/article/details/82976871
如何评价mobilenet v2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值