Deep Residual Learning for Image Recognition
展开查看详情
1. Deep Residual Learning for Image Recognition Kaiming He Xiangyu Zhang Shaoqing Ren Jian Sun Microsoft Research {kahe, vxiangz, vshren, jiansun}@microsoft.com arXiv:1512.03385v1 [cs.CV] 10 Dec 2015 20 20 Abstract training error (%) 56layer test error (%) Deeper neural networks are more difficult to train. We 20layer 10 10 present a residual learning framework to ease the training 56layer of networks that are substantially deeper than those used 20layer previously. We explicitly reformulate the layers as learn 0 0 0 1 2 3 4 5 6 0 1 2 3 4 5 6 ing residual functions with reference to the layer inputs, in iter. (1e4) iter. (1e4) stead of learning unreferenced functions. We provide com Figure 1. Training error (left) and test error (right) on CIFAR10 prehensive empirical evidence showing that these residual with 20layer and 56layer “plain” networks. The deeper network networks are easier to optimize, and can gain accuracy from has higher training error, and thus test error. Similar phenomena on ImageNet is presented in Fig. 4. considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers—8× deeper than VGG nets [41] but still having lower complex greatly benefited from very deep models. ity. An ensemble of these residual nets achieves 3.57% error Driven by the significance of depth, a question arises: Is on the ImageNet test set. This result won the 1st place on the learning better networks as easy as stacking more layers? ILSVRC 2015 classification task. We also present analysis An obstacle to answering this question was the notorious on CIFAR10 with 100 and 1000 layers. problem of vanishing/exploding gradients [1, 9], which The depth of representations is of central importance hamper convergence from the beginning. This problem, for many visual recognition tasks. Solely due to our ex however, has been largely addressed by normalized initial tremely deep representations, we obtain a 28% relative im ization [23, 9, 37, 13] and intermediate normalization layers provement on the COCO object detection dataset. Deep [16], which enable networks with tens of layers to start con residual nets are foundations of our submissions to ILSVRC verging for stochastic gradient descent (SGD) with back & COCO 2015 competitions1 , where we also won the 1st propagation [22]. places on the tasks of ImageNet detection, ImageNet local When deeper networks are able to start converging, a ization, COCO detection, and COCO segmentation. degradation problem has been exposed: with the network depth increasing, accuracy gets saturated (which might be 1. Introduction unsurprising) and then degrades rapidly. Unexpectedly, such degradation is not caused by overfitting, and adding Deep convolutional neural networks [22, 21] have led more layers to a suitably deep model leads to higher train to a series of breakthroughs for image classification [21, ing error, as reported in [11, 42] and thoroughly verified by 50, 40]. Deep networks naturally integrate low/mid/high our experiments. Fig. 1 shows a typical example. level features [50] and classifiers in an endtoend multi The degradation (of training accuracy) indicates that not layer fashion, and the “levels” of features can be enriched all systems are similarly easy to optimize. Let us consider a by the number of stacked layers (depth). Recent evidence shallower architecture and its deeper counterpart that adds [41, 44] reveals that network depth is of crucial importance, more layers onto it. There exists a solution by construction and the leading results [41, 44, 13, 16] on the challenging to the deeper model: the added layers are identity mapping, ImageNet dataset [36] all exploit “very deep” [41] models, and the other layers are copied from the learned shallower with a depth of sixteen [41] to thirty [16]. Many other non model. The existence of this constructed solution indicates trivial visual recognition tasks [8, 12, 7, 32, 27] have also that a deeper model should produce no higher training error 1 http://imagenet.org/challenges/LSVRC/2015/ and than its shallower counterpart. But experiments show that http://mscoco.org/dataset/#detectionschallenge2015. our current solvers on hand are unable to find solutions that 1
2. x ImageNet test set, and won the 1st place in the ILSVRC 2015 classification competition. The extremely deep rep weight layer resentations also have excellent generalization performance F(x) relu x on other recognition tasks, and lead us to further win the weight layer identity 1st places on: ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation in ILSVRC & F(x)+x relu COCO 2015 competitions. This strong evidence shows that Figure 2. Residual learning: a building block. the residual learning principle is generic, and we expect that it is applicable in other vision and nonvision problems. are comparably good or better than the constructed solution (or unable to do so in feasible time). 2. Related Work In this paper, we address the degradation problem by introducing a deep residual learning framework. In Residual Representations. In image recognition, VLAD stead of hoping each few stacked layers directly fit a [18] is a representation that encodes by the residual vectors desired underlying mapping, we explicitly let these lay with respect to a dictionary, and Fisher Vector [30] can be ers fit a residual mapping. Formally, denoting the desired formulated as a probabilistic version [18] of VLAD. Both underlying mapping as H(x), we let the stacked nonlinear of them are powerful shallow representations for image re layers fit another mapping of F(x) := H(x) − x. The orig trieval and classification [4, 48]. For vector quantization, inal mapping is recast into F(x)+x. We hypothesize that it encoding residual vectors [17] is shown to be more effec is easier to optimize the residual mapping than to optimize tive than encoding original vectors. the original, unreferenced mapping. To the extreme, if an In lowlevel vision and computer graphics, for solv identity mapping were optimal, it would be easier to push ing Partial Differential Equations (PDEs), the widely used the residual to zero than to fit an identity mapping by a stack Multigrid method [3] reformulates the system as subprob of nonlinear layers. lems at multiple scales, where each subproblem is respon The formulation of F(x) + x can be realized by feedfor sible for the residual solution between a coarser and a finer ward neural networks with “shortcut connections” (Fig. 2). scale. An alternative to Multigrid is hierarchical basis pre Shortcut connections [2, 34, 49] are those skipping one or conditioning [45, 46], which relies on variables that repre more layers. In our case, the shortcut connections simply sent residual vectors between two scales. It has been shown perform identity mapping, and their outputs are added to [3, 45, 46] that these solvers converge much faster than stan the outputs of the stacked layers (Fig. 2). Identity short dard solvers that are unaware of the residual nature of the cut connections add neither extra parameter nor computa solutions. These methods suggest that a good reformulation tional complexity. The entire network can still be trained or preconditioning can simplify the optimization. endtoend by SGD with backpropagation, and can be eas Shortcut Connections. Practices and theories that lead to ily implemented using common libraries (e.g., Caffe [19]) shortcut connections [2, 34, 49] have been studied for a long without modifying the solvers. time. An early practice of training multilayer perceptrons We present comprehensive experiments on ImageNet (MLPs) is to add a linear layer connected from the network [36] to show the degradation problem and evaluate our input to the output [34, 49]. In [44, 24], a few interme method. We show that: 1) Our extremely deep residual nets diate layers are directly connected to auxiliary classifiers are easy to optimize, but the counterpart “plain” nets (that for addressing vanishing/exploding gradients. The papers simply stack layers) exhibit higher training error when the of [39, 38, 31, 47] propose methods for centering layer re depth increases; 2) Our deep residual nets can easily enjoy sponses, gradients, and propagated errors, implemented by accuracy gains from greatly increased depth, producing re shortcut connections. In [44], an “inception” layer is com sults substantially better than previous networks. posed of a shortcut branch and a few deeper branches. Similar phenomena are also shown on the CIFAR10 set Concurrent with our work, “highway networks” [42, 43] [20], suggesting that the optimization difficulties and the present shortcut connections with gating functions [15]. effects of our method are not just akin to a particular dataset. These gates are datadependent and have parameters, in We present successfully trained models on this dataset with contrast to our identity shortcuts that are parameterfree. over 100 layers, and explore models with over 1000 layers. When a gated shortcut is “closed” (approaching zero), the On the ImageNet classification dataset [36], we obtain layers in highway networks represent nonresidual func excellent results by extremely deep residual nets. Our 152 tions. On the contrary, our formulation always learns layer residual net is the deepest network ever presented on residual functions; our identity shortcuts are never closed, ImageNet, while still having lower complexity than VGG and all information is always passed through, with addi nets [41]. Our ensemble has 3.57% top5 error on the tional residual functions to be learned. In addition, high 2
3.way networks have not demonstrated accuracy gains with ReLU [29] and the biases are omitted for simplifying no extremely increased depth (e.g., over 100 layers). tations. The operation F + x is performed by a shortcut connection and elementwise addition. We adopt the sec 3. Deep Residual Learning ond nonlinearity after the addition (i.e., σ(y), see Fig. 2). The shortcut connections in Eqn.(1) introduce neither ex 3.1. Residual Learning tra parameter nor computation complexity. This is not only Let us consider H(x) as an underlying mapping to be attractive in practice but also important in our comparisons fit by a few stacked layers (not necessarily the entire net), between plain and residual networks. We can fairly com with x denoting the inputs to the first of these layers. If one pare plain/residual networks that simultaneously have the hypothesizes that multiple nonlinear layers can asymptoti same number of parameters, depth, width, and computa cally approximate complicated functions2 , then it is equiv tional cost (except for the negligible elementwise addition). alent to hypothesize that they can asymptotically approxi The dimensions of x and F must be equal in Eqn.(1). mate the residual functions, i.e., H(x) − x (assuming that If this is not the case (e.g., when changing the input/output the input and output are of the same dimensions). So channels), we can perform a linear projection Ws by the rather than expect stacked layers to approximate H(x), we shortcut connections to match the dimensions: explicitly let these layers approximate a residual function F(x) := H(x) − x. The original function thus becomes y = F(x, {Wi }) + Ws x. (2) F(x)+x. Although both forms should be able to asymptot ically approximate the desired functions (as hypothesized), We can also use a square matrix Ws in Eqn.(1). But we will the ease of learning might be different. show by experiments that the identity mapping is sufficient This reformulation is motivated by the counterintuitive for addressing the degradation problem and is economical, phenomena about the degradation problem (Fig. 1, left). As and thus Ws is only used when matching dimensions. we discussed in the introduction, if the added layers can The form of the residual function F is flexible. Exper be constructed as identity mappings, a deeper model should iments in this paper involve a function F that has two or have training error no greater than its shallower counter three layers (Fig. 5), while more layers are possible. But if part. The degradation problem suggests that the solvers F has only a single layer, Eqn.(1) is similar to a linear layer: might have difficulties in approximating identity mappings y = W1 x + x, for which we have not observed advantages. by multiple nonlinear layers. With the residual learning re We also note that although the above notations are about formulation, if identity mappings are optimal, the solvers fullyconnected layers for simplicity, they are applicable to may simply drive the weights of the multiple nonlinear lay convolutional layers. The function F(x, {Wi }) can repre ers toward zero to approach identity mappings. sent multiple convolutional layers. The elementwise addi In real cases, it is unlikely that identity mappings are op tion is performed on two feature maps, channel by channel. timal, but our reformulation may help to precondition the 3.3. Network Architectures problem. If the optimal function is closer to an identity mapping than to a zero mapping, it should be easier for the We have tested various plain/residual nets, and have ob solver to find the perturbations with reference to an identity served consistent phenomena. To provide instances for dis mapping, than to learn the function as a new one. We show cussion, we describe two models for ImageNet as follows. by experiments (Fig. 7) that the learned residual functions in Plain Network. Our plain baselines (Fig. 3, middle) are general have small responses, suggesting that identity map mainly inspired by the philosophy of VGG nets [41] (Fig. 3, pings provide reasonable preconditioning. left). The convolutional layers mostly have 3×3 filters and 3.2. Identity Mapping by Shortcuts follow two simple design rules: (i) for the same output feature map size, the layers have the same number of fil We adopt residual learning to every few stacked layers. ters; and (ii) if the feature map size is halved, the num A building block is shown in Fig. 2. Formally, in this paper ber of filters is doubled so as to preserve the time com we consider a building block defined as: plexity per layer. We perform downsampling directly by convolutional layers that have a stride of 2. The network y = F(x, {Wi }) + x. (1) ends with a global average pooling layer and a 1000way fullyconnected layer with softmax. The total number of Here x and y are the input and output vectors of the lay weighted layers is 34 in Fig. 3 (middle). ers considered. The function F(x, {Wi }) represents the It is worth noticing that our model has fewer filters and residual mapping to be learned. For the example in Fig. 2 lower complexity than VGG nets [41] (Fig. 3, left). Our 34 that has two layers, F = W2 σ(W1 x) in which σ denotes layer baseline has 3.6 billion FLOPs (multiplyadds), which 2 This hypothesis, however, is still an open question. See [28]. is only 18% of VGG19 (19.6 billion FLOPs). 3
4. VGG19 34layer plain 34layer residual Residual Network. Based on the above plain network, we image image image insert shortcut connections (Fig. 3, right) which turn the output 3x3 conv, 64 network into its counterpart residual version. The identity size: 224 3x3 conv, 64 shortcuts (Eqn.(1)) can be directly used when the input and pool, /2 output are of the same dimensions (solid line shortcuts in output size: 112 3x3 conv, 128 Fig. 3). When the dimensions increase (dotted line shortcuts 3x3 conv, 128 7x7 conv, 64, /2 7x7 conv, 64, /2 in Fig. 3), we consider two options: (A) The shortcut still performs identity mapping, with extra zero entries padded pool, /2 pool, /2 pool, /2 output for increasing dimensions. This option introduces no extra size: 56 3x3 conv, 256 3x3 conv, 64 3x3 conv, 64 parameter; (B) The projection shortcut in Eqn.(2) is used to 3x3 conv, 256 3x3 conv, 64 3x3 conv, 64 match dimensions (done by 1×1 convolutions). For both 3x3 conv, 256 3x3 conv, 64 3x3 conv, 64 options, when the shortcuts go across feature maps of two 3x3 conv, 256 3x3 conv, 64 3x3 conv, 64 sizes, they are performed with a stride of 2. 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3x3 conv, 64 3.4. Implementation pool, /2 3x3 conv, 128, /2 3x3 conv, 128, /2 Our implementation for ImageNet follows the practice output size: 28 3x3 conv, 512 3x3 conv, 128 3x3 conv, 128 in [21, 41]. The image is resized with its shorter side ran 3x3 conv, 512 3x3 conv, 128 3x3 conv, 128 domly sampled in [256, 480] for scale augmentation [41]. 3x3 conv, 512 3x3 conv, 128 3x3 conv, 128 A 224×224 crop is randomly sampled from an image or its 3x3 conv, 512 3x3 conv, 128 3x3 conv, 128 horizontal flip, with the perpixel mean subtracted [21]. The 3x3 conv, 128 3x3 conv, 128 standard color augmentation in [21] is used. We adopt batch 3x3 conv, 128 3x3 conv, 128 normalization (BN) [16] right after each convolution and 3x3 conv, 128 3x3 conv, 128 before activation, following [16]. We initialize the weights output pool, /2 3x3 conv, 256, /2 3x3 conv, 256, /2 as in [13] and train all plain/residual nets from scratch. We size: 14 3x3 conv, 512 3x3 conv, 256 3x3 conv, 256 use SGD with a minibatch size of 256. The learning rate 3x3 conv, 512 3x3 conv, 256 3x3 conv, 256 starts from 0.1 and is divided by 10 when the error plateaus, and the models are trained for up to 60 × 104 iterations. We 3x3 conv, 512 3x3 conv, 256 3x3 conv, 256 use a weight decay of 0.0001 and a momentum of 0.9. We 3x3 conv, 512 3x3 conv, 256 3x3 conv, 256 do not use dropout [14], following the practice in [16]. 3x3 conv, 256 3x3 conv, 256 In testing, for comparison studies we adopt the standard 3x3 conv, 256 3x3 conv, 256 10crop testing [21]. For best results, we adopt the fully 3x3 conv, 256 3x3 conv, 256 convolutional form as in [41, 13], and average the scores 3x3 conv, 256 3x3 conv, 256 at multiple scales (images are resized such that the shorter 3x3 conv, 256 3x3 conv, 256 side is in {224, 256, 384, 480, 640}). 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 3x3 conv, 256 4. Experiments output pool, /2 3x3 conv, 512, /2 3x3 conv, 512, /2 size: 7 4.1. ImageNet Classification 3x3 conv, 512 3x3 conv, 512 3x3 conv, 512 3x3 conv, 512 We evaluate our method on the ImageNet 2012 classifi 3x3 conv, 512 3x3 conv, 512 cation dataset [36] that consists of 1000 classes. The models 3x3 conv, 512 3x3 conv, 512 are trained on the 1.28 million training images, and evalu 3x3 conv, 512 3x3 conv, 512 ated on the 50k validation images. We also obtain a final output fc 4096 avg pool avg pool result on the 100k test images, reported by the test server. size: 1 We evaluate both top1 and top5 error rates. fc 4096 fc 1000 fc 1000 fc 1000 Plain Networks. We first evaluate 18layer and 34layer plain nets. The 34layer plain net is in Fig. 3 (middle). The Figure 3. Example network architectures for ImageNet. Left: the 18layer plain net is of a similar form. See Table 1 for de VGG19 model [41] (19.6 billion FLOPs) as a reference. Mid tailed architectures. dle: a plain network with 34 parameter layers (3.6 billion FLOPs). The results in Table 2 show that the deeper 34layer plain Right: a residual network with 34 parameter layers (3.6 billion net has higher validation error than the shallower 18layer FLOPs). The dotted shortcuts increase dimensions. Table 1 shows plain net. To reveal the reasons, in Fig. 4 (left) we com more details and other variants. pare their training/validation errors during the training pro cedure. We have observed the degradation problem  the 4
5. layer name output size 18layer 34layer 50layer 101layer 152layer conv1 112×112 7×7, 64, stride 2 3×3 max pool, stride 2 1×1, 64 1×1, 64 1×1, 64 conv2 x 56×56 3×3, 64 3×3, 64 ×2 ×3 3×3, 64 ×3 3×3, 64 ×3 3×3, 64 ×3 3×3, 64 3×3, 64 1×1, 256 1×1, 256 1×1, 256 1×1, 128 1×1, 128 1×1, 128 3×3, 128 3×3, 128 conv3 x 28×28 ×2 ×4 3×3, 128 ×4 3×3, 128 ×4 3×3, 128 ×8 3×3, 128 3×3, 128 1×1, 512 1×1, 512 1×1, 512 1×1, 256 1×1, 256 1×1, 256 3×3, 256 3×3, 256 conv4 x 14×14 ×2 ×6 3×3, 256 ×6 3×3, 256 ×23 3×3, 256 ×36 3×3, 256 3×3, 256 1×1, 1024 1×1, 1024 1×1, 1024 1×1, 512 1×1, 512 1×1, 512 3×3, 512 3×3, 512 conv5 x 7×7 ×2 ×3 3×3, 512 ×3 3×3, 512 ×3 3×3, 512 ×3 3×3, 512 3×3, 512 1×1, 2048 1×1, 2048 1×1, 2048 1×1 average pool, 1000d fc, softmax FLOPs 1.8×109 3.6×109 3.8×109 7.6×109 11.3×109 Table 1. Architectures for ImageNet. Building blocks are shown in brackets (see also Fig. 5), with the numbers of blocks stacked. Down sampling is performed by conv3 1, conv4 1, and conv5 1 with a stride of 2. 60 60 50 50 error (%) error (%) 40 40 34layer 18layer 30 30 18layer plain18 ResNet18 plain34 ResNet34 34layer 20 20 0 10 20 30 40 50 0 10 20 30 40 50 iter. (1e4) iter. (1e4) Figure 4. Training on ImageNet. Thin curves denote training error, and bold curves denote validation error of the center crops. Left: plain networks of 18 and 34 layers. Right: ResNets of 18 and 34 layers. In this plot, the residual networks have no extra parameter compared to their plain counterparts. plain ResNet reducing of the training error3 . The reason for such opti 18 layers 27.94 27.88 mization difficulties will be studied in the future. 34 layers 28.54 25.03 Residual Networks. Next we evaluate 18layer and 34 Table 2. Top1 error (%, 10crop testing) on ImageNet validation. layer residual nets (ResNets). The baseline architectures Here the ResNets have no extra parameter compared to their plain are the same as the above plain nets, expect that a shortcut counterparts. Fig. 4 shows the training procedures. connection is added to each pair of 3×3 filters as in Fig. 3 (right). In the first comparison (Table 2 and Fig. 4 right), we use identity mapping for all shortcuts and zeropadding 34layer plain net has higher training error throughout the for increasing dimensions (option A). So they have no extra whole training procedure, even though the solution space parameter compared to the plain counterparts. of the 18layer plain network is a subspace of that of the We have three major observations from Table 2 and 34layer one. Fig. 4. First, the situation is reversed with residual learn We argue that this optimization difficulty is unlikely to ing – the 34layer ResNet is better than the 18layer ResNet be caused by vanishing gradients. These plain networks are (by 2.8%). More importantly, the 34layer ResNet exhibits trained with BN [16], which ensures forward propagated considerably lower training error and is generalizable to the signals to have nonzero variances. We also verify that the validation data. This indicates that the degradation problem backward propagated gradients exhibit healthy norms with is well addressed in this setting and we manage to obtain BN. So neither forward nor backward signals vanish. In accuracy gains from increased depth. fact, the 34layer plain net is still able to achieve compet Second, compared to its plain counterpart, the 34layer itive accuracy (Table 3), suggesting that the solver works 3 We have experimented with more training iterations (3×) and still ob to some extent. We conjecture that the deep plain nets may served the degradation problem, suggesting that this problem cannot be have exponentially low convergence rates, which impact the feasibly addressed by simply using more iterations. 5
6. 64d 256d model top1 err. top5 err. VGG16 [41] 28.07 9.33 3x3, 64 1x1, 64 relu relu GoogLeNet [44]  9.15 3x3, 64 relu PReLUnet [13] 24.27 7.38 3x3, 64 1x1, 256 plain34 28.54 10.02 relu relu ResNet34 A 25.03 7.76 ResNet34 B 24.52 7.46 Figure 5. A deeper residual function F for ImageNet. Left: a ResNet34 C 24.19 7.40 building block (on 56×56 feature maps) as in Fig. 3 for ResNet ResNet50 22.85 6.71 34. Right: a “bottleneck” building block for ResNet50/101/152. ResNet101 21.75 6.05 ResNet152 21.43 5.71 parameterfree, identity shortcuts help with training. Next Table 3. Error rates (%, 10crop testing) on ImageNet validation. we investigate projection shortcuts (Eqn.(2)). In Table 3 we VGG16 is based on our test. ResNet50/101/152 are of option B compare three options: (A) zeropadding shortcuts are used that only uses projections for increasing dimensions. for increasing dimensions, and all shortcuts are parameter method top1 err. top5 err. free (the same as Table 2 and Fig. 4 right); (B) projec VGG [41] (ILSVRC’14)  8.43† tion shortcuts are used for increasing dimensions, and other GoogLeNet [44] (ILSVRC’14)  7.89 shortcuts are identity; and (C) all shortcuts are projections. VGG [41] (v5) 24.4 7.1 Table 3 shows that all three options are considerably bet PReLUnet [13] 21.59 5.71 ter than the plain counterpart. B is slightly better than A. We BNinception [16] 21.99 5.81 argue that this is because the zeropadded dimensions in A ResNet34 B 21.84 5.71 indeed have no residual learning. C is marginally better than ResNet34 C 21.53 5.60 B, and we attribute this to the extra parameters introduced ResNet50 20.74 5.25 by many (thirteen) projection shortcuts. But the small dif ResNet101 19.87 4.60 ferences among A/B/C indicate that projection shortcuts are ResNet152 19.38 4.49 not essential for addressing the degradation problem. So we do not use option C in the rest of this paper, to reduce mem Table 4. Error rates (%) of singlemodel results on the ImageNet ory/time complexity and model sizes. Identity shortcuts are validation set (except † reported on the test set). particularly important for not increasing the complexity of the bottleneck architectures that are introduced below. method top5 err. (test) VGG [41] (ILSVRC’14) 7.32 Deeper Bottleneck Architectures. Next we describe our GoogLeNet [44] (ILSVRC’14) 6.66 deeper nets for ImageNet. Because of concerns on the train VGG [41] (v5) 6.8 ing time that we can afford, we modify the building block PReLUnet [13] 4.94 as a bottleneck design4 . For each residual function F, we BNinception [16] 4.82 use a stack of 3 layers instead of 2 (Fig. 5). The three layers ResNet (ILSVRC’15) 3.57 are 1×1, 3×3, and 1×1 convolutions, where the 1×1 layers are responsible for reducing and then increasing (restoring) Table 5. Error rates (%) of ensembles. The top5 error is on the test set of ImageNet and reported by the test server. dimensions, leaving the 3×3 layer a bottleneck with smaller input/output dimensions. Fig. 5 shows an example, where both designs have similar time complexity. ResNet reduces the top1 error by 3.5% (Table 2), resulting The parameterfree identity shortcuts are particularly im from the successfully reduced training error (Fig. 4 right vs. portant for the bottleneck architectures. If the identity short left). This comparison verifies the effectiveness of residual cut in Fig. 5 (right) is replaced with projection, one can learning on extremely deep systems. show that the time complexity and model size are doubled, Last, we also note that the 18layer plain/residual nets as the shortcut is connected to the two highdimensional are comparably accurate (Table 2), but the 18layer ResNet ends. So identity shortcuts lead to more efficient models converges faster (Fig. 4 right vs. left). When the net is “not for the bottleneck designs. overly deep” (18 layers here), the current SGD solver is still 50layer ResNet: We replace each 2layer block in the able to find good solutions to the plain net. In this case, the 4 Deeper nonbottleneck ResNets (e.g., Fig. 5 left) also gain accuracy ResNet eases the optimization by providing faster conver from increased depth (as shown on CIFAR10), but are not as economical gence at the early stage. as the bottleneck ResNets. So the usage of bottleneck designs is mainly due to practical considerations. We further note that the degradation problem Identity vs. Projection Shortcuts. We have shown that of plain nets is also witnessed for the bottleneck designs. 6
7.34layer net with this 3layer bottleneck block, resulting in method error (%) a 50layer ResNet (Table 1). We use option B for increasing Maxout [10] 9.38 dimensions. This model has 3.8 billion FLOPs. NIN [25] 8.81 101layer and 152layer ResNets: We construct 101 DSN [24] 8.22 layer and 152layer ResNets by using more 3layer blocks # layers # params (Table 1). Remarkably, although the depth is significantly FitNet [35] 19 2.5M 8.39 increased, the 152layer ResNet (11.3 billion FLOPs) still Highway [42, 43] 19 2.3M 7.54 (7.72±0.16) has lower complexity than VGG16/19 nets (15.3/19.6 bil Highway [42, 43] 32 1.25M 8.80 lion FLOPs). ResNet 20 0.27M 8.75 The 50/101/152layer ResNets are more accurate than ResNet 32 0.46M 7.51 the 34layer ones by considerable margins (Table 3 and 4). ResNet 44 0.66M 7.17 We do not observe the degradation problem and thus en ResNet 56 0.85M 6.97 joy significant accuracy gains from considerably increased ResNet 110 1.7M 6.43 (6.61±0.16) depth. The benefits of depth are witnessed for all evaluation ResNet 1202 19.4M 7.93 metrics (Table 3 and 4). Table 6. Classification error on the CIFAR10 test set. All meth Comparisons with Stateoftheart Methods. In Table 4 ods are with data augmentation. For ResNet110, we run it 5 times we compare with the previous best singlemodel results. and show “best (mean±std)” as in [43]. Our baseline 34layer ResNets have achieved very compet itive accuracy. Our 152layer ResNet has a singlemodel top5 validation error of 4.49%. This singlemodel result so our residual models have exactly the same depth, width, outperforms all previous ensemble results (Table 5). We and number of parameters as the plain counterparts. combine six models of different depth to form an ensemble We use a weight decay of 0.0001 and momentum of 0.9, (only with two 152layer ones at the time of submitting). and adopt the weight initialization in [13] and BN [16] but This leads to 3.57% top5 error on the test set (Table 5). with no dropout. These models are trained with a mini This entry won the 1st place in ILSVRC 2015. batch size of 128 on two GPUs. We start with a learning rate of 0.1, divide it by 10 at 32k and 48k iterations, and 4.2. CIFAR10 and Analysis terminate training at 64k iterations, which is determined on a 45k/5k train/val split. We follow the simple data augmen We conducted more studies on the CIFAR10 dataset tation in [24] for training: 4 pixels are padded on each side, [20], which consists of 50k training images and 10k test and a 32×32 crop is randomly sampled from the padded ing images in 10 classes. We present experiments trained image or its horizontal flip. For testing, we only evaluate on the training set and evaluated on the test set. Our focus the single view of the original 32×32 image. is on the behaviors of extremely deep networks, but not on We compare n = {3, 5, 7, 9}, leading to 20, 32, 44, and pushing the stateoftheart results, so we intentionally use 56layer networks. Fig. 6 (left) shows the behaviors of the simple architectures as follows. plain nets. The deep plain nets suffer from increased depth, The plain/residual architectures follow the form in Fig. 3 and exhibit higher training error when going deeper. This (middle/right). The network inputs are 32×32 images, with phenomenon is similar to that on ImageNet (Fig. 4, left) and the perpixel mean subtracted. The first layer is 3×3 convo on MNIST (see [42]), suggesting that such an optimization lutions. Then we use a stack of 6n layers with 3×3 convo difficulty is a fundamental problem. lutions on the feature maps of sizes {32, 16, 8} respectively, Fig. 6 (middle) shows the behaviors of ResNets. Also with 2n layers for each feature map size. The numbers of similar to the ImageNet cases (Fig. 4, right), our ResNets filters are {16, 32, 64} respectively. The subsampling is per manage to overcome the optimization difficulty and demon formed by convolutions with a stride of 2. The network ends strate accuracy gains when the depth increases. with a global average pooling, a 10way fullyconnected We further explore n = 18 that leads to a 110layer layer, and softmax. There are totally 6n+2 stacked weighted ResNet. In this case, we find that the initial learning rate layers. The following table summarizes the architecture: of 0.1 is slightly too large to start converging5 . So we use 0.01 to warm up the training until the training error is below output map size 32×32 16×16 8×8 80% (about 400 iterations), and then go back to 0.1 and con # layers 1+2n 2n 2n tinue training. The rest of the learning schedule is as done # filters 16 32 64 previously. This 110layer network converges well (Fig. 6, When shortcut connections are used, they are connected middle). It has fewer parameters than other deep and thin to the pairs of 3×3 layers (totally 3n shortcuts). On this 5 With an initial learning rate of 0.1, it starts converging (<90% error) dataset we use identity shortcuts in all cases (i.e., option A), after several epochs, but still reaches similar accuracy. 7
8. 20 20 20 ResNet20 residual110 ResNet32 residual1202 ResNet44 ResNet56 error (%) 56layer ResNet110 error (%) error (%) 10 10 10 20layer 20layer 5 110layer plain20 5 5 plain32 plain44 plain56 1 0 0 0 0 1 2 3 4 5 6 0 1 2 3 4 5 6 4 5 6 iter. (1e4) iter. (1e4) iter. (1e4) Figure 6. Training on CIFAR10. Dashed lines denote training error, and bold lines denote testing error. Left: plain networks. The error of plain110 is higher than 60% and not displayed. Middle: ResNets. Right: ResNets with 110 and 1202 layers. 3 plain20 plain56 training data 07+12 07++12 ResNet20 test data VOC 07 test VOC 12 test std 2 ResNet56 ResNet110 VGG16 73.2 70.4 1 ResNet101 76.4 73.8 0 20 40 60 80 100 layer index (original) Table 7. Object detection mAP (%) on the PASCAL VOC plain20 3 plain56 2007/2012 test sets using baseline Faster RCNN. See also Ta ResNet20 ble 10 and 11 for better results. std 2 ResNet56 ResNet110 1 metric mAP@.5 mAP@[.5, .95] 0 20 40 60 80 100 VGG16 41.5 21.2 layer index (sorted by magnitude) Figure 7. Standard deviations (std) of layer responses on CIFAR ResNet101 48.4 27.2 10. The responses are the outputs of each 3×3 layer, after BN and Table 8. Object detection mAP (%) on the COCO validation set before nonlinearity. Top: the layers are shown in their original using baseline Faster RCNN. See also Table 9 for better results. order. Bottom: the responses are ranked in descending order. have similar training error. We argue that this is because of networks such as FitNet [35] and Highway [42] (Table 6), overfitting. The 1202layer network may be unnecessarily yet is among the stateoftheart results (6.43%, Table 6). large (19.4M) for this small dataset. Strong regularization such as maxout [10] or dropout [14] is applied to obtain the Analysis of Layer Responses. Fig. 7 shows the standard best results ([10, 25, 24, 35]) on this dataset. In this paper, deviations (std) of the layer responses. The responses are we use no maxout/dropout and just simply impose regular the outputs of each 3×3 layer, after BN and before other ization via deep and thin architectures by design, without nonlinearity (ReLU/addition). For ResNets, this analy distracting from the focus on the difficulties of optimiza sis reveals the response strength of the residual functions. tion. But combining with stronger regularization may im Fig. 7 shows that ResNets have generally smaller responses prove results, which we will study in the future. than their plain counterparts. These results support our ba sic motivation (Sec.3.1) that the residual functions might 4.3. Object Detection on PASCAL and MS COCO be generally closer to zero than the nonresidual functions. Our method has good generalization performance on We also notice that the deeper ResNet has smaller magni other recognition tasks. Table 7 and 8 show the object de tudes of responses, as evidenced by the comparisons among tection baseline results on PASCAL VOC 2007 and 2012 ResNet20, 56, and 110 in Fig. 7. When there are more [5] and COCO [26]. We adopt Faster RCNN [32] as the de layers, an individual layer of ResNets tends to modify the tection method. Here we are interested in the improvements signal less. of replacing VGG16 [41] with ResNet101. The detection Exploring Over 1000 layers. We explore an aggressively implementation (see appendix) of using both models is the deep model of over 1000 layers. We set n = 200 that same, so the gains can only be attributed to better networks. leads to a 1202layer network, which is trained as described Most remarkably, on the challenging COCO dataset we ob above. Our method shows no optimization difficulty, and tain a 6.0% increase in COCO’s standard metric (mAP@[.5, this 103 layer network is able to achieve training error .95]), which is a 28% relative improvement. This gain is <0.1% (Fig. 6, right). Its test error is still fairly good solely due to the learned representations. (7.93%, Table 6). Based on deep residual nets, we won the 1st places in But there are still open problems on such aggressively several tracks in ILSVRC & COCO 2015 competitions: Im deep models. The testing result of this 1202layer network ageNet detection, ImageNet localization, COCO detection, is worse than that of our 110layer network, although both and COCO segmentation. The details are in the appendix. 8
9.References [28] G. Mont´ufar, R. Pascanu, K. Cho, and Y. Bengio. On the number of linear regions of deep neural networks. In NIPS, 2014. [1] Y. Bengio, P. Simard, and P. Frasconi. Learning longterm dependen [29] V. Nair and G. E. Hinton. Rectified linear units improve restricted cies with gradient descent is difficult. IEEE Transactions on Neural boltzmann machines. In ICML, 2010. Networks, 5(2):157–166, 1994. [30] F. Perronnin and C. Dance. Fisher kernels on visual vocabularies for [2] C. M. Bishop. Neural networks for pattern recognition. Oxford image categorization. In CVPR, 2007. university press, 1995. [31] T. Raiko, H. Valpola, and Y. LeCun. Deep learning made easier by [3] W. L. Briggs, S. F. McCormick, et al. A Multigrid Tutorial. Siam, linear transformations in perceptrons. In AISTATS, 2012. 2000. [32] S. Ren, K. He, R. Girshick, and J. Sun. Faster RCNN: Towards [4] K. Chatfield, V. Lempitsky, A. Vedaldi, and A. Zisserman. The devil realtime object detection with region proposal networks. In NIPS, is in the details: an evaluation of recent feature encoding methods. 2015. In BMVC, 2011. [33] S. Ren, K. He, R. Girshick, X. Zhang, and J. Sun. Object detection [5] M. Everingham, L. Van Gool, C. K. Williams, J. Winn, and A. Zis networks on convolutional feature maps. arXiv:1504.06066, 2015. serman. The Pascal Visual Object Classes (VOC) Challenge. IJCV, [34] B. D. Ripley. Pattern recognition and neural networks. Cambridge pages 303–338, 2010. university press, 1996. [6] S. Gidaris and N. Komodakis. Object detection via a multiregion & [35] A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta, and semantic segmentationaware cnn model. In ICCV, 2015. Y. Bengio. Fitnets: Hints for thin deep nets. In ICLR, 2015. [7] R. Girshick. Fast RCNN. In ICCV, 2015. [36] O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, [8] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hier Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, et al. Imagenet archies for accurate object detection and semantic segmentation. In large scale visual recognition challenge. arXiv:1409.0575, 2014. CVPR, 2014. [37] A. M. Saxe, J. L. McClelland, and S. Ganguli. Exact solutions to [9] X. Glorot and Y. Bengio. Understanding the difficulty of training the nonlinear dynamics of learning in deep linear neural networks. deep feedforward neural networks. In AISTATS, 2010. arXiv:1312.6120, 2013. [10] I. J. Goodfellow, D. WardeFarley, M. Mirza, A. Courville, and [38] N. N. Schraudolph. Accelerated gradient descent by factorcentering Y. Bengio. Maxout networks. arXiv:1302.4389, 2013. decomposition. Technical report, 1998. [11] K. He and J. Sun. Convolutional neural networks at constrained time [39] N. N. Schraudolph. Centering neural network gradient factors. In cost. In CVPR, 2015. Neural Networks: Tricks of the Trade, pages 207–226. Springer, [12] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep 1998. convolutional networks for visual recognition. In ECCV, 2014. [40] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. Le [13] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into rectifiers: Cun. Overfeat: Integrated recognition, localization and detection Surpassing humanlevel performance on imagenet classification. In using convolutional networks. In ICLR, 2014. ICCV, 2015. [41] K. Simonyan and A. Zisserman. Very deep convolutional networks [14] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and for largescale image recognition. In ICLR, 2015. R. R. Salakhutdinov. Improving neural networks by preventing co [42] R. K. Srivastava, K. Greff, and J. Schmidhuber. Highway networks. adaptation of feature detectors. arXiv:1207.0580, 2012. arXiv:1505.00387, 2015. [15] S. Hochreiter and J. Schmidhuber. Long shortterm memory. Neural [43] R. K. Srivastava, K. Greff, and J. Schmidhuber. Training very deep computation, 9(8):1735–1780, 1997. networks. 1507.06228, 2015. [16] S. Ioffe and C. Szegedy. Batch normalization: Accelerating deep [44] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Er network training by reducing internal covariate shift. In ICML, 2015. han, V. Vanhoucke, and A. Rabinovich. Going deeper with convolu [17] H. Jegou, M. Douze, and C. Schmid. Product quantization for nearest tions. In CVPR, 2015. neighbor search. TPAMI, 33, 2011. [45] R. Szeliski. Fast surface interpolation using hierarchical basis func [18] H. Jegou, F. Perronnin, M. Douze, J. Sanchez, P. Perez, and tions. TPAMI, 1990. C. Schmid. Aggregating local image descriptors into compact codes. [46] R. Szeliski. Locally adapted hierarchical basis preconditioning. In TPAMI, 2012. SIGGRAPH, 2006. [19] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick, [47] T. Vatanen, T. Raiko, H. Valpola, and Y. LeCun. Pushing stochas S. Guadarrama, and T. Darrell. Caffe: Convolutional architecture for tic gradient towards secondorder methods–backpropagation learn fast feature embedding. arXiv:1408.5093, 2014. ing with transformations in nonlinearities. In Neural Information [20] A. Krizhevsky. Learning multiple layers of features from tiny im Processing, 2013. ages. Tech Report, 2009. [48] A. Vedaldi and B. Fulkerson. VLFeat: An open and portable library [21] A. Krizhevsky, I. Sutskever, and G. Hinton. Imagenet classification of computer vision algorithms, 2008. with deep convolutional neural networks. In NIPS, 2012. [49] W. Venables and B. Ripley. Modern applied statistics with splus. [22] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, 1999. W. Hubbard, and L. D. Jackel. Backpropagation applied to hand [50] M. D. Zeiler and R. Fergus. Visualizing and understanding convolu written zip code recognition. Neural computation, 1989. tional neural networks. In ECCV, 2014. [23] Y. LeCun, L. Bottou, G. B. Orr, and K.R. M¨uller. Efficient backprop. In Neural Networks: Tricks of the Trade, pages 9–50. Springer, 1998. [24] C.Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeply supervised nets. arXiv:1409.5185, 2014. [25] M. Lin, Q. Chen, and S. Yan. Network in network. arXiv:1312.4400, 2013. [26] T.Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Doll´ar, and C. L. Zitnick. Microsoft COCO: Common objects in context. In ECCV. 2014. [27] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 9
10.A. Object Detection Baselines 8 images (i.e., 1 per GPU) and the Fast RCNN step has a minibatch size of 16 images. The RPN step and Fast R In this section we introduce our detection method based CNN step are both trained for 240k iterations with a learn on the baseline Faster RCNN [32] system. The models are ing rate of 0.001 and then for 80k iterations with 0.0001. initialized by the ImageNet classification models, and then Table 8 shows the results on the MS COCO validation finetuned on the object detection data. We have experi set. ResNet101 has a 6% increase of mAP@[.5, .95] over mented with ResNet50/101 at the time of the ILSVRC & VGG16, which is a 28% relative improvement, solely con COCO 2015 detection competitions. tributed by the features learned by the better network. Re Unlike VGG16 used in [32], our ResNet has no hidden markably, the mAP@[.5, .95]’s absolute increase (6.0%) is fc layers. We adopt the idea of “Networks on Conv fea nearly as big as mAP@.5’s (6.9%). This suggests that a ture maps” (NoC) [33] to address this issue. We compute deeper network can improve both recognition and localiza the fullimage shared conv feature maps using those lay tion. ers whose strides on the image are no greater than 16 pixels (i.e., conv1, conv2 x, conv3 x, and conv4 x, totally 91 conv layers in ResNet101; Table 1). We consider these layers as B. Object Detection Improvements analogous to the 13 conv layers in VGG16, and by doing For completeness, we report the improvements made for so, both ResNet and VGG16 have conv feature maps of the the competitions. These improvements are based on deep same total stride (16 pixels). These layers are shared by a features and thus should benefit from residual learning. region proposal network (RPN, generating 300 proposals) [32] and a Fast RCNN detection network [7]. RoI pool MS COCO ing [7] is performed before conv5 1. On this RoIpooled Box refinement. Our box refinement partially follows the it feature, all layers of conv5 x and up are adopted for each erative localization in [6]. In Faster RCNN, the final output region, playing the roles of VGG16’s fc layers. The final is a regressed box that is different from its proposal box. So classification layer is replaced by two sibling layers (classi for inference, we pool a new feature from the regressed box fication and box regression [7]). and obtain a new classification score and a new regressed For the usage of BN layers, after pretraining, we com box. We combine these 300 new predictions with the orig pute the BN statistics (means and variances) for each layer inal 300 predictions. Nonmaximum suppression (NMS) is on the ImageNet training set. Then the BN layers are fixed applied on the union set of predicted boxes using an IoU during finetuning for object detection. As such, the BN threshold of 0.3 [8], followed by box voting [6]. Box re layers become linear activations with constant offsets and finement improves mAP by about 2 points (Table 9). scales, and BN statistics are not updated by finetuning. We Global context. We combine global context in the Fast fix the BN layers mainly for reducing memory consumption RCNN step. Given the fullimage conv feature map, we in Faster RCNN training. pool a feature by global Spatial Pyramid Pooling [12] (with PASCAL VOC a “singlelevel” pyramid) which can be implemented as Following [7, 32], for the PASCAL VOC 2007 test set, “RoI” pooling using the entire image’s bounding box as the we use the 5k trainval images in VOC 2007 and 16k train RoI. This pooled feature is fed into the postRoI layers to val images in VOC 2012 for training (“07+12”). For the obtain a global context feature. This global feature is con PASCAL VOC 2012 test set, we use the 10k trainval+test catenated with the original perregion feature, followed by images in VOC 2007 and 16k trainval images in VOC 2012 the sibling classification and box regression layers. This for training (“07++12”). The hyperparameters for train new structure is trained endtoend. Global context im ing Faster RCNN are the same as in [32]. Table 7 shows proves mAP@.5 by about 1 point (Table 9). the results. ResNet101 improves the mAP by >3% over Multiscale testing. In the above, all results are obtained by VGG16. This gain is solely because of the improved fea singlescale training/testing as in [32], where the image’s tures learned by ResNet. shorter side is s = 600 pixels. Multiscale training/testing MS COCO has been developed in [12, 7] by selecting a scale from a The MS COCO dataset [26] involves 80 object cate feature pyramid, and in [33] by using maxout layers. In gories. We evaluate the PASCAL VOC metric (mAP @ our current implementation, we have performed multiscale IoU = 0.5) and the standard COCO metric (mAP @ IoU = testing following [33]; we have not performed multiscale .5:.05:.95). We use the 80k images on the train set for train training because of limited time. In addition, we have per ing and the 40k images on the val set for evaluation. Our formed multiscale testing only for the Fast RCNN step detection system for COCO is similar to that for PASCAL (but not yet for the RPN step). With a trained model, we VOC. We train the COCO models with an 8GPU imple compute conv feature maps on an image pyramid, where the mentation, and thus the RPN step has a minibatch size of image’s shorter sides are s ∈ {200, 400, 600, 800, 1000}. 10
11. training data COCO train COCO trainval test data COCO val COCO testdev mAP @.5 @[.5, .95] @.5 @[.5, .95] baseline Faster RCNN (VGG16) 41.5 21.2 baseline Faster RCNN (ResNet101) 48.4 27.2 +box refinement 49.9 29.9 +context 51.1 30.0 53.3 32.2 +multiscale testing 53.8 32.5 55.7 34.9 ensemble 59.0 37.4 Table 9. Object detection improvements on MS COCO using Faster RCNN and ResNet101. system net data mAP areo bike bird boat bottle bus car cat chair cow table dog horse mbike person plant sheep sofa train tv baseline VGG16 07+12 73.2 76.5 79.0 70.9 65.5 52.1 83.1 84.7 86.4 52.0 81.9 65.7 84.8 84.6 77.5 76.7 38.8 73.6 73.9 83.0 72.6 baseline ResNet101 07+12 76.4 79.8 80.7 76.2 68.3 55.9 85.1 85.3 89.8 56.7 87.8 69.4 88.3 88.9 80.9 78.4 41.7 78.6 79.8 85.3 72.0 baseline+++ ResNet101 COCO+07+12 85.6 90.0 89.6 87.8 80.8 76.1 89.9 89.9 89.6 75.5 90.0 80.7 89.6 90.3 89.1 88.7 65.4 88.1 85.6 89.0 86.8 Table 10. Detection results on the PASCAL VOC 2007 test set. The baseline is the Faster RCNN system. The system “baseline+++” include box refinement, context, and multiscale testing in Table 9. system net data mAP areo bike bird boat bottle bus car cat chair cow table dog horse mbike person plant sheep sofa train tv baseline VGG16 07++12 70.4 84.9 79.8 74.3 53.9 49.8 77.5 75.9 88.5 45.6 77.1 55.3 86.9 81.7 80.9 79.6 40.1 72.6 60.9 81.2 61.5 baseline ResNet101 07++12 73.8 86.5 81.6 77.2 58.0 51.0 78.6 76.6 93.2 48.6 80.4 59.0 92.1 85.3 84.8 80.7 48.1 77.3 66.5 84.7 65.6 baseline+++ ResNet101 COCO+07++12 83.8 92.1 88.4 84.8 75.9 71.4 86.3 87.8 94.2 66.8 89.4 69.2 93.9 91.9 90.9 89.6 67.9 88.2 76.8 90.3 80.0 Table 11. Detection results on the PASCAL VOC 2012 test set (http://host.robots.ox.ac.uk:8080/leaderboard/ displaylb.php?challengeid=11&compid=4). The baseline is the Faster RCNN system. The system “baseline+++” include box refinement, context, and multiscale testing in Table 9. We select two adjacent scales from the pyramid following val2 test [33]. RoI pooling and subsequent layers are performed on GoogLeNet [44] (ILSVRC’14)  43.9 the feature maps of these two scales [33], which are merged our single model (ILSVRC’15) 60.5 58.8 by maxout as in [33]. Multiscale testing improves the mAP our ensemble (ILSVRC’15) 63.6 62.1 by over 2 points (Table 9). Table 12. Our results (mAP, %) on the ImageNet detection dataset. Using validation data. Next we use the 80k+40k trainval set Our detection system is Faster RCNN [32] with the improvements for training and the 20k testdev set for evaluation. The test in Table 9, using ResNet101. dev set has no publicly available ground truth and the result is reported by the evaluation server. Under this setting, the we achieve 85.6% mAP on PASCAL VOC 2007 (Table 10) results are an mAP@.5 of 55.7% and an mAP@[.5, .95] of and 83.8% on PASCAL VOC 2012 (Table 11)6 . The result 34.9% (Table 9). This is our singlemodel result. on PASCAL VOC 2012 is 10 points higher than the previ Ensemble. In Faster RCNN, the system is designed to learn ous stateoftheart result [6]. region proposals and also object classifiers, so an ensemble can be used to boost both tasks. We use an ensemble for ImageNet Detection proposing regions, and the union set of proposals are pro The ImageNet Detection (DET) task involves 200 object cessed by an ensemble of perregion classifiers. Table 9 categories. The accuracy is evaluated by mAP@.5. Our shows our result based on an ensemble of 3 networks. The object detection algorithm for ImageNet DET is the same mAP is 59.0% and 37.4% on the testdev set. This result as that for MS COCO in Table 9. The networks are pre won the 1st place in the detection task in COCO 2015. trained on the 1000class ImageNet classification set, and are finetuned on the DET data. We split the validation set PASCAL VOC into two parts (val1/val2) following [8]. We finetune the We revisit the PASCAL VOC dataset based on the above detection models using the DET training set and the val1 model. With the single model on the COCO dataset (55.7% set. The val2 set is used for validation. We do not use other mAP@.5 in Table 9), we finetune this model on the PAS ILSVRC 2015 data. Our single model with ResNet101 has CAL VOC sets. The improvements of box refinement, con 6 http://host.robots.ox.ac.uk:8080/anonymous/3OJ4OJ.html, text, and multiscale testing are also adopted. By doing so submitted on 20151126. 11
12. LOC LOC testing LOC error classification top5 LOC error top5 localization err method network on GT CLS network on predicted CLS method val test VGG’s [41] VGG16 1crop 33.1 [41] RPN ResNet101 1crop 13.3 OverFeat [40] (ILSVRC’13) 30.0 29.9 RPN ResNet101 dense 11.7 GoogLeNet [44] (ILSVRC’14)  26.7 RPN ResNet101 dense ResNet101 14.4 VGG [41] (ILSVRC’14) 26.9 25.3 RPN+RCNN ResNet101 dense ResNet101 10.6 ours (ILSVRC’15) 8.9 9.0 RPN+RCNN ensemble dense ensemble 8.9 Table 14. Comparisons of localization error (%) on the ImageNet Table 13. Localization error (%) on the ImageNet validation. In dataset with stateoftheart methods. the column of “LOC error on GT class” ([41]), the ground truth class is used. In the “testing” column, “1crop” denotes testing on a center crop of 224×224 pixels, “dense” denotes dense (fully ports a centercrop error of 33.1% (Table 13) using ground convolutional) and multiscale testing. truth classes. Under the same setting, our RPN method us ing ResNet101 net significantly reduces the centercrop er ror to 13.3%. This comparison demonstrates the excellent 58.8% mAP and our ensemble of 3 models has 62.1% mAP performance of our framework. With dense (fully convolu on the DET test set (Table 12). This result won the 1st place tional) and multiscale testing, our ResNet101 has an error in the ImageNet detection task in ILSVRC 2015, surpassing of 11.7% using ground truth classes. Using ResNet101 for the second place by 8.5 points (absolute). predicting classes (4.6% top5 classification error, Table 4), the top5 localization error is 14.4%. C. ImageNet Localization The above results are only based on the proposal network The ImageNet Localization (LOC) task [36] requires to (RPN) in Faster RCNN [32]. One may use the detection classify and localize the objects. Following [40, 41], we network (Fast RCNN [7]) in Faster RCNN to improve the assume that the imagelevel classifiers are first adopted for results. But we notice that on this dataset, one image usually predicting the class labels of an image, and the localiza contains a single dominate object, and the proposal regions tion algorithm only accounts for predicting bounding boxes highly overlap with each other and thus have very similar based on the predicted classes. We adopt the “perclass re RoIpooled features. As a result, the imagecentric training gression” (PCR) strategy [40, 41], learning a bounding box of Fast RCNN [7] generates samples of small variations, regressor for each class. We pretrain the networks for Im which may not be desired for stochastic training. Motivated ageNet classification and then finetune them for localiza by this, in our current experiment we use the original R tion. We train networks on the provided 1000class Ima CNN [8] that is RoIcentric, in place of Fast RCNN. geNet training set. Our RCNN implementation is as follows. We apply the Our localization algorithm is based on the RPN frame perclass RPN trained as above on the training images to work of [32] with a few modifications. Unlike the way in predict bounding boxes for the ground truth class. These [32] that is categoryagnostic, our RPN for localization is predicted boxes play a role of classdependent proposals. designed in a perclass form. This RPN ends with two sib For each training image, the highest scored 200 proposals ling 1×1 convolutional layers for binary classification (cls) are extracted as training samples to train an RCNN classi and box regression (reg), as in [32]. The cls and reg layers fier. The image region is cropped from a proposal, warped are both in a perclass from, in contrast to [32]. Specifi to 224×224 pixels, and fed into the classification network cally, the cls layer has a 1000d output, and each dimension as in RCNN [8]. The outputs of this network consist of two is binary logistic regression for predicting being or not be sibling fc layers for cls and reg, also in a perclass form. ing an object class; the reg layer has a 1000×4d output This RCNN network is finetuned on the training set us consisting of box regressors for 1000 classes. As in [32], ing a minibatch size of 256 in the RoIcentric fashion. For our bounding box regression is with reference to multiple testing, the RPN generates the highest scored 200 proposals translationinvariant “anchor” boxes at each position. for each predicted class, and the RCNN network is used to update these proposals’ scores and box positions. As in our ImageNet classification training (Sec. 3.4), we This method reduces the top5 localization error to randomly sample 224×224 crops for data augmentation. 10.6% (Table 13). This is our singlemodel result on the We use a minibatch size of 256 images for finetuning. To validation set. Using an ensemble of networks for both clas avoid negative samples being dominate, 8 anchors are ran sification and localization, we achieve a top5 localization domly sampled for each image, where the sampled positive error of 9.0% on the test set. This number significantly out and negative anchors have a ratio of 1:1 [32]. For testing, performs the ILSVRC 14 results (Table 14), showing a 64% the network is applied on the image fullyconvolutionally. relative reduction of error. This result won the 1st place in Table 13 compares the localization results. Following the ImageNet localization task in ILSVRC 2015. [41], we first perform “oracle” testing using the ground truth class as the classification prediction. VGG’s paper [41] re 12

Graph Features in Spark 3.0  Integrating Graph Querying and Algorithms in Spark Graphg
Spark开源社区

Updates from Project Hydrogen  Unifying StateoftheArt AI and Big Data in Apache Spark
Spark开源社区

Tensorflow Faster RCNN 2.0
GDG

Deep learning and gene computing acceleration with alluxio in kubernetes
Alluxio

tf.data: TensorFlow Input Pipeline
Alluxio