经典卷积模型之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

你可能感兴趣的:(经典卷积模型之MobileNetV3)