Neural Bootstrapper
Year: 2022

Abstract:
Bootstrapping has been a primary tool for ensemble and uncertainty quantification in machine learning and statistics. However, due to its nature of multiple training and resampling, bootstrapping deep neural networks is computationally burdensome; hence it has difficulties in practical application to the uncertainty estimation and related tasks. To overcome this computational bottleneck, we propose a novel approach called Neural Bootstrapper (NeuBoots), which learns to generate bootstrapped neural networks through single model training. NeuBoots injects the bootstrap weights into the high-level feature layers of the backbone network and outputs the bootstrapped predictions of the target, without additional parameters and the repetitive computations from scratch. We apply NeuBoots to various machine learning tasks related to uncertainty quantification, including prediction calibrations in image classification and semantic segmentation, active learning, and detection of out-of-distribution samples. Our empirical results show that NeuBoots outperforms other bagging based methods under a much lower computational cost without losing the validity of bootstrapping.

heading: 1 Introduction
text: Bootstrapping [7] or bagging [3] procedures have been commonly used as a primary tool in quantifying uncertainty lying on statistical inference, e.g. evaluations of standard errors, confidence intervals, and hypothetical null distribution. Despite its success in statistics and machine learning field, the naive use of bootstrap procedures in deep neural network applications has been less practical due to its computational intensity. Bootstrap procedures require evaluating a number of models; however, training multiple deep neural networks are infeasible in practice in terms of computational cost.
To utilize bootstrap for deep neural networks, we propose a novel bootstrapping procedure called Neural Bootstrapper (NeuBoots). The proposed method is mainly motivated by Generative Bootstrap Sampler (GBS) [38], which trains a bootstrap generator by model parameterization based on Random Weight Bootstrapping (RWB, [37]) framework. For many statistical models, the idea of GBS is more theoretically valid than amortized bootstrap [31], which trains an implicit model to approximate the bootstrap distribution over model parameters. However, GBS is hardly scalable to modern deep neural networks containing millions of parameters.
Contrary to the previous method, the proposed method is effortlessly scalable and universally applicable to the various architectures. The key idea of NeuBoots is simple; multiplying bootstrap weights to the final layer of the backbone network and instead of model parameterization. Hence it outputs the bootstrapped predictions of the target without additional parameters and the repetitive
⇤Equal Contribution †Corresponding Author
35th Conference on Neural Information Processing Systems (NeurIPS 2021).
computations from scratch. NeuBoots outperforms the previous sampling-based methods [13, 24, 31] on the various uncertainty quantification related tasks with deep convolutional networks [17, 20, 22]. Throughout this paper, we show that NeuBoots has multiple advantages over the existing uncertainty quantification procedures in terms of memory efficiency and computational speed (see Table 1.1).
To verify the empirical power of the proposed method, we apply NeuBoots to a wide range of experiments related to uncertainty quantification and bagging. We apply the NeuBoots to prediction calibration, active learning, out-of-distribution (OOD) detection, semantic segmentation, and learning on imbalanced datasets. Notably, we test the proposed method on biomedical data of high-resolution, NIH3T3 data [5]. In Section 4, our results show that NeuBoots achieves at least comparable or better performance than the state-of-the-art methods in the considered applications.

heading: 2 Preliminaries
text: As preliminaries, we briefly review the standard bootstrapping [7] and introduce an idea of Generative Bootstrap Sampler (GBS, [38]), which is the primary motivation of the proposed method. Let [m] := {1, . . . , m} and denote a given training data by D = {(Xi, yi) : i 2 [n]}, where each feature Xi 2 X ⇢ Rp and its response yi 2 Rd. We denote the class of models f : Rp ! Rd by M. For the standard bootstrapping, we sample B sets of bootstrap data D(b) = {(X(b)i , y (b) i ) : i 2 [n]} with replacement for b 2 [B]. For each bootstrap data D(b), we define a loss functional L on f 2M:
L(f, D(b)) := 1
n
nX
i=1
`(f(X(b)i ), y (b) i ) (2.1)
where ` : Rd⇥Rd ! R is an arbitrary loss function. Then we minimize (2.1) with respect to f 2M to obtain bootstrapped models: for b 2 [B],
bf (b) = arg min f2M L(f, D(b)). (2.2)
Random Weight Bootstrapping It is well-known that the standard bootstrap uses only (approximately) 63% of observations for each bootstrap evaluation [24]. To resolve this problem, we use Random Weight Bootstrapping (RWB, [37]), which reformulates (2.2) as a sampling of bootstrapping weights for a weighted loss functional. Let W = {w 2 Rn+ : Pn i=1 wi = n} be a dilated standard (n 1)-simplex. For w = (w1, . . . , wn) 2 W and the original training data D, we define the Weighted Bootstrapping Loss (WBL) functional on f 2M as follows:
L(f,w, D) := 1
n
nX
i=1
wi`(f(Xi), yi). (2.3)
Then for any resampled dataset D(b), there exists a unique w 2W such that (2.1) matches to (2.3). This reformulation provides a relaxation method to consider full data set without any omission in bootstrapping. Precisely, as a continuous relaxation of the standard bootstrap, we use Dirichlet distribution [32]; PW = n ⇥ Dirichlet(1, . . . , 1), where PW is a probability distribution on the simplex W . Hence RWB fully utilizes the observed data points, since sampled bootstrap weights w ⇠ PW are strictly positive. Also, [34] showed that RWB achieves the same theoretical properties with these of the standard bootstrap i.e. PW = Multinomial(n; 1/n, . . . , 1/n) in (2.3).
Bootstrap Distribution Generator Although RWB resolves the data discard problem, training multiple networks bf (1), . . . , bf (B) remains a computational problem, and one has to store the parameters of every network for prediction. To reduce the computational bottlenecks, GBS [38] proposes a
procedure to train a generator function of bootstrapped estimators for parametric statistical models. The main idea of GBS is to parameterize the model parameter with bootstrap weight w 2 W . When the GBS is applied to bootstrapping neural networks, it considers a bootstrap generator g : Rp ⇥W ! Rd with parameter ✓(w), where d is the total number of neural net parameters in g, so that g(X,w) = g✓(w)(X). Based on (2.3), we define a new WBL functional:
L(g, D) = Ew⇠PW [L(g,w, D)], L(g,w, D) = 1
n
nX
i=1
wi`(g(Xi,w), yi) (2.4)
Note that we use the Dirichlet distribution for PW ; hence the functional L(g, D) includes RWB procedure itself. Analogous to (2.2), we obtain the bootstrap generator bg by optimizing L(g, D):
bg = arg min g2M L(g, D) (2.5)
Then learned bg can generate bootstrap samples for given target data X⇤ by plugging an arbitrary w 2W into bg(X⇤, ·). We refer to [38, Section 2] for detailed theoretical results on GBS.
Block Bootstrapping The above bootstrap generator g receives a bootstrap weight vector w of dimension n; hence its optimization via (2.5) would be hurdled when the number of data n is large. Hence we utilize a block bootstrapping procedure to reduce the dimension of bootstrap weight vector. We allocate the index set [n] to S number of blocks. Let u : [n] ! [S] denotes the assignment function. Then we impose the same value of weight on all elements in a block such as, wi = ↵s for u(i) = s 2 [S], where ↵ = (↵1, . . . , ↵S) ⇠ S ⇥ Dirichlet(1, . . . , 1). Instead of w, we plug ↵ in g(X, ·) = g✓(·)(X) to generate bootstrap samples and compute the weighted loss function in (2.4):
L(g, D) = E↵⇠S⇥Dirichlet(1,...,1)
" 1
n
nX
i=1
↵u(i)`(g(Xi, ↵), yi)
# (2.6)
The above procedure asymptotically converges to the same target distribution where the conventional non-block bootstrap converges. See appendix A for more detailed procedure and proofs.

heading: 3 Neural Bootstrapper
text: Now we propose Neural Bootstrapper (NeuBoots), which reduces computational complexity and memory requirement of the networks in the learning of bootstrapped distribution to being suitable for deep neural networks.
How to implement the bootstrap generator g for deep neural networks? One may consider directly applying GBS to existing deep neural networks by modeling a neural net ✓(·) that outputs the neural net parameters of g. However, this approach is computationally challenging due to the high-dimensionality of the output dimension of ✓(·) Indeed, [38] proposes an architecture which concatenates bootstrap weight vector to every layer of a given neural network (Figure 3.1(b)) and trains it with (2.6). However, the bagging performance of GBS gradually degrades as we applied it to the deeper neural networks. This may be because the information of bootstrap weights in the earlier layers less propagate since the target model reduces the parameters of the weights during the training.

heading: 3.1 Adaptive Block Bootstrapping
text: We found that the bootstrap weight in the final layer mainly affects the bootstrap performance of GBS. This fact motivates us to utilize the following adaptive block bootstrapping, which is the key idea of NeuBoots. Take a neural network f✓ 2 M with parameter ✓. Let M✓1 and F✓2 be the single-layer neural network in the final layer and the feature extractor of f , respectively, with parameter ✓ = (✓1, ✓2), so we can decompose f✓ into M✓1 F✓2 . Set S := dim(F✓2(X)) for the number of blocks for block bootstrapping. Then, we redefine bootstrap generator as follows:
g✓(X, ↵) := g(✓,↵)(X) = M✓1(F✓2(X) ↵) (3.1)
where denotes an elementwise multiplication. Bootstrap generator (3.1) can also be trained with (2.6); hence optimized bg✓(X, ·) can generate the bootstrapped prediction as we plug ↵. This
modification brings a computational benefit, since we can generate bootstrap samples quickly and memory-efficiently by reusing a priori computed tensor F✓2(X) without repetitive computation from scratch. See Figure 3.1 for the comparison between the previous methods and NeuBoots. In our empirical experience, the bootstrap evaluations over different groupings were consistent for all examined examples in this article.
Training and Prediction At every epoch, we update the w↵ = {↵u(1), . . . , ↵u(n)} randomly, and the expectation in (2.6) can be approximated by the average over the sampled weights. Considering the stochastic gradient descent (SGD) algorithms to update the parameter ✓ via mini-batch sequence {Dk : Dk ⇢ D}Kk=1, we plug mini-batch size of bootstrap weight vector {↵u(i) : Xi 2 Dk} in (2.6) without changing ↵. Each element of w↵ is not used repeatedly during the epoch, so the sampling and replacement procedures in Algorithm 1 are conducted once at the beginning of epoch. After we obtain the optimized network bg✓, for the prediction, we use the generator bg⇤(·) = bg✓(X⇤, ·) for a given data point X⇤. Then we can generate bootstrapped predictions by plugging ↵(1), . . . , ↵(B) in the generator bg⇤(·), as described in Algorithm 2.
Algorithm 1: Training step in NeuBoots. Input :Dataset D; epochs T ; dimension of feature S; index function u; learning rate ⇢.
1 Initialize neural network parameter (0) and set n := |D|. 2 for t 2 {0, . . . , T 1} do 3 Sample ↵(t) = {↵(t)1 , . . . , ↵ (t) S } i.i.d. ⇠ S ⇥ Dirichlet(1, . . . , 1) 4 Replace w(t)↵ = {↵ (t) u(1), . . . , ↵ (t) u(n)} 5 Update ✓(t+1) ✓(t) ⇢r✓L(g(✓,↵),w (t) ↵ , D)
✓=✓(t)
.
Algorithm 2: Prediction step in NeuBoots. Input : Data point X⇤ 2 Rp; number of bootstrap sampling B.
1 Compute the feed-forward network bg⇤(·) = bg✓(X⇤, ·) a priori. 2 for b 2 {1, . . . , B} do 3 Generate ↵(b) i.i.d.⇠ S ⇥ Dirichlet(1, . . . , 1) and evaluate by(b)⇤ = bg⇤(↵(b)).

heading: 3.2 Discussion
text: NeuBoots vs Standard Bootstrap To examine the approximation power of NeuBoots, we have measured the frequentist’s coverage rate of the confidence bands (Figure 3.2.(a)). We estimate 95% confidence band for nonparametric regression function by using the NeuBoots, and compare
it with credible bands (or confidence bands) evaluated by the standard bootstrap, Gaussian Process (GP) regression, and MCDrop [13]. We adopt Algorithm 1 to train the NeuBoots generator with 3 hidden-layers with 500 hidden-nodes for each layer. For the standard bootstrap, we train 1000 neural networks. The result shows the confidence band via NeuBoots stably covers the true regression function on each predictor value with almost 95% of frequency, which is compatible with the standard bootstrapping. In contrast, the coverage of the MCDrop is unstable and sometimes below 70%. This result indicates that the NeuBoots performs comparably with the standard bootstrapping in uncertainty quantification tasks.
NeuBoots vs Amortized Bootstrapping We applied NeuBoots to classification and regression experiments presented by the amortized bootstrap [31]. Indeed, every experiment demonstrates that NeuBoots outperforms the amortized bootstrap in bagging performance for various tasks: the rotated MNIST classification (Table 3.1), classification with different data points N (Figure B.1), and regression on two datasets (Figure B.2). We remark the expected calibration error (ECE, [30]) score on the rotated MNIST is improved via NeuBoots from 15.00 to 2.98 by increasing the number of bootstrap sampling B.
NeuBoots vs Dropout At first glance, NeuBoots is similar to Dropout in that the final neurons are multiplied by random variables. However, random weights imposed by the Dropout are lack of connection to the loss function nor the working model, while the bootstrap weights of the NeuBoots appears in the loss function (2.6) have explicit connections to the bootstrapping. We briefly verify the effect of the loss function on the 3-layers MLP with the different number of hidden variables 50, 100, and 200 for the image classification task on MNIST datasets. With batch normalization [21], we have applied Dropout with probability p = 0.1 only to the final layer of MLP. We measure the ECE, the negative log-likelihood (NLL), and the Brier score for comparisons. NeuBoots and Dropout records same accuracy. However, Figure B.3 shows that the NeuBoots is more feasible for confidence-aware learning and clearly outperforms the Dropout in terms of ECE, NLL, and the Brier score.
Computation time and cost As we mentioned earlier, the algorithm evaluates the network from scratch for only once to store the tensor F✓2(X⇤), while the standard bootstrapping and MCDrop [13] need repetitive feed-forward propagations. To check this empirically, we measure the prediction time by ResNet-34 between NeuBoots and MCDrop on the test set of CIFAR-10 with Nvidia V100 GPUs. NeuBoots predicts B = 100 bootstrapping in 1.9s whereas MCDrop takes 112s to generate 100 outputs. Also, NeuBoots is computationally more efficient than the standard bootstrap and the sparse GP [40] (Figure 3.3).
We also compare NeuBoots to MIMO [16] and BatchEnsemble [42] in terms of training, test, and memory complexities (see Table 3.2). Since NeuBoots does not require repetitive forward computations, its training and test costs are O(L) and O(L + K), respectively, less than O(L+2K) of MIMO and O(LK) of BatchEnsemble. Note that MIMO needs to copy input images as many as K to supply into input layers. Even though it can compute in a single forward pass, it requires more memories to upload multiple inputs if the input data is high-dimensional (e.g., MRI/CT). The memory complexity of BatchEnsemble is similar to the one of MIMO since the memory usage of fast weights in BatchEnsemble is proportional to the dimension of input and output. This computational bottleneck is nothing to sneeze at in the application fields requiring on-device training
or inference; however, the proposed method is free from such a problem since multiple computations occur only at the final layer. For quantitative comparisons, we refer to Appendix B.2.
Diversity of predictions Diversity of predictions has been a reliable measure to examine overfits and performance of uncertainty quantification for ensemble procedures [10, 35, 42]. In the presence of overfitting, it is expected that the diversity of different ensemble predictions would be minimal because the resulting ensemble models would produce similar predictions that are over-fitted towards the training data points. To examine the diversity performance of NeuBoots, we consider various diversity measures including ratio-error, Q-statistics, correlation coefficient, and prediction disagreement (see [1, 10, 35]). For the CIFAR-100 along with DenseNet-100, Table 3.3 summarizes the results. NeuBoots outperforms MCDrop in every metrics of diversity. Furthermore, NeuBoots shows comparable results with DeepEnsemble.

heading: 4 Empirical Studies
text: In this section, we conduct the wide range of empirical studies of NeuBoots for uncertainty quantification and bagging performance. We apply NeuBoots to prediction calibration, active learning, out-of-distribution detection, bagging performance for semantic segmentation, and learning on imbalanced dataset with various deep convolutional neural networks. Our code is open to the public3.

heading: 4.1 Prediction Calibration
text: Setting We evaluate the proposed method on the prediction calibration for image classification tasks. We apply NeuBoots to image classification tasks on CIFAR and SVHN with ResNet-110 and DenseNet-100. We take k = 5 predictions of MCDrop and DeepEnsemble for calibration.
3https://github.com/sungbinlim/NeuBoots
For fair comparisons, we set the number of bootstrap sampling B = 5 as well, and fix the other hyperparameters same with baseline models. All models are trained using SGD with a momentum of 0.9, an initial learning rate of 0.1, and a weight decay of 0.0005 with the mini-batch size of 128. We use CosineAnnealing for the learning rate scheduler. We implement MCDrop and evaluates its performance with dropout rate p = 0.2, which is a close setting to the original paper. For Deep Ensemble, we utilize adversarial training and the Brier loss function [24] and cross-entropy loss function [2]. For the metric, we evaluate the error rate, ECE, NLL, and Brier score. We also compute each method’s training and prediction times to compare the relative speed based on the baseline.
Results See Table B.3 and B.4 for empirical results. NeuBoots generally show a comparable calibration ability compared to MCDrop and DeepEnsemble. Figure 4.1.(a) shows the reliability diagrams of ResNet-110 and DenseNet-100 on CIFAR-100. We observe that NeuBoots secures accuracy and prediction calibration in the image classification tasks with ResNet-110 and DenseNet-100. NeuBoots is faster in prediction than MCDrop and DeepEnsemble at least three times. Furthermore, NeuBoots shows faster in training than Deep Ensemble at least nine times. This gap increases as the number of predictions k increases. It concludes that NeuBoots outperforms MCDrop and is comparable with DeepEnsemble in calibrating the prediction with the relatively faster prediction.

heading: 4.2 Active Learning
text: Setting We evaluate the NeuBoots on the active learning with ResNet-18 architecture on CIFAR. For a comparison, we consider MCDrop and DeepEnsemble with entropy-based sampling and random sampling. We follow an ordinary process to evaluate the performance of active learning (see [29]). Initially, a randomly sampled 2,000 labeled images are given, and we train a model. Based on the uncertainty estimation of each model, we sample 2,000 additional images from the unlabeled dataset and add to the labeled dataset for the next stage. We continue this process ten times for a single trial and repeat five trials for each model.
Results Figure 4.1.(b) shows the sequential performance improvement on CIFAR-10 and CIFAR100. Note that CIFAR-100 is more challenging dataset than CIFAR-10. Both plots demonstrate that NeuBoots is superior to the other sampling methods in the active learning task. NeuBoots records 71.6% accuracy in CIFAR-100 and 2.5% gap with MCDrop and DeepEnsemble. Through the experiment, we verify that NeuBoots has a significant advantage in active learning.

heading: 4.3 Out-of-Distribution Detection
text: Setting As an important application of uncertainty quantification, we have applied NeuBoots to detection of out-of-distribution (OOD) samples. The setting for OOD is based on the Mahalanobis method [26]. At first, we train ResNet-34 for the classification task only using the training set of the CIFAR-10 (in-distribution). Then, we evaluate the performance of NeuBoots for OOD detection both in the test sets of in-distribution dataset and the SVHN (out-of-distribution). Using a separate
validation set from the testsets, we train a logistic regression based detector to discriminate OOD samples from in-distribution dataset. For the input vectors of the OOD detector, we extract the following four statistics regarding logit vectors: the max of predictive mean vectors, the standard deviation of logit vectors, expected entropy, and predictive entropy, which can be computed by the sampled output vectors of NeuBoots. To evaluate the performance of the detector, we measure the true negative rate (TNR) at 95% true positive rate (TPR), the are under the receiver operating characteristic curve (AUROC), the area under the precision-recall curve (AUPR), and the detection accuracy. For comparison, we examine the baseline method [19], MCDrop, DeepEnsemble [24], DeepEnsemble_CE (trained with cross-entropy loss) [2], ODIN [27], and Mahalanobis [26].
Results Table 4.1 shows NeuBoots significantly outperform the baseline method [19], DeepEnsemble [2, 24], and ODIN [27] without any calibration technique in OOD detection. Furthermore, with the input pre-processing technique studied in [27], NeuBoots is superior to Mahalanobis [26] in most metrics, which employs both the feature ensemble and the input pre-processing for the calibration techniques. This validates NeuBoots can discriminate OOD samples effectively. In order to see the performance change of the OOD detector concerning the bootstrap sample size, we evaluate the predictive standard deviation estimated by the proposed method for different B 2 {2, 5, 10, 20, 30}.
Figure B.5 illustrates that the NeuBoots successfully detects the in-distribution samples (top row) and the out-of-distribution samples (bottom row).

heading: 4.4 Bagging Performance for Semantic Segmentation
text: Setting To demonstrate the applicability of NeuBoots to different computer vision tasks, we validate NeuBoots on PASCAL VOC 2012 semantic segmentation benchmark [9] with DeepLab-v3 [4] based on the backbone architectures of ResNet-50 and ResNet-101. We modify the final 1⇥ 1 convolution layer after the Atrous Spatial Pyramid Pooling (ASPP) module by multiplying the channel-wise bootstrap weights. This is a natural modification of the segmentation architecture analogous to the fully connected layer of the networks for classification tasks. Additionally, we apply NeuBoots to real 3D image segmentation task on commercial ODT microscopy NIH3T3 [5] dataset, which is challenging for not only models but also human due to the 512 ⇥ 512 ⇥ 64 sized large resolution and endogenous cellular variability. We use two different U-Net-like models for this 3D image segmentation task, which are U-ResNet and SCNAS. We simply amend the bottleneck layer in the same way as the 2D version. Same as an image classification task, we set B = 5 and k = 5. For the remaining, we follow the usual setting.
Results Table 4.2 shows NeuBoots significantly improves mean IoU and ECE compared to the baseline. Furthermore, similar to the image classification task, NeuBoots records faster prediction time than MCDrop and DeepEnsemble. This experiment indeed verifies that NeuBoots can be applied to the wider scope of computer vision tasks beyond image classification.

heading: 4.5 Imbalanced Dataset
text: Setting To validate the efficacy for the imbalanced dataset, we have applied NeuBoots to two imbalance sets, the imbalanced CIFAR-10 and the white blood cell dataset with ResNet-18. To
conduct an imbalanced CIFAR-10, we randomly sampled from the training dataset of CIFAR-10 to follow a different distribution for each class, and the distribution is [50, 100, 150, 200, 250, 300, 350, 400, 450, 500] for [airplane, automobile, bird, cat, deer, dog, frog, horse, ship, truck]. The white blood cell dataset was acquired using a commercial ODT microscopy, and each image is a grayscale of 80 ⇥ 80. The dataset comprises four types of white blood cells, and the training distribution is [144, 281, 2195, 3177] for [eosinophil, monocyte, lymphocyte, neutrophil]. ResNet-18 model and MCDrop extension are used as a baseline and comparative model with the same settings as Section 4.2, respectively. We measure the F1 Score for each class for evaluation.
Results Comparing the performance of Baseline, MCDrop, and DeepEmsenble, NeuBoots performs better on both imbalanced CIFAR-10 and the white blood cell dataset, as shown in Figure 4.2. Especially, NeuBoots outperforms for eosinophil identification, the class with the lowest number of samples in the white blood cell dataset, with low variance. This result shows that the NeuBoots boosts the prediction power for the fewer sampled classes with high stability via simple implementation.

heading: 5 Related Work
text: Bootstrapping Neural Network Since [7] first proposed the nonparametric bootstrapping to quantify uncertainty in general settings, there has been a rich amount of literature that investigate theoretical advantages of using bootstrap procedures for parametric models [8, 14, 15]. For nerural networks, [12] investigated bootstrap consistency of one-layered MLP under some strong regularity conditions. [36] considered using a conventional nonparametric bootstrapping to robustify classifiers under noisy labeling. However, due to the nature of repetitive computations, its practical application to large-sized data sets is not trivial. [31] proposed an approximation of bootstrapping for neural network by applying amortized variational Bayes. Despite its computational efficiency, the armortized bootstrap does not induce the exact target bootstrap distribution, and its theoretical justification is lacking. Recently, [25] proposes a bootstrapping method for neural processes. They utilized residual bootstrap to resolve the data discard problem, but their approach is not scalable since it requires multiple encoder computations.
Ensemble Methods Various advances of neural net ensembles have been made to improve computational efficiency and uncertainty quantification performance. Havasi et al. [16] introduces Multiple Input Multiple Output (MIMO), that approximates independent neural nets by imposing multiple inputs and outputs, and Wen et al. [42] proposes a low-rank approximation of ensemble networks, called BatchEnsemble. Latent Posterior Bayes NN (LP-BNN, [11]) extends the BatchEnsemble to a Bayesian paradigm imposing a VAE structure on the individual low-rank factors, and the LP-BNN outperforms the MIMO and the BatchEnsemble in prediction calibration and OOD detection, but its computational burden is heavier than that of the BatchEnsemble. Stochastic Weight Averaging Gaussian (SWAG, [28]) computes the posterior of the base neural net via a low-rank approximation with a batch sampling. Even though these strategies reduces the computational cost to train each ensemble network, unlike NeuBoots, they still demand multiple optimizations, and its computational cost linearly increases as the ensemble size grows up.
Uncertainty Estimation There are numerous approaches to quantify the uncertainty in predictions of NNs. Deep Confidence [6] proposes a framework to compute confidence intervals for individual predictions using snapshot ensembling and conformal prediction. Also, a calibration procedure to approximate a confidence interval is proposed based on Bayesain neural networks [23]. Gal and Ghahramani [13] proposes MCDrop which captures model uncertainty casting dropout training in neural networks as an approximation of variational Bayes. Smith and Gal [39] examines various measures of uncertainty for adversarial example detection. Lakshminarayanan et al. [24] proposes a non-Bayesian approach, called DeepEnsemble, to estimate predictive uncertainty based on ensembles and adversarial training. Compared to DeepEnsemble, NeuBoots does not require adversarial training nor learning multiple models.

heading: 6 Conclusion
text: We introduced a novel and scalable bootstrapping method, NeuBoots, for neural networks. We applied it to the wide range of machine learning tasks related to uncertainty quantification; prediction calibration, active learning, out-of-distribution detection, and imbalanced datasets. NeuBoots also demonstrates superior bagging performance over semantic segmentation. Our empirical studies show that NeuBoots attains significant potential in quantifying uncertainty for large-sized applications, such as biomedical data analysis with high-resolution. As a future research, one can apply NeuBoots to natural language processing tasks using Transformor [41].

heading: 7 Acknowledgement
text: The authors specially thanks to Dr. Hyokun Yun for his fruitful comments. Minsuk Shin would like to acknowledge support from the National Science Foundation (NSF-DMS award #2015528). This work was also supported by Institute of Information & communications Technology Planning & Evaluation(IITP) grant funded by the Korea government(MSIT) (No.2020-0-01336, Artificial Intelligence Graduate School Program(UNIST)) and National Research Foundation of Korea(NRF) funded by the Korea government(MSIT)(2021R1C1C1009256).

Review summaries:
This work advances an approach for generating bootstrapped neural networks through a single training run, instead of training individual networks for each bootstrap subsets of the dataset. The method, dubbed Neural Bootstrapper (NeuBoots), can be seen as a last-layer approach for uncertainty quantification with an adaptive bootstrapping block at the end. This bootstrapping block borrows ideas from random weight bootstrapping, generative bootstrap samplers and block bootstrapping. In detail, groups of samples are given the same bootstrapping weight (sampled from a Dirichlet distribution randomly initialized at each epoch), with this weight used for perturbing the penultimate layer features and to ponderate the loss for each corresponding sample. Multiple predictions can be obtained from different samplings of the bootstrap weights applied again to the penultimate layer features leading to computationally efficient bagging. NeuBoots is evaluated on an array of datasets against MC-Dropout and DeepEnsembles, displaying interesting results. 

The work proposes NeuBoots: a new ensembling method for neural networks inspired by bootstrapping estimation. The method is simple and involves training one neural network to simultaneously represent a whole family of models; each such model is scored during training with a loss where different training objects have different weights. These models are obtained from the base model with a single multiplication of weights of training objects (or, more precisely, weights of sets of training objects) and representations in the final part of the network. During testing, models are ensembled for multiple random weightings for training objects. The authors validate the method on computer vision tasks and synthetic data. It is concluded that the method is superior to other bagging methods on various metrics related to uncertainty estimation such as active learning performance or out-of-distribution detection metrics and is more computationally efficient.