K-shot NAS: Learnable Weight-Sharing for NAS with K-shot Supernets
arXiv:2106.06442
Abstract
In one-shot weight sharing for NAS, the weights of each operation (at each layer) are supposed to be identical for all architectures (paths) in the supernet. However, this rules out the possibility of adjusting operation weights to cater for different paths, which limits the reliability of the evaluation results. In this paper, instead of counting on a single supernet, we introduce -shot supernets and take their weights for each operation as a dictionary. The operation weight for each path is represented as a convex combination of items in a dictionary with a simplex code. This enables a matrix approximation of the stand-alone weight matrix with a higher rank (). A \textit{simplex-net} is introduced to produce architecture-customized code for each path. As a result, all paths can adaptively learn how to share weights in the -shot supernets and acquire corresponding weights for better evaluation. -shot supernets and simplex-net can be iteratively trained, and we further extend the search to the channel dimension. Extensive experiments on benchmark datasets validate that K-shot NAS significantly improves the evaluation accuracy of paths and thus brings in impressive performance improvements.
Accepted by ICML 2021
References in corpus (12)
- PyTorch: An Imperative Style, High-Performance Deep Learning Library
- Distilling the Knowledge in a Neural Network
- Neural Architecture Search with Reinforcement Learning
- AutoSlim: Towards One-Shot Architecture Search for Channel Numbers
- NAS-Bench-201: Extending the Scope of Reproducible Neural Architecture Search
- FBNetV2: Differentiable Neural Architecture Search for Spatial and Channel Dimensions
- Locally Free Weight Sharing for Network Width Search
- BETANAS: BalancEd TrAining and selective drop for Neural Architecture Search
- Towards Improving the Consistency, Efficiency, and Flexibility of Differentiable Neural Architecture Search
- Powering One-shot Topological NAS with Stabilized Share-parameter Proxy
- Prioritized Architecture Sampling with Monto-Carlo Tree Search
- BCNet: Searching for Network Width with Bilaterally Coupled Network