L EARNING D EEP R ES N ET B LOCKS S EQUENTIALLY USING B OOSTING T HEORY
Anonymous authors
Paper under double-blind review
A BSTRACT
We prove a multiclass boosting theory for the ResNet architectures which simultaneously creates a new technique for multiclass boosting 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 T “shallow ResNets”.
We prove that the training error decays exponentially with the depth T if the weak module classiﬁers 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 overﬁtting using a network with l 1 norm bounded weights.
I NTRODUCTION
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 deﬁne working algorithms?
Deep neural networks have elicited breakthrough successes in machine learning, especially in image classiﬁcation 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 classiﬁcation (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 justiﬁed the power of deep networks (Mhaskar & Poggio, 2016) compared to shallow networks.
However, deep neural networks are difﬁcult 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 ﬂow.
Empirical evidence overwhelmingly shows that these deep residual networks are easier to optimize than non-residual ones.
Can we develop a theoretical justiﬁcation for this observation?
And does that justiﬁcation point us towards new algorithms with better characteristics?
1. S UMMARY OF R ESULTS
We propose a new framework, multi-channel telescoping sum boosting (deﬁned in Section 4), to characterize a feed forward ResNet in Section 3.
We show that the top level (ﬁnal) output of a
ResNet can be thought of as a layer-by-layer boosting method (deﬁned in Section 2).
Error bounds for telescoping sum boosting are provided.
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 overﬁtting.
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 ).
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 modiﬁed 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.
1. R ELATED W ORKS
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 classiﬁer.
The approach has not been generalized to deep networks with more than one hidden layer.
Shalev-Shwartz (2014) proposes a selﬁeBoost algorithm which boosts the accuracy of an entire network.
Our algorithm is different as we instead construct ensembles of classiﬁers.
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.
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 classiﬁers are being boosted.
Therefore, to obtain low training error guarantee, AdaNet maps the feature vectors (hidden layer representations) to a classiﬁer space and boosts the weak classiﬁers.
Our BoostResNet, instead, boosts representations (feature vectors) over multiple channels, and therefore produces a less “bushy” architecture.
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.
P RELIMINARIES
[Figure]
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 D over X × Y , where X is the input space and Y is the label space.
We denote by S =
(( x 1 , y 1 ) , ( x 2 , y 2 ) , . .
, ( x m , y m ))
a training set of m examples drawn according to D m .
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 ˜ x to f t (˜ x ) where t denotes the level of the modules.
Each module f t is a nonlinear unit with n channels, i.e., f t ( · ) ∈ R n .
In multilayer perceptron residual network (MLPResNet), f t is a shallow MLP, for instance, f t (˜ x ) =
˜
V ⊤ t σ ( ˜ W ⊤ t ˜ x ) where ˜ W t ∈ R n × k , ˜ V t ∈ R k × n and σ is a nonlinear operator such as sigmoidal function or relu function.
Similarly, in convolutional neural network residual network (CNN-ResNet), f t ( · ) represents the t -th convolutional module.
Then the t -th residual block outputs g t +1 ( x )
[Equation]
where x 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 speciﬁed in Equation (1), the output of the T -th residual block is equal to the summation over lower module outputs, i.e., g T +1 ( x ) =
f T ( g T ( x ))
+ g T ( x ) =
P
T t =1 f t ( g t ( x )) , where g 1 ( x ) = x .
For binary classiﬁcation tasks, the ﬁnal output of a
ResNet given input x is rendered after a linear classiﬁer w ∈ R n on representation g T +1 ( x ) (In the multiclass setting, let C be the number of classes; the linear classiﬁer W ∈ R n × C is a matrix instead of a vector.):
[Equation]
where F ( x ) = w ⊤ g T +1 ( x ) and ˜ σ ( · ) denotes a map from classiﬁer outputs (scores) to labels.
For instance ˜
σ ( z ) =
sign ( z ) for binary classiﬁcation ( ˜ σ ( z ) =
arg max i z i for multiclass classiﬁcation).
The parameters of a depth- T ResNet are { w , { f t ( · ) , ∀ t ∈ T }} .
A ResNet training involves training the classiﬁer w and the weights of modules f t ( · ) ∀ t ∈
[ T ] when training examples ( x 1 , y 1 ) , ( x 2 , y 2 ) , . .
, ( x m , y m ) are available.
Boosting Boosting (Freund & Schapire, 1995) assumes the availability of a weak learning algorithm which, given labeled training examples, produces a weak classiﬁer (a.k.a. base classiﬁer ).
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 classiﬁer 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 ﬁnally combine many weak classiﬁers into a single strong classiﬁer 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 justiﬁcation 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.
R ES N ET IN T ELESCOPING S UM B OOSTING F RAMEWORK
As we recall from Equation (2), ResNet indeed has a similar form as the strong classiﬁer in boosting.
The key difference is that boosting is an ensemble of estimated hypotheses whereas ResNet is an
ensemble of estimated feature representations
P
Tt =1 f t ( g t ( x )) .
To solve this problem, we introduce an auxiliary linear classiﬁer w t on top of each residual block to construct a hypothesis module .
Formally, a hypothesis module is deﬁned as
[Equation]
in the binary classiﬁcation setting.
Therefore o t +1 ( x ) =
w ⊤ t +
[ f t ( g t ( x ))
+ g t ( x )] as g t +1 ( x ) =
f t ( g t ( x )) + g t ( x ) .
We emphasize that given g t ( x ) , we only need to train f t and w t +1 to train o t +1 ( x ) .
In other words, we feed the output of previous residual block ( g t ( x ) ) to the current module and train the weights of current module f t ( · ) and the auxiliary classiﬁer w t +1 .
Now the input, g t +1 ( x ) , of the t + 1 -th residual block is the output, f t ( g t ( x ))
+ g t ( x ) , of the t -th residual block.
As a result, o t ( x ) =
P t − 1 t
[Equation]
=1 w ⊤ t f t ′ ( g t ′ ( x )) .
In other words, the auxiliary linear classiﬁer is common for all modules underneath.
It would not be realistic to assume a common auxiliary linear classiﬁer, as such an assumption prevents us from training the T hypothesis module sequentially.
We design a weak module classiﬁer using the idea of telescoping sum as follows.
Deﬁnition 3.1.
A weak module classiﬁer is deﬁned as
[Equation]
where o t ( x ) def = w ⊤ t g t ( x ) is a hypothesis module, and α t is a scalar.
We call it a “telescoping sum boosting” framework if the weak learners are restricted to the form of the weak module classiﬁer.
ResNet: Ensemble of Weak Module Classiﬁers Recall that the T -th residual block of a ResNet outputs g T +1 ( x ) , which is fed to the top/ﬁnal linear classiﬁer for the ﬁnal classiﬁcation.
We show that an ensemble of the weak module classiﬁers is equivalent to a ResNet’s ﬁnal output.
We state it formally in Lemma 3.2.
For purposes of exposition, we will call F ( x ) the output of ResNet although a ˜ σ function is applied on top of F ( x ) , mapping the output to the label space Y .
Lemma 3.2.
Let the input g t ( x ) of the t -th module be the output of the previous module, i.e., g t +1 ( x ) =
f t ( g t ( x )) + g t ( x ) .
Then the summation of T weak module classiﬁers divided by α T +1 is identical to the output, F ( x ) , of the depth- T ResNet,
[Equation]
where the weak module classiﬁer h t ( x ) is deﬁned in Equation (4) .
See Appendix B for the proof.
Overall, our proposed ensemble of weak module classiﬁers 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.
T ELESCOPING S UM B OOSTING FOR B INARY C LASSIFICATION
Below, we propose a learning algorithm whose training error decays exponentially with the number of weak module classiﬁers T under a weak learning condition.
We restrict to bounded hypothesis modules, i.e., | o t ( x ) | ≤ 1 .
4. W EAK L EARNING C ONDITION
The weak module classiﬁer involves the difference between (scaled version of) o t +1 ( x ) and o t ( x ) .
Let ˜ γ t def =
E i ∼ D t − 1 [ y i o t ( x i )] > 0 be the edge of the hypothesis module o t ( x ) , where D t − 1 is the weight of the examples.
As the hypothesis module o t ( x ) is bounded by 1, we obtain | ˜ γ t | ≤ 1 .
So ˜ γ t characterizes the performance of the hypothesis module o t ( x ) .
A natural requirement would be that o t +1 ( x ) improves slightly upon o t ( x ) , and thus ˜ γ t +1 − ˜ γ t ≥ γ ′ > 0 could serve as a weak learning condition.
However this weak learning condition is too strong: even when current hypothesis module is performing almost ideally ( ˜ γ t 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.
Deﬁnition 4.1 ( γ -Weak Learning Condition) .
A weak module classiﬁer h t ( x ) =
α t +1 o t +1 − α t o t satisﬁes the γ -weak learning condition if ˜ γ 2 t
+1 − ˜ γ 2 t− ˜ γ 2 t ≥ γ 2 > 0 and the covariance between exp( − yo t +1 ( x )) and exp( yo t ( x )) 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 classiﬁer h t ( x ) , γ t def = r
[Equation]
characterizes the normalized improvement of the correlation between the true labels y and the hypothesis modules o t +1 ( x ) over the correlation between the true labels y and the hypothesis modules o t ( x ) .
The condition speciﬁed in Deﬁnition 4.1 is mild as it requires the hypothesis module o t +1 ( x ) to perform only slightly better than the previous hypothesis module o t ( x ) .
In residual network, since o t +1 ( x ) represents a depth-( t +1 ) residual network which is a deeper counterpart of the depth- t residual network
o t ( x ) , it is natural to assume that the deeper residual network improves slightly upon the shallower residual network.
When ˜ γ t is close to 1, ˜ γ 2 t +1 only needs to be slightly better than ˜
γ 2 t as the denominator 1 − ˜ γ 2 t is small.
The assumption of the covariance between exp( − yo t +1 ( x )) and exp( yo t ( x )) being non-positive is suggesting that the weak module classiﬁers should not be adversarial, which may be a reasonable assumption for ResNet.
4. B OOST R ES N ET
We now propose a novel training algorithm for telescoping sum boosting under binary-class classiﬁcation as in Algorithm 1.
In particular, we introduce a training procedure for deep ResNet in
Algorithm 1 & 2, 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 t -th module g t +1 ( x ) are fed as the training examples to the next t +1 -th module.
Each of the shallow ResNet f t ( g t ( x )) + g t ( x ) is combined with an auxiliary linear classiﬁer w t +1 to form a hypothesis module o t +1 ( x ) .
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 classiﬁers.
The innovative introduction of the auxiliary linear classiﬁers ( w t +1 ) is the key solution for successful multi-channel representation boosting with theoretical guarantees.
Auxiliary linear classiﬁers 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 classiﬁer space and boosts the weak classiﬁers.
Our framework is a multi-channel representation (or information) boosting rather than a traditional classiﬁer boosting.
Traditional boosting theory does not apply in our setting.
⊲
Algorithm 2 ( g t ( x ) , D t , o t ( x ) , α t ) 5:
Compute γ t ← r ˜ γ 2 t +1 − ˜ γ 2 t− ˜ γ 2 t ⊲ where ˜ γ t +1 ← E i ∼ D t [ y i o t +1 ( x i )] 6:
Update D t +1 ( i ) ← D t ( i )exp( − y i
h t ( x i )) m
P i =
1 D t ( i )exp[
− y i
h t ( x i )]
⊲ where h t ( x ) =
α t +1 o t +1 ( x )
− α t
o t ( x ) 7: t ← t + 1 8: end while 9: T ← t −
Theorem 4.2.
[ Training error bound ]
The training error of a T -module telescoping sum boosting framework using Algorithms 1 and 2 decays exponentially with the number of modules T ,
[Equation]
[Equation] [Equation]
[Equation] [Equation]
if ∀ t ∈ [ T ] the weak module classiﬁer h t ( x ) satisﬁes the γ -weak learning condition deﬁned in
Deﬁnition 4.1.
The training error of Algorithms 1 and 2 is guaranteed to decay exponentially with the ResNet depth even when each hypothesis module o t +1 ( x ) performs slightly better than its previous hypothesis module o t ( x ) (i.e., γ > 0 ).
Refer to Appendix F for the algorithm and theoretical guarantees for multiclass classiﬁcation.
4. O RACLE I MPLEMENTATION FOR R ES N ET
In Algorithm 2, the implementation of the oracle at line 1 is equivalent to
[Equation]
[Equation]
The minimization problem over f corresponds to ﬁnding the weights of the t -th nonlinear module of the residual network.
Auxiliary classiﬁer w t +1 is used to help solve this minimization problem with the guidance of training labels y i .
However, the ﬁnal neural network model includes none of the auxiliary classiﬁers, 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 x combined with labels y 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 and Memory Efﬁciency
It is worth noting that BoostResNet training is memory efﬁcient 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 efﬁciency, BoostResNet requires signiﬁcantly 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 M 1 be the memory required for one module, and M 2 be the memory required for one linear classiﬁer, the memory consumption is M 1 + M 2 by BoostResNet and M 1 T + M 2 by e2eBP .
Let the ﬂops needed for gradient update over one module and one linear classiﬁer be C 1 and
C 2 respectively, the computation cost is C 1 + C 2 by BoostResNet and C 1 T + C 2 by e2eBP .
4. G ENERALIZATION E RROR A NALYSIS
In this section, we analyze the generalization error to understand the possibility of overﬁtting under
Algorithm 1.
The strong classiﬁer or the ResNet is F ( x ) =
P t h t ( x ) α T +1 .
Now we deﬁne the margin for example ( x, y ) as yF ( x ) .
For simplicity, we consider MLP-ResNet with n multiple channels and assume that the weight vector connecting a neuron at layer t with its preceding layer neurons is l 1 norm bounded by Λ t,t − 1 .
Recall that there exists a linear classiﬁer w on top, and we restrict to l 1 norm bounded classiﬁers, i.e., k w k 1 ≤ C 0 < ∞ .
The expected training examples are l ∞ norm bounded r ∞ def = E S ∼D
[Equation]
(cid:3) < ∞ .
We introduce Corollary 4.3 which follows directly from Lemma 2 of (Cortes et al., 2016).
Corollary 4.3.
(Cortes et al., 2016)
Let D be a distribution over X × Y and S be a sample of m examples chosen independently at random according to
D .
With probability at least 1 − δ , for θ > 0 , the strong classiﬁer F ( x ) (ResNet) satisﬁes that
Pr
[Equation]
where Λ t def =
[Equation]
and
[Equation] [Equation]
[Equation] [Equation]
From Corollary 4.3, we obtain a generalization error bound in terms of margin bound
Pr S ( yF ( x ) ≤ θ ) and network complexity 4 C
[Equation]
θ
[Equation]
Larger margin bound (larger θ ) contributes positively to generalization accuracy, and l 1 norm bounded weights (smaller
P
Tt =1 Λ t ) are beneﬁcial to control network complexity and to avoid overﬁtting.
The dominant term in the network complexity is 4 C 0 r ∞ θ
[Equation]
2 n
[Equation]
Tt =1 Λ t which scales as least linearly with the depth T .
See appendix D for the proof.
This corollary suggests that stronger weak module classiﬁers which produce higher accuracy predictions and larger edges, will yield larger margins and suffer less from overﬁtting.
The larger the value of θ , the smaller the term 4 C 0 r ∞ θ
[Equation]
is.
With larger edges on the training set and when ˜ γ T +1 < 1 , we are able to choose larger values of θ while keeping the error term zero or close to zero.
E XPERIMENTS
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 CIFAR10 (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 in appendix H.2 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).
MLP-ResNet on MNIST
The 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 ﬁnd 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.
[Figure]
[Table]
[Figure]
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 ﬁt a 50-layer, 25-residual-block CNN-ResNet using both BoostResNet and e2eBP (ﬁgure 3a).
Each residual block is composed of a CNN using 15 3 × 3 ﬁlters.
We reﬁne the result of BoostResNet by initializing the weights using the result of BoostResNet and run end-to-end back propagation (e2eBP).
From ﬁgure 3a, our BoostResNet converges much faster (requires much fewer gradient updates) than e2eBP .
The test accuracy of BoostResNet is comparable with e2eBP .
[Figure]
CNN-ResNet on CIFAR-
The CIFAR-10 dataset is a benchmark dataset composed ofclasses of small images, such as animals and vehicles.
It consists of 50,000 training images and 10,000 test images.
We again ﬁt a 50-layer, 25-residual-block CNN-ResNet using both BoostResNet and e2eBP (ﬁgure 3b).
BoostResNet training converges to the optimal solution faster than e2eBP .
Unlike in the previous two datasets, the efﬁciency of BoostResNet comes at a cost when training with CIFAR-10.
We ﬁnd that the test accuracy of the e2eBP reﬁned BoostResNet to be slightly lower than that produced by e2eBP .
Weak Learning Condition Check The weak learning condition (Deﬁnition 4.1) inspired by learning theory is checked in Figure 4.
The required better than random guessing edge γ t is depicted in
Figure 4a, it is always greater than 0 and our weak learning condition is thus non-vacuous.
In Figure 4b, the representations we learned using BoostResNet is increasingly better (for this classiﬁcation task) as the depth increases.
[Figure]
C ONCLUSIONS AND F UTURE W ORKS
Our proposed BoostResNet algorithm achieves exponentially decaying (with the depth T ) training error under the weak learning condition.
BoostResNet is much more computationally efﬁcient 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 beneﬁcial given the limited GPU memory and large network depth.
Our learning framework is natural for nondifferentiable 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.
L OSS 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 difﬁculties 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 justiﬁcations; however the linear setting is unrealistic in practice.
A. L EARNING 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 modiﬁcations 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.
B P ROOF FOR L EMMA 3.2: THE STRONG LEARNER IS A R ES N ET
Proof.
In our algorithm, the input of the next module is the output of the current module
[Equation]
we thus obtain that each weak learning module is
[Equation]
and similarly h
[Equation]
Therefore the sum over h t ( x ) and h t +1 ( x ) is
[Equation]
And we further see that the weighted summation over all h t ( x ) is a telescoping sum
[Equation]
[Equation]
C P ROOF FOR T HEOREM 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
[Equation]
where Z t = m
P
[Equation]
We choose α t +1 to minimize Z t
[Equation]
Furthermore each learning module is bounded as we see in the following analysis.
We obtain
Z
[Equation] [Equation]
= m
X i =
D t ( i ) e − α t +1 1+ yiot +1( xi )+ α t +1 1 − yiot +
( xi )m
X i =
D t ( i ) e α t 1+ yiot ( xi )− α t 1 − yiot
( xi )(25) ≤ m
X i =
D t ( i ) (cid:18)
+ y i
o t +1 ( x i )
e − α t +1 + 1 − y
i
o t +1 ( x i )
e α t + (cid:19) · (26) m
X i =
D t ( i ) (cid:18)
+ y i
o t ( x i )
e α t + 1 − y
i
o t ( x i )
e − α t (cid:19) (27) = m
X i =
D t ( i ) (cid:18)
+ y i
o t +1 ( x i )
e − α t +1 + 1 − y
i
o t +1 ( x i )
e α t + (cid:19) e α t + e − α t (28) = m
X i =
D t ( i ) (cid:18) e − α t +1 + e α t +  + e − α t +1 − e α t +
y
i
o t +1 ( x i ) (cid:19)
e α t + e − α t (29) =
(cid:18) e − α t +
+ e α t +
+ e − α t +1 − e α t +  ˜
γ t (cid:19)
e α t + e − α t (30)
Equation (24) is due to the non-positive correlation between exp( − yo t +1 ( x )) and exp( yo t ( x )) .
Jensen’s inequality in Equation (27) holds only when | y
i
o t +1 ( x i ) | ≤ 1 which is satisﬁed by the deﬁnition of the weak learning module.
The algorithm chooses α t +1 to minimize Z t .
We achieve an upper bound on Z t , r 1 − ˜ γ 2 t− ˜ γ 2 t − 1 by minimizing the bound in Equation (30)
[Equation]
Therefore over the T modules, the training error is upper bounded as follows
[Equation]
Overall, Algorithm 1 leads us to consistent learning of ResNet.
D P ROOF FOR C OROLLARY 4.3: G ENERALIZATION B OUND
Rademacher complexity technique is powerful for measuring the complexity of H any family of functions h : X → R , based on easiness of ﬁtting any dataset using classiﬁers in H (where X is any space).
Let S
= < x 1 , . .
, x m > be a sample of m points in
X .
The empirical Rademacher complexity of
H with respect to S is deﬁned to be
[Equation]
where σ is the Rademacher variable.
The Rademacher complexity on m data points drawn from distribution D is deﬁned by
[Equation]
Proposition D.1.
(Theorem 1 Cortes et al.
Let H be a hypothesis set admitting a decomposition H = ∪ li
=1 H i for some l > 1 .
H i are distinct hypothesis sets.
Let S be a random sequence of m points chosen independently from
X according to some distribution D .
For θ > 0 and any
H =
[Equation]
with probability at least 1 − δ
[Equation]
m
[Equation]
for all h t ∈ H k t .
Lemma D.2.
Let ˜ h
= ˜ w ⊤ ˜ f , where ˜ w ∈ R n , ˜ f ∈ R n .
Let ˜ H and ˜ F be two hypothesis sets, and ˜ h ∈ ˜ H , ˜ f j ∈ ˜ F , ∀ j ∈ [ n ] .
The Rademacher complexity of ˜ H and ˜ F with respect to m points from
D are related as follows
[Equation] [Equation]
Let n be the number of channels in ResNet, i.e., the number of input or output neurons in a module f t ( g t ( x )) .
We have proved that ResNet is equivalent as
[Equation]
We deﬁne the family of functions that each neuron f t,j , ∀ j ∈ [ n ] belong to as
[Equation]
where u t − 1 ,j denotes the vector of weights for connections from unit j to a lower layer t − 1 , σ ◦ f t − 1 denotes element-wise nonlinear transformation on f t − 1 .
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 1 − δ ,
[Equation]
for all f t ∈ F t .
Deﬁne the maximum inﬁnity norm over samples as r ∞ def = E S ∼D
[Equation]
and the product of l 1 norm bound on weights as Λ t def =
Q tt
[Equation]
=
[Equation]
2Λ t
[Equation]
t
[Equation]
− 1 .
According to lemma 2 of Cortes et al.
(2016), the empirical Rademacher complexity is bounded as a function of r ∞ , Λ t and n :
[Equation] [Equation]
Overall, with probability at least 1 − δ ,
Pr
[Equation]
for all f t ∈ F t .
E P ROOF FOR T HEOREM E: M ARGIN AND G ENERALIZATION B OUND
Theorem E.1.
[ Generalization error bound ]
Given algorithm 1, the fraction of training examples with margin at most θ is at most (1 + 2 1 √
[Equation]
1 − 1 ) θ 2 exp( − 12 γ 2 T ) .
And the generalization error
Pr D ( yF ( x ) ≤ 0) satisﬁes
[Equation]
with probability at least 1 − δ for β ( θ, m, T, δ ) def =
[Equation]
Now the proof for Theorem E is the following.
Proof.
The fraction of examples in sample set S being smaller than θ is bounded
[Equation]
To bound exp( θα T +1 )
=
q ( 1+˜ γ T +1− ˜ γ T +1 ) θ , we ﬁrst bound ˜ γ T
+1 :
We know that
P
Tt =
Q
Tt ′ =
t +1 (1 − γ 2 t ′ )
γ 2 t ≤ (1 − γ 2 ) T − t γ 2 for all ∀ γ t ≥ γ 2 + ǫ if γ 2 ≥ 1 − ǫ 2 .
Therefore ∀ γ t ≥ γ 2 + ǫ and γ 2 ≥ 1 − ǫ˜ γ 2 T
+
=
[Equation]
Therefore
Pr
[Equation]
As T → ∞
[Equation]
Pr S ( yF ( x ) ≤ θ ) ≤ 0 as exp( − 12 γ 2 T ) decays faster than (1 +
[Equation]
F T ELESCOPING S UM B OOSTING FOR M ULTI - CALSS C LASSIFICATION
Recall that the weak module classiﬁer is deﬁned as
[Equation]
where o t ( x ) ∈ ∆ C − 1 .
The weak learning condition for multi-class classiﬁcation is different from the binary classiﬁcation stated in the previous section, although minimal demands placed on the weak module classiﬁer require prediction better than random on any distribution over the training set intuitively.
We now deﬁne the weak learning condition.
It is again inspired by the slightly better than random idea, but requires a more sophisticated analysis in the multi-class setting.
F. C OST M ATRIX
In order to characterize the training error, we introduce the cost matrix C ∈
R m × C where each row denote the cost incurred by classifying that example into one of the C categories.
We will bound the training error using exponential loss, and under the exponential loss function deﬁned as in
Deﬁnition G.1, the optimal cost function used for best possible training error is therefore determined.
Lemma F.1.
The optimal cost function under the exponential loss is
[Equation]
(61) where s t ( x ) =
t
P
[Equation]
F. W EAK L EARNING C ONDITION
Deﬁnition F.2.
Let ˜ γ t +1 = −
[Equation]
and ˜
[Equation]
A multi-class weak module classiﬁer h t ( x ) =
α t +1 o t +1 ( x ) − α t o t ( x ) satisﬁes the γ -weak learning condition if ˜ γt +
[Equation]
˜ γ 2 t− ˜ γ 2 t ≥ γ 2 > 0 , and Cov ( < C t ( i, :) , o t +1 ( x i ) >, < C t
( i, :) , o t +1 ( x i ) > ) ≥ 0 .
We propose a novel learning algorithm using the optimal edge-over-randomcost function for training
ResNet under multi-class classiﬁcation task as in Algorithm 3.
Theorem F.3.
The training error of a T -module ResNet using Algorithm 3and 4 decays exponentially with the depth of the ResNet T ,
[Equation]
(62) if the weak module classiﬁer h t ( x ) satisﬁes the γ -weak learning condition ∀ t ∈
[ T ] .
The exponential loss function deﬁned as in Deﬁnition G.
⊲
[Table]
w
[Table]
[Table] [Table]
Initialize
←
[Table] [Table]
←
[Table] [Table]
[Table] [Table]
[ m ] , l
[Table]
C
[Table]
i
[Table]
← (cid:26) if l 6 =
[Table]
− C if l = y
i
[Table]
do
[Table] [Table]
[Table] [Table]
Compute
[Table]
m
[Table]
i =
[Table] [Table]
+
[Table] [Table]
i ) m
[Table]
i
[Table] [Table]
[Table]
Update
[Table] [Table]
o
[Table]
[Table] [Table]
Update
C
[Table]
( e s
[Table] [Table]
[Table] [Table]
[Table]
i ) if l 6 =
y
i −
P l ′
=
y i e s t +
[Table]
( x i ,l ′ ) − s t +1 ( x i ,y i ) if l = y
i
[Table]
← arg
[Equation]
F. O RACLE I MPLEMENTATION
We implement an oracle to minimize Z t def = m
P
[Equation]
i
[Equation]
e h t ( x i
[Equation]
l ) − h t ( x i ,y i ) given current state s t and hypothesis module o t ( x ) .
Therefore minimizing Z t is equivalent to the following.
min
[Equation] [Equation]
≡ min α,f
[Equation]
v m
X i
[Equation]
e − αv ⊤ [ f ( x i
[Equation]
y i
[Equation]
i
[Equation] [Equation]
G P ROOF FOR T HEOREM F.3 MULTICLASS BOOSTING THEORY
Proof.
To characterize the training error, we use the exponential loss function
Deﬁnition G.1.
Deﬁne loss function for a multiclass hypothesis H ( x i ) on a sample ( x i , y i ) as
L exp η
( H ( x i ) , y i ) =
[Equation]
(( H ( x
[Equation] [Equation]
[Equation]
Deﬁne the accumulated weak learner s t ( x i , l ) =
t
P t ′ =
1 h t ′ ( x i , l ) and the loss Z t = m
P i =
P l 6 =
[Equation]
i
[Equation]
Recall that s t ( x i , l ) =
t
P
[Equation]
x i ) , the loss for a T -module multiclass
ResNet is thus
[Equation]
Note that Z 0 = 1 m as the initial accumulated weak learners s 0 ( x i , l ) = 0 .
The loss fraction between module t and t − 1 , Z t Z t − 1 , is related to Z t − Z t − 1 as Z t Z
[Equation]
1 =
Z t − Z
[Equation]
1 Z t
[Equation]
+1 .
The Z t is bounded
[Equation]
t
[Equation] [Equation]
[Equation]
75) =
[Equation]
Therefore
Z
[Equation]
The algorithm chooses α t +1 to minimize Z t .
We achieve an upper bound on Z t ,
[Equation]
by minimizing the bound in Equation (77)
[Equation]
Therefore over the T modules, the training error is upper bounded as follows
[Equation]
Overall, Algorithm 3 and 4 leads us to consistent learning of ResNet.
H E XPERIMENTS H. T RAINING ERROR DEGRADATION OF E 2 E BP ON R ES N ET
We investigate e2eBP training performance on various depth ResNet.
Surprisingly, we observe a training error degradation for e2eBP although the ResNet’s identity loop is supposed to alleviate this problem.
Despite the presence of identity loops, the e2eBP eventually is susceptible to spurious local optima.
This phenomenon is explored further in Figures 5a and 5b, which respectively show how training and test accuracies vary throughout the ﬁtting process.
Our proposed sequential training procedure, BoostResNet , relieves gradient instability issues, and continues to perform well as depth increases. [Equation] [Figure] [Equation]
[Figure]
[Equation]
[Figure] [Equation] [Figure] [Equation]
[Figure]
[Equation] [Figure] [Equation] [Figure]
[Equation]
T r a i n i ng
A cc u r a cy
[Figure]
H. SVHN AND CIFAR-10 PERFORMANCE RESULTS
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 classiﬁcation 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 3 × 10 8 number of gradient updates, BoostResNet achieves 93 .
8% test accuracy whereas e2eBP obtains a test accuracy of 83% .
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 reﬁned with e2eBP .
To list the hyperparameters we use in our BoostResNet training after searching over candidate hyperparamters, we choose learning rate to be 0.004 with a 9 × 10 −learning rate decay.
The gamma threshold is set to be 0.001 and the initial gamma value on SVHN is 0.75.
On CIFAR-10 dataset
[Table]
the main advantage of BoostResNet over e2eBP is the speed of training.
BoostResNet reﬁned with e2eBP obtains comparable results with e2eBP.
This is because we are using a suboptimal architecture of ResNet which overﬁts the CIFAR-10 dataset.
AdaBoost, on the other hand, is known to be resistant to overﬁtting.
Therefore, AdaBoost achieves the highest test accuracy on CIFAR-10.
To list the hyperparameters we use in our BoostResNet training after searching over candidate hyperparamters, we choose learning rate to be 0.014 with a {+3 . 
 × 10 −learning+} rate decay.
The gamma threshold is set to be 0.007 and the initial gamma value on CIFAR10 is 0.93.
[Table] [Table]