
摘要
准确率预测器是神经架构搜索(Neural Architecture Search, NAS)中用于对候选架构进行排序的关键组件。然而,构建高质量的准确率预测器通常需要巨大的计算开销。为解决这一问题,我们提出了一种新颖的零样本指标——Zen-Score,用以替代传统的准确率预测器来对架构进行排序。Zen-Score 反映了网络的表达能力,并与模型的实际准确率呈正相关。其计算仅需对一个随机初始化的网络进行少量前向推理,无需训练网络参数。基于 Zen-Score,我们进一步提出了一种新的 NAS 算法——Zen-NAS,该算法在给定推理预算条件下,通过最大化目标网络的 Zen-Score 来实现高效搜索。在不到半张 GPU 日的计算开销内,Zen-NAS 即可实现无需数据的端到端高性能架构搜索。相较于以往的 NAS 方法,Zen-NAS 在多个服务器端与移动端 GPU 平台上均展现出数量级的加速性能,同时在 ImageNet 上达到了当前最优的准确率水平。相关源代码与预训练模型已开源,地址为:https://github.com/idstcv/ZenNAS。
代码仓库
idstcv/ZenNAS
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| image-classification-on-imagenet | ZenNAS (0.8ms) | GFLOPs: 13.9 Number of params: 183M Top 1 Accuracy: 83.0% |
| image-classification-on-imagenet | ZenNet-400M-SE | GFLOPs: 0.820 Number of params: 5.7M Top 1 Accuracy: 78% |
| neural-architecture-search-on-cifar-10 | ZenNet-2.0M | FLOPS: 487M Parameters: 2.0M Top-1 Error Rate: 2.5% |
| neural-architecture-search-on-cifar-100-1 | ZenNet-2.0M | FLOPS: 487M PARAMS: 2.0M Percentage Error: 15.6 |
| neural-architecture-search-on-imagenet | ZenNAS (0.1ms) | Accuracy: 77.8 FLOPs: 1.7G Params: 30.1 Top-1 Error Rate: 22.2 |
| neural-architecture-search-on-imagenet | ZenNAS (1.2ms) | Accuracy: 83.6 FLOPs: 22G Params: 180M Top-1 Error Rate: 16.4 |