Searching by Generating: Flexible and Efficient One-Shot NAS with Architecture Generator
About
In one-shot NAS, sub-networks need to be searched from the supernet to meet different hardware constraints. However, the search cost is high and $N$ times of searches are needed for $N$ different constraints. In this work, we propose a novel search strategy called architecture generator to search sub-networks by generating them, so that the search process can be much more efficient and flexible. With the trained architecture generator, given target hardware constraints as the input, $N$ good architectures can be generated for $N$ constraints by just one forward pass without re-searching and supernet retraining. Moreover, we propose a novel single-path supernet, called unified supernet, to further improve search efficiency and reduce GPU memory consumption of the architecture generator. With the architecture generator and the unified supernet, we propose a flexible and efficient one-shot NAS framework, called Searching by Generating NAS (SGNAS). With the pre-trained supernt, the search time of SGNAS for $N$ different hardware constraints is only 5 GPU hours, which is $4N$ times faster than previous SOTA single-path methods. After training from scratch, the top1-accuracy of SGNAS on ImageNet is 77.1%, which is comparable with the SOTAs. The code is available at: https://github.com/eric8607242/SGNAS.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Image Classification | ImageNet | -- | 184 | |
| Neural Architecture Search | NAS-Bench-201 ImageNet-16-120 (test) | Accuracy44.98 | 86 | |
| Neural Architecture Search | CIFAR-10 NAS-Bench-201 (val) | Accuracy90.18 | 86 | |
| Neural Architecture Search | NAS-Bench-201 CIFAR-10 (test) | Accuracy93.53 | 85 | |
| Neural Architecture Search | ImageNet16-120 NAS-Bench-201 (val) | Accuracy44.65 | 79 | |
| Neural Architecture Search | NAS-Bench-201 CIFAR-100 (test) | Accuracy70.31 | 78 | |
| Neural Architecture Search | CIFAR-100 NAS-Bench-201 (val) | Accuracy70.28 | 67 | |
| Neural Architecture Search (Topology Search) | NATS-Bench ImageNet16-120 (test) | Accuracy44.98 | 10 | |
| Neural Architecture Search (Topology Search) | NATS-Bench CIFAR-10 (test) | Accuracy93.53 | 10 | |
| Neural Architecture Search (Topology Search) | NATS-Bench CIFAR-100 (test) | Accuracy70.31 | 10 |