Neural Architecture Transfer

Neural architecture search (NAS) has emerged as a promising avenue for automatically designing task-specific neural networks. Existing NAS approaches require one complete search for each deployment specification of hardware or objective. This is a computationally impractical endeavor given the potentially large number of application scenarios. In this paper, we propose Neural Architecture Transfer (NAT) to overcome this limitation. NAT is designed to efficiently generate task-specific custom models that are competitive under multiple conflicting objectives. To realize this goal we learn task-specific supernets from which specialized subnets can be sampled without any additional training. The key to our approach is an integrated online transfer learning and many-objective evolutionary search procedure. A pre-trained supernet is iteratively adapted while simultaneously searching for task-specific subnets. We demonstrate the efficacy of NAT on 11 benchmark image classification tasks ranging from large-scale multi-class to small-scale fine-grained datasets. In all cases, including ImageNet, NATNets improve upon the state-of-the-art under mobile settings ($\leq$ 600M Multiply-Adds). Surprisingly, small-scale fine-grained datasets benefit the most from NAT. At the same time, the architecture search and transfer is orders of magnitude more efficient than existing NAS methods. Overall, the experimental evaluation indicates that, across diverse image classification tasks and computational objectives, NAT is an appreciably more effective alternative to conventional transfer learning of fine-tuning weights of an existing network architecture learned on standard datasets. Code is available at https://github.com/human-analysis/neural-architecture-transfer

PDF Abstract
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Image Classification CIFAR-10 NAT-M4 Percentage correct 98.4 # 31
PARAMS 6.9M # 172
Image Classification CIFAR-10 NAT-M2 Percentage correct 97.9 # 51
PARAMS 4.6M # 168
Neural Architecture Search CIFAR-10 NAT-M4 Top-1 Error Rate 1.6% # 1
Search Time (GPU days) 1.0 # 9
Parameters 6.9M # 23
FLOPS 468M # 22
Image Classification CIFAR-10 NAT-M1 Percentage correct 97.4 # 68
PARAMS 4.3M # 166
Image Classification CIFAR-10 NAT-M3 Percentage correct 98.2 # 38
PARAMS 6.2M # 171
Neural Architecture Search CIFAR-10 NAT-M2 Top-1 Error Rate 2.1% # 8
Search Time (GPU days) 1.0 # 9
Parameters 4.6M # 21
FLOPS 291M # 18
Neural Architecture Search CIFAR-10 NAT-M3 Top-1 Error Rate 1.8% # 3
Search Time (GPU days) 1.0 # 9
Parameters 6.2M # 22
FLOPS 392M # 21
Neural Architecture Search CIFAR-10 NAT-M1 Top-1 Error Rate 2.6% # 19
Search Time (GPU days) 1.0 # 9
Parameters 4.3M # 20
FLOPS 232M # 17
Neural Architecture Search CIFAR-100 NAT-M4 FLOPS 796M # 7
Percentage Error 11.7 # 1
PARAMS 9.0M # 7
Image Classification CIFAR-100 NAT-M4 Percentage correct 88.3 # 36
PARAMS 9.0M # 156
Neural Architecture Search CIFAR-100 NAT-M1 FLOPS 261M # 4
Percentage Error 14.0 # 5
PARAMS 3.8M # 4
Neural Architecture Search CIFAR-100 NAT-M3 FLOPS 492M # 6
Percentage Error 12.3 # 2
PARAMS 7.8M # 6
Neural Architecture Search CIFAR-100 NAT-M2 FLOPS 398M # 5
Percentage Error 12.5 # 3
PARAMS 6.4M # 5
Image Classification CIFAR-100 NAT-M1 Percentage correct 86.0 # 54
PARAMS 3.8M # 153