前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MobileNetV2 论文阅读

MobileNetV2 论文阅读

原创
作者头像
yzh
修改2020-11-11 14:47:53
1.3K0
修改2020-11-11 14:47:53
举报
文章被收录于专栏:YZh学习记录YZh学习记录

MobileNetV2:Inverted Residuals and Linear BottleNecks

1 引言

MobileNetv2架构是基于倒置残差结构(inverted residual structure),原本的残差结构的主分支是有三个卷积,两个逐点卷积通道数较多,而倒置的残差结构刚好相反,中间的卷积通道数(依旧使用深度分离卷积结构)较多,旁边的较小。此外,我们发现去除主分支中的非线性变换是有效的,这可以保持模型表现力

论文的主要贡献在于提出一种新型层结构: 具有线性瓶颈的倒残差结构(the inverted residual with linear bottleneck)。

该模块首先将输入的低维压缩表示(low-dimensional compressed representation)扩展到高维,使用轻量级深度卷积做过滤;随后用linear bottleneck将特征投影回低维压缩表示。

2 改进点

2.1 Linear Bottlenecks

上图是作者展示用RELU激活时,当channel越小,丢失的信息越多,当channel越大,丢失的信息越少。其实不难理解,

当channel为2时,信息都集中在这两个channel中,如果有部分数值小于0就会被RELU激活丢失掉。

而如果channel为30,其实信息是分散的,而且具有了冗余,所以通过RELU激活后归于0的值可能并不会影响太多信息的存储。

所以作者建议对于channel数很少的那些层做线性激活(linear Bottlenecks)bottlenect就表示缩减的层(降维后的层)

linear bottleneck表示对channel减少的层(降维后的层)做线性激活

如果要用RELU激活需要先增加channel数再做RELU激活

论文针对这个问题使用linear bottleneck(即不使用ReLU激活,做了线性变换)的来代替原本的非线性激活变换。到此,优化网络架构的思路也出来了:通过在卷积模块中后插入linear bottleneck来捕获兴趣流形。 实验证明,使用linear bottleneck可以防止非线性破坏太多信息。

2.2 Inverted residuals

MobileNetV2的网络模块样子是这样的:

网络设计思路:

在V2的网络设计中,我们除了继续使用深度可分离(中间那个)结构之外,还使用了Expansion layer和 Projection layer。

这个projection layer也是使用 1x 1 的网络结构,他的目的是希望把高维特征映射到低维空间去。另外说一句,使用的网络结构将高维空间映射到低纬空间的设计就是作者提出的Bottleneck layer。

Expansion layer的功能正相反,使用 1x 1 的网络结构,目的是将低维空间映射到高维空间。这里Expansion有一个超参数是维度扩展几倍。可以根据实际情况来做调整的,默认值是6,也就是扩展6倍。

此图更详细的展示了整个模块的结构。我们输入是24维,最后输出也是24维。但这个过程中,我们扩展了6倍,然后应用深度可分离卷积进行处理。整个网络是中间胖,两头窄,像一个纺锤形。bottleneck residual block(ResNet论文中的)是中间窄两头胖

在MobileNetV2中正好反了过来,所以,在MobileNetV2的论文中我们称这样的网络结构为Inverted residuals。需要注意的是residual connection是在输入和输出的部分进行连接。另外,我们之前已经花了很大篇幅来讲Linear Bottleneck,因为从高维向低维转换,使用ReLU激活函数可能会造成信息丢失或破坏(不使用非线性激活数数)。所以在projection convolution这一部分,我们不再使用ReLU激活函数而是使用线性激活函数。

3. 网络结构比较

3.1 MobileNetV2 和 V1

相同点:

都使用了DW + PW 的组合来提取特征。

这种方法在mobilenetv1 、 Xception 中提及。主要是用来减少卷积层的时间复杂度以及空间复杂度。

不同点: Linear Bottleneck

3.2 比较ResNet 与 MobileNet V2 的微结构

参考链接:

https://zhuanlan.zhihu.com/p/98874284

https://zhuanlan.zhihu.com/p/33075914

https://zhuanlan.zhihu.com/p/60668529

https://www.jianshu.com/p/38dc74d12fcf?utm_source=oschina-app

https://blog.csdn.net/stesha_chen/article/details/82744320

https://blog.csdn.net/u011974639/article/details/79199588

https://blog.csdn.net/heiheiya/article/details/89023513

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MobileNetV2:Inverted Residuals and Linear BottleNecks
  • 1 引言
  • 2 改进点
    • 2.1 Linear Bottlenecks
      • 2.2 Inverted residuals
      • 3. 网络结构比较
        • 3.1 MobileNetV2 和 V1
          • 3.2 比较ResNet 与 MobileNet V2 的微结构
          • 参考链接:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档