加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Searching for MobileNetV3

发布时间:2020-12-14 04:46:53 所属栏目:大数据 来源:网络整理
导读:https://arxiv.org/pdf/1905.02244.pdf 知识回顾: MobileNetV1 提出了depthwise的卷积结构加速CNN的训练,depthwise的操作解释将通道全部独立开,做卷积期间通道数不变,可以理解为Group=In_channels的Group Conv,然后利用1X1的卷积实现通道之间的融合。这

https://arxiv.org/pdf/1905.02244.pdf

知识回顾:

MobileNetV1

提出了depthwise的卷积结构加速CNN的训练,depthwise的操作解释将通道全部独立开,做卷积期间通道数不变,可以理解为Group=In_channels的Group Conv,然后利用1X1的卷积实现通道之间的融合。这种方式比直接卷积省去很多参数。

MobileNetV2

为了解决v1一些卷积核训废的问题,原因为当通道数比较少的时候,ReLU激活函数会造成较多信息的丢失,于是提出了linear bottleneck layer和inverted residual block,[input]->[1X1卷积增加通道]->[ReLU6]->[depthwise conv]->[ReLU6]->[1X1 conv 降低通道数]->[Linear]->[Input]不再接ReLU层。

MnasNet:

用RL的方法进行网络搜索,加上了准确率和实时延迟的tradeoff,并不是搜索出一个或者几个cell然后重复堆叠成一个网络,而是简化每个cell的搜索空间但允许各个单元不同。google用TPU进行训练,资源消耗较大。

SeNet:

seNet中的squeeze-and-excite模块被加入到mobilenetv2中,squeeze-and-excite模块结合特征通道的关系来加强网络的学习能力。

Inception:

Inception结合不同尺度的特征信息,融合不同感受野的特征得到网络增益,resnet的shortcut结构,结合不同level的特征图来增强网络。

?

NetAdapt:

这篇文章主要涉及了一个平台算法,可以把一些非直接的变量整合进来,比如延时和能源消耗。做法就是直接把模型放到目标平台上训练然后反馈回数据,再对网络进行调整,直到满足设定的条件,优化结束。原文中有算法流程图,给定一个K conv and FC layers的网络Net0,在每一步的结构更改中,需要减少一个给定个值deltaR,然后调整每层的卷积核数,生成一个Net_simp集合,在这个集合中找到最高准确率的网络。保持循环,直到资源消耗满足给定条件,然后finetune网络。文章中有一些快速资源消耗估计的方法,如果有需要可以去仔细看看。

MobileNetV3

mobileNetV3=hardware-aware network architecture search(NAS)+NetAdapt+novel architecture advances

论文主要介绍了4个方面:

1.互补的搜索技术

2.非线性实用设置

3.新的高效网络设计

4.新的高效分割解码器

?

一、相关工作

有关网络优化的工作有:1.SqueezeNet 大量使用1X1的卷积来减少网络参数。2.减少MAdds的工作有,a,MobileNetV1利用depthwise separable conv来提升计算效率。 b,MobileNetV2利用倒残差模块和线性模块。c.shuffleNet利用group con和channel shuffle操作来降低MAdds.c.CondenseNet在训练阶段学习group conv,并且在层与层之间保持稠密的连接以便特征的重复使用.d,shiftNet提出一种shift操作和point-wise conv交错的网络结构替代昂贵的空间卷积。3.量化4.知识蒸馏等操作。

?

二、网络搜索

使用NAs通过优化每一个网络模块进行全局网路搜索,然后使用NetAdapt搜索每一层的filters,

1.Nas搜索网络模块

?

2.NetAdapt 层级网络搜索

与Nas互补,搜索过程如下:

a. 初始的网络结构有Nas搜索得到

b. i) 生成大量的proposal,每个proposal代表结构的一个修改(修改要减少至少delta的延迟)

? ? ii) 利用上一步预训练的模型,并且填充新的proposal结构,截断并且随机初始化丢失的权重,进行T step微调每一个proposal得到大概的精度估计

? ? iii)根据一些度量方法选择最好的proposal

c. 迭代以前的步骤直到相应的目标延迟达到了

最大化公式

,latency满足b.i。

该论文中使用了两种proposal:

1. 缩小扩展层的大小

2. 缩小所有模块中同样bottleneck 大小的bottleneck。

?

三、网络提升

除了网络搜索,还用dao几个成分进一步提升最终的网络模型,重新设计网络中开始和结尾的计算复杂的层,并且引入了非线性的h-swish,

这种结构计算更快,量化更友好。

?

1.重新设计计算复杂的层

a. MobileNetV2中的倒残差结构和相关变体使用1X1的卷积作为最后一层,目的是为了扩展到高维的特征空间,该层比较重要带来丰富的特征进行prediction,但是同时带来延迟。

为了降低延迟和保留高维的特征,论文将该层移动到最后的average pooling之后,该特征最后经过1X1的空间卷积而不是7X7的空间卷积。一旦该特征生成层的延迟减少了,前面的bottleneck projection层就不需要了。修改之前的网络与修改之后的网络如下:

?

b. 另外一个复杂的操作就是filters的初始化。目前大量的手机模型倾向于在3X3的卷积中搭配使用32 个filters来构建用来进行边缘检测。通常这些filters含有大量冗余,在此使用hard swish nonlinwarity,能够将filetrs降低到16,同时保留了之前的精度。

?

?Nonlinearities:swish

swish的定义:

,swish能够提升精度并且计算不复杂,而sigmnoid函数计算复杂,因此用下面两种方式进行处理。

1. 用piece-wise linear hard analog

代替sigmoid。同样的hard-swish为:

2. Large aqueeze-and-excite

we replace them all to fixed to be 1/4 of the number of channels in expansion layer.

四。MobileNetV3的定义:

MobileNetV3-large

MobileNetV3-small

五。实验结果

?

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读