Learning Deep ResNet Blocks Sequentially using Boosting Theory

Learning Deep ResNet Blocks Sequentially using Boosting Theory

Abstract

We prove a multi-channel telescoping sum boosting theory for the ResNet architectures which simultaneously creates a new technique for boosting over features (in contrast to labels) and provides a new algorithm for ResNet-style architectures. Our proposed training algorithm, BoostResNet, is particularly suitable in non-differentiable architectures. Our method only requires the relatively inexpensive sequential training of “shallow ResNets”. We prove that the training error decays exponentially with the depth if the weak module classifiers that we train perform slightly better than some weak baseline. In other words, we propose a weak learning condition and prove a boosting theory for ResNet under the weak learning condition. A generalization error bound based on margin theory is proved and suggests that ResNet could be resistant to overfitting using a network with norm bounded weights.

\printAffiliationsAndNotice

1 Introduction

Why do residual neural networks (ResNets) (He et al., 2016) and the related highway networks (Srivastava et al., 2015) work? And if we study closely why they work, can we come up with new understandings of how to train them and how to define working algorithms?

Deep neural networks have elicited breakthrough successes in machine learning, especially in image classification and object recognition (Krizhevsky et al., 2012; Sermanet et al., 2013; Simonyan & Zisserman, 2014; Zeiler & Fergus, 2014) in recent years. As the number of layers increases, the nonlinear network becomes more powerful, deriving richer features from input data. Empirical studies suggest that challenging tasks in image classification (He et al., 2015; Ioffe & Szegedy, 2015; Simonyan & Zisserman, 2014; Szegedy et al., 2015) and object recognition (Girshick, 2015; Girshick et al., 2014; He et al., 2014; Long et al., 2015; Ren et al., 2015) often require “deep” networks, consisting of tens or hundreds of layers. Theoretical analyses have further justified the power of deep networks (Mhaskar & Poggio, 2016) compared to shallow networks.

However, deep neural networks are difficult to train despite their intrinsic representational power. Stochastic gradient descent with back-propagation (BP) (LeCun et al., 1989) and its variants are commonly used to solve the non-convex optimization problems. A major challenge that exists for training both shallow and deep networks is vanishing or exploding gradients (Bengio et al., 1994; Glorot & Bengio, 2010). Recent works have proposed normalization techniques (Glorot & Bengio, 2010; LeCun et al., 2012; Ioffe & Szegedy, 2015; Saxe et al., 2013) to effectively ease the problem and achieve convergence. In training deep networks, however, a surprising training performance degradation is observed  (He & Sun, 2015; Srivastava et al., 2015; He et al., 2016): the training performance degrades rapidly with increased network depth after some saturation point. This training performance degradation is representationally surprising as one can easily construct a deep network identical to a shallow network by forcing any part of the deep network to be the same as the shallow network with the remaining layers functioning as identity maps. He et al. (He et al., 2016) presented a residual network (ResNet) learning framework to ease the training of networks that are substantially deeper than those used previously. And they explicitly reformulate the layers as learning residual functions with reference to the layer inputs by adding identity loops to the layers. It is shown in (Hardt & Ma, 2016) that identity loops ease the problem of spurious local optima in shallow networks. Srivastava et al. (Srivastava et al., 2015) introduce a novel architecture that enables the optimization of networks with virtually arbitrary depth through the use of a learned gating mechanism for regulating information flow.

Empirical evidence overwhelmingly shows that these deep residual networks are easier to optimize than non-residual ones. Can we develop a theoretical justification for this observation? And does that justification point us towards new algorithms with better characteristics?

1.1 Summary of Results

We propose a new framework, multi-channel telescoping sum boosting (defined in Section 4), to characterize a feed forward ResNet in Section 3. We show that the top level (final) output of a ResNet can be thought of as a layer-by-layer boosting method (defined in Section 2). Traditional boosting, which ensembles “estimated score functions” or “estimated labels” from weak learners, does not work in the ResNet setting because of two reasons: (1) ResNet is a telescoping sum boosting of weak learners, not a naive (weighted) ensemble; (2) ResNet boosts over “representations”, not “estimated labels”. We provide the first error bound for telescoping sum boosting over features. Boosting over features and boosting over labels are different. There is no existing work that proves a boosting theory (guaranteed 0 training error) for boosting features. Moreover, the special structure of a ResNet entails more complicated analysis: telescoping sum boosting, which has never been introduced before in the existing literature.

We introduce a learning algorithm (BoostResNet) guaranteed to reduce error exponentially as depth increases so long as a weak learning assumption is obeyed. BoostResNet adaptively selects training samples or changes the cost function (Section 4 Theorem 4.2). In Section 4.4, we analyze the generalization error of BoostResNet and provide advice to avoid overfitting. The procedure trains each residual block sequentially, only requiring that each provides a better-than-a-weak-baseline in predicting labels.

BoostResNet requires radically lower computational complexity for training than end-to-end back propagation (e2eBP). The number of gradient updates required by BoostResNet is much smaller than e2eBP as discussed in Section 4.3. Memorywise, BoostResNet requires only individual layers of the network to be in the graphics processing unit (GPU) while e2eBP inevitably keeps all layers in the GPU. For example, in a state-of-the-art deep ResNet, this might reduce the RAM requirements for GPU by a factor of the depth of the network. Similar improvements in computation are observed since each e2eBP step involves back propagating through the entire deep network.

Experimentally, we compare BoostResNet with e2eBP over two types of feed-forward ResNets, multilayer perceptron residual network (MLP-ResNet) and convolutional neural network residual network (CNN-ResNet), on multiple datasets. BoostResNet shows substantial computational performance improvements and accuracy improvement under the MLP-ResNet architecture. Under CNN-ResNet, a faster convergence for BoostResNet is observed.

One of the hallmarks of our approach is to make an explicit distinction between the classes of the multiclass learning problem and channels that are constructed by the learning procedure. A channel here is essentially a scalar value modified by the rounds of boosting so as to implicitly minimize the multiclass error rate. Our multi-channel telescoping sum boosting learning framework is not limited to ResNet and can be extended to other, even non-differentiable, nonlinear hypothesis units, such as decision trees or tensor decompositions. Our contribution does not limit to explaining ResNet in the boosting framework, we have also developed a new boosting framework for other relevant tasks that require multi-channel telescoping sum structure.

1.2 Related Works

Training deep neural networks has been an active research area in the past few years. The main optimization challenge lies in the highly non-convex nature of the loss function. There are two main ways to address this optimization problem: one is to select a loss function and network architecture that have better geometric properties (details refer to appendix A.1), and the other is to improve the network’s learning procedure (details refer to appendix A.2).

Many authors have previously looked into neural networks and boosting, each in a different way. Bengio et al. (2006) introduce single hidden layer convex neural networks, and propose a gradient boosting algorithm to learn the weights of the linear classifier. The approach has not been generalized to deep networks with more than one hidden layer. Shalev-Shwartz (2014) proposes a selfieBoost algorithm which boosts the accuracy of an entire network. Our algorithm is different as we instead construct ensembles of classifiers. Veit et al. (2016) interpret residual networks as a collection of many paths of differing length. Their empirical study shows that residual networks avoid the vanishing gradient problem by introducing short paths which can carry gradient throughout the extent of very deep networks.

Comparison with AdaNet

The authors of AdaNet (Cortes et al., 2016) consider ensembles of neural layers with a boosting-style algorithm and provide a method for structural learning of neural networks by optimizing over the generalization bound, which consists of the training error and the complexity of the AdaNet architecture. AdaNet uses the traditional boosting framework where weak classifiers are being boosted. Therefore, to obtain low training error guarantee, AdaNet maps the feature vectors (hidden layer representations) to a classifier space and boosts the weak classifiers. In AdaNet, features (representations) from each lower layer have to be fed into a classifier (in other words, be transferred to score function in the label space). This is because AdaNet uses traditional boosting, which ensembles score functions or labels. As a result, the top classifier in AdaNet has to be connected to all lower layers, making the structure bushy. Therefore AdaNet chooses its own structure during learning, and its boosting theory does not necessarily work for a ResNet structure.

Our BoostResNet, instead, boosts features (representations) over multiple channels, and thus produces a less “bushy” architecture. We are able to boost features by developing this new “telescoping-sum boosting” framework, one of our main contributions. We come up with the new weak learning condition for the telescoping-sum boosting framework. The algorithm is also very different from AdaNet and is explained in details in section 3 and 4.

BoostResNet focuses on a ResNet architecture, provides a new training algorithm for ResNet, and proves a training error guarantee for deep ResNet architecture. A ResNet-style architecture is a special case of AdaNet, so AdaNet generalization guarantee applies here and our generalization analysis is built upon their work.

2 Preliminaries

\psfrag

Linear Classifier[Bc] Linear Classifier \psfragw[Bc] \psfragy[Bc] \psfraggn[Cc] \psfraggn-2[Bc] \psfraggn-1[Br] \psfragfn-1(gn-2)[Bc] \psfragfn(gn-1)[Bc] \psfragrelu[Bc] \psfrag…[Bc]

Figure 1: The architecture of a residual network (ResNet).

A residual neural network (ResNet) is composed of stacked entities referred to as residual blocks. Each residual block consists of a neural network module and an identity loop (shortcut). Commonly used modules include MLP and CNN. Throughout this paper, we consider training and test examples generated i.i.d. from some distribution over , where is the input space and is the label space. We denote by a training set of examples drawn according to .

A Residual Block of ResNet

ResNet consists of residual blocks. Each residual block contains a module and an identity loop. Let each module map its input to where denotes the level of the modules. Each module is a nonlinear unit with channels, i.e., . In multilayer perceptron residual network (MLP-ResNet), is a shallow MLP, for instance, where , and is a nonlinear operator such as sigmoidal function or relu function. Similarly, in convolutional neural network residual network (CNN-ResNet), represents the -th convolutional module. Then the -th residual block outputs

(1)

where is the input fed to the ResNet. See Figure 1 for an illustration of a ResNet, which consists of stacked residual blocks (each residual block contains a nonlinear module and an identity loop).

Output of ResNet

Due to the recursive relation specified in Equation (1), the output of the -th residual block is equal to the summation over lower module outputs, i.e., , where . For binary classification tasks, the final output of a ResNet given input is rendered after a linear classifier on representation (In the multiclass setting, let be the number of classes; the linear classifier is a matrix instead of a vector.):

(2)

where and denotes a map from classifier outputs (scores) to labels. For instance for binary classification ( for multiclass classification). The parameters of a depth- ResNet are . A ResNet training involves training the classifier and the weights of modules when training examples are available.

Boosting

Boosting (Freund & Schapire, 1995) assumes the availability of a weak learning algorithm which, given labeled training examples, produces a weak classifier (a.k.a. base classifier). The goal of boosting is to improve the performance of the weak learning algorithm. The key idea behind boosting is to choose training sets for the weak classifier in such a fashion as to force it to infer something new about the data each time it is called. The weak learning algorithm will finally combine many weak classifiers into a single strong classifier whose prediction power is strong.

From empirical experience, ResNet remedies the problem of training error degradation (instability of solving non-convex optimization problem using SGD) in deeper neural networks. We are curious about whether there is a theoretical justification that identity loops help in training. More importantly, we are interested in proposing a new algorithm that avoids end-to-end back-propagation (e2eBP) through the deep network and thus is immune to the instability of SGD for non-convex optimization of deep neural networks.

3 ResNet in Telescoping Sum Boosting Framework

As we recall from Equation (2), ResNet indeed has a similar form as the strong classifier in boosting. The key difference is that boosting is an ensemble of estimated hypotheses whereas ResNet is an ensemble of estimated feature representations . To solve this problem, we introduce an auxiliary linear classifier on top of each residual block to construct a hypothesis module. Formally, a hypothesis module is defined as

(3)

in the binary classification setting. Therefore as . We emphasize that given , we only need to train and to train . In other words, we feed the output of previous residual block () to the current module and train the weights of current module and the auxiliary classifier .

Now the input, , of the -th residual block is the output, , of the -th residual block. As a result, . In other words, the auxiliary linear classifier is common for all modules underneath. It would not be realistic to assume a common auxiliary linear classifier, as such an assumption prevents us from training the hypothesis module sequentially. We design a weak module classifier using the idea of telescoping sum as follows.

Definition 3.1.

A weak module classifier is defined as

(4)

where is a hypothesis module, and is a scalar. We call it a “telescoping sum boosting” framework if the weak learners are restricted to the form of the weak module classifier.

ResNet: Ensemble of Weak Module Classifiers

Recall that the -th residual block of a ResNet outputs , which is fed to the top/final linear classifier for the final classification. We show that an ensemble of the weak module classifiers is equivalent to a ResNet’s final output. We state it formally in Lemma 3.2. For purposes of exposition, we will call the output of ResNet although a function is applied on top of , mapping the output to the label space .

Lemma 3.2.

Let the input of the -th module be the output of the previous module, i.e., . Then the summation of weak module classifiers divided by is identical to the output, , of the depth- ResNet,

(5)

where the weak module classifier is defined in Equation (4).

See Appendix B for the proof. Overall, our proposed ensemble of weak module classifiers is a new framework that allows for sequential training of ResNet. Note that traditional boosting algorithm results do not apply here. We now analyze our telescoping sum boosting framework in Section 4. Our analysis applies to both binary and multiclass, but we will focus on the binary class for simplicity in the main text and defer the multiclass analysis to the Appendix F.

4 Telescoping Sum Boosting for Binary Classification

1: labeled samples where and a threshold
2: and Discard ,
3:Initialize , , ,
4:Initialize sample weights at round : ,
5:while  do
6:      Algorithm 2
7:     Compute where
8:     Update where
9:     
10:end while
11:
Algorithm 1 BoostResNet: telescoping sum boosting for binary-class classification
1:,, and
2:, , and
3:
4:
Algorithm 2 BoostResNet: oracle implementation for training a ResNet block

Below, we propose a learning algorithm whose training error decays exponentially with the number of weak module classifiers under a weak learning condition. We restrict to bounded hypothesis modules, i.e., .

4.1 Weak Learning Condition

The weak module classifier involves the difference between (scaled version of) and . Let be the edge of the hypothesis module , where is the weight of the examples. As the hypothesis module is bounded by 1, we obtain . So characterizes the performance of the hypothesis module . A natural requirement would be that improves slightly upon , and thus could serve as a weak learning condition. However this weak learning condition is too strong: even when current hypothesis module is performing almost ideally ( is close to 1), we still seek a hypothesis module which performs consistently better than the previous one by . Instead, we consider a much weaker learning condition, inspired by training error analysis, as follows.

Definition 4.1 (-Weak Learning Condition).

A weak module classifier satisfies the -weak learning condition if and the covariance between and is non-positive.

The weak learning condition is motivated by the learning theory and it is met in practice (refer to Figure 4).

Interpretation of weak learning condition

For each weak module classifier , characterizes the normalized improvement of the correlation between the true labels and the hypothesis modules over the correlation between the true labels and the hypothesis modules . The condition specified in Definition 4.1 is mild as it requires the hypothesis module to perform only slightly better than the previous hypothesis module . In residual network, since represents a depth-() residual network which is a deeper counterpart of the depth- residual network , it is natural to assume that the deeper residual network improves slightly upon the shallower residual network. When is close to 1, only needs to be slightly better than as the denominator is small. The assumption of the covariance between and being non-positive is suggesting that the weak module classifiers should not be adversarial, which may be a reasonable assumption for ResNet.

4.2 BoostResNet

We now propose a novel training algorithm for telescoping sum boosting under binary-class classification as in Algorithm 1. In particular, we introduce a training procedure for deep ResNet in Algorithm 12, BoostResNet, which only requires sequential training of shallow ResNets.

The training algorithm is a module-by-module procedure following a bottom-up fashion as the outputs of the -th module are fed as the training examples to the next -th module. Each of the shallow ResNet is combined with an auxiliary linear classifier to form a hypothesis module . The weights of the ResNet are trained on these shallow ResNets. The telescoping sum construction is the key for successful interpretation of ResNet as ensembles of weak module classifiers. The innovative introduction of the auxiliary linear classifiers () is the key solution for successful multi-channel representation boosting with theoretical guarantees. Auxiliary linear classifiers are only used to guide training, and they are not included in the model (proved in Lemma 3.2). This is the fundamental difference between BoostResNet and AdaNet. AdaNet (Cortes et al., 2016) maps the feature vectors (hidden layer representations) to a classifier space and boosts the weak classifiers. Our framework is a multi-channel representation (or information) boosting rather than a traditional classifier boosting. Traditional boosting theory does not apply in our setting.

Theorem 4.2.

The training error of a -module telescoping sum boosting framework using Algorithms 1 and 2 decays exponentially with the number of modules ,

if the weak module classifier satisfies the -weak learning condition defined in Definition 4.1.

The training error of Algorithms 1 and 2 is guaranteed to decay exponentially with the ResNet depth even when each hypothesis module performs slightly better than its previous hypothesis module (i.e., ). Refer to Appendix F for the algorithm and theoretical guarantees for multiclass classification.

4.3 Oracle Implementation for ResNet

In Algorithm 2, the implementation of the oracle at line 1 is equivalent to

(6)

The minimization problem over corresponds to finding the weights of the -th nonlinear module of the residual network. Auxiliary classifier is used to help solve this minimization problem with the guidance of training labels . However, the final neural network model includes none of the auxiliary classifiers, and still follows a standard ResNet structure (proved in Lemma 3.2). In practice, there are various ways to implement Equation (6). For instance, Janzamin et. al. (Janzamin et al., 2015) propose a tensor decomposition technique which decomposes a tensor formed by some transformation of the features combined with labels and recovers the weights of a one-hidden layer neural network with guarantees. One can also use back-propagation as numerous works have shown that gradient based training are relatively stable on shallow networks with identity loops (Hardt & Ma, 2016; He et al., 2016).

Computational & Memory Efficiency BoostResNet training is memory efficient as the training process only requires parameters of two consecutive residual blocks to be in memory. Given that the limited GPU memory being one of the main bottlenecks for computational efficiency, BoostResNet requires significantly less training time than e2eBP in deep networks as a result of reduced communication overhead and the speed-up in shallow gradient forwarding and back-propagation. Let be the memory required for one module, and be the memory required for one linear classifier, the memory consumption is by BoostResNet and by e2eBP. Let the flops needed for gradient update over one module and one linear classifier be and respectively, the computation cost is by BoostResNet and by e2eBP.

4.4 Generalization Error Analysis

In this section, we analyze the generalization error to understand the possibility of overfitting under Algorithm 1. The strong classifier or the ResNet is . Now we define the margin for example as . For simplicity, we consider MLP-ResNet with multiple channels and assume that the weight vector connecting a neuron at layer with its preceding layer neurons is norm bounded by . Recall that there exists a linear classifier on top, and we restrict to norm bounded classifiers, i.e., . The expected training examples are norm bounded . We introduce Corollary 4.3 which follows directly from Lemma 2 of (Cortes et al., 2016).

Corollary 4.3.

(Cortes et al., 2016) Let be a distribution over and be a sample of examples chosen independently at random according to . With probability at least , for , the strong classifier (ResNet) satisfies that

(7)

where and .

From Corollary 4.3, we obtain a generalization error bound in terms of margin bound and network complexity . Larger margin bound (larger ) contributes positively to generalization accuracy, and norm bounded weights (smaller ) are beneficial to control network complexity and to avoid overfitting. The dominant term in the network complexity is which scales as least linearly with the depth . See appendix D for the proof.

This corollary suggests that stronger weak module classifiers which produce higher accuracy predictions and larger edges, will yield larger margins and suffer less from overfitting. The larger the value of , the smaller the term is. With larger edges on the training set and when , we are able to choose larger values of while keeping the error term zero or close to zero.

5 Experiments

\psfrag TrainingAccuracy[cc]Training Acc \psfragNumber of Residual Blocks[Bl]Number of Residual Blocks \psfragBoostResNet[Bl]BoostResNet \psfrage2eBP[Bl]e2eBP
(a) depth vs training accuracy
\psfrag Test Accuracy[Bl]Test Acc \psfragBoostResNet[Bl]BoostResNet \psfragNumber of Residual Blocks[Bl]Number of Residual Blocks \psfrag e2eBP[Bl]e2eBP
(b) depth vs test accuracy
Figure 2: Comparison of BoostResNet (ours, blue) and e2eBP (baseline, red) on multilayer perceptron residual network on MNIST dataset.
\psfrag BoostResNet Training[Bl]BoostResNet Training \psfragBoostResNet Test[Bl]BoostResNet Test \psfrage2eBP Training[Bl]e2eBP Training
(a) SVHN
(b) CIFAR-10
Figure 3: Convergence performance comparison between e2eBP and BoostResNet on convolutional neural network residual network on the SVHN and CIFAR-10 dataset. The vertical dotted line shows when BoostResNet training stopped, and we began refining the network with standard e2eBP training.
\psfrag gamma[cc] \psfragdepth[cc]depth
(a)
\psfrag gamma tilde[cc] \psfragdepth[cc]depth
(b)
Figure 4: Visualization of edge and edge for each residual block . The x-axis represents depth, and the y-axis represents or values. The plots are for a convolutional network composed of 50 residual blocks and trained on the SVHN dataset.
Training: BoostResNet e2eBP BoostResNet+e2eBP e2eBP AdaBoost
NGU
train 96.9% 85% 98.8% 98.8% 95.6%
test 93.8% 83% 96.8% 96.8% 92.3%
Table 1: Accuracies of SVHN task. NGU is the number of gradient updates taken by the algorithm in training.
Training: BoostResNet e2eBP BoostResNet+e2eBP e2eBP AdaBoost
NGU
train 92.1% 82% 99.6% 99.7% 95.6%
test 82.1% 80% 88.1% 90.0% 92.3%
Table 2: Accuracies of CIFAR-10 task. NGU is the number of gradient updates taken by the algorithm in training.

We compare our proposed BoostResNet algorithm with e2eBP training a ResNet on the MNIST (LeCun et al., 1998), street view house numbers (SVHN) (Netzer et al., 2011), and CIFAR-10 (Krizhevsky & Hinton, 2009) benchmark datasets. Two different types of architectures are tested: a ResNet where each module is a fully-connected multi-layer perceptron (MLP-ResNet) and a more common, convolutional neural network residual network (CNN-ResNet). In each experiment the architecture of both algorithms is identical, and they are both initialized with the same random seed. As a baseline, we also experiment with standard boosting (AdaBoost.MM Mukherjee & Schapire (2013)) of convolutional modules for SVHN and CIFAR-10 datasets. Our experiments are programmed in the Torch deep learning framework for Lua and executed on NVIDIA Tesla P100 GPUs. All models are trained using the Adam variant of SGD Kingma & Ba (2014).

Hyperparameters are selected via random search for highest accuracy on a validation set. They are specified in Appendix H. In BoostResNet, the most important hyperparameters, according to our experiments, are those that govern when the algorithm stops training the current module and begins training its successor.

MLP-ResNet on MNISTThe MNIST database (LeCun et al., 1998) of handwritten digits has a training set of 60,000 examples, and a test set of 10,000 examples. The data contains ten classes. We test the performance of BoostResNet on MLP-ResNet using MNIST dataset, and compare it with e2eBP baseline. Each residual block is composed of an MLP with a single, 1024-dimensional hidden layer. The training and test error between BoostResNet and e2eBP is in Figure 2 as a function of depth. Surprisingly, we find that training error degrades for e2eBP, although the ResNet’s identity loop is supposed to alleviate this problem. Our proposed sequential training procedure, BoostResNet, relieves gradient instability issues, and continues to perform well as depth increases.

CNN-ResNet on SVHN SVHN (Netzer et al., 2011) is a real-world image dataset, obtained from house numbers in Google Street View images. The dataset contains over 600,000 training images, and about 20,000 test images. We fit a 50-layer, 25-residual-block CNN-ResNet using both BoostResNet and e2eBP (figure (a)a). Each residual block is composed of a CNN using 15 3 3 filters. We refine the result of BoostResNet by initializing the weights using the result of BoostResNet and run end-to-end back propagation (e2eBP). From figure (a)a, our BoostResNet converges much faster (requires much fewer gradient updates) than e2eBP. The test accuracy of BoostResNet is comparable with e2eBP.

CNN-ResNet on CIFAR-10 The CIFAR-10 dataset is a benchmark dataset composed of 10 classes of small images, such as animals and vehicles. It consists of 50,000 training images and 10,000 test images. We again fit a 50-layer, 25-residual-block CNN-ResNet using both BoostResNet and e2eBP (figure (b)b). BoostResNet training converges to the optimal solution faster than e2eBP. Unlike in the previous two datasets, the efficiency of BoostResNet comes at a cost when training with CIFAR-10. We find that the test accuracy of the e2eBP refined BoostResNet to be slightly lower than that produced by e2eBP.

Weak Learning Condition Check The weak learning condition (Definition 4.1) inspired by learning theory is checked in Figure 4. The required better than random guessing edge is depicted in Figure (a)a, it is always greater than 0 and our weak learning condition is thus non-vacuous. In Figure (b)b, the representations we learned using BoostResNet is increasingly better (for this classification task) as the depth increases.

Comparison of BoostResNet, e2eBP and AdaBoost Besides e2eBP, we also experiment with standard boosting (AdaBoost.MM Mukherjee & Schapire (2013)), as another baseline, of convolutional modules. In this experiment, each weak learner is a residual block of the ResNet, paired with a classification layer. We do 25 rounds of AdaBoost.MM and train each weak learner to convergence. Table 1 and table 2 exhibit a comparison of BoostResNet, e2eBP and AdaBoost performance on SVHN and CIFAR-10 dataset respectively.

On SVHN dataset, the advantage of BoostResNet over e2eBP is obvious. Using number of gradient updates, BoostResNet achieves test accuracy whereas e2eBP obtains a test accuracy of . The training and test accuracies of SVHN are listed in Table 1. BoostResNet training allows the model to train much faster than end-to-end training, and still achieves the same test accuracy when refined with e2eBP. To list the hyperparameters we use in our BoostResNet training after searching over candidate hyperparamters, we optimize learning rate to be 0.004 with a learning rate decay. The gamma threshold is optimized to be 0.001 and the initial gamma value on SVHN is 0.75. On CIFAR-10 dataset, the main advantage of BoostResNet over e2eBP is the speed of training. BoostResNet refined with e2eBP obtains comparable results with e2eBP. This is because we are using a suboptimal architecture of ResNet which overfits the CIFAR-10 dataset. AdaBoost, on the other hand, is known to be resistant to overfitting. Therefore, AdaBoost achieves the highest test accuracy on CIFAR-10. In BoostResNet training, we optimize learning rate to be 0.014 with a learning rate decay. The gamma threshold is optimized to be 0.007 and the initial gamma value on CIFAR-10 is 0.93. We find that a standard ResNet, to its credit, is quite robust to hyperparameters, namely learning rate and learning rate decay, provided that we use an optimization procedure that automatically modulates these values.

6 Conclusions and Future Works

Our proposed BoostResNet algorithm achieves exponentially decaying (with the depth ) training error under the weak learning condition. BoostResNet is much more computationally efficient compared to end-to-end back-propagation in deep ResNet. More importantly, the memory required by BoostResNet is trivial compared to end-to-end back-propagation. It is particularly beneficial given the limited GPU memory and large network depth. Our learning framework is natural for non-differentiable data. For instance, our learning framework is amenable to take weak learning oracles using tensor decomposition techniques. Tensor decomposition, a spectral learning framework with theoretical guarantees, is applied to learning one layer MLP in (Janzamin et al., 2015). We plan to extend our learning framework to non-differentiable data using general weak learning oracles.

Appendix: Learning Deep ResNet Blocks Sequentially

using Boosting Theory

Appendix A Related Works

a.1 Loss function and architecture selection

In neural network optimization, there are many commonly-used loss functions and criteria, e.g., mean squared error, negative log likelihood, margin criterion, etc. There are extensive works (Girshick, 2015; Rubinstein & Kroese, 2013; Tygert et al., 2015) on selecting or modifying loss functions to prevent empirical difficulties such as exploding/vanishing gradients or slow learning (Balduzzi et al., 2017). However, there are no rigorous principles for selecting a loss function in general. Other works consider variations of the multilayer perceptron (MLP) or convolutional neural network (CNN) by adding identity skip connections (He et al., 2016), allowing information to bypass particular layers. However, no theoretical guarantees on the training error are provided despite breakthrough empirical successes. Hardt et al. (Hardt & Ma, 2016) have shown the advantage of identity loops in linear neural networks with theoretical justifications; however the linear setting is unrealistic in practice.

a.2 Learning algorithm design

There have been extensive works on improving BP (LeCun et al., 1989). For instance, momentum (Qian, 1999), Nesterov accelerated gradient (Nesterov, 1983), Adagrad (Duchi et al., 2011) and its extension Adadelta (Zeiler, 2012). Most recently, Adaptive Moment Estimation (Adam) (Kingma & Ba, 2014), a combination of momentum and Adagrad, has received substantial success in practice. All these methods are modifications of stochastic gradient descent (SGD), but our method only requires an arbitrary oracle, which does not necessarily need to be an SGD solver, that solves a relatively simple shallow neural network.

Appendix B Proof for Lemma 3.2: the strong learner is a ResNet

Proof.

In our algorithm, the input of the next module is the output of the current module

(8)

we thus obtain that each weak learning module is

(9)
(10)

and similarly

(11)

Therefore the sum over and is

(12)

And we further see that the weighted summation over all is a telescoping sum

(13)

Appendix C Proof for Theorem 4.2: binary class telescoping sum boosting theory

Proof.

We will use a 0-1 loss to measure the training error. In our analysis, the 0-1 loss is bounded by exponential loss.

The training error is therefore bounded by

(14)
(15)
(16)
(17)
(18)
(19)

where .

We choose to minimize .

(20)
(21)

Furthermore each learning module is bounded as we see in the following analysis. We obtain

(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)

Equation (24) is due to the non-positive correlation between and . Jensen’s inequality in Equation (26) holds only when which is satisfied by the definition of the weak learning module.

The algorithm chooses to minimize . We achieve an upper bound on , by minimizing the bound in Equation (29)

(30)
(31)
(32)

Therefore over the modules, the training error is upper bounded as follows

(33)

Overall, Algorithm 1 leads us to consistent learning of ResNet. ∎

Appendix D Proof for Corollary 4.3: Generalization Bound

Rademacher complexity technique is powerful for measuring the complexity of any family of functions , based on easiness of fitting any dataset using classifiers in (where is any space). Let be a sample of points in . The empirical Rademacher complexity of with respect to is defined to be

(34)

where is the Rademacher variable. The Rademacher complexity on data points drawn from distribution is defined by

(35)
Proposition D.1.

(Theorem 1 Cortes et al. (2014)) Let be a hypothesis set admitting a decomposition for some . are distinct hypothesis sets. Let be a random sequence of points chosen independently from according to some distribution . For and any , with probability at least ,

(36)

for all .

Lemma D.2.

Let , where , . Let and be two hypothesis sets, and , , . The Rademacher complexity of and with respect to points from are related as follows

(37)

d.1 ResNet Module Hypothesis Space

Let be the number of channels in ResNet, i.e., the number of input or output neurons in a module . We have proved that ResNet is equivalent as

(38)

We define the family of functions that each neuron , belong to as

(39)

where denotes the vector of weights for connections from unit to a lower layer , denotes element-wise nonlinear transformation on . The output layer of each module is connected to the output layer of previous module. We consider 1-layer modules for convenience of analysis.

Therefore in ResNet with probability at least ,