From 068287f9af849190cbda7522b1b8b6d0455ce265 Mon Sep 17 00:00:00 2001 From: Yi-Xuan Xu Date: Tue, 18 May 2021 19:14:54 +0800 Subject: [PATCH] doc: add introduction on soft gradient boosting (#74) --- docs/_images/soft_gradient_boosting.png | Bin 0 -> 71050 bytes docs/introduction.rst | 29 +++++++++++++++++------- 2 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 docs/_images/soft_gradient_boosting.png diff --git a/docs/_images/soft_gradient_boosting.png b/docs/_images/soft_gradient_boosting.png new file mode 100644 index 0000000000000000000000000000000000000000..3854d73ddb8e0d0d87d655da3f2dce48bf16b993 GIT binary patch literal 71050 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⁢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 literal 0 HcmV?d00001 diff --git a/docs/introduction.rst b/docs/introduction.rst index 9ecef5b..f5c57f5 100644 --- a/docs/introduction.rst +++ b/docs/introduction.rst @@ -28,8 +28,8 @@ Voting and bagging are popularly used ensemble methods. Basically, voting and ba Compared to voting, bagging further uses sampling with replacement on each batch of data. Notice that sub-sampling is not typically used when training neural networks, because the neural networks typically achieve better performance with more training data. -Gradient Boosting ------------------ +Gradient Boosting [1]_ +---------------------- Gradient boosting trains all base estimators in a sequential fashion, as the learning target of a base estimator :math:`h^m` is associated with the outputs from base estimators fitted before, i.e., :math:`\{h^1, \cdots, h^{m-1}\}`. @@ -49,7 +49,7 @@ The figure below presents the data flow of gradient boosting during the training :align: center :width: 500 -Snapshot Ensemble [1]_ +Snapshot Ensemble [2]_ ---------------------- Unlike all methods above, where :math:`M` independent base estimators will be trained, snapshot ensemble generates the ensemble by enforcing a single base estimator to converge to different local minima :math:`M` times. At each minima, the parameters of this estimator are saved (i.e., a snapshot), serving as a base estimator in the ensemble. The output of snapshot ensemble also takes the average over the predictions from all snapshots. @@ -61,7 +61,7 @@ To obtain snapshots with good performance, snapshot ensemble uses **cyclic annea Notice that the iteration above indicates the loop on enumerating all batches within each epoch, instead of the loop on iterating over all training epochs. -Adversarial Training [2]_ +Adversarial Training [3]_ ------------------------- Adversarial samples can be used to improve the performance of base estimators, as validated by the authors in [2]. The implemented ``AdversarialTrainingClassifier`` and ``AdversarialTrainingRegressor`` contain :math:`M` independent base estimators, and each of them is fitted independently as in Voting and Bagging. @@ -70,13 +70,26 @@ During the training stage of each base estimator :math:`h^m`, an adversarial sam Same as Voting and Bagging, the output of ``AdversarialTrainingClassifier`` or ``AdversarialTrainingRegressor`` during the evaluating stage is the average over predictions from all base estimators. -Fast Geometric Ensemble [3]_ +Fast Geometric Ensemble [4]_ ---------------------------- Motivated by geometric insights on the loss surface of deep neural networks, Fast Geometirc Ensembling (FGE) is an efficient ensemble that uses a customized learning rate scheduler to generate base estimators, similar to snapshot ensemble. +Soft Gradient Boosting [5]_ +--------------------------- + +The sequential training stage of gradient boosting makes it prohibitively expensive to use when large neural networks are chosen as the base estimator. The recently proposed soft gradient boosting machine mitigates this problem by concatenating all base estimators in the ensemble, and by using local and global training objectives inspired from gradient boosting. As a result, it is able to simultaneously train all base estimators, while achieving similar boosting performance as gradient boosting. + +The figure below is the model architecture of soft gradient boosting. + +.. image:: ./_images/soft_gradient_boosting.png + :align: center + :width: 400 + **References** -.. [1] Huang Gao, Sharon Yixuan Li, Geoff Pleisset, et al., "Snapshot ensembles: Train 1, get m for free." ICLR, 2017. -.. [2] Balaji Lakshminarayanan, Alexander Pritzel, Charles Blundell., "Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles." NIPS 2017. -.. [3] Timur Garipov, Pavel Izmailov, Dmitrii Podoprikhin et al., "Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs." NeurIPS, 2018. \ No newline at end of file +.. [1] Jerome H. Friedman., "Greedy Function Approximation: A Gradient Boosting Machine." The Annals of Statistics, 2001. +.. [2] Huang Gao, Sharon Yixuan Li, Geoff Pleisset, et al., "Snapshot Ensembles: Train 1, Get M for Free." ICLR, 2017. +.. [3] Balaji Lakshminarayanan, Alexander Pritzel, Charles Blundell., "Simple and Scalable Predictive Uncertainty Estimation using Deep Ensembles." NIPS 2017. +.. [4] Timur Garipov, Pavel Izmailov, Dmitrii Podoprikhin et al., "Loss Surfaces, Mode Connectivity, and Fast Ensembling of DNNs." NeurIPS, 2018. +.. [5] Ji Feng, Yi-Xuan Xu, Yuan Jiang, Zhi-Hua Zhou., "Soft Gradient Boosting Machine.", arXiv, 2020.