EfficientNet解读
作者:互联网
论文地址:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1905.11946.pdf
模型扩展Model scaling一直以来都是提高卷积神经网络效果的重要方法。这篇ICML的论文对目前分类网络的优化提出更加泛化的思想,认为目前常用的加宽网络、加深网络和增加分辨率这3种常用的提升网络指标的方式之间不应该是相互独立的。
因此提出了compound model scaling算法,通过综合优化网络宽度、网络深度和分辨率达到指标提升的目的,能够达到准确率指标和现有分类网络相似的情况下,大大减少模型参数量和计算量。
卷积神经网络精度提升的经验
- 网络深度的增加,典型的如resnet,就是通过残差网络的堆叠,增加网络层数,以此来提升精度。
- 网络宽度的增加,通过增加每层网络的特征层数,提取更多的特征,以此来提升精度。
- 图像分辨率的增加,分辨率越高的图像,所能获取的信息越多,网络能够学习到更多的特征,从而提升精度。
EfficientNet特点
历史的实验经验表明,对于卷积神经网络的提升,着重点在于网络深度,网络宽度,分辨率这三个维度。因此,efficientnet应运而生,efficientnet结合了这三个优点,很好的平衡深度、宽度和分辨率这三个维度,通过一组固定的缩放系数统一缩放这三个维度。举个栗子,如果我们需要使用 2^N 的计算机资源,我们可以对网络深度放大α^N ,对网络宽度放大 β^N ,对分辨率放大 γ^N 。
如上图,(a)是baseline基准网络。(b)是网络宽度的缩放。(c)是网络深度的缩放。(d)是分辨率的缩放。(e)是平衡综合网络深度,网络宽度,分辨率三个维度。
其中,baseline基准网络是通过网络结构搜索得到,基于baseline基准网络进行放大得到的一系列网络就是EfficientNet网络。
如下图,是EfficientNet和其他网络的比较,我们可以看出EfficientNet相对于其他网络,有了质的突破。
Stage1为Conv, Stage2~8为MBConv,Stage9为Conv + Pooling + FC
第三列Resolution(分辨率)为输入每个Stage时的分辨率(高度和宽度)
第四列Channels为每个Stage输出特征矩阵的通道数
第五列Layers为将对应的Stage重复多少次
第六列stride(步距)为对应每一个Stage中的第一个Operator的步距,其余Operator的步距都为1
MBConv1,n=1; MBConv6,n=6;MBConv模块后面跟的是几,n就等于几
对于DW卷积,输入特征矩阵和输出特征矩阵的channel是一样的
调整网络的宽度就是调整所使用卷积核的个数,即channel*width_coefficient
调整网络的深度就是layers*depth_coefficient
drop_connect_rate对应MBConv模块中dropout的随机失活比例
dropout_rate对应Stage9全连接层之前的dropout随机失活的比例
参考:
https://blog.csdn.net/m0_56247038/article/details/125245859
https://zhuanlan.zhihu.com/p/240795470
标签:缩放,卷积,分辨率,网络,解读,宽度,EfficientNet 来源: https://www.cnblogs.com/chentiao/p/16550484.html