Title: PC-DARTS: PARTIAL CHANNEL CONNECTIONS FOR MEMORY-EFFICIENT ARCHITECTURE SEARCH

Abstract: Differentiable architecture search (DARTS) provided a fast solution in finding effective network architectures, but suffered from large memory and computing overheads in jointly training a super-network and searching for an optimal architecture. In this paper, we present a novel approach, namely, Partially-Connected DARTS, by sampling a small part of super-network to reduce the redundancy in exploring the network space, thereby performing a more efficient search without comprising the performance. In particular, we perform operation search in a subset of channels while bypassing the held out part in a shortcut. This strategy may suffer from an undesired inconsistency on selecting the edges of super-net caused by sampling different channels. We alleviate it using edge normalization, which adds a new set of edge-level parameters to reduce uncertainty in search. Thanks to the reduced memory cost, PC-DARTS can be trained with a larger batch size and, consequently, enjoys both faster speed and higher training stability. Experimental results demonstrate the effectiveness of the proposed method. Specifically, we achieve an error rate of 2.57% on CIFAR10 with merely 0.1 GPU-days for architecture search, and a state-of-the-art top-1 error rate of 24.2% on ImageNet (under the mobile setting) using 3.8 GPU-days for search. Our code has been made available at https://github.com/yuhuixu1993/PC-DARTS.

1. INTRODUCTION:

Neural architecture search (NAS) emerged as an important branch of automatic machine learning (AutoML), and has been attracting increasing attentions from both academia and industry. The key methodology of NAS is to build a large space of network architectures, develop an efficient algorithm to explore the space, and discover the optimal structure under a combination of training data and constraints (e.g., network size and latency). Different from early approaches that often incur large computation overheads (Zoph & Le, 2017; Zoph et al., 2018; Real et al., 2019) , recent oneshot approaches (Pham et al., 2018; Liu et al., 2019) have reduced the search costs by orders of magnitudes, which advances its applications to many real-world problems. In particular, DARTS (Liu et al., 2019) converts the operation selection into weighting a fixed set of operations. This makes the entire framework differentiable to architecture hyper-parameters and thus the network search can be efficiently accomplished in an end-to-end fashion. Despite its sophisticated design, DARTS is still subject to a large yet redundant space of network architectures and thus suffers from heavy memory and computation overheads. This prevents the search process from using larger batch sizes for either speedup or higher stability. Prior work (Chen et al., 2019) proposed to reduce the search space, which leads to an approximation that may sacrifice the optimality of the discovered architecture.

In this paper, we present a simple yet effective approach named Partially-Connected DARTS (PC-DARTS) to reduce the burdens of memory and computation. The core idea is intuitive: instead of sending all channels into the block of operation selection, we randomly sample a subset of them in each step, while bypassing the rest directly in a shortcut. We assume the computation on this subset is a surrogate approximating that on all the channels. Besides the tremendous reduction in memory and computation costs, channel sampling brings another benefit -operation search is regularized and less likely to fall into local optima. However, PC-DARTS incurs a side effect, where the selection of channel connectivity would become unstable as different subsets of channels are sampled across iterations. Thus, we introduce edge normalization to stabilize the search for network connectivity by explicitly learning an extra set of edge-selection hyper-parameters. By sharing these hyper-parameters throughout the training process, the sought network architecture is insensitive to the sampled channels across iterations and thus is more stable.

Benefiting from the partial connection strategy, we are able to greatly increase the batch size. Specifically, as only 1/K of channels are randomly sampled for an operation selection, it reduces the memory burden by almost K times. This allows us to use a K times larger batch size during search, which not only accelerates the network search but also stabilizes the process particularly for largescale datasets. Experiments on benchmark datasets demonstrate the effectiveness of PC-DARTS. Specifically, we achieve an error rate of 2.57% in less than 0.1 GPU-days (around 1.5 hours) on a single Tesla V100 GPU, surpassing the result of 2.76% reported by DARTS that required 1.0 GPUday. Furthermore, PC-DARTS allows a direct search on ImageNet (while DARTS failed due to low stability), and sets the state-of-the-art record with a top-1 error of 24.2% (under the mobile setting) in only 3.8 GPU-days (11.5 hours on eight Tesla V100 GPUs).

2. RELATED WORK:

Thanks to the rapid development of deep learning, significant gain in performance has been brought to a wide range of computer vision problems, most of which owed to manually desgined network architectures (Krizhevsky et al., 2012; Simonyan & Zisserman, 2015; He et al., 2016; Huang et al., 2017) . Recently, a new research field named neural architecture search (NAS) has been attracting increasing attentions. The goal is to find automatic ways of designing neural architectures to replace conventional handcrafted ones. According to the heuristics to explore the large architecture space, existing NAS approaches can be roughly divided into three categories, namely, evolution-based approaches, reinforcement-learning-based approaches and one-shot approaches.

The first type of architecture search methods (Liu et al., 2018b; Xie & Yuille, 2017; Real et al., 2017; Elsken et al., 2019; Real et al., 2019; Miikkulainen et al., 2019) adopted evolutionary algorithms, which assumed the possibility of applying genetic operations to force a single architecture or a family evolve towards better performance. Among them, Liu et al. (Liu et al., 2018b) introduced a hierarchical representation for describing a network architecture, and Xie et al. (Xie & Yuille, 2017) decomposed each architecture into a representation of 'genes'. Real et al. (Real et al., 2019) proposed aging evolution which improved upon standard tournament selection, and surpassed the best manually designed architecture since then. Another line of heuristics turns to reinforcement learning (RL) (Zoph & Le, 2017; Baker et al., 2017; Zoph et al., 2018; Zhong et al., 2018; Liu et al., 2018a) , which trained a meta-controller to guide the search process. Zoph et al. (Zoph & Le, 2017) first proposed using a controller-based recurrent neural network to generate hyper-parameters of neural networks. To reduce the computation cost, researchers started to search for blocks or cells (Zhong et al., 2018; Zoph et al., 2018) instead of the entire network, and consequently, managed to reduce the overall computational costs by a factor of 7. Other kinds of approximation, such as greedy search (Liu et al., 2018a) , were also applied to further accelerate search. Nevertheless, the computation costs of these approaches, based on either evolution or RL, are still beyond acceptance.

In order to accomplish architecture search within a short period of time, researchers considered to reduce the costs of evaluating each searched candidate. Early efforts include sharing weights between searched and newly generated networks (Cai et al., 2018) , and later these methods were generalized into a more elegant framework named one-shot architecture search (Brock et al., 2018; Cai et al., 2019; Liu et al., 2019; Pham et al., 2018; Xie et al., 2019) , in which an over-parameterized network or super-network covering all candidate operations was trained only once, from which exponentially many sub-networks can be sampled. As typical examples, SMASH (Brock et al Figure 1: Illustration of the proposed approach (best viewed in color), partially-connected DARTS (PC-DARTS). As an example, we investigate how information is propagated to node #3, i.e., j = 3. There are two sets of hyper-parameters during search, namely, α o i,j and {β i,j }, where 0 i < j and o ∈ O. To determine α o i,j , we only sample a subset, 1/K, of channels and connect them to the next stage, so that the memory consumption is reduced by K times. To minimize the uncertainty incurred by sampling, we add {β i,j } as extra edge-level parameters. 2018) trained the over-parameterized network by a HyperNet (Ha et al., 2017) , and ENAS (Pham et al., 2018) shared parameters among child models to avoid retraining each candidate from scratch. This paper is based on DARTS (Liu et al., 2018b) , which introduced a differentiable framework for architecture search, and thus combine the search and evaluation stages into one. A super-network is optimized during the search stage, after which the strongest sub-network is preserved and then retrained. Despite its simplicity, researchers detected some of its drawbacks, such as instability (Li & Talwalkar, 2019; Sciuto et al., 2019) , which led to a few improved approaches beyond DARTS (Cai et al., 2019; Chen et al., 2019; Mei et al., 2020) . In particular, ProxylessNAS (Cai et al., 2019) was the first method that searched directly on ImageNet, and P-DARTS (Chen et al., 2019) designed a progressive search stage to bridge the depth gap between the super-network and the sub-network.

3. THE PROPOSED APPROACH:



3.1. PRELIMINARIES: DIFFERENTIABLE ARCHITECTURE SEARCH (DARTS):

We first review the baseline DARTS (Liu et al., 2019) , and define the notations for the discussion later. Mathematically, DARTS decomposes the searched network into a number (L) of cells. Each cell is represented as a directed acyclic graph (DAG) with N nodes, where each node defines a network layer. There is a pre-defined space of operations denoted by O, in which each element, o(•), is a fixed operation (e.g., identity connection, and 3 × 3 convolution) performed at a network layer. Within a cell, the goal is to choose one operation from O to connect each pair of nodes. Let a pair of nodes be (i, j), where 0 i < j N -1, the core idea of DARTS is to formulate the information propagated from i to j as a weighted sum over |O| operations, namely,

f i,j (x i ) = o∈O exp{α o i,j } o ∈O exp{α o i,j } • o(x i )

, where x i is the output of the i-th node, and α o i,j is a hyper-parameter for weighting operation o(x i ). The output of a node is the sum of all input flows, i.e., x j = i<j f i,j (x i ), and the output of the entire cell is formed by concatenating the output of nodes x 2 -x N -1 , i.e., concat(x 2 , x 3 , . . . , x N -1 ). Note that the first two nodes, x 0 and x 1 , are input nodes to a cell, which are fixed during architecture search. This design makes the entire framework differentiable to both layer weights and hyper-parameters α o i,j , so that it is possible to perform architecture search in an end-to-end fashion. After the search process is finished, on each edge (i, j), the operation o with the largest α o i,j value is preserved, and each node j is connected to two precedents i < j with the largest α o i,j preserved.

3.2. PARTIAL CHANNEL CONNECTIONS:

A drawback of DARTS lies in memory inefficiency. In the main part of the searched architecture, |O| operations and the corresponding outputs need to be stored at each node (i.e., each network layer), leading to |O|× memory to use. To fit into a GPU, one must reduce the batch size during search, which inevitably slows down search speed, and may deteriorate search stability and accuracy.

An alternative solution to memory efficiency is the partial channel connection as depicted in Figure 1 . Take the connection from x i to x j for example. This involves defining a channel sampling mask S i,j , which assigns 1 to selected channels and 0 to masked ones. The selected channels are sent into mixed computation of |O| operations, while the masked ones bypass these operations, i.e., they are directly copied to the output,

EQUATION

where, S i,j * x i and (1 -S i,j ) * x i denote the selected and masked channels, respectively. In practice, we set the proportion of selected channels to 1/K by regarding K as a hyper-parameter.

By varying K, we could trade off between architecture search accuracy (smaller K) and efficiency (larger K) to strike a balance (See Section 4.4.1 for more details).

A direct benefit brought by the partial channel connection is that the memory overhead of computing

f PC i,j (x i ; S i,j

) is reduced by K times. This allows us to use a larger batch size for architecture search. There are twofold benefits. First, the computing cost could be reduced by K times during the architecture search. Moreover, the larger batch size implies the possibility of sampling more training data during each iteration. This is particularly important for the stability of architecture search. In most cases, the advantage of one operation over another is not significant, unless more training data are involved in a mini-batch to reduce the uncertainty in updating the parameters of network weights and architectures.

3.3. EDGE NORMALIZATION:

Let us look into the impact of sampling channels on neural architecture search. There are both positive and negative effects. On the upside, by feeding a small subset of channels for operation mixture while bypassing the remainder, we make it less biased in selecting operations. In other words, for edge (i, j), given an input x i , the difference from using two sets of hyper-parameters α o i,j and α o i,j is largely reduced, because only a small part (1/K) of input channels would go through the operation mixture while the remaining channels are left intact. This regularizes the preference of a weight-free operation (e.g., skip-connect, max-pooling, etc.) over a weight-equipped one (e.g., various kinds of convolution) in O. In the early stage, the search algorithm often prefers weight-free operations, because they do not have weights to train and thus produce more consistent outputs, i.e., o(x i ). In contrast, the weight-equipped ones, before their weights are well optimized, would propagate inconsistent information across iterations. Consequently, weight-free operations often accumulate larger weights (namely α o i,j ) at the beginning, and this makes it difficult for the weightequipped operations to beat them even after they have been well trained thereafter. This phenomenon is especially significant when the proxy dataset (on which architecture search is performed) is difficult, and this could prevent DARTS from performing satisfactory architecture search on ImageNet.

In experiments, we will show that PC-DARTS, with partial channel connections, produces more stable and superior performance on ImageNet.

On the downside, in a cell, each output node x j needs to pick up two input nodes from its precedents {x 0 , x 1 , . . . , x j-1 }, which are weighted by max o α o 0,j , max o α o 1,j , . . . , max o α o j-1,j , respectively, following the original DARTS. However, these architecture parameters are optimized by randomly sampled channels across iterations, and thus the optimal connectivity determined by them could be unstable as the sampled channels change over time. This could cause undesired fluctuation in the resultant network architecture. To mitigate this problem, we introduce edge normalization that weighs on each edge (i, j) explicitly, denoted by β i,j , so that the computation of x j becomes:

x PC j = i<j exp {β i,j } i <j exp {β i ,j } • f i,j (x i ).

(2) Specifically, after the architecture search is done, the connectivity of edge (i, j) is determined by both α o i,j and β i,j , for which we multiply the normalized coefficients together, i.e., multiplying exp{βi,j } i <j exp{β i ,j } by

exp{α o i,j } o ∈O exp{α o i,j }

. Then the edges are selected by finding the large edge weights as in DARTS. Since β i,j are shared through the training process, the learned network architecture is insensitive to the sampled channels across iterations, making the architecture search more stable. In Section 4.4.2, we will show that edge normalization is also effective over the original DARTS.

Finally, the extra computation overhead required for edge normalization is negligible.

3.4. DISCUSSIONS AND RELATIONSHIP TO PRIOR WORK:

First of all, there are two major contributions of our approach, namely, channel sampling and edge normalization. Channel sampling, as the key technique in this work, has not been studied in NAS for reducing computational overhead (other regularization methods like Dropout (Srivastava et al., 2014) and DropPath (Larsson et al., 2017) Other researchers also tried to alleviate the large memory consumption of DARTS. Among prior efforts, ProxylessNAS (Cai et al., 2019) binarized the multinomial distribution α o i,j and samples two paths at each time, which significantly reduced memory cost and enabled direct search on ImageNet. PARSEC (Casale et al., 2019 ) also proposed a sampling-based optimization method to learn a probability distribution. Our solution, by preserving all operations for architecture search, achieves a higher accuracy in particular on challenging datasets like ImageNet (+0.7% over ProxylessNAS and +1.8% over PARSEC). Another practical method towards memory efficiency is Progressive-DARTS (Chen et al., 2019) , which eliminated a subset of operators in order to provide sufficient memory for deeper architecture search. In comparison, our approach preserves all operators and instead performs sub-sampling on the channel dimension. This strategy works better in particular on large-scale datasets like ImageNet.

4. EXPERIMENTS:



4.1. DATASETS AND IMPLEMENTATION DETAILS:

We perform experiments on CIFAR10 and ImageNet, two most popular datasets for evaluating neural architecture search. CIFAR10 (Krizhevsky & Hinton, 2009 ) consists of 60K images, all of which are of a spatial resolution of 32 × 32. These images are equally distributed over 10 classes, with 50K training and 10K testing images. ImageNet (Deng et al., 2009) contains 1,000 object categories, and 1.3M training images and 50K validation images, all of which are high-resolution and roughly equally distributed over all classes. Following the conventions (Zoph et al., 2018; Liu et al., 2019) , we apply the mobile setting where the input image size is fixed to be 224 × 224 and the number of multi-add operations does not exceed 600M in the testing stage.

Following DARTS (Liu et al., 2019) as well as conventional architecture search approaches, we use an individual stage for architecture search, and after the optimal architecture is obtained, we conduct another training process from scratch. In the search stage, the goal is to determine the best sets of hyper-parameters, namely α o i,j and {β i,j } for each edge (i, j). To this end, the trainnig set is partitioned into two parts, with the first part used for optimizing network parameters, e.g., (Real et al., 2019) 2.55±0.05 2.8 3150 evolution Hireachical Evolution (Liu et al., 2018b) 3.75±0.12 15.7 300 evolution PNAS (Liu et al., 2018a) 3.41±0.09 3.2 225 SMBO ENAS + cutout (Pham et al., 2018) 2.89 4.6 0.5 RL NAONet-WS (Luo et al., 2018) 3.53 3.1 0.4 NAO DARTS (1st order) + cutout (Liu et al., 2019) 3.00±0.14 3.3 0.4 gradient-based DARTS (2nd order) + cutout (Liu et al., 2019) convolutional weights, and the second part used for optimizing hyper-parameters. The entire search stage is accomplished in an end-to-end manner. For fair comparison, the operation space O remains the same as the convention, which contains 8 choices, i.e., 3×3 and 5×5 separable convolution, 3×3 and 5×5 dilated separable convolution, 3×3 max-pooling, 3×3 average-pooling, skip-connect (a.k.a., identity), and zero (a.k.a., none).

We propose an alternative and more efficient implementation for partial channel connections. For edge (i, j), we do not perform channel sampling at each time of computing o(x i ), but instead choose the first 1/K channels of x i for operation mixture directly. To compensate, after x j is obtained, we shuffle its channels before using it for further computations. This is the same implementation used in ShuffleNet (Zhang et al., 2018) , which is more GPU-friendly and thus runs faster.

4.2. RESULTS ON CIFAR10:

In the search scenario, the over-parameterized network is constructed by stacking 8 cells (6 normal cells and 2 reduction cells), and each cell consists of N = 6 nodes. We train the network for 50 epochs, with the initial number of channels being 16. The 50K training set of CIFAR10 is split into two subsets with equal size, with one subset used for training network weights and the other used for architecture hyper-parameters.

We set K = 4 for CIFAR10, i.e., only 1/4 features are sampled on each edge, so that the batch size during search is increased from 64 to 256. Besides, following (Chen et al., 2019) , we freeze the hyper-parameters, α o i,j and {β i,j }, and only allow the network parameters to be tuned in the first 15 epochs. This process, called warm-up, is to alleviate the drawback of the parameterized operations. The total memory cost is less than 12GB so that we can train it on most modern GPUs. The network weights are optimized by momentum SGD, with an initial learning rate of 0.1 (annealed down to zero following a cosine schedule without restart), a momentum of 0.9, and a weight decay of 3 × 10 -4 . We use an Adam optimizer (Kingma & Ba, 2015) for α o i,j and {β i,j }, with a fixed learning rate of 6 × 10 -4 , a momentum of (0.5, 0.999) and a weight decay of 10 -3 . Owing to the increased batch size, the entire search process only requires 3 hours on a GTX 1080Ti GPU, or 1.5 hours on a Tesla V100 GPU, which is almost 4× faster than the original first-order DARTS.

The evaluation stage simply follows that of DARTS. The network is composed of 20 cells (18 normal cells and 2 reduction cells), and each type of cells share the same architecture. The initial number of channels is 36. The entire 50K training set is used, and the network is trained from scratch for 600 epochs using a batch size of 128. We use the SGD optimizer with an initial learning rate of 0.025 (annealed down to zero following a cosine schedule without restart), a momentum of 0.9, a weight decay of 3 × 10 -4 and a norm gradient clipping at 5. Drop-path with a rate of 0.3 as well as cutout (DeVries & Taylor, 2017) is also used for regularization. We visualize the searched normal and reduction cells in the left-hand side of Figure 2 .

Results and comparison to recent approaches are summarized in Table 1 . In merely 0.1 GPU-days, PC-DARTS achieve an error rate of 2.57%, with both search time and accuracy surpassing the baseline, DARTS, significantly. To the best of our knowledge, our approach is the fastest one that achieves an error rate of less than 3%. Our number ranks among the top of recent architecture search results. ProxylessNAS used a different protocol to achieve an error rate of 2.08%, and also reported a much longer time for architecture search. P-DARTS (Chen et al., 2019) slightly outperforms our approach by searching over a deeper architecture, which we can integrate our approach into P-DARTS to accelerate it as well as improve its performance (consistent accuracy gain is obtained).

4.3. RESULTS ON IMAGENET:

We slightly modify the network architecture used on CIFAR10 to fit ImageNet. The overparameterized network starts with three convolution layers of stride 2 to reduce the input image resolution from 224 × 224 to 28 × 28. 8 cells (6 normal cells and 2 reduction cells) are stacked beyond this point, and each cell consists of N = 6 nodes. To reduce search time, we randomly sample two subsets from the 1.3M training set of ImageNet, with 10% and 2.5% images, respectively. The former one is used for training network weights and the latter for updating hyper-parameters.

ImageNet is much more difficult than CIFAR10. To preserve more information, we use a subsampling rate of 1/2, which doubles that used in CIFAR10. Still, a total of 50 epochs are trained and architecture hyper-parameters are frozen during the first 35 epochs. For network weights, we use a momentum SGD with an initial learning rate of 0.5 (annealed down to zero following a cosine schedule without restart), a momentum of 0.9, and a weight decay of 3 × 10 -5 . For hyper-parameters, we use the Adam optimizer (Kingma & Ba, 2015) with a fixed learning rate of 6 × 10 -3 , a momentum (0.5, 0.999) and a weight decay of 10 -3 . We use eight Tesla V100 GPUs for search, and the total batch size is 1,024. The entire search process takes around 11.5 hours. We visualize the searched normal and reduction cells in the right-hand side of Figure 2 .

The evaluation stage follows that of DARTS, which also starts with three convolution layers with a stride of 2 that reduce the input image resolution from 224 × 224 to 28 × 28. 14 cells (12 normal cells and 2 reduction cells) are stacked beyond this point, with the initial channel number being 48. The network is trained from scratch for 250 epochs using a batch size of 1,024. We use the SGD (Zhang et al., 2018) 26.4 10.2 ∼5 524 -manual ShuffleNet 2× (v2) (Ma et al., 2018) 25.1 -∼5

591. -manual:

NASNet-A (Zoph et al., 2018) 26.0 8.4 5.3 564 1800 RL AmoebaNet-C (Real et al., 2019) 24.3 7.6 6.4 570 3150 evolution PNAS (Liu et al., 2018a) 25 (Cai et al., 2019) 24.9 7.5 7.1 465 8.3 gradient-based P-DARTS (CIFAR10) (Chen et al., 2019) 24.4 7.4 4.9 557 0.3 gradient-based P-DARTS (CIFAR100) (Chen et al., 2019) optimizer with a momentum of 0.9, an initial learning rate of 0.5 (decayed down to zero linearly), and a weight decay of 3 × 10 -5 . Additional enhancements are adopted including label smoothing and an auxiliary loss tower during training. Learning rate warm-up is applied for the first 5 epochs.

Results are summarized in Table 2 . Note that the architectures searched on CIFAR10 and ImageNet itself are both evaluated. For the former, it reports a top-1/5 error of 25.1%/7.8%, which significantly outperforms 26.7%/8.7% reported by DARTS. This is impressive given that our search time is much shorter. For the latter, we achieve a top-1/5 error of 24.2%/7.3%, which is the best known performance to date. In comparison, ProxylessNAS (Cai et al., 2019) , another approach that directly searched on ImageNet, used almost doubled time to produce 24.9%/7.5%, which verifies that our strategy of reducing memory consumption is more efficient yet effective. Test Error (%) Search Cost (GPU-hours) We first evaluate K, the hyper-parameter that controls the sampling rate of channels. Note that a tradeoff exists: increasing the sampling rate (i.e., using a smaller K) allows more accurate infor- mation to be propagated, while sampling a smaller portion of channels casts heavier regularization and may alleviate over-fitting. To study its impacts, we evaluate the performance produced by four sampling rates, namely 1/1, 1/2, 1/4 and 1/8, on CIFAR10, and plot the results into a diagram of search time and accuracy in Figure 3 . One can observe that a sampling rate of 1/4 yields superior performance over 1/2 and 1/1 in terms of both time and accruacy. Using 1/8, while being able to further reduce search time, causes a dramatic accuracy drop.

These experiments not only justify the tradeoff between accuracy and efficiency of architecture search, but also reveal the redundancy of super-network optimization in the context of NAS. More essentially, this reflects the gap between search and evaluation, i.e., a better optimized super-network does not guarantee a better searched architecture -in other words, differentiable NAS approaches are easily to over-fit on the super-network. From this viewpoint, channel sampling plays the role of regularization, which shrinks the gap between search and evaluation.

4.4.2. CONTRIBUTIONS OF DIFFERENT COMPONENTS OF PC-DARTS:

Next, we evaluate the contributions made by two components of PC-DARTS, namely, partial channel connections and edge normalization. The results are summarized in Table 3 . It is clear that edge normalization brings the effect of regularization even when the channels are fully-connected. Being a component with very few extra costs, it can be freely applied to a wide range of approaches involving edge selection. In addition, edge normalization cooperates well with partial channel connections to provide further improvement. Without edge normalization, our approach can suffer low stability in both the number of network parameters and accuracy. On CIFAR10, we run search without edge normalization for several times, and the testing error ranges from 2.54% to 3.01%. On the other hand, with edge normalization, the maximal difference among five runs does not exceed 0.15%. Therefore, we justify our motivation in designing edge normalization (see Section 3.3), i.e., it can be a standalone method for stabilizing architecture search, yet it works particularly well under partial channel connection, since the latter introduces randomness and stabilization indeed helps.

4.4.3. STABILITY OF OUR APPROACH:

In this part, we demonstrate the stability of our approach from three different perspectives. Results are summarized in Table 4 , with detailed analysis below.

First, we evaluate the stability of different approaches by conducting 5 independent search runs. We re-implement DARTS-v1 and DARTS-v2 with the proposed code, as well as that of our approach, and perform five individual search processes with the same hyper-parameters but different random seeds (0, 1, 2, 3, 4). The architectures found by DARTS in different runs, either v1 or v2, suffer much higher standard deviations than that of our approach (DARTS-v1: ±0.15%, DARTS-v2: ±0.21%, PC-DARTS: ±0.07%).

Second, we study how the search algorithm is robust to hyper-parameters, e.g., the length of the search stage. We try different numbers of epochs, from 50 to 125, and observe how it impacts the performance of searched architectures. Again, we find that both DARTS-v1 and DARTS-v2 are less robust to this change.

Third, we go one step further by enlarging the search space, allowing a larger number of nodes to appear in each cell -the original DARTS-based space has 6 nodes, and here we allow 5, 6 and 7 nodes. From 5 to 6 nodes, the performance of all three algorithms goes up, while from 6 to 7 nodes, DARTS-v2 suffers a significant accuracy drop, while PC-DARTS mostly preserves it performance. As a side note, all these algorithms fail to gain accuracy in enlarged search spaces, because CIFAR10 is relatively simple and the performance of searched architectures seems to saturate.

With all the above experiments, we can conclude that PC-DARTS is indeed more robust than DARTS in different scenarios of evaluation. This largely owes to the regularization mechanism introduced by PC-DARTS, which (i) forces it to adjust to dynamic architectures, and (ii) avoids the large pruning gap after search, brought by the none operator.

4.5. TRANSFERRING TO OBJECT DETECTION:

To further validate the performance of the architecture found by PC-DARTS, we use it as the backbone for object detection. We plug the architecture found on ImageNet, as shown in Figure 2 , into a popular object detection framework named Single-Shot Detectors (SSD) (Liu et al., 2016) . We train the entire model on the MS-COCO (Lin et al., 2014) trainval dataset, which is obtained by a standard pipeline that excludes 5K images from the val set, merges the rest data into the 80K train set and evaluates it on the test-dev 2015 set.

Results are summarized in Table 5 . Results for SSD, YOLO and MobileNets are from (Tan et al., 2019) . With the backbone searched by PC-DARTS, we need only 1.2B FLOPs to achieve an AP of 28.9%, which is 5.7% higher than SSD300 (but with 29× fewer FLOPs), or 2.1% higher than SSD512 (but with 83× fewer FLOPs). Compared to the 'Lite' versions of SSD, our result enjoys significant advantages in AP, surpassing the most powerful one (SSDLiteV3) by an AP of 6.9%.

All these results suggest that the advantages obtained by PC-DARTS on image classification can transfer well to object detection, a more challenging task, and we believe these architectures would benefit even more application scenarios.

5. CONCLUSIONS:

In this paper, we proposed a simple and effective approach named partially-connected differentiable architecture search (PC-DARTS). The core idea is to randomly sample a proportion of channels for operation search, so that the framework is more memory efficient and, consequently, a larger batch size can be used for higher stability. Additional contribution to search stability is made by edge normalization, a light-weighted module that requires merely no extra computation. Our approach can accomplish a complete search within 0.1 GPU-days on CIFAR10, or 3.8 GPU-days on ImageNet, and report state-of-the-art classification accuracy in particular on ImageNet.

This research delivers two important messages that are important for future research. First, differentiable architecture search seems to suffer even more significant instability compared to conventional neural network training, and so it can largely benefit from both (i) regularization and (ii) a larger batch size. This work shows an efficient way to incorporate these two factors in a single pipeline, yet we believe there exist other (possibly more essential) solutions for this purpose. Second, going one step further, our work reveals the redundancy of super-network optimization in NAS, and experiments reveal a gap between improving super-network optimization and finding a better architecture, and regularization plays an efficient role in shrinking the gap. We believe these insights can inspire researchers in this field, and we will also follow this path towards designing stabilized yet efficient algorithms for differentiable architecture search.

:



Figures and Tables:

Figure2: Cells found on CIFAR10 and ImageNet. Searching on ImageNet makes the normal cell more complex (deeper), although the reduction cell is very similar to that found on CIFAR10.

.,

Table content: <table><tr><td/><td/><td/><td/><td/><td/><td colspan="3">Partial Channel Connection</td></tr><tr><td>0</td><td/><td colspan="2">Sample</td><td/><td/><td/><td/></tr><tr><td/><td>𝐱 0</td><td>𝐒 0,3</td><td/><td colspan="2">3x3 sep … … 5x5 sep</td><td>𝑝 𝑜1 + 𝑝 𝑜2</td><td>+</td><td>Concat 𝑓 0,3 PC (𝐱 0 ; 𝐒 0,3 )</td></tr><tr><td>1</td><td/><td/><td/><td>Identity</td><td>𝑝 𝑜8</td><td>+</td><td>𝑝 𝑜 =</td><td>exp{𝛼 𝑖,𝑗 𝑜 } σ 𝑜 ′ ∈𝒪 exp{𝛼 𝑖,𝑗 𝑜 ′ }</td></tr><tr><td/><td/><td/><td/><td/><td/><td/><td colspan="2">Edge Normalization</td></tr><tr><td>2</td><td>𝐱 0</td><td>0</td><td>Partial Channel Connection</td><td>𝑓 0,3 PC (𝐱 0 ; 𝐒 0,3 )</td><td/><td/><td/></tr><tr><td>3</td><td>𝐱 1</td><td>1</td><td>Partial Channel Connection</td><td>𝑓 1,3 PC (𝐱 1 ; 𝐒 1,3 )</td><td/><td/><td colspan="2">𝑞1,3</td><td>+</td><td>3</td></tr><tr><td/><td>𝐱 2</td><td>2</td><td>Partial Channel Connection</td><td>𝑓 2,3 PC (𝐱 2 ; 𝐒 2,3 )</td><td/><td/><td>𝑞 𝑖,𝑗 =</td><td>σ 𝑖 ′ &lt;𝑗 exp{𝛽 𝑖 ′ ,𝑗 } exp{𝛽 𝑖,𝑗 }</td><td>PC 𝐱 3</td></tr></table>

Comparison with state-of-the-art network architectures on CIFAR10.

Table content: <table><tr><td>Architecture</td><td>Test Err. (%)</td><td colspan="3">Params Search Cost Search Method (M) (GPU-days)</td></tr><tr><td>DenseNet-BC (Huang et al., 2017)</td><td>3.46</td><td>25.6</td><td>-</td><td>manual</td></tr><tr><td>NASNet-A + cutout (Zoph et al., 2018)</td><td>2.65</td><td>3.3</td><td>1800</td><td>RL</td></tr><tr><td>AmoebaNet-B + cutout</td><td/><td/><td/><td/></tr></table>

We ran PC-DARTS 5 times and used standalone validation to pick the best from the 5 runs. This process was done by using 45K out of 50K training images for training, and the remaining 5K images for validation. The best one in validation was used for testing, which reported a test error of 2.57%.

Table content: <table><tr><td/><td>2.76±0.09</td><td>3.3</td><td>1</td><td>gradient-based</td></tr><tr><td>SNAS (moderate) + cutout (Xie et al., 2019)</td><td>2.85±0.02</td><td>2.8</td><td>1.5</td><td>gradient-based</td></tr><tr><td>ProxylessNAS + cutout (Cai et al., 2019)</td><td>2.08</td><td>-</td><td>4.0</td><td>gradient-based</td></tr><tr><td>P-DARTS + cutout (Chen et al., 2019)</td><td>2.50</td><td>3.4</td><td>0.3</td><td>gradient-based</td></tr><tr><td>BayesNAS + cutout (Zhou et al., 2019)</td><td>2.81±0.04</td><td>3.4</td><td>0.2</td><td>gradient-based</td></tr><tr><td>PC-DARTS + cutout</td><td>2.57±0.07  ‡</td><td>3.6</td><td>0.1  †</td><td>gradient-based</td></tr><tr><td/><td/><td/><td/><td/></tr></table>

Comparison with state-of-the-art architectures on ImageNet (mobile setting).

Table content: <table><tr><td>Architecture</td><td colspan="6">Test Err. (%) Params ×+ Search Cost Search Method</td></tr><tr><td/><td colspan="2">top-1 top-5</td><td>(M)</td><td colspan="2">(M) (GPU-days)</td><td/></tr><tr><td>Inception-v1 (Szegedy et al., 2015)</td><td>30.2</td><td>10.1</td><td>6.6</td><td>1448</td><td>-</td><td>manual</td></tr><tr><td>MobileNet (Howard et al., 2017)</td><td>29.4</td><td>10.5</td><td>4.2</td><td>569</td><td>-</td><td>manual</td></tr><tr><td>ShuffleNet 2× (v1)</td><td/><td/><td/><td/><td/><td/></tr></table>

This architecture was searched on ImageNet directly, otherwise it was searched on CIFAR10 or CIFAR100.

Table content: <table><tr><td/><td>24.7</td><td>7.5</td><td>5.1</td><td>577</td><td>0.3</td><td>gradient-based</td></tr><tr><td>BayesNAS (Zhou et al., 2019)</td><td>26.5</td><td>8.9</td><td>3.9</td><td>-</td><td>0.2</td><td>gradient-based</td></tr><tr><td>PC-DARTS (CIFAR10)</td><td>25.1</td><td>7.8</td><td>5.3</td><td>586</td><td>0.1</td><td>gradient-based</td></tr><tr><td>PC-DARTS (ImageNet)  ‡</td><td>24.2</td><td>7.3</td><td>5.3</td><td>597</td><td>3.8</td><td>gradient-based</td></tr><tr><td>‡</td><td/><td/><td/><td/><td/><td/></tr></table>



Table content: <table><tr><td>: Ablation study on CIFAR10 and Ima-</td></tr><tr><td>geNet. PC and EN denote partial channel con-</td></tr><tr><td>nections and edge normalization, respectively. All</td></tr><tr><td>architectures on ImageNet are re-trained by 100</td></tr><tr><td>epochs (the 25.8% error corresponds to the best</td></tr><tr><td>entry, 24.2%, reported in Table 2 (250 epochs).</td></tr></table>

Experiments on stability of DARTS and PC-DARTS. Left: Evaluations of searched architectures in five independent search runs. Middle: architectures searched with different numbers of epochs. Right: runs on architectures searched with different numbers of nodes.

Table content: <table><tr><td>Methods</td><td>#1</td><td>#2</td><td>Runs #3</td><td>#4</td><td>#5</td><td>50</td><td>Epochs 75 100</td><td>125</td><td>5</td><td>Nodes 6</td><td>7</td></tr><tr><td>DARTS-v1(%)</td><td colspan="11">2.89 3.15 2.99 3.07 3.27 2.98 2.87 3.32 3.08 3.03 2.98 2.89</td></tr><tr><td>DARTS-v2(%)</td><td colspan="11">3.11 2.68 2.77 3.14 3.06 2.76 2.93 3.51 3.18 2.82 2.76 3.02</td></tr><tr><td colspan="12">PC-DARTS(%) 2.72 2.67 2.57 2.75 2.64 2.57 2.67 2.69 2.75 2.63 2.57 2.64</td></tr></table>

Detection results, in terms of average precisions, on the MS-COCO dataset(test-dev 2015). The backbone architecture of PC-DARTS was searched on ImageNet (with a 24.2% top-1 error).

Table content: <table><tr><td>Network</td><td>Input Size</td><td>Backbone</td><td>×+</td><td colspan="6">AP AP 50 AP 75 AP S AP M AP L</td></tr><tr><td>SSD300 (Liu et al., 2016)</td><td>300×300</td><td>VGG-16</td><td colspan="3">35.2B 23.2 41.2</td><td>23.4</td><td>5.3</td><td>23.2</td><td>39.6</td></tr><tr><td>SSD512 (Liu et al., 2016)</td><td>512×512</td><td>VGG-16</td><td colspan="3">99.5B 26.8 46.5</td><td>27.8</td><td>9.0</td><td>28.9</td><td>41.9</td></tr><tr><td colspan="2">YOLOV2 (Redmon &amp; Farhadi, 2017) 416×416</td><td>Darknet-19</td><td colspan="3">17.5B 21.6 44.0</td><td>19.2</td><td>5.0</td><td>22.4</td><td>35.5</td></tr><tr><td>Pelee (Wang et al., 2018)</td><td>304×304</td><td>PeleeNet</td><td colspan="3">1.3B 22.4 38.3</td><td>22.9</td><td>-</td><td>-</td><td>-</td></tr><tr><td>SSDLiteV1 (Howard et al., 2017)</td><td colspan="4">320×320 MobileNetV1 1.3B 22.2</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr><tr><td>SSDLiteV2 (Sandler et al., 2018)</td><td colspan="4">320×320 MobileNetV2 0.8B 22.1</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr><tr><td>SSDLiteV3 (Tan et al., 2019)</td><td>320×320</td><td>MnasNet-A1</td><td colspan="2">0.8B 23.0</td><td>-</td><td>-</td><td>3.8</td><td>21.7</td><td>42.0</td></tr><tr><td>PC-DARTS with SSD</td><td>320×320</td><td>PC-DARTS  ‡</td><td colspan="3">1.2B 28.9 46.9</td><td>30.0</td><td>7.9</td><td>32.0</td><td>48.3</td></tr><tr><td>‡</td><td/><td/><td/><td/><td/><td/><td/><td/></tr></table>

Peer review (iclr2020):
** Summary ** This paper proposes to improve the previously work DARTS in terms of the training efficiency, from the large memory and computing overheads. The authors propose a partially-connected DARTS (PC-DARTS) with two components: 1. Partial channel connection 2. edge normalization. To be detailed, they sample a small part of channels to perform connection and add edge normalization to eliminate the potential optimization problem. The results on CIFAR-10 and IamgeNet show the approach is effective, especially in ImageNet, the approach achieves SOTA results. ** Strengths ** 1. The research direction of reducing the training/memory effort of Neural Architecture Search is important, which is also very hot in nowadays. 2. The authors propose two components to perform the efficient search process, which are partial channel connection and edge normalization operations. These methods are reasonable to reduce the training effort. The authors are inspired by ShuffleNet or related research topics. 3. The approach is easy to follow and implement, the description of the method is also clear. 4. The experiments also show comparable results in CIFAR-10 and strong performance in ImageNet. ** Weaknesses ** 1. The operation of partial channel connection choses 1/k channels, the remain channels are directly added to the output. This operation somehow feels too straight to be reasonable, since the remain channel has larger weights (1.0) compared to previous weighted combination. Though the second edge normalization can eliminate little, but this modification still suffers from less careful design, for example, another alpha weighted combination? Besides, directly bypass is same as perform identity operation, is this right? 2. The motivation of edge normalization is somehow weak, as the authors are aware of this can also be applied to the original DARTS. From the ablation study, it also shows it works for the original DARTS, which makes the description of 3.3. to be not so convincing. Besides, in the first paragraph of 3.3, what does it mean that “weight-free operations often accumulate larger weights” compared to other operations? I feel the reason is that the weight-free operations are much easier to pass the gradients and easy to be trained. 3. In imageNet results, it seems P-DARTS significantly outperform PC-DARTS in terms of the search cost, and the accuracy is similar. This makes PC-DARTS approach to be embarrassing. 4. One general point is what the authors mentioned, indeed, for NAS, more training data involved in the training process is much more important compared to perform operations. Therefore, the advantage benefits from the less memory usage of 1/k selection and the more data in one mini-batch. This makes the design of current research directions to be different. Does it mean more training (longer time) and more GPU memory will significantly outperform current results? Even the SOTA approaches. 5. Minor point: compared to ProxylessNAS which only samples two paths at each time, their method is much more efficient (though the binarization consumes much). What’s the most advantage of PC-DARTS compared to their method? What if combine their approach with edge normalization?