EfficientNet

前言

论文链接

简介

先来看看之前的CNN比较
EfficientNet_第1张图片图片来源

再来看看主角EfficientNet,从这张图可以看到EfficientNet-B7的acc是最高的,可这还不是最令人惊叹的,再看x轴EfficientNet-B7的参数大小仅在60到70之间,而AmoebaNet-C虽然acc紧跟其后但是参数大小却是EfficientNet-B7的两倍左右。这得益于EfficientNet的混合的模型放缩方法(compound scaling)
EfficientNet_第2张图片图片来源

原理

卷积神经网络(ConvNets)是通常以固定资源预算开发, 然后放大以获得更好的精度资源可用。我们从理论上研究模型缩放并平衡网络深度、宽度和分辨率之间的关系以带来更好的性能。基于这一观察,提出一种新的统一缩放所有维度的方法深度、宽度、分辨率调节简单并且有效的复合系数。
EfficientNet_第3张图片
如下图所示a是基线网络
b和d是仅增加网络一维的常规缩放(宽度、深度或分辨率)
e是我们提出的以固定比例均匀缩放所有三维的复合缩放方法

EfficientNet_第4张图片其中网络深度、宽度和分辨率之间的关系系数公式请参考论文

结构图

如图是 EfficientNet-B0 基础网络,说明了特征图大小、通道数、层数变化
EfficientNet_第5张图片我们通过参数调节得到了Efficient-B1到B7,其中Efficient-B7效果最好。
最后给出原论文中关于EfficientNet与当时主流网络的性能参数对比如下图。
其中FLOPs表示运算量(每秒浮点运算次数)EfficientNet_第6张图片

总结

详细还请参考原论文,总的来说EfficientNet主要做的就是平衡了网络深度、宽度和分辨率的关系。因为在设计网络时不能一味增加网络深度或者宽度或者分辨率,当其中一个达到一定值的时候就会饱和精确度不会在上升,EfficientNet网络做到的就是平衡这三个参数的大小以达到模型最大的精度。

你可能感兴趣的:(深度学习,人工智能,深度学习,cnn)