Searching for Network Width with Bilaterally Coupled Network
  Searching for a more compact network width recently serves as an effective
way of channel pruning for the deployment of convolutional neural networks
(CNNs) under hardware constraints. To fulfill the searching, a one-shot
supernet is usually leveraged to efficiently evaluate the performance
\wrt~different network widths. However, current methods mainly follow a
\textit{unilaterally augmented} (UA) principle for the evaluation of each
width, which induces the training unfairness of channels in supernet. In this
paper, we introduce a new supernet called Bilaterally Coupled Network (BCNet)
to address this issue. In BCNet, each channel is fairly trained and responsible
for the same amount of network widths, thus each network width can be evaluated
more accurately. Besides, we propose to reduce the redundant search space and
present the BCNetV2 as the enhanced supernet to ensure rigorous training
fairness over channels. Furthermore, we leverage a stochastic complementary
strategy for training the BCNet, and propose a prior initial population
sampling method to boost the performance of the evolutionary search. We also
propose the first open-source width benchmark on macro structures named
Channel-Bench-Macro for the better comparison of width search algorithms.
Extensive experiments on benchmark CIFAR-10 and ImageNet datasets indicate that
our method can achieve state-of-the-art or competing performance over other
baseline methods. Moreover, our method turns out to further boost the
performance of NAS models by refining their network widths. For example, with
the same FLOPs budget, our obtained EfficientNet-B0 achieves 77.53\% Top-1
accuracy on ImageNet dataset, surpassing the performance of original setting by
0.65\%.
