论文浏览(6) EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
0. 前言
- 相关资料:
- 论文基本信息
- 领域:轻量化网络,图像分类
- 作者单位:Google
- 发表时间:2019.5
1. 要解决什么问题
- 而神经网络设计时,一般步骤是先设计/选择一个基础网络(如ResNet/MoBileNet),再在基础网络的基础上对一些网络结构基本参数(如depth/width/resolution)进行缩放(scaling)。
- 在设计神经网络之前,一般会预先设定最多能使用的资源。这就会作为模型参数缩放的条件。
- 上述模型设计存在的问题:
- 但具体缩放的方式到目前为止并没有什么都只是一些试错的结果。
- 一般在模型缩放时,都是对其中一个维度进行,稍有多个维度同时进行的。
- 之前也有同时扩展多个维度的算法,都需要大量手工调参。
2. 用了什么方法
- 提出了一种新的模型缩放方法:
- 同时缩放多个维度(depth/width/resolution)
- 使用了一个简单并高效的混合系数(compound coefficient)。
- 不同维度模型缩放方法如下图所示:
- 模型缩放的具体细节:
- 将问题抽象画为一个数学公式:
- 其中
w, r, d
是模型缩放参数,而F, L, H, W, C
都是baseline的基本参数。
- 其中
- 模型设计的难点在于寻找到在符合条件内最优的参数
w, r, d
- 首先有一个观察结果:增加任意一个维度都可以提高模型精度,大模型提高的精度较少。
- 不同维度的缩放并不是独立的:
- 更大的图像分辨率就需要更大的深度,从而提高视野域内的特征。
- 更大的图像分辨率也需要更大的宽度,每一层获取更多的特征。
- 本文提出了 compound scaling method 混合缩放方法,这种方法令
w, r, d
通过下面公式确定:- 是我们要确定的参数,表示能多多少资源(模型增加多少倍)。
- 是通过 grid search 获取。
- 将问题抽象画为一个数学公式:
- 设计了一种新的baseline用于缩放
- 上面提出的模型缩放技术对于baseline的要求非常高,在mobilenet/resnet上都达到的较好的效果。
- 为了进一步提高性能,通过NAS设计了一种新的baseline。
3. 效果如何
- 效果全包围,666
- Mobilenet & resnet scale up的结果
- 即只scale一个维度和scale多个维度的区别。
- 通过表格看一下EfficientNet的结果
4. 还存在什么问题
-
源码是TPU的,如果要看训练细节可能还得再研究一下,毕竟这类模型,要训练比较困难。