[论文解读] Sequential Training of Neural Networks with Gradient Boosting
本文提出了一种基于梯度提升的新型神经网络顺序训练方法,通过在每一步迭代中添加小型子网络(一个或几个神经元)来逐步训练网络最后几层,以最小化残差。该方法在泛化性能上与Adam和L-BFGS相当,同时具备通过剪枝最后训练的神经元实现动态推理速度控制的优势,且精度损失可忽略不计。
This paper presents a novel technique based on gradient boosting to train the final layers of a neural network (NN). Gradient boosting is an additive expansion algorithm in which a series of models are trained sequentially to approximate a given function. A neural network can also be seen as an additive expansion where the scalar product of the responses of the last hidden layer and its weights provide the final output of the network. Instead of training the network as a whole, the proposed algorithm trains the network sequentially in $T$ steps. First, the bias term of the network is initialized with a constant approximation that minimizes the average loss of the data. Then, at each step, a portion of the network, composed of $J$ neurons, is trained to approximate the pseudo-residuals on the training data computed from the previous iterations. Finally, the $T$ partial models and bias are integrated as a single NN with $T imes J$ neurons in the hidden layer. Extensive experiments in classification and regression tasks, as well as in combination with deep neural networks, are carried out showing a competitive generalization performance with respect to neural networks trained with different standard solvers, such as Adam, L-BFGS, SGD and deep models. Furthermore, we show that the proposed method design permits to switch off a number of hidden units during test (the units that were last trained) without a significant reduction of its generalization ability. This permits the adaptation of the model to different classification speed requirements on the fly.
研究动机与目标
- 开发一种基于梯度提升原理的神经网络顺序训练方法,通过逐步添加子网络来提升泛化性能。
- 通过选择性禁用最后训练的神经元,实现在推理阶段的动态模型压缩。
- 为标准反向传播求解器(如Adam、SGD和L-BFGS)提供一种替代训练方案。
- 证明通过迭代训练小型子网络可实现与全网络优化相当的性能。
- 探索在梯度提升框架中使用非树基学习器用于神经网络训练的可行性。
提出的方法
- 该方法首先用最小化平均训练损失的常数近似值初始化网络偏置。
- 在T轮迭代中的每一轮,训练一个含J个神经元的小型子网络,以拟合前一轮预测产生的伪残差。
- 使用牛顿-拉夫森步骤更新子网络权重,以最小化残差上的损失函数。
- 随后更新残差以供下一轮迭代使用,该过程持续至收敛。
- 最终模型为一个具有T×J个隐藏单元的单一神经网络,整合了所有顺序训练的子网络。
- 在推理阶段,可动态禁用最后训练的神经元以降低计算成本,且精度下降极小。
实验结果
研究问题
- RQ1梯度提升能否被有效适配用于以顺序、加法方式训练神经网络的最后几层?
- RQ2该顺序训练方法是否能在泛化性能上与Adam和L-BFGS等标准求解器相媲美?
- RQ3能否通过移除最后训练的神经元实现在推理阶段的动态剪枝而不造成显著性能下降?
- RQ4该方法在分类与回归任务中的表现如何,特别是在表格数据设置下?
- RQ5该方法能否与迁移学习场景中的深度神经网络结合使用?
主要发现
- 所提方法在多个分类与回归任务中实现了与Adam和L-BFGS相当的泛化性能。
- 在回归任务中,该方法在大多数评估数据集上表现最佳,优于其他求解器。
- 模型的泛化准确率随训练子网络数量(或隐藏单元数)的增加而收敛,表明学习动态稳定。
- 该方法支持实时模型压缩:禁用最后训练的神经元仅导致极小的性能下降,可实现运行时根据计算资源动态调整。
- 当与深度神经网络结合用于迁移学习场景时,该方法表现出鲁棒性,适用于不同网络架构。
- 该方法表明,对小型、专注的子网络进行迭代训练可获得优异性能,甚至在某些回归场景中超越标准反向传播。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。