Dual Path Networks
In this work, we present a simple, highly efficient and modularized Dual Path Network (DPN) for image classification which presents a new topology of connection paths internally. By revealing the equivalence of the state-of-the-art Residual Network (ResNet) and Densely Convolutional Network (DenseNet) within the HORNN framework, we find that ResNet enables feature re-usage while DenseNet enables new features exploration which are both important for learning good representations. To enjoy the benefits from both path topologies, our proposed Dual Path Network shares common features while maintaining the flexibility to explore new features through dual path architectures. Extensive experiments on three benchmark datasets, ImagNet-1k, Places365 and PASCAL VOC, clearly demonstrate superior performance of the proposed DPN over state-of-the-arts. In particular, on the ImagNet-1k dataset, a shallow DPN surpasses the best ResNeXt-101(64x4d) with 26 size, 25 DPN (DPN-131) further pushes the state-of-the-art single model performance with about 2 times faster training speed. Experiments on the Places365 large-scale scene dataset, PASCAL VOC detection dataset, and PASCAL VOC segmentation dataset also demonstrate its consistently better performance than DenseNet, ResNet and the latest ResNeXt model over various applications.READ FULL TEXT VIEW PDF
In this project we work on creating a model to classify images for the P...
Basing on the analysis by revealing the equivalence of modern networks, ...
We present RON, an efficient and effective framework for generic object
In this paper, we present correlated logistic (CorrLog) model for multil...
A ResNet-based multi-path refinement CNN is used for object contour
Multiple-instance learning (MIL) has served as an important tool for a w...
In this work, we show that saturating output activation functions, such ...
Dual Path Networks
Dual Path Networks (DPN) supporting pretrained weights converted from original MXNet implementation
Tensorflow Imprementation of Dual Path Networks https://arxiv.org/abs/1707.01629
Invasive Species Monitoring from Kaggle Using pre-trained VGG16 and fine_tune the last conversation layer for about 16 epochs with 400x300 images Get 96% accuracy
“Network engineering” is increasingly more important for visual recognition research. In this paper, we aim to develop new path topology of deep architectures to further push the frontier of representation learning. In particular, we focus on analyzing and reforming the skip connection, which has been widely used in designing modern deep neural networks and offers remarkable success in many applications[16, 7, 20, 14, 5]. Skip connection creates a path propagating information from a lower layer directly to a higher layer. During the forward propagation, skip connection enables a very top layer to access information from a distant bottom layer; while for the backward propagation, it facilitates gradient back-propagation to the bottom layer without diminishing magnitude, which effectively alleviates the gradient vanishing problem and eases the optimization.
Deep Residual Network (ResNet)  is one of the first works that successfully adopt skip connections, where each mirco-block, a.k.a. residual function, is associated with a skip connection, called residual path. The residual path element-wisely adds the input features to the output of the same mirco-block, making it a residual unit. Depending on the inner structure design of the mirco-block, the residual network has developed into a family of various architectures, including WRN , Inception-resnet , and ResNeXt .
More recently, Huang et al.  proposed a different network architecture that achieves comparable accuracy with deep ResNet , named Dense Convolutional Network (DenseNet). Different from residual networks which add the input features to the output features through the residual path, the DenseNet uses a densely connected path to concatenate the input features with the output features, enabling each micro-block to receive raw information from all previous micro-blocks. Similar with residual network family, DenseNet can be categorized to the densely connected network family. Although the width of the densely connected path increases linearly as it goes deeper, causing the number of parameters to grow quadratically, DenseNet provides higher parameter efficiency compared with the ResNet .
In this work, we aim to study the advantages and limitations of both topologies and further enrich the path design by proposing a dual path architecture. In particular, we first provide a new understanding of the densely connected networks from the lens of a higher order recurrent neural network (HORNN), and explore the relations between densely connected networks and residual networks. More specifically, we bridge the densely connected networks with the HORNNs, showing that the densely connected networks are HORNNs when the weights are shared across steps. Inspired by  which demonstrates the relations between the residual networks and RNNs, we prove that the residual networks are densely connected networks when connections are shared across layers. With this unified view on the state-of-the-art deep architecture, we find that the deep residual networks implicitly reuse the features through the residual path, while densely connected networks keep exploring new features through the densely connected path.
Based on this new view, we propose a novel dual path architecture, called the Dual Path Network (DPN). This new architecture inherits both advantages of residual and densely connected paths, enabling effective feature re-usage and re-exploitation. The proposed DPN also enjoys higher parameter efficiency, lower computational cost and lower memory consumption, and being friendly for optimization compared with the state-of-the-art classification networks. Experimental results validate the outstanding high accuracy of DPN compared with other well-established baselines for image classification on both ImageNet-1k dataset and Places365-Standard dataset. Additional experiments on object detection task and semantic segmentation task also demonstrate that the proposed dual path architecture can be broadly applied for various tasks and consistently achieve the best performance.
Designing an advanced neural network architecture is one of the most challenging but effective ways for improving the image classification performance, which can also directly benefit a variety of other tasks. AlexNet  and VGG 
are two most important works that show the power of deep convolutional neural networks. They demonstrate that building deeper networks with tiny convolutional kernels is a promising way to increase the learning capacity of the neural network. Residual Network was first proposed byHe et al. , which greatly alleviates the optimization difficulty and further pushes the depth of deep neural networks to hundreds of layers by using skipping connections. Since then, different kinds of residual networks arose, concentrating on either building a more efficient micro-block inner structure [3, 21]
or exploring how to use residual connections. Recently, Huang et al.  proposed a different network, called Dense Convolutional Networks, where skip connections are used to concatenate the input to the output instead of adding. However, the width of the densely connected path linearly increases as the depth rises, causing the number of parameters to grow quadratically and costing a large amount of GPU memory compared with the residual networks if the implementation is not specifically optimized. This limits the building of a deeper and wider densenet that may further improve the accuracy.
Besides designing new architectures, researchers also try to re-explore the existing state-of-the-art architectures. In , the authors showed the importance of the residual path on alleviating the optimization difficulty. In , the residual networks are bridged with recurrent neural networks (RNNs), which helps people better understand the deep residual network from the perspective of RNNs. In , several different residual functions are unified, trying to provide a better understanding of designing a better mirco structure with higher learning capacity. But still, for the densely connected networks, in addition to several intuitive explanations on better feature reusage and efficient gradient flow introduced, there have been few works that are able to provide a really deeper understanding.
In this work, we aim to provide a deeper understanding of the densely connected network, from the lens of Higher Order RNN, and explain how the residual networks are in indeed a special case of densely connected network. Based on these analysis, we then propose a novel Dual Path Network architecture that not only achieves higher accuracy, but also enjoys high parameter and computational efficiency.
In this section, we first bridge the densely connected network  with higher order recurrent neural networks  to provide a new understanding of the densely connected network. We prove that residual networks [5, 6, 22, 21, 3], essentially belong to the family of densely connected networks except their connections are shared across steps. Then, we present analysis on strengths and weaknesses of each topology architecture, which motivates us to develop the dual path network architecture.
For exploring the above relation, we provide a new view on the densely connected networks from the lens of Higher Order RNN, explain their relations and then specialize the analysis to residual networks. Throughout the paper, we formulate the HORNN in a more generalized form. We use to denote the hidden state of the recurrent neural network at the -th step and use as the index of the current step. Let denotes the input at -th step, . For each step,
refers to the feature extracting function which takes the hidden state as input and outputs the extracted information. Thedenotes a transformation function that transforms the gathered information to current hidden state:
Eqn. (1) encapsulates the update rule of various network architectures in a generalized way. For HORNNs, weights are shared across steps, i.e. and . For the densely connected networks, each step (micro-block) has its own parameter, which means and are not shared. Such observation shows that the densely connected path of DenseNet is essentially a higher order path which is able to extract new information from previous states. Figure 1(c)(d) graphically shows the relations of densely connected networks and higher order recurrent networks.
We then explain that the residual networks are special cases of densely connected networks if taking . Here, for succinctness we introduce to denote the intermediate results and let . Then Eqn. (1) can be rewritten as
where . Obviously, Eqn. (4) has the same form as the residual network and the recurrent neural network. Specifically, when , Eqn. (4) degenerates to an RNN; when none of is shared and , Eqn. (4) produces a residual network. Figure 1(a)(b) graphically shows the relation. Besides, recall that Eqn. (4) is derived under the condition when from Eqn. (1) and the densely connected networks are in forms of Eqn. (1), meaning that the residual network family essentially belongs to the densely connected network family. Figure 2(a–c) give an example and demonstrate such equivalence, where corresponds to the first convolutional layer and the corresponds to the other layers within a micro-block in Figure 2(b).
From the above analysis, we observe: 1) both residual networks and densely connected networks can be seen as a HORNN when and are shared for all ; 2) a residual network is a densely connected network if . By sharing the across all steps, receives the same feature from a given output state, which encourages the feature reusage and thus reduces the feature redundancy. However, such an information sharing strategy makes it difficult for residual networks to explore new features. Comparatively, the densely connected networks are able to explore new information from previous outputs since the is not shared across steps. However, different may extract the same type of features multiple times, leading to high redundancy.
In the following section, we present the dual path networks which can overcome both inherent limitations of these two state-of-the-art network architectures. Their relations with HORNN also imply that our proposed architecture can be used for improving HORNN, which we leave for future works.
Above we explain the relations between residual networks and densely connected networks, showing that the residual path implicitly reuses features, but it is not good at exploring new features. In contrast the densely connected network keeps exploring new features but suffers from higher redundancy.
In this section, we describe the details of our proposed novel dual path architecture, i.e. the Dual Path Network (DPN). In the following, we first introduce and formulate the dual path architecture, and then present the network structure in details with complexity analysis.
Sec. 3 discusses the advantage and limitations of both residual networks and densely connected networks. Based on the analysis, we propose a simple dual path architecture which shares the across all blocks to enjoy the benefits of reusing common features with low redundancy, while still remaining a densely connected path to give the network more flexibility in learning new features. We formulate such a dual path architecture as follows:
where and denote the extracted information at -th step from individual path, is a feature learning function as . Eqn. (5) refers to the densely connected path that enables exploring new features, Eqn. (6) refers to the residual path that enables common features re-usage, and Eqn. (7) defines the dual path that integrates them and feeds them to the last transformation function in Eqn. (8). The final transformation function generates current state, which is used for making next mapping or prediction. Figure 2(d)(e) show an example of the dual path architecture that is being used in our experiments.
More generally, the proposed DPN is a family of convolutional neural networks which contains a residual alike path and a densely connected alike path, as explained later. Similar to these networks, one can customize the micro-block function of DPN for task-specific usage or for further overall performance boosting.
The proposed network is built by stacking multiple modualized mirco-blocks as shown in Figure 2. In this work, the structure of each micro-block is designed with a bottleneck style  which starts with a convolutional layer followed by a convolutional layer, and ends with a convolutional layer. The output of the last convolutional layer is split into two parts: the first part is element-wisely added to the residual path, and the second part is concatenated with the densly connected path. To enhance the leaning capacity of each micro-block, we use the grouped convolution layer in the second layer as the ResNeXt .
Considering that the residual networks are more wildly used than the densely connected networks in practice, we choose the residual network as the backbone and add a thin densely connected path to build the dual path network. Such design also helps slow the width increment of the densely connected path and the cost of GPU memory. Table 1 shows the detailed architecture settings. In the table, refers to the number of groups, and refers to the channels increment for the densely connected path. For the new proposed DPNs, we use
to indicate the width increment of the densely connected path. The overall design of DPN inherits backbone architecture of the vanilla ResNet / ResNeXt, making it very easy to implement and apply to other tasks. One can simply implement a DPN by adding one more “slice layer” and “concat layer” upon existing residual networks. Under a well optimized deep learning platform, none of these newly added operations requires extra computational cost or extra memory consumption, making the DPNs highly efficient.
In order to demonstrate the appealing effectiveness of the dual path architecture, we intentionally design a set of DPNs with a considerably smaller model size and less FLOPs compared with the sate-of-the-art ResNeXts , as shown in Table 1. Due to limited computational resources, we set these hyper-parameters based on our previous experience instead of grid search experiments.
We measure the model complexity by counting the total number of learnable parameters within each neural network. Table 1 shows the results for different models. The DPN-92 costs about fewer parameters than ResNeXt-101 (d), while the DPN-98 costs about fewer parameters than ResNeXt-101 (d).
We measure the computational cost of each deep neural network using the floating-point operations (FLOPs) with input size of , in the number of multiply-adds following . Table 1 shows the theoretical computational cost. Though the actual time cost might be influenced by other factors, e.g. GPU bandwidth and coding quality, the computational cost shows the speed upper bound. As can be see from the results, DPN-92 consumes about less FLOPs than ResNeXt-101(d), and the DPN-98 consumes about less FLOPs than ResNeXt-101(d).
|stage||output||DenseNet-161 (k=48)||ResNeXt-101 (324d)||ResNeXt-101 (644d)||DPN-92 (323d)||DPN-98 (404d)|
, 96, stride 2
|, 64, stride 2||, 64, stride 2||, 64, stride 2||, 96, stride 2|
|conv2||56x56||max pool, stride 2||max pool, stride 2||max pool, stride 2||max pool, stride 2||max pool, stride 2|
|11||20cmglobal average pool|
|1000-d fc, softmax||20cmglobal average pool|
|1000-d fc, softmax||20cmglobal average pool|
|1000-d fc, softmax||20cmglobal average pool|
|1000-d fc, softmax||20cmglobal average pool|
|1000-d fc, softmax|
Extensive experiments are conducted for evaluating the proposed Dual Path Networks. Specifically, we evaluate the proposed architecture on three tasks: image classification, object detection and semantic segmentation, using three standard benchmark datasets: the ImageNet-1k dataset, Places365-Standard dataset and the PASCAL VOC datasets.
Key properties of the proposed DPNs are studied on the ImageNet-1k object classification dataset 
and further verified on the Places365-Standard scene understanding dataset. To verify whether the proposed DPNs can benefit other tasks besides image classification, we further conduct experiments on the PASCAL VOC dataset  to evaluate its performance in object detection and semantic segmentation.
We implement the DPNs using MXNet  on a cluster with 40 K80 graphic cards. Following , we adopt standard data augmentation methods and train the networks using SGD with a mini-batch size of 32 for each GPU. For the deepest network, i.e. DPN-131111The DPN-131 has 128 channels at conv1, 4 blocks at conv2, 8 blocks at conv3, 28 blocks at conv4 and 3 blocks at conv5, which has #params= and FLOPs=., the mini-batch size is limited to 24 because of the 12GB GPU memory constraint. The learning rate starts from for DPN-92 and DPN-131, and from for DPN-98. It drops in a “steps” manner by a factor of . Following 
, batch normalization layers are refined after training.
Firstly, we compare the image classification performance of DPNs with current state-of-the-art models. As can be seen from the first block in Table 3, a shallow DPN with only the depth of 92 reduces the top-1 error rate by an absolute value of compared with the ResNeXt-101() and an absolute value of compared with the DenseNet-161 yet provides with considerably less FLOPs. In the second block of Table 3, a deeper DPN (DPN-98) surpasses the best residual network – ResNeXt-101 (d), and still enjoys less FLOPs and a much smaller model size (236 MB v.s. 320 MB). In order to further push the state-of-the-art accuracy, we slightly increase the depth of the DPN to 131 (DPN-131). The results are shown in the last block in Table 3. Again, the DPN shows superior accuracy over the best single model – Very Deep PolyNet , with a much smaller model size (304 MB v.s. 365 MB). Note that the Very Deep PolyNet adopts numerous tricks, e.g. initialization by insertion, residual scaling, stochastic paths, to assist the training process. In contrast, our proposed DPN-131 is simple and does not involve these tricks, DPN-131 can be trained using a standard training strategy as shallow DPNs. More importantly, the actual training speed of DPN-131 is about 2 times faster than the Very Deep PolyNet, as discussed in the following paragraph.
|Method||Model Size||GFLOPs||x224||x320 / x299|
|DenseNet-161(k=48) ||111 MB||7.7||22.2||–||–||–|
|ResNet-101* ||170 MB||7.8||22.0||6.0||–||–|
|ResNeXt-101 (d) ||170 MB||8.0||21.2||5.6||–||–|
|DPN-92 (d)||145 MB||6.5||20.7||5.4||19.3||4.7|
|ResNet-200 ||247 MB||15.0||21.7||5.8||20.1||4.8|
|Inception-resnet-v2 ||227 MB||–||–||–||19.9||4.9|
|ResNeXt-101 (d) ||320 MB||15.5||20.4||5.3||19.1||4.4|
|DPN-98 (d)||236 MB||11.7||20.2||5.2||18.9||4.4|
|Very deep Inception-resnet-v2 ||531 MB||–||–||–||19.10||4.48|
|Very Deep PolyNet ||365 MB||–||–||–||18.71||4.25|
|DPN-131 (d)||304 MB||16.0||19.93||5.12||18.62||4.23|
|DPN-131 (d) †||304 MB||16.0||19.93||5.12||18.55||4.16|
|Method||Model Size||top-1 acc.||top-5 acc.|
|AlexNet ||223 MB||53.17||82.89|
|GoogleLeNet ||44 MB||53.63||83.88|
|VGG-16 ||518 MB||55.24||84.91|
|ResNet-152 ||226 MB||54.74||85.08|
|ResNeXt-101 ||165 MB||56.21||86.25|
|CRU-Net-116 ||163 MB||56.60||86.55|
|DPN-92 (d)||138 MB||56.84||86.69|
Secondly, we compare the training cost between the best performing models. Here, we focus on evaluating two key properties – the actual GPU memory cost and the actual training speed. Figure 3 shows the results. As can be seen from Figure 3(a)(b), the DPN-98 is faster and uses less memory than the best performing ResNeXt with a considerably lower testing error rate. Note that theoretically the computational cost of DPN-98 shown in Table 3 is less than the best performing ResNeXt, indicating there is still room for code optimization. Figure 3(c) presents the same result in a more clear way. The deeper DPN-131 only costs about more training time compared with the best performing ResNeXt, but achieves the state-of-the-art single model performance. The training speed of the previous state-of-the-art single model, i.e. Very Deep PolyNet (537 layers) , is about 31 samples per second based on our implementation using MXNet, showing that DPN-131 runs about 2 times faster than the Very Deep PolyNet during training.
In this experiment, we further evaluate the accuracy of the proposed DPN on the scene classification task using the Places365-Standard dataset. The Places365-Standard dataset is a high-resolution scene understanding dataset with more than 1.8 million images of 365 scene categories. Different from object images, scene images do not have very clear discriminative patterns and require a higher level context reasoning ability.
Table 3 shows the results of different models on this dataset. To make a fair comparison, we perform the DPN-92 on this dataset instead of using deeper DPNs. As can be seen from the results, DPN achieves the best validation accuracy compared with other methods. The DPN-92 requires much less parameters (138 MB v.s. 163 MB), which again demonstrates its high parameter efficiency and high generalization ability.
We further evaluate the proposed Dual Path Network on the object detection task. Experiments are performed on the PASCAL VOC 2007 datasets . We train the models on the union set of VOC 2007 trainval and VOC 2012 trainval following , and evaluate them on VOC 2007 test
set. We use standard evaluation metrics Average Precision (AP) and mean of AP (mAP) following the PASCAL challenge protocols for evaluation.
We perform all experiments based on the ResNet-based Faster R-CNN framework, following  and make comparisons by replacing the residual network, while keeping other parts unchanged. Since our goal is to evaluate DPN, rather than further push the state-of-the-art accuracy on this dataset, we adopt the shallowest DPN-92 and baseline networks at roughly the same complexity level. Table 4 provides the detection performance comparisons of the proposed DPN with several current state-of-the-art models. It can be observed that the DPN obtains the mAP of , which makes large improvements, i.e. compared with ResNet-101  and compared with ResNeXt-101 (d). The better results shown in this experiment demonstrate that the Dual Path Network is also capable of learning better feature representations for detecting objects and benefiting the object detection task.
In this experiment, we evaluate the performance of the Dual Path Network for dense prediction, i.e. semantic segmentation, where the training target is to predict the semantic label for each pixel in the input image. We conduct experiments on the PASCAL VOC 2012 segmentation benchmark dataset  and use the DeepLab-ASPP-L  as the segmentation framework. For each compared method in Table 5, we replace the convolutional layers in conv4 and conv5 of Table 1 with atrous convolution  and plug in a head of Atrous Spatial Pyramid Pooling (ASPP)  in the final feature maps of conv5. We adopt the same training strategy for all networks following  for fair comparison.
Table 5 shows the results of different convolutional neural networks. It can be observed that the proposed DPN-92 has the highest overall mIoU accuracy. Compared with the ResNet-101 which has a larger model size and higher computational cost, the proposed DPN-92 further improves the IoU for most categories and improves the overall mIoU by an absolute value . Considering the ResNeXt-101 (d) only improves the overall mIoU by an absolute value compared with the ResNet-101, the proposed DPN-92 gains more than times improvement compared with the ResNeXt-101 (d). The better results once again demonstrate the proposed Dual Path Network is capable of learning better feature representation for dense prediction.
In this paper, we revisited the densely connected networks, bridged the densely connected networks with Higher Order RNNs and proved the residual networks are essentially densely connected networks with shared connections. Based on this new explanation, we proposed a dual path architecture that enjoys benefits from both sides. The novel network, DPN, is then developed based on this dual path architecture. Experiments on the image classification task demonstrate that the DPN enjoys high accuracy, small model size, low computational cost and low GPU memory consumption, thus is extremely useful for not only research but also real-word application. Experiments on the object detection task and semantic segmentation tasks show that the proposed DPN can also benefit other tasks by simply replacing the base network.
Accurate image super-resolution using very deep convolutional networks.In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1646–1654, 2016.
Stacked hourglass networks for human pose estimation.In European Conference on Computer Vision, pages 483–499. Springer, 2016.
Here, we introduce a new testing technique by using Mean-Max Pooling which can further improve the performance of a well trained CNN in the testing phase without any noticeable computational overhead. This testing technique is very effective for testing images with size larger than training crops. The idea is to first convert a trained CNN model into a convolutional network  and then insert the following Mean-Max Pooling layer (a.k.a. Max-Avg Pooling ), i.e.
0.5 * (global average pooling + global max pooling), just before the final softmax layer.
Comparisons between the models with and without Mean-Max Pooling are shown in Table 6. As can be seen from the results, the simple Mean-Max Pooling testing strategy successfully improves the testing accuracy for all models.
|Method||Model Size||GFLOPs||w/o Mean-Max Pooling||w/ Mean-Max Pooling|
|DPN-92 (d)||145 MB||6.5||19.34||4.66||19.04||4.53|
|DPN-98 (d)||236 MB||11.7||18.94||4.44||18.72||4.40|
|DPN-131 (d)||304 MB||16.0||18.62||4.23||18.55||4.16|