经典卷积模型之MobileNetV3

MobileNetV3模型

一、模型框架

最新的MobileNetV3的被写在了论文《Searching for MobileNetV3》中。

它是mobilnet的最新版,据说效果还是很好的。

作为一种轻量级网络,它的参数量还是一如既往的小。

它综合了以下四个特点:
1、MobileNetV1的深度可分离卷积(depthwise separable convolutions)。
2、MobileNetV2的具有线性瓶颈的逆残差结构(the inverted residual with linear bottleneck)。
3、轻量级的注意力模型。
4、利用h-swish代替swish函数。

二、结构层次

其实MobileNetV3中的large与small模型没有特别大的区别,主要的区别是通道数的变化与bneck的次数。


large结构.png
small结构.png

如何看懂这个表呢?我们从每一列出发:
第一列Input代表mobilenetV3每个特征层的shape变化;
第二列Operator代表每次特征层即将经历的block结构,我们可以看到在MobileNetV3中,特征提取经过了许多的bneck结构;
第三、四列分别代表了bneck内逆残差结构上升后的通道数、输入到bneck时特征层的通道数。
第五列SE代表了是否在这一层引入注意力机制。
第六列NL代表了激活函数的种类,HS代表h-swish,RE代表RELU。
第七列s代表了每一次block结构所用的步长。

MobileNetV3特有的bneck结构


image.png

它综合了以下四个特点:
a、MobileNetV2的具有线性瓶颈的逆残差结构(the inverted residual with linear bottleneck)。


image.png

即先利用1x1卷积进行升维度,再进行下面的操作,并具有残差边。

b、MobileNetV1的深度可分离卷积(depthwise separable convolutions)。


image.png

在输入1x1卷积进行升维度后,进行3x3深度可分离卷积。

c、轻量级的注意力模型。


image.png

这个注意力机制的作用方式是调整每个通道的权重。

d、利用h-swish代替swish函数。
在结构中使用了h-swish激活函数,代替swish函数,减少运算量,提高性能。


image.png
三、网络优点

轻量级的网络,参数量少

四、代码实现(tesorflow2)

https://github.com/weigesdl/Classical_convolution_network_model/blob/master/mobilenetV3_large.ipynb
https://github.com/weigesdl/Classical_convolution_network_model/blob/master/mobilenetV3_small.ipynb

五、原文链接:

https://blog.csdn.net/weixin_44791964/article/details/104068321

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HTTP (HyperText Transfer Protocol) 超文本传输协议,用于传输html页面。 HT...
    可恩阅读 822评论 0 0
  • 庭前一支花独艳, 满室皆闻檀生烟, 堂中有一无须老, 闭目偷得半日闲。
    cc4a1421a252阅读 285评论 0 0
  • 秃树吟风风越凄, 飞雁越高己越孤。 世俗为利人自累, 谁人为名谁空悲。
    乡巴姥阅读 281评论 0 6
  • 俗话说,灵感来源于洗澡。今天晚上早些时候正好在想,这个React啊,做SPA很厉害,要做多页面的该怎么做?于是发现...
    吃土的小此方阅读 622评论 1 10
  • 珍惜身边每个路人给你的微笑,真心对待身边每个爱你的人!
    lucyfly阅读 177评论 0 0