[论文解读] Model Rubik's Cube: Twisting Resolution, Depth and Width for TinyNets
本文提出 TinyNet,一种通过在 FLOPs 约束下联合扭曲分辨率、深度和宽度来缩小网络的微型公式,使用高斯过程回归将 FLOPs 映射到分辨率与深度,并由 FLOPs 推导宽度;TinyNets 在 ImageNet 基准上超过反向 EfficientNet 的缩减方法。
To obtain excellent deep neural architectures, a series of techniques are carefully designed in EfficientNets. The giant formula for simultaneously enlarging the resolution, depth and width provides us a Rubik's cube for neural networks. So that we can find networks with high efficiency and excellent performance by twisting the three dimensions. This paper aims to explore the twisting rules for obtaining deep neural networks with minimum model sizes and computational costs. Different from the network enlarging, we observe that resolution and depth are more important than width for tiny networks. Therefore, the original method, i.e., the compound scaling in EfficientNet is no longer suitable. To this end, we summarize a tiny formula for downsizing neural architectures through a series of smaller models derived from the EfficientNet-B0 with the FLOPs constraint. Experimental results on the ImageNet benchmark illustrate that our TinyNet performs much better than the smaller version of EfficientNets using the inversed giant formula. For instance, our TinyNet-E achieves a 59.9% Top-1 accuracy with only 24M FLOPs, which is about 1.9% higher than that of the previous best MobileNetV3 with similar computational cost. Code will be available at https://github.com/huawei-noah/ghostnet/tree/master/tinynet_pytorch, and https://gitee.com/mindspore/mindspore/tree/master/model_zoo/research/cv/tinynet.
研究动机与目标
- 为移动/边缘设备的神经网络有效尺寸缩减的必要性提供动机。
- 研究分辨率、深度和宽度对小型网络的重要性。
- 基于前沿模型开发一个数据驱动的缩减规则(tiny formula)。
- 证明在 FLOPs 约束下,侧重分辨率和深度的缩减能产生更好的 TinyNets。
- 展示 TinyNets 在 ImageNet 基准上优于简单的反向 EfficientNet 缩放。
提出的方法
- 在固定 FLOPs 下评估基线网络变体的精度与 FLOPs 权衡。
- 识别分辨率和深度对微型模型的影响大于宽度。
- 使用帕累托前沿选择(NSGA-III)收集高性能、低 FLOPs 的模型。
- 用高斯过程回归(GP)对 r(dimension) 和 d(dimension) 映射进行建模,基于观测到的前沿模型。
- 用 w = sqrt(c/(r^2 d)) 计算宽度 w。
- 将微型公式应用于 EfficientNet-B0 和 ResNet-50 以生成 TinyNet 变体。
实验结果
研究问题
- RQ1在给定 FLOPs 预算下,分辨率、深度和宽度对小型模型的性能各自有何影响?
- RQ2数据驱动的规则是否能比逆向 EfficientNet 缩放更好地缩减网络以用于 TinyNet?
- RQ3在给定 FLOPs 约束下,达到最高精度的(分辨率、深度、宽度)组合是什么?
- RQ4该微型公式是否能推广到除 EfficientNet-B0 之外的架构(如 ResNet-50)及下游任务?
主要发现
| Model | Weights | FLOPs | Top-1 Acc. | Top-5 Acc. |
|---|---|---|---|---|
| EfficientNet-B -1 | 200M | 200M | 75.8% | - |
| EfficientNet-B -2 | 97M | 97M | 72.1% | - |
| shrink B0 by r=0.70 | 196M | 196M | 74.9% | - |
| shrink B0 by r=0.46 | 103M | 103M | 70.3% | - |
| shrink B0 by d=0.45 | 196M | 196M | 76.5% | - |
| shrink B0 by w=0.65 | 205M | 205M | 77.2% | - |
| TinyNet-B (ours) | 201M | 201M | 77.6% | - |
| TinyNet-C (ours) | 97M | 97M | 74.1% | - |
- TinyNet-E 在 24M FLOPs 下达到 59.9% Top-1 准确率,在相似成本下比 MobileNetV3 Small 0.5× 高约 1.9%。
- TinyNet-A 在 ImageNet-1000 上以 339M FLOPs 实现 76.8% Top-1 准确率,略优于 EfficientNet-B0(76.7% 在 387M FLOPs)。
- TinyNet-A 和 TinyNet-E 相比逆向 EfficientNet 规则和单维度调整(r、d 或 w)在准确率/FLOPs 方面表现更好。
- TinyNet-D 在 MS COCO 上以 52M FLOPs 实现 19.2 mAP,在类似成本下优于 EfficientNet-B-3。
- 通过微型公式缩减在移动端的延迟得到提升(例如在相似准确度下 TinyNet-A 比 EfficientNet-B0 快 15%)。
- 微型公式可推广到 Shrinking ResNet-50 和 GhostNet,在 ImageNet 上取得持续增益。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。