MobileNetV3 模型

    1. mobilenetv3网络特点及主干

(1)使用mobilenetv3模型的优势:

1 .添加了Squeeze-and-Excitation 结构在,通过训练的过程中自行分配权重在 feature map上,从而达到更好的效果。

2 .其次,Nonlinearities在非线性激活这块采用了h-wish在层数较深的那基层中, 也就是基于ReLU6的修改版。

3.与v2相比,相对减少在最后,在7×7avgpool之前的channel数,在不太大影响 accuracy的同时,精简了支出。

4 .隐藏的修改,想对于mobilenet V2, V3启用 5×5的deepwise卷积。借鉴于nasnet。

  1. mobilenetv3模型的改进

 

1.引入SE结构

在bottlenet结构中加入了SE结构,并且放在了depthwise filter之后,如下图。因为SE结构会消耗一定的时间,所以在含有SE的结构中,将expansion layer的channel变为原来的1/4,既提高了精度,同时还没有增加时间消耗。并且SE结构放在了depthwise之后。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56eL5p-0,size_20,color_FFFFFF,t_70,g_se,x_16

 

 

2.修改尾部结构:

 

在mobilenetv2中,在avg pooling之前,存在一个1x1的卷积层,目的是提高特征图的维度,更有利于结构的预测,将其放在avg pooling的后面,首先利用avg pooling将特征图大小由7x7降到了1x1,降到1x1后,然后再利用1x1提高维度,这样就减少了7x7=49倍的计算量。并且为了进一步的降低计算量,直接去掉了前面纺锤型卷积的3x3以及1x1卷积,进一步减少了计算量,就变成了如下图第二行所示的结构,将其中的3x3以及1x1去掉后,精度并没有得到损失。这里降低了大约15ms的速度。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56eL5p-0,size_20,color_FFFFFF,t_70,g_se,x_16

 

3.修改channel数量

 

修改头部卷积核channel数量,mobilenet v2中使用的是32 x 3 x 3,改为16后,在保证了精度的前提下,降低了3ms的速度。

 

4.非线性变换的改

h-swish非线性在保持精度的情况下带了了很多优势,首先ReLU6在众多软硬件框架中都可以实现,量化时避免了数值精度的损失,运行快。这一非线性改变将模型的延时增加了15%。但它带来的网络效应对于精度和延时具有正向促进,剩下的开销可以通过融合非线性与先前层来消除。

使用h-swish替换swish,这次在其基础上,为速度进行了优化。swish与h-swish公式如下所示,由于sigmoid的计算耗时较长,特别是在移动端,这些耗时就会比较明显,所以使用ReLU6(x+3)/6来近似替代sigmoid。利用ReLU有几点好处

  1. 可以在任何软硬件平台进行计算
  2. 量化的时候,它消除了潜在的精度损失,使用h-swish替换swith,在量化模式下提    高大约15%的效率,
  3. h-swish在深层网络中更加明显。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56eL5p-0,size_20,color_FFFFFF,t_70,g_se,x_16

 

4.NAS 搜索全局结构(Block-wise Search)

(1)采用平台感知NSA(网络可伸缩架构,Architectures for Scalable)方法来寻找全局网络结构,类似MnasNet-A1,使用基于Rnn-based的控制器和分解层次搜索空间。

(2)另外需要针对轻量模型进行优化,我们用一个多目标奖励

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56eL5p-0,size_20,color_FFFFFF,t_70,g_se,x_16

来近似pareto最优解,根据目标延迟TAR为每个模型m平衡模型精度ACC(m)和延迟LAT(m)。

  1. 我们遵循对于小模型,随着延迟的增加,精度的变化会更加显著。因此用较小的权重因子w =-0.15 (vs原始w=-0.07[41])来弥补不同的延迟的更大精度变化。
  2. 从头训练了一个新的架构搜索,找到了初始的seed模型,然后应用NetAdapt和其他优化来获得最终的MobilenetV3-Small模型。

 

5.NetAdapt 搜索层结构(Layer-wise Search)

  1. 用一个NetAdapt算法来搜索每个层的卷积核个数以及其他优化方法。
  2. 最终目的:是在符合latency衰减的Net集合中,选取

                                          74a968b7100049348f3d5e78e816e75a.png

 

(精度变化/延时变化)大的网络,即希望拿到精度大延时小的网络。

  1. 算法流程:给定一个K conv and FC layers的网络Net0,在每一步的结构更改中,需要减少一个给定个值deltaR,然后调整每层的卷积核数,生成一个Net_simp集合,从中找到目标延时的网络。保持循环,直到满足给定条件,然后finetune网络。
  2. V3用了两种减少latency的方法来产生网络:
  3. 减少expansion layer的size(就是用1x1 conv对通道数扩大的那一层);
  4. 减少所有共享相同bottleneck size模块的瓶颈(就是resiudal链接的那一个模块),仍然保持residual链接模式。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋柴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值