文章指出一种基于 boosting(提升)原理,逐层训练深度残差神经网络的方法,并对性能及泛化能力给出了理论上的证明。
1. 背景
1.1 Boosting
Boosting[1] 是一种训练 Ensemble 模型的经典方法,其中一种具体实现 GBDT 更是广泛应用在各类问题上。介绍boost的文章很多,这里不再赘述。简单而言,boosting 方法是通过特定的准则,逐个训练一系列弱分类,这些弱分类加权构成一个强分类器(图1)。
图1 Boosting 方法原理图【src】
1.2 残差网络
残差网络[2]目前是图像分类等任务上最好的模型,也被应用到语音识别等领域。其中核心是 skip connect 或者说 shortcut(图2)。这种结构使梯度更易容向后传导,因此,使训练更深的网络变得可行。
图2. 残差网络基本block[2]
在之前的博文中,我们知道,一些学者将残差网络视一种特殊的 Ensemble 模型[3,4]。论文作者之一是Robert Schapire(刚注意到已经加入微软研究院),AdaBoost的提出者(和 Yoav Freund一起)。Ensemble 的观点基本算是主流观点(之一)了。
2. 训练方法
2.1 框架
图3. BoostResNet 框架
- 残差网络
gt+1(x)=f(gt(x))+gt(x)
hypothesis module
ot(x)=softmax(WTt⋅gt(x))∈RC
其中 C 为分类任务的类别数。
即这是一个线性分类器(Logistic Regression)。weak module classifier