MobileNetV3模型
一、模型框架
最新的MobileNetV3的被寫在了論文《Searching for MobileNetV3》中。
它是mobilnet的最新版,據(jù)說效果還是很好的。
作為一種輕量級網(wǎng)絡(luò),它的參數(shù)量還是一如既往的小。
它綜合了以下四個特點(diǎn):
1、MobileNetV1的深度可分離卷積(depthwise separable convolutions)。
2、MobileNetV2的具有線性瓶頸的逆殘差結(jié)構(gòu)(the inverted residual with linear bottleneck)。
3、輕量級的注意力模型。
4、利用h-swish代替swish函數(shù)。
二、結(jié)構(gòu)層次
其實(shí)MobileNetV3中的large與small模型沒有特別大的區(qū)別,主要的區(qū)別是通道數(shù)的變化與bneck的次數(shù)。


如何看懂這個表呢?我們從每一列出發(fā):
第一列Input代表mobilenetV3每個特征層的shape變化;
第二列Operator代表每次特征層即將經(jīng)歷的block結(jié)構(gòu),我們可以看到在MobileNetV3中,特征提取經(jīng)過了許多的bneck結(jié)構(gòu);
第三、四列分別代表了bneck內(nèi)逆殘差結(jié)構(gòu)上升后的通道數(shù)、輸入到bneck時特征層的通道數(shù)。
第五列SE代表了是否在這一層引入注意力機(jī)制。
第六列NL代表了激活函數(shù)的種類,HS代表h-swish,RE代表RELU。
第七列s代表了每一次block結(jié)構(gòu)所用的步長。
MobileNetV3特有的bneck結(jié)構(gòu)

它綜合了以下四個特點(diǎn):
a、MobileNetV2的具有線性瓶頸的逆殘差結(jié)構(gòu)(the inverted residual with linear bottleneck)。

即先利用1x1卷積進(jìn)行升維度,再進(jìn)行下面的操作,并具有殘差邊。
b、MobileNetV1的深度可分離卷積(depthwise separable convolutions)。

在輸入1x1卷積進(jìn)行升維度后,進(jìn)行3x3深度可分離卷積。
c、輕量級的注意力模型。

這個注意力機(jī)制的作用方式是調(diào)整每個通道的權(quán)重。
d、利用h-swish代替swish函數(shù)。
在結(jié)構(gòu)中使用了h-swish激活函數(shù),代替swish函數(shù),減少運(yùn)算量,提高性能。

三、網(wǎng)絡(luò)優(yōu)點(diǎn)
輕量級的網(wǎng)絡(luò),參數(shù)量少
四、代碼實(shí)現(xiàn)(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