Efficient NetV1V2,MnasNet, 2021-05-13

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Efficient NetV1V2,MnasNet, 2021-05-13相关的知识,希望对你有一定的参考价值。

参考技术A 这篇论文探索了卷积神经网路模型在三个维度上的缩放对精度的影响,分别是深度(层数),宽度(通道数)以及分辨率(特征图的宽度和高度)。

它的主要贡献就是提出了一种在增加参数量时平衡模型的三个维度的方法,而这个方法就是简单的固定比例的缩放。先用神经结构搜索确定一个小尺寸的基础模型,再用一个复合系数控制,三个维度上增加和基础模型参数量,用这种策略得到的EfficientNet在各个级别的参数量上领先了当时的其他模型。

先来看看作者在三个维度上进行缩放的实验,这里有一个让人迷惑的地方,大写S表示的是每秒浮点运算次数,小写s是运算次数,作者这里虽然写了大写S,但是指的应该是运算次数,单位是Billion。不过这个也不太重要,重点就是通过这个实验我们知道,单独在某一个维度上分配更多的计算资源,精确度都会上升但是很快达到饱和。

FLOPS = Floating point operations per second是理论上计算机可以在每秒钟执行的浮点运算次数,浮点就是指小数,运算就是基本的加减乘除,用来衡量。而FLOPs是floating point operations也就是浮点运算次数,用来衡量计算量。对于神经网络中的卷积层, 深度加倍,FLOPs加倍,但是如果宽度或者分辨率加倍,FLOPs增为四倍。

卷积的FLOPS公式: . ( https://arxiv.org/pdf/1611.06440v2.pdf )

但是用复合缩放的方法,表现就要再好很多。

复合缩放就是首先优化原始模型,用 三个系数描述通过网格搜索确定的相对于原始模型的缩放。这样的话,这三个系数要满足这个限制条件 约等于2,是根据三个维度对模型最终FLOps的影响确定的。这样FLOPs的增长倍数就可以表达为 。

然后三个系数就不变了,然后使用一个系数 来控制模型整体的缩放。

MnasNet: Platform-Aware Neural Architecture Search for Mobil
https://arxiv.org/pdf/1807.11626.pdf
这篇论文提出的是一种针对移动设备,用强化学习自动搜索高效模型的方法。EfficientNet的基础模型是通过这个方法确定的,不过优化目标是精度和运算量,而MnasNet参考的又是MobileNetV2。
MobileNetV2: https://arxiv.org/pdf/1801.04381.pdf

EfficientNet的搜索空间和MnasNet一样,不过用的是精度和FLOPS作为优化目标。

EfficientNet的基本模型通过multi-objective网络结构搜索同时优化精度和FLOPS确定的 。另外作者还使用了 squeeze-and-excitation 优化方法进一步提高表现。

EfficientNet无论是在ImageNet上,还是通过迁移训练应用于其他数据集都能通过更少的参数达到优于其他方法的精确度,在参数量不上不下的地段尤为明显。

深度神经网络往往是参数冗余的,可以通过模型剪枝,知识蒸馏等技术删减参数,而EfficientNet从另一个角度在设计模型的时候就尽量通过平衡三个维度来保持一个比较高的性价比,虽然不一定是最优的但是实验证明,就是要比大部分一拍脑袋决定的设置要好一些,感觉在炼丹上很有借鉴意义。

重点研究了 EfficientNet的训练时的瓶颈:

根据实验结果,一到三层改用了 fused MBConv。

以上是关于Efficient NetV1V2,MnasNet, 2021-05-13的主要内容,如果未能解决你的问题,请参考以下文章

mobilenetV3

Efficient GAN

efficient是啥意思及反义词

efficient和effective的区别

Efficient-Net基于Efficient-Net效率网的目标识别算法的MATLAB仿真——详细版

Efficient-Net基于Efficient-Net效滤网的目标识别算法的MATLAB仿真