UNLABELED DATA: WHY YOU SHOULD AVERAGE
Year: 2019

Abstract:
Presently the most successful approaches to semi-supervised learning are based on consistency regularization, whereby a model is trained to be robust to small perturbations of its inputs and parameters. To understand consistency regularization, we conceptually explore how loss geometry interacts with training procedures. The consistency loss dramatically improves generalization performance over supervisedonly training; however, we show that SGD struggles to converge on the consistency loss and continues to make large steps that lead to changes in predictions on the test data. Motivated by these observations, we propose to train consistencybased methods with Stochastic Weight Averaging (SWA), a recent approach which averages weights along the trajectory of SGD with a modified learning rate schedule. We also propose fast-SWA, which further accelerates convergence by averaging multiple points within each cycle of a cyclical learning rate schedule. With weight averaging, we achieve the best known semi-supervised results on CIFAR-10 and CIFAR-100, over many different quantities of labeled training data. For example, we achieve 5.0% error on CIFAR-10 with only 4000 labels, compared to the previous best result in the literature of 6.3%.

heading: 1 INTRODUCTION
text: Recent advances in deep unsupervised learning, such as generative adversarial networks (GANs) (Goodfellow et al., 2014), have led to an explosion of interest in semi-supervised learning. Semisupervised methods make use of both unlabeled and labeled training data to improve performance over purely supervised methods. Semi-supervised learning is particularly valuable in applications such as medical imaging, where labeled data may be scarce and expensive (Oliver et al., 2018).
Currently the best semi-supervised results are obtained by consistency-enforcing approaches (Bachman et al., 2014; Laine and Aila, 2017; Tarvainen and Valpola, 2017; Miyato et al., 2017; Park et al., 2017). These methods use unlabeled data to stabilize their predictions under input or weight perturbations. Consistency-enforcing methods can be used at scale with state-of-the-art architectures. For example, the recent Mean Teacher (Tarvainen and Valpola, 2017) model has been used with the Shake-Shake (Gastaldi, 2017) architecture and has achieved the best semi-supervised performance on the consequential CIFAR benchmarks.
This paper is about conceptually understanding and improving consistency-based semi-supervised learning methods. Our approach can be used as a guide for exploring how loss geometry interacts with training procedures in general. We provide several novel observations about the training objective and optimization trajectories of the popular ⇧ (Laine and Aila, 2017) and Mean Teacher (Tarvainen and Valpola, 2017) consistency-based models. Inspired by these findings, we propose to improve SGD solutions via stochastic weight averaging (SWA) (Izmailov et al., 2018), a recent method that averages weights of the networks corresponding to different training epochs to obtain a single model with improved generalization. On a thorough empirical study we show that this procedure achieves the best known semi-supervised results on consequential benchmarks. In particular:
• We show in Section 3.1 that a simplified ⇧ model implicitly regularizes the norm of the Jacobian of the network outputs with respect to both its inputs and its weights, which in turn encourages flatter solutions. Both the reduced Jacobian norm and flatness of solutions have been related to generalization in the literature (Sokolić et al., 2017; Novak et al., 2018; Chaudhari et al.,
2016; Schmidhuber and Hochreiter, 1997; Keskar et al., 2017; Izmailov et al., 2018). Interpolating between the weights corresponding to different epochs of training we demonstrate that the solutions of ⇧ and Mean Teacher models are indeed flatter along these directions (Figure 1b).
• In Section 3.2, we compare the training trajectories of the ⇧, Mean Teacher, and supervised models and find that the distances between the weights corresponding to different epochs are much larger for the consistency based models. The error curves of consistency models are also wider (Figure 1b), which can be explained by the flatness of the solutions discussed in section 3.1. Further we observe that the predictions of the SGD iterates can differ significantly between different iterations of SGD.
• We observe that for consistency-based methods, SGD does not converge to a single point but continues to explore many solutions with high distances apart. Inspired by this observation, we propose to average the weights corresponding to SGD iterates, or ensemble the predictions of the models corresponding to these weights. Averaging weights of SGD iterates compensates for larger steps, stabilizes SGD trajectories and obtains a solution that is centered in a flat region of the loss (as a function of weights). Further, we show that the SGD iterates correspond to models with diverse predictions – using weight averaging or ensembling allows us to make use of the improved diversity and obtain a better solution compared to the SGD iterates. In Section 3.3 we demonstrate that both ensembling predictions and averaging weights of the networks corresponding to different training epochs significantly improve generalization performance and find that the improvement is much larger for the ⇧ and Mean Teacher models compared to supervised training. We find that averaging weights provides similar or improved accuracy compared to ensembling, while offering the computational benefits and convenience of working with a single model. Thus, we focus on weight averaging for the remainder of the paper.
• Motivated by our observations in Section 3 we propose to apply Stochastic Weight Averaging (SWA) (Izmailov et al., 2018) to the ⇧ and Mean Teacher models. Based on our results in Section 3.3 we propose several modifications to SWA in Section 4. In particular, we propose fast-SWA, which (1) uses a learning rate schedule with longer cycles to increase the distance between the weights that are averaged and the diversity of the corresponding predictions; and (2) averages weights of multiple networks within each cycle (while SWA only averages weights corresponding to the lowest values of the learning rate within each cycle). In Section 5, we show that fast-SWA converges to a good solution much faster than SWA.
• Applying weight averaging to the ⇧ and Mean Teacher models we improve the best reported results on CIFAR-10 for 1k, 2k, 4k and 10k labeled examples, as well as on CIFAR-100 with 10k labeled examples. For example, we obtain 5.0% error on CIFAR-10 with only 4k labels, improving the best result reported in the literature (Tarvainen and Valpola, 2017) by 1.3%. We also apply weight averaging to a state-of-the-art domain adaptation technique (French et al., 2018) closely related to the Mean Teacher model and improve the best reported results on domain adaptation from CIFAR-10 to STL from 19.9% to 16.8% error.
• We release our code at https://github.com/benathi/fastswa-semi-sup

heading: 2 BACKGROUND

heading: 2.1 CONSISTENCY BASED MODELS
text: We briefly review semi-supervised learning with consistency-based models. This class of models encourages predictions to stay similar under small perturbations of inputs or network parameters. For instance, two different translations of the same image should result in similar predicted probabilities. The consistency of a model (student) can be measured against its own predictions (e.g. ⇧ model) or predictions of a different teacher network (e.g. Mean Teacher model). In both cases we will say a student network measures consistency against a teacher network.
Consistency Loss In the semi-supervised setting, we have access to labeled data DL = {(xLi , yLi )} NL i=1, and unlabeled data DU = {xUi } NU i=1.
Given two perturbed inputs x0, x00 of x and the perturbed weights w0f and w 0 g, the consistency loss penalizes the difference between the student’s predicted probablities f(x0; w0f ) and the teacher’s
g(x00; w0g). This loss is typically the Mean Squared Error or KL divergence:
`MSEcons (wf , x) = kf(x0; w0f ) g(x00, w0g)k2 or `KLcons(wf , x) = KL(f(x0; w0f )||g(x00, w0g)) . (1) The total loss used to train the model can be written as
L(wf ) = X
(x,y)2DL
`CE(wf , x, y)
| {z } LCE
+ X
x2DL[DU
`cons(wf , x)
| {z } Lcons
, (2)
where for classification LCE is the cross entropy between the model predictions and supervised training labels. The parameter > 0 controls the relative importance of the consistency term in the overall loss.
⇧ Model The ⇧ model, introduced in Laine and Aila (2017) and Sajjadi et al. (2016), uses the student model f as its own teacher. The data (input) perturbations include random translations, crops, flips and additive Gaussian noise. Binary dropout (Srivastava et al., 2014) is used for weight perturbation.
Mean Teacher Model The Mean Teacher model (MT) proposed in Tarvainen and Valpola (2017) uses the same data and weight perturbations as the ⇧ model; however, the teacher weights wg are the exponential moving average (EMA) of the student weights wf : wkg = ↵ · wk 1g + (1 ↵) · wkf . The decay rate ↵ is usually set between 0.9 and 0.999. The Mean Teacher model has the best known results on the CIFAR-10 semi-supervised learning benchmark (Tarvainen and Valpola, 2017).
Other Consistency-Based Models Temporal Ensembling (TE) (Laine and Aila, 2017) uses an exponential moving average of the student outputs as the teacher outputs in the consistency term for training. Another approach, Virtual Adversarial Training (VAT) (Miyato et al., 2017), enforces the consistency between predictions on the original data inputs and the data perturbed in an adversarial direction x0 = x + ✏radv, where radv = arg maxr:krk=1 KL[f(x, w)kf(x + ⇠r, w)].

heading: 3 UNDERSTANDING CONSISTENCY-ENFORCING MODELS
text: In Section 3.1, we study a simplified version of the ⇧ model theoretically and show that it penalizes the norm of the Jacobian of the outputs with respect to inputs, as well as the eigenvalues of the Hessian, both of which have been related to generalization (Sokolić et al., 2017; Novak et al., 2018; Dinh et al., 2017a; Chaudhari et al., 2016). In Section 3.2 we empirically study the training trajectories of the ⇧ and MT models and compare them to the training trajectories in supervised learning. We show that even late in training consistency-based methods make large training steps, leading to significant changes in predictions on test. In Section 3.3 we show that averaging weights or ensembling predictions of the models proposed by SGD at different training epochs can lead to substantial gains in accuracy and that these gains are much larger for ⇧ and MT than for supervised training.

heading: 3.1 SIMPLIFIED ⇧ MODEL PENALIZES LOCAL SHARPNESS
text: Penalization of the input-output Jacobian norm. Consider a simple version of the ⇧ model, where we only apply small additive perturbations to the student inputs: x0 = x + ✏z, z ⇠ N (0, I) with ✏ ⌧ 1, and the teacher input is unchanged: x00 = x.1 Then the consistency loss `cons (Eq. 1) becomes `cons(w, x, ✏) = kf(w, x + ✏z) f(w, x)k2. Consider the estimator Q̂ = lim✏!0 1 ✏2 1 m Pm i=1 `cons(w, xi, ✏). We show in Section A.5 that
E[Q̂] = Ex[kJxk2F ] and Var[Q̂] = 1
m
✓ Var[kJxk2F ] + 2E[kJTx Jxk2F ] ◆ ,
where Jx is the Jacobian of the network’s outputs with respect to its inputs evaluated at x, k · kF represents Frobenius norm, and the expectation Ex is taken over the distribution of labeled and
1This assumption can be relaxed to x00 = x+ ✏z2 z2 ⇠ N (0, I) without changing the results of the analysis, since ✏(z1 z2) = 2✏z̄ with z̄ ⇠ N (0, I).
unlabeled data. That is, Q̂ is an unbiased estimator of Ex[kJxk2F ] with variance controlled by the minibatch size m. Therefore, the consistency loss implicitly penalizes Ex[kJxk2F ]. The quantity ||Jx||F has been related to generalization both theoretically (Sokolić et al., 2017) and empirically (Novak et al., 2018). For linear models f(x) = Wx, penalizing ||Jx||F exactly corresponds to weight decay, also known as L2 regularization, since for linear models Jx = W , and kWk2F = kvec(W )k22. Penalizing Ex[kJxk2F ] is also closely related to the graph based (manifold) regularization in Zhu et al. (2003) which uses the graph Laplacian to approximate Ex[krMfk2] for nonlinear models, making use of the manifold structure of unlabeled data.
Isotropic perturbations investigated in this simplified ⇧ model will not in general lie along the data manifold, and it would be more pertinent to enforce consistency to perturbations sampled from the space of natural images. In fact, we can interpret consistency with respect to standard data augmentations (which are used in practice) as penalizing the manifold Jacobian norm in the same manner as above. See Section A.5 for more details.
Penalization of the Hessian’s eigenvalues. Now, instead of the input perturbation, consider the weight perturbation w0 = w + ✏z. Similarly, the consistency loss is an unbiased estimator for Ex[kJwk2F ], where Jw is the Jacobian of the network outputs with respect to the weights w. In Section A.6 we show that for the MSE loss, the expected trace of the Hessian of the loss Ex[tr(H)] can be decomposed into two terms, one of which is Ex[kJwk2F ]. As minimizing the consistency loss of a simplified ⇧ model penalizes Ex[kJwk2F ], it also penalizes Ex[tr(H)]. As pointed out in Dinh et al. (2017a) and Chaudhari et al. (2016), the eigenvalues of H encode the local information about sharpness of the loss for a given solution w. Consequently, the quantity tr(H) which is the sum of the Hessian eigenvalues is related to the notion of sharp and flat optima, which has recently gained attention as a proxy for generalization performance (see e.g. Schmidhuber and Hochreiter, 1997; Keskar et al., 2017; Izmailov et al., 2018). Thus, based on our analysis, the consistency loss in the simplified ⇧ model encourages flatter solutions.

heading: 3.2 ANALYSIS OF SOLUTIONS ALONG SGD TRAJECTORIES
text: In the previous section we have seen that in a simplified ⇧ model, the consistency loss encourages lower input-output Jacobian norm and Hessian’s eigenvalues, which are related to better generalization. In this section we analyze the properties of minimizing the consistency loss in a practical setting. Specifically, we explore the trajectories followed by SGD for the consistency-based models and compare them to the trajectories in supervised training.
We train our models on CIFAR-10 using 4k labeled data for 180 epochs. The ⇧ and Mean Teacher models use 46k data points as unlabeled data (see Sections A.8 and A.9 for details). First, in Figure 1a we visualize the evolution of norms of the gradients of the cross-entropy term krLCEk and consistency term krLconsk along the trajectories of the ⇧, MT, and standard supervised models (using CE loss only). We observe that krLConsk remains high until the end of training and dominates the gradient krLCEk of the cross-entropy term for the ⇧ and MT models. Further, for both the ⇧
and MT models, krLConsk is much larger than in supervised training implying that the ⇧ and MT models are making substantially larger steps until the end of training. These larger steps suggest that rather than converging to a single minimizer, SGD continues to actively explore a large set of solutions when applied to consistency-based methods.
For further understand this observation, we analyze the behavior of train and test errors in the region of weight space around the solutions of the ⇧ and Mean Teacher models. First, we consider the onedimensional rays (t) = t ·w180 +(1 t)w170, t 0, connecting the weight vectors w170 and w180 corresponding to epochs 170 and 180 of training. We visualize the train and test errors (measured on the labeled data) as functions of the distance from the weights w170 in Figure 1b. We observe that the distance between the weight vectors w170 and w180 is much larger for the semi-supervised methods compared to supervised training, which is consistent with our observation that the gradient norms are larger which implies larger steps during optimization in the ⇧ and MT models. Further, we observe that the train and test error surfaces are much wider along the directions connecting w170 and w180 for the consistency-based methods compared to supervised training. One possible explanation for the increased width is the effect of the consistency loss on the Jacobian of the network and the eigenvalues of the Hessian of the loss discussed in Section 3.1. We also observe that the test errors of interpolated weights can be lower than errors of the two SGD solutions between which we interpolate. This error reduction is larger in the consistency models (Figure 1b).
We also analyze the error surfaces along random and adversarial rays starting at the SGD solution w180 for each model. For the random rays we sample 5 random vectors d from the unit sphere and calculate the average train and test errors of the network with weights wt1 + sd for s 2 [0, 30]. With adversarial rays we evaluate the error along the directions of the fastest ascent of test or train loss dadv =
rLCE ||rLCE || . We observe that while the solutions of the ⇧ and MT models are much wider than
supervised training solutions along the SGD-SGD directions (Figure 1b), their widths along random and adversarial rays are comparable (Figure 1c, 1d)
We analyze the error along SGD-SGD rays for two reasons. Firstly, in fast-SWA we are averaging solutions traversed by SGD, so the rays connecting SGD iterates serve as a proxy for the space we average over. Secondly, we are interested in evaluating the width of the solutions that we explore during training which we expect will be improved by the consistency training, as discussed in Section 3.1 and A.6. We expect width along random rays to be less meaningful because there are many directions in the parameter space that do not change the network outputs (Dinh et al., 2017b; GurAri et al., 2018; Sagun et al., 2017). However, by evaluating SGD-SGD rays, we can expect that these directions corresponds to meaningful changes to our model because individual SGD updates correspond to directions that change the predictions on the training set. Furthermore, we observe that different SGD iterates produce significantly different predictions on the test data.
Neural networks in general are known to be resilient to noise, explaining why both MT, ⇧ and supervised models are flat along random directions (Arora et al., 2018). At the same time neural networks are susceptible to targeted perturbations (such as adversarial attacks). We hypothesize that we do not observe improved flatness for semi-supervised methods along adversarial rays because we do not choose our input or weight perturbations adversarially, but rather they are sampled from a predefined set of transformations.
Additionally, we analyze whether the larger optimization steps for the ⇧ and MT models translate into higher diversity in predictions. We define diversity of a pair of models w1, w2 as Diversity(w1, w2) = 1 N PN i=1 [y (w1) i 6= y (w2) i ], the fraction of test samples where the predicted labels between the two models differ. We found that for the ⇧ and MT models, the Diversity(w170, w180) is 7.1% and 6.1% of the test data points respectively, which is much higher than 3.9% in supervised learning. The increased diversity in the predictions of the networks traversed by SGD supports our conjecture that for the ⇧ and MT models SGD struggles to converge to a single solution and continues to actively explore the set of plausible solutions until the end of training.

heading: 3.3 ENSEMBLING AND WEIGHT AVERAGING
text: In Section 3.2, we observed that the ⇧ and MT models continue taking large steps in the weight space at the end of training. Not only are the distances between weights larger, we observe these models
to have higher diversity. In this setting, using the last SGD iterate to perform prediction is not ideal since many solutions explored by SGD are equally accurate but produce different predictions.
Ensembling. In Section 3.2 we showed that the diversity in predictions is significantly larger for the ⇧ and Mean Teacher models compared to purely supervised learning. The diversity of these iterates suggests that we can achieve greater benefits from ensembling. We use the same CNN architecture and hyper-parameters as in Section 3.2 but extend the training time by doing 5 learning rate cycles of 30 epochs after the normal training ends at epoch 180 (see A.8 and A.9 for details). We sample random pairs of weights w1, w2 from epochs 180, 183, . . . , 330 and measure the error reduction from ensembling these pairs of models, Cens ⌘ 12Err(w1) + 1 2Err(w2) Err (Ensemble(w1, w2)). In Figure 2c we visualize Cens, against the diversity of the corresponding pair of models. We observe a strong correlation between the diversity in predictions of the constituent models and ensemble performance, and therefore Cens is substantially larger for ⇧ and Mean Teacher models. As shown in Izmailov et al. (2018), ensembling can be well approximated by weight averaging if the weights are close by.
Weight Averaging. First, we experiment on averaging random pairs of weights at the end of training and analyze the performance with respect to the weight distances. Using the the same pairs from above, we evaluate the performance of the model formed by averaging the pairs of weights, Cavg(w1, w2) ⌘ 12Err(w1)+ 1 2Err(w2) Err 1 2w1 + 1 2w2 . Note that Cavg is a proxy for convexity: if Cavg(w1, w2) 0 for any pair of points w1, w2, then by Jensen’s inequality the error function is convex (see the left panel of Figure 2). While the error surfaces for neural networks are known to be highly non-convex, they may be approximately convex in the region traversed by SGD late into training (Goodfellow et al., 2015). In fact, in Figure 2b, we find that the error surface of the SGD trajectory is approximately convex due to Cavg(w1, w2) being mostly positive. Here we also observe that the distances between pairs of weights are much larger for the ⇧ and MT models than for the supervised training; and as a result, weight averaging achieves a larger gain for these models.
In Section 3.2 we observed that for the ⇧ and Mean Teacher models SGD traverses a large flat region of the weight space late in training. Being very high-dimensional, this set has most of its volume concentrated near its boundary. Thus, we find SGD iterates at the periphery of this flat region (see Figure 2d). We can also explain this behavior via the argument of (Mandt et al., 2017). Under certain assumptions SGD iterates can be thought of as samples from a Gaussian distribution centered at the minimum of the loss, and samples from high-dimensional Gaussians are known to be concentrated on the surface of an ellipse and never be close to the mean. Averaging the SGD iterates (shown in red in Figure 2d) we can move towards the center (shown in blue) of the flat region, stabilizing the SGD trajectory and improving the width of the resulting solution, and consequently improving generalization.
We observe that the improvement Cavg from weight averaging (1.2 ± 0.2% over MT and ⇧ pairs) is on par or larger than the benefit Cens of prediction ensembling (0.9 ± 0.2%) The smaller gain from
ensembling might be due to the dependency of the ensembled solutions, since they are from the same SGD run as opposed to independent restarts as in typical ensembling settings. For the rest of the paper, we focus attention on weight averaging because of its lower costs at test time and slightly higher performance compared to ensembling.

heading: 4 SWA AND FAST-SWA
text: In Section 3 we analyzed the training trajectories of the ⇧, MT, and supervised models. We observed that the ⇧ and MT models continue to actively explore the set of plausible solutions, producing diverse predictions on the test set even in the late stages of training. Further, in section 3.3 we have seen that averaging weights leads to significant gains in performance for the ⇧ and MT models. In particular these gains are much larger than in supervised setting.
Stochastic Weight Averaging (SWA) (Izmailov et al., 2018) is a recent approach that is based on averaging weights traversed by SGD with a modified learning rate schedule. In Section 3 we analyzed averaging pairs of weights corresponding to different epochs of training and showed that it improves the test accuracy. Averaging multiple weights reinforces this effect, and SWA was shown to significantly improve generalization performance in supervised learning. Based on our results in section 3.3, we can expect even larger improvements in generalization when applying SWA to the ⇧ and MT models.
SWA typically starts from a pre-trained model, and then averages points in weight space traversed by SGD with a constant or cyclical learning rate. We illustrate the cyclical cosine learning rate schedule in Figure 3 (left) and the SGD solutions explored in Figure 3 (middle). For the first `  `0 epochs the network is pre-trained using the cosine annealing schedule where the learning rate at epoch i is set equal to ⌘(i) = 0.5 · ⌘0(1 + cos (⇡ · i/`0)). After ` epochs, we use a cyclical schedule, repeating the learning rates from epochs [` c, `], where c is the cycle length. SWA collects the networks corresponding to the minimum values of the learning rate (shown in green in Figure 3, left) and averages their weights. The model with the averaged weights wSWA is then used to make predictions. We propose to apply SWA to the student network both for the ⇧ and Mean Teacher models. Note that the SWA weights do not interfere with training.
Originally, Izmailov et al. (2018) proposed using cyclical learning rates with small cycle length for SWA. However, as we have seen in Section 3.3 (Figure 2, left) the benefits of averaging are the most prominent when the distance between the averaged points is large. Motivated by this observation, we instead use longer learning rate cycles c. Moreover, SWA updates the average weights only once per cycle, which means that many additional training epochs are needed in order to collect enough weights for averaging. To overcome this limitation, we propose fast-SWA, a modification of SWA that averages networks corresponding to every k < c epochs starting from epoch ` c. We can also average multiple weights within a single epoch setting k < 1.
Notice that most of the models included in the fast-SWA average (shown in red in Figure 3, left) have higher errors than those included in the SWA average (shown in green in Figure 3, right) since they are obtained when the learning rate is high. It is our contention that including more models in the fast-SWA weight average can more than compensate for the larger errors of the individual models.
Indeed, our experiments in Section 5 show that fast-SWA converges substantially faster than SWA and has lower performance variance. We analyze this result theoretically in Section A.7).

heading: 5 EXPERIMENTS
text: We evaluate the ⇧ and MT models (Section 4) on CIFAR-10 and CIFAR-100 with varying numbers of labeled examples. We show that fast-SWA and SWA improve the performance of the ⇧ and MT models, as we expect from our observations in Section 3. In fact, in many cases fast-SWA improves on the best results reported in the semi-supervised literature. We also demonstrate that the preposed fast-SWA obtains high performance much faster than SWA. We also evaluate SWA applied to a consistency-based domain adaptation model (French et al., 2018), closely related to the MT model, for adapting CIFAR-10 to STL. We improve the best reported test error rate for this task from 19.9% to 16.8%.
We discuss the experimental setup in Section 5.1. We provide the results for CIFAR-10 and CIFAR100 datasets in Section 5.2 and 5.3. We summarize our results in comparison to the best previous results in Section 5.4. We show several additional results and detailed comparisons in Appendix A.2. We provide analysis of train and test error surfaces of fast-SWA solutions along the directions connecting fast-SWA and SGD in Section A.1.

heading: 5.1 SETUP
text: We evaluate the weight averaging methods SWA and fast-SWA on different network architectures and learning rate schedules. We are able to improve on the base models in all settings. In particular, we consider a 13-layer CNN and a 12-block (26-layer) Residual Network (He et al., 2015) with ShakeShake regularization (Gastaldi, 2017), which we refer to simply as CNN and Shake-Shake respectively (see Section A.8 for details on the architectures). For training all methods we use the stochastic gradient descent (SGD) optimizer with the cosine annealing learning rate described in Section 4. We use two learning rate schedules, the short schedule with ` = 180, `0 = 210, c = 30, similar to the experiments in Tarvainen and Valpola (2017), and the long schedule with ` = 1500, `0 = 1800, c = 200, similar to the experiments in Gastaldi (2017). We note that the long schedule improves the performance of the base models compared to the short schedule; however, SWA can still further improve the results. See Section A.9 of the Appendix for more details on other hyperparameters. We repeat each CNN experiment 3 times with different random seeds to estimate the standard deviations for the results in the Appendix.

heading: 5.2 CIFAR-10
text: We evaluate the proposed fast-SWA method using the ⇧ and MT models on the CIFAR-10 dataset (Krizhevsky). We use 50k images for training with 1k, 2k, 4k, 10k and 50k labels and report the top-1 errors on the test set (10k images). We visualize the results for the CNN and Shake-Shake architectures in Figures 4a, 4c, and 4d. For all quantities of labeled data, fast-SWA substantially improves test accuracy in both architectures. Additionally, in Tables 2, 4 of the Appendix we provide
a thorough comparison of different averaging strategies as well as results for VAT (Miyato et al., 2017), TE (Laine and Aila, 2016), and other baselines.
Note that we applied fast-SWA for VAT as well which is another popular approach for semi-supervised learning. We found that the improvement on VAT is not drastic – our base implementation obtains 11.26% error where fast-SWA reduces it to 10.97% (see Table 2 in Section A.2). It is possible that the solutions explored by VAT are not as diverse as in ⇧ and MT models due to VAT loss function. Throughout the experiments, we focus on the ⇧ and MT models as they have been shown to scale to powerful networks such as Shake-Shake and obtained previous state-of-the-art performance.
In Figure 5 (left), we visualize the test error as a function of iteration using the CNN. We observe that when the cyclical learning rate starts after epoch ` = 180, the base models drop in performance due to the sudden increase in learning rate (see Figure 3 left). However, fast-SWA continues to improve while collecting the weights corresponding to high learning rates for averaging. In general, we also find that the cyclical learning rate improves the base models beyond the usual cosine annealing schedule and increases the performance of fast-SWA as training progresses. Compared to SWA, we also observe that fast-SWA converges substantially faster, for instance, reducing the error to 10.5% at epoch 200 while SWA attains similar error at epoch 350 for CIFAR-10 4k labels (Figure 5 left). We provide additional plots in Section A.2 showing the convergence of the ⇧ and MT models in all label settings, where we observe similar trends that fast-SWA results in faster error reduction.
We also find that the performance gains of fast-SWA over base models are higher for the ⇧ model compared to the MT model, which is consistent with the convexity observation in Section 3.3 and Figure 2. In the previous evaluations (see e.g. Oliver et al., 2018; Tarvainen and Valpola, 2017), the ⇧ model was shown to be inferior to the MT model. However, with weight averaging, fast-SWA reduces the gap between ⇧ and MT performance. Surprisingly, we find that the ⇧ model can outperform MT after applying fast-SWA with moderate to large numbers of labeled points. In particular, the ⇧+fast-SWA model outperforms MT+fast-SWA on CIFAR-10 with 4k, 10k, and 50k labeled data points for the Shake-Shake architecture.

heading: 5.3 CIFAR-100 AND EXTRA UNLABELED DATA
text: We evaluate the ⇧ and MT models with fast-SWA on CIFAR-100. We train our models using 50000 images with 10k and 50k labels using the 13-layer CNN. We also analyze the effect of using the Tiny Images dataset (Torralba et al., 2008) as an additional source of unlabeled data.
The Tiny Images dataset consists of 80 million images, mostly unlabeled, and contains CIFAR-100 as a subset. Following Laine and Aila (2016), we use two settings of unlabeled data, 50k+500k and 50k+237k⇤ where the 50k images corresponds to CIFAR-100 images from the training set and the +500k or +237k⇤ images corresponds to additional 500k or 237k images from the Tiny Images dataset. For the 237k⇤ setting, we select only the images that belong to the classes in CIFAR-100, corresponding to 237203 images. For the 500k setting, we use a random set of 500k images whose classes can be different from CIFAR-100. We visualize the results in Figure 4b, where we again observe that fast-SWA substantially improves performance for every configuration of the number of labeled and unlabeled data. In Figure 5 (middle, right) we show the errors of MT, SWA and fast-SWA as a function of iteration on CIFAR-100 for the 10k and 50k+500k label settings. Similar to the CIFAR-10 experiments, we observe that fast-SWA reduces the errors substantially faster than SWA.
We provide detailed experimental results in Table 3 of the Appendix and include preliminary results using the Shake-Shake architecture in Table 5, Section A.2.

heading: 5.4 ADVANCING STATE-OF-THE-ART
text: We have shown that fast-SWA can significantly improve the performance of both the ⇧ and MT models. We provide a summary comparing our results with the previous best results in the literature in Table 1, using the 13-layer CNN and the Shake-Shake architecture that had been applied previously. We also provide detailed results the Appendix A.2.

heading: 5.5 PRELIMINARY RESULTS ON DOMAIN ADAPTATION
text: Domain adaptation problems involve learning using a source domain Xs equipped with labels Ys and performing classification on the target domain Xt while having no access to the target labels at training time. A recent model by French et al. (2018) applies the consistency enforcing principle for domain adaptation and achieves state-of-the-art results on many datasets. Applying fast-SWA to this model on domain adaptation from CIFAR-10 to STL we were able to improve the best results reported in the literature from 19.9% to 16.8%. See Section A.10 for more details on the domain adaptation experiments.

heading: 6 DISCUSSION
text: Semi-supervised learning is crucial for reducing the dependency of deep learning on large labeled datasets. Recently, there have been great advances in semi-supervised learning, with consistency regularization models achieving the best known results. By analyzing solutions along the training trajectories for two of the most successful models in this class, the ⇧ and Mean Teacher models, we have seen that rather than converging to a single solution SGD continues to explore a diverse set of plausible solutions late into training. As a result, we can expect that averaging predictions or weights will lead to much larger gains in performance than for supervised training. Indeed, applying a variant of the recently proposed stochastic weight averaging (SWA) we advance the best known semi-supervised results on classification benchmarks.
While not the focus of our paper, we have also shown that weight averaging has great promise in domain adaptation (French et al., 2018). We believe that application-specific analysis of the geometric properties of the training objective and optimization trajectories will further improve results over a wide range of application specific areas, including reinforcement learning with sparse rewards, generative adversarial networks (Yazıcı et al., 2018), or semi-supervised natural language processing.

heading: A APPENDIX

heading: A.1 ADDITIONAL PLOTS

heading: 60 40 20 0 20 40 60 80 100
text: In this section we provide several additional plots visualizing the train and test error along different types of rays in the weight space. The left panel of Figure 6 shows how the behavior of test error changes as we add more unlabeled data points for the ⇧ model. We observe that the test accuracy improves monotonically, but also the solutions become narrower along random rays.
The middle panel of Figure 6 visualizes the train and test error behavior along the directions connecting the fast-SWA solution (shown with squares) to one of the SGD iterates used to compute the average (shown with circles) for ⇧, MT and supervised training. Similarly to Izmailov et al. (2018) we observe that for all three methods fast-SWA finds a centered solution, while the SGD solution lies near the boundary of a wide flat region. Agreeing with our results in section 3.2 we observe that for ⇧ and Mean Teacher models the train and test error surfaces are much wider along the directions connecting the fast-SWA and SGD solutions than for supervised training.
In the right panel of Figure 6 we show the behavior of train and test error surfaces along random rays, adversarial rays and directions connecting the SGD solutions from epochs 170 and 180 for the Mean Teacher model (see section 3.2).
In the left panel of Figure 7 we show the evolution of the trace of the gradient of the covariance of the loss
tr cov(rwL(w)) = EkrwL(w) ErwL(w)k2
for the ⇧, MT and supevised training. We observe that the variance of the gradient is much larger for the ⇧ and Mean Teacher models compared to supervised training.
In the middle and right panels of figure 7 we provide scatter plots of the improvement C obtained from averaging weights against diversity and diversity against distance. We observe that diversity is highly correlated with the improvement C coming from weight averaging. The correlation between distance and diversity is less prominent.

heading: A.2 DETAILED RESULTS
text: In this section we report detailed results for the ⇧ and Mean Teacher models and various baselines on CIFAR-10 and CIFAR-100 using the 13-layer CNN and Shake-Shake.
The results using the 13-layer CNN are summarized in Tables 2 and 3 for CIFAR-10 and CIFAR-100 respectively. Tables 4 and 5 summarize the results using Shake-Shake on CIFAR-10 and CIFAR100. In the tables ⇧ EMA is the same method as ⇧, where instead of SWA we apply Exponential Moving Averaging (EMA) for the student weights. We show that simply performing EMA for the student network in the ⇧ model without using it as a teacher (as in MT) typically results in a small improvement in the test error.
Figures 8 and 9 show the performance of the ⇧ and Mean Teacher models as a function of the training epoch for CIFAR-10 and CIFAR-100 respectively for SWA and fast-SWA.

heading: A.3 EFFECT OF LEARNING RATE SCHEDULES
text: The only hyperparameter for the fast-SWA setting is the cycle length c. We demonstrate in Figure 10a that fast-SWA’s performance is not sensitive to c over a wide range of c values. We also demonstrate the performance for constant learning schedule. fast-SWA with cyclical learning rates generally converges faster due to higher variety in the collected weights.

heading: A.4 EMA VERSUS SWA AS A TEACHER
text: The MT model uses an exponential moving average (EMA) of the student weights as a teacher in the consistency regularization term. We consider two potential effects of using EMA as a teacher: first, averaging weights improves performance of the teacher for the reasons discussed in Sections 3.2, 3.3; second, having a better teacher model leads to better student performance which in turn further improves the teacher. In this section we try to separate these two effects. We apply EMA to the ⇧ model in the same way in which we apply fast-SWA instead of using EMA as a teacher and compare the resulting performance to the Mean Teacher. Figure 11 shows the improvement in error-rate obtained by applying EMA to the ⇧ model in different label settings. As we can see while EMA improves the results over the baseline ⇧ model, the performance of ⇧-EMA is still inferior to that of the Mean Teacher method, especially when the labeled data is scarce. This observation suggests that the improvement of the Mean Teacher over the ⇧ model can not be simply attributed to EMA improving the student performance and we should take the second effect discussed above into account.
Like SWA, EMA is a way to average weights of the networks, but it puts more emphasis on very recent models compared to SWA. Early in training when the student model changes rapidly EMA significantly improves performance and helps a lot when used as a teacher. However once the student model converges to the vicinity of the optimum, EMA offers little gain. In this regime SWA is a much better way to average weights. We show the performance of SWA applied to ⇧ model in Figure 11 (left).
Since SWA performs better than EMA, we also experiment with using SWA as a teacher instead of EMA. We start with the usual MT model pretrained until epoch 150. Then we switch to using SWA as a teacher at epoch 150. In Figure 11 (right), our results suggest that using SWA as a teacher performs on par with using EMA as a teacher. We conjecture that once we are at a convex region of test error close to the optimum (epoch 150), having a better teacher doesn’t lead to substantially improved performance. It is possible to start using SWA as a teacher earlier in training; however, during early epochs where the model undergoes rapid improvement EMA is more sensible than SWA as we discussed above.

heading: A.5 CONSISTENCY LOSS APPROXIMATES JACOBIAN NORM
text: Estimator mean and variance: In the simplified ⇧ model with small additive data perturbations that are normally distributed, z ⇠ N (0, I),
Q̂ = lim ✏!0
1 ✏2 1 m
mX
i=1
`cons(w, xi, ✏) = 1 m
mX
i=1
lim ✏!0
1 ✏2 kf(w, xi + ✏zi) f(w, xi)k 2
Taylor expanding `cons in ✏, we obtain `cons(w, x, ✏) = ✏2zTJTx Jxz + O(✏4), where Jx is the Jacobian of the network outputs f with respect to the input at a particular value of x. Therefore,
Q̂i = lim ✏!0
1 ✏2 `cons(w, xi, ✏) = z T i J(xi) TJ(xi)zi.
We can now recognize this term as a one sample stochastic trace estimator for tr(J(xi)TJ(xi)) with a Gaussian probe variable zi; see Avron and Toledo (2011) for derivations and guarantees on stochastic trace estimators. Ez[Q̂i] = tr (J(xi)TJ(xi)E[zizTi ]) = kJ(xi)k2F . Taking an expectation over the m samples of x, we get E[Q̂] = Ex[kJxk2F . In general if we have m samples of x and n sampled perturbations for each x, then for a symmetric matrix A with zik iid⇠ N(0, I) and independent xi iid⇠ p(x),
the estimator
Q̂ = 1
m
mX
i
1
n
nX
k
zTikA(xi)zik has variance
Var[Q̂] = 1
m
✓ Var[tr(A)] + 2
n E[tr(A2)]
◆ .
Proof: Let qik ⌘ zTikA(xi)zik. It is easy to show that for fixed x, Ez[q11|x1] = 2tr(A(x1)2) + tr(A(x1))2, (see e.g. Avron and Toledo, 2011). Note that Ez1,z2 [qi1qi2|xi] = tr(A(xi))2. Since
1 n Pn k qik m i=1 are i.i.d random variables,
Var ⇥ 1 m
mX
i
1
n
nX
k
qik ⇤ = 1
m Var ⇥ 1 n
nX
k
q1k ⇤ ,
whereas this does not hold for the opposite ordering of the sum.
E ⇥ 1
n
nX
k
q1k 2⇤ = Ex1E{z}  1
n2
nX
l
nX
k
qilqik {x}
= Ex1E{z}  n
n2 q211 + n(n 1) n2 q11q12 {x}
= Ex  1
n
2tr(A2) + tr(A)2 + 1 1
n
tr(A)2 = ✓ Ex[tr(A)2] + 2
n Ex[tr(A2)]
◆
Plugging in A = JTJ and n = 1, we get
Var[Q̂] = 1
m
✓ Var[kJxk2F ] + 2E[kJTx Jxk2F ] ◆ .
Non-isotropic perturbations along data manifold Consistency regularization with natural perturbations such as image translation can also be understood as penalizing a Jacobian norm as in Section 3.1. For example, consider perturbations sampled from a normal distribution on the tangent space, z ⇠ P (x)N (0, I) where P (x) = P (x)2 is the orthogonal projection matrix that projects down from Rd to Tx(M), the tangent space of the image manifold at x. Then the consistency regularization penalizes the Laplacian norm of the network on the manifold (with the inherited metric from Rd). E[z] = 0 and E[zzT ] = PPT (=)P 2 = P which follows if P is an orthogonal projection matrix. Then, E[zTJTJz] = tr(JTJPPT ) = tr(PTJTJP ) = tr(JTMJM) = kJMk2F . We view the standard data augmentations such as random translation (that are applied in the ⇧ and MT models) as approximating samples of nearby elements of the data manifold and therefore differences x0 x approximate elements of its tangent space.
A.6 RELATIONSHIP BETWEEN Ex[kJwk2F ] AND RANDOM RAY SHARPNESS
In the following analysis we review an argument for why smaller Ex[kJwk2F ], implies broader optima. To keep things simple, we focus on the MSE loss, but in principle a similar argument should apply for the Cross Entropy and the Error rate. For a single data point x and one hot vector y with k classes, the hessian of `MSE(w) = kf(x, w) yk2 can be decomposed into two terms, the Gauss-Newton matrix G = JTwJw and a term which depends on the labels.
H(w, x, y) = r2`MSE(w) = JTwJw + kX
i=1
(r2fi)(fi(x) yi),
tr(H) = kJwk2F + kX
i=1 tr(r2fi)(fi(x) yi) | {z }
↵(x,y)
Thus tr(H) is also the sum of two terms, kJwk2F and ↵. As the solution improves, the relative size of ↵ goes down. In terms of random ray sharpness, consider the expected MSE loss, or risk, RMSE(w) = E(x,y)kf(x, w) yk2 along random rays. Let d be a random vector sampled from the unit sphere and s is the distance along the random ray. Evaluating the risk on a random ray, and Taylor expanding in s we have
RMSE(w + sd) = RMSE(w) + sd TE(x,y)[JTw (f y)] + (1/2)s2dTE(x,y)[H]d + O(s3)
Since d is from the unit sphere, E[d] = 0 and E[ddT ] = I/p where p is the dimension. Averaging over the rays, d ⇠ Unif(Sp 1), we have
Ed[RMSE(w+sd)] RMSE(w) = s2
2p Ex[tr(H)]+O(s4) =
s2 2p Ex[kJwk2F ]+ s2 2p E(x,y)[↵(x, y)]+O(s4)
All of the odd terms vanish because of the reflection symmetry of the unit sphere. This means that locally, the sharpness of the optima (as measured by random rays) can be lowered by decreasing Ex[kJwk2F ].
A.7 INCLUDING HIGH LEARNING RATE ITERATES INTO SWA
As discussed in Mandt et al. (2017), under certain assumptions SGD samples from a Gaussian distribution centered at the optimum of the loss w0 with covariance proportional to the learning rate. Suppose then that we have n weights sampled at learning rate ⌘1, w (1) i
iid⇠ N (w0, ⌘1⌃) and m weights sampled with the higher learning rate ⌘2, w (2) j
iid⇠ N (w0, ⌘2⌃). For the SWA estimator ŵSWA = 1n P i w (1) i , E[kŵSWA w0k2] = tr(Cov(ŵSWA)) = ⌘1 n tr(⌃). But if we include the high variance points in the average, as in fast-SWA, ŵfSWA = 1n+m P i w (1) i + P j w (2) j , then E[kŵfSWA w0k2] = n⌘1+m⌘2(n+m)2 tr(⌃). If n⌘1+m⌘2 (n+m)2 < ⌘1 n then including the high learning rate points decreases the MSE of the estimator for m > n ⌘2 ⌘1 2 . If we include enough points, we will still improve the estimate.

heading: A.8 NETWORK ARCHITECTURES
text: In the experiments we use two DNN architectures – 13 layer CNN and Shake-Shake. The architecture of 13-layer CNN is described in Table 6. It closely follows the architecture used in (Laine and Aila, 2017; Miyato et al., 2017; Tarvainen and Valpola, 2017). We re-implement it in PyTorch and removed the Gaussian input noise, since we found having no such noise improves generalization. For Shake-Shake we use 26-2x96d Shake-Shake regularized architecture of Gastaldi (2017) with 12 residual blocks.

heading: A.9 HYPERPARAMETERS
text: We consider two different schedules. In the short schedule we set the cosine half-period `0 = 210 and training length ` = 180, following the schedule used in Tarvainen and Valpola (2017) in Shake-Shake experiments. For our Shake-Shake experiments we also report results with long schedule where we set ` = 1800, `0 = 1500 following Gastaldi (2017). To determine the initial learning rate ⌘0 and the cycle length c we used a separate validation set of size 5000 taken from the unlabeled data. After determining these values, we added the validation set to the unlabeled data and trained again. We reuse the same values of ⌘0 and c for all experiments with different numbers of labeled data for both ⇧ model and Mean Teacher for a fixed architecture (13-layer CNN or Shake-Shake). For the short schedule we use cycle length c = 30 and average models once every k = 3 epochs. For long schedule we use c = 200, k = 20.
In all experiments we use stochastic gradient descent optimizer with Nesterov momentum (Loshchilov and Hutter, 2016). In fast-SWA we average every the weights of the models corresponding to every third epoch. In the ⇧ model, we back-propagate the gradients through the student side only (as opposed to both sides in (Laine and Aila, 2016)). For Mean Teacher we use ↵ = 0.97 decay rate in the Exponential Moving Average (EMA) of the student’s weights. For all other hyper-parameters we reuse the values from Tarvainen and Valpola (2017) unless mentioned otherwise.
Like in Tarvainen and Valpola (2017), we use k · k2 for divergence in the consistency loss. Similarly, we ramp up the consistency cost over the first 5 epochs from 0 up to it’s maximum value of 100 as
done in Tarvainen and Valpola (2017). We use cosine annealing learning rates with no learning rate ramp up, unlike in the original MT implementation (Tarvainen and Valpola, 2017). Note that this is similar to the same hyperparameter settings as in Tarvainen and Valpola (2017) for ResNet2. We note that we use the exact same hyperparameters for the ⇧ and MT models in each experiment setting. In contrast to the original implementation in Tarvainen and Valpola (2017) of CNN experiments, we use SGD instead of Adam.
Understanding Experiments in Sections 3.2, 3.3 We use the 13-layer CNN with the short learning rate schedule. We use a total batch size of 100 for CNN experiments with a labeled batch size of 50 for the ⇧ and Mean Teacher models. We use the maximum learning rate ⌘0 = 0.1. For Section 3.2 we run SGD only for 180 epochs, so 0 learning rate cycles are done. For Section 3.3 we additionally run 5 learning rate cycles and sample pairs of SGD iterates from epochs 180-330 corresponding to these cycles.
CIFAR-10 CNN Experiments We use a total batch size of 100 for CNN experiments with a labeled batch size of 50. We use the maximum learning rate ⌘0 = 0.1.
CIFAR-10 ResNet + Shake-Shake We use a total batch size of 128 for ResNet experiments with a labeled batch size of 31. We use the maximum learning rate ⌘0 = 0.05 for CIFAR-10. This applies for both the short and long schedules.
CIFAR-100 CNN Experiments We use a total batch size of 128 with a labeled batch size of 31 for 10k and 50k label settings. For the settings 50k+500k and 50k+237k⇤, we use a labeled batch size of 64. We also limit the number of unlabeled images used in each epoch to 100k images. We use the maximum learning rate ⌘0 = 0.1.
CIFAR-100 ResNet + Shake-Shake We use a total batch size of 128 for ResNet experiments with a labeled batch size of 31 in all label settings. For the settings 50k+500k and 50k+237k⇤, we also limit the number of unlabeled images used in each epoch to 100k images. We use the maximum learning rate ⌘0 = 0.1. This applies for both the short and long schedules.

heading: A.10 DOMAIN ADAPTATION
text: We apply fast-SWA to the best experiment setting MT+CT+TFA for CIFAR-10 to STL according to French et al. (2018). This setting involves using confidence thresholding (CT) and also an augmentation scheme with translation, flipping, and affine transformation (TFA).
We modify the optimizer to use SGD instead of Adam (Kingma and Ba, 2015) and use cosine annealing schedule with `0 = 600, ` = 550, c = 50. We experimented with two fast-SWA methods: averaging weights once per epoch and averaging once every iteration, which is much more frequent that averaging every epoch as in the semi-supervised case. Interestingly, we found that for this task averaging the weights in the end of every iteration in fast-SWA converges significantly faster than averaging once per epoch and results in better performance. We report the results in Table 7.
We observe that averaging every iteration converges much faster (600 epochs instead of 3000) and results in better test accuracy. In our experiments with semi-supervised learning averaging more often than once per epoch didn’t improve convergence or final results. We hypothesize that the improvement from more frequent averaging is a result of specific geometry of the loss surfaces and training trajectories in domain adaptation. We leave further analysis of applying fast-SWA to domain adaptation for future work.
Implementation Details We use the public code3 of French et al. (2018) to train the model and apply fast-SWA. While the original implementation uses Adam (Kingma and Ba, 2015), we use stochastic gradient descent with Nesterov momentum and cosine annealing learning rate with `0 = 600, ` = 550, c = 100 and k = 100. We use the maximum learning rate ⌘0 = 0.1 and momentum
2We use the public Pytorch code https://github.com/CuriousAI/mean-teacher as our base model for the MT model and modified it for the ⇧ model.
3https://github.com/Britefury/self-ensemble-visual-domain-adapt.git
0.9 with weight decay of scale 2 ⇥ 10 4. We use the data augmentation setting MT+CF+TFA in Table 1 of French et al. (2018) and apply fast-SWA. The result reported is from epoch 4000.

Review summaries:
This paper proposes to apply Stochastic Weight Averaging to the semi-supervised learning context. It makes an interesting argument that the semi-supervised MT/Pi models are especially amenable to SWA since they are empirically observed to traverse a large flat region of the weight space during the later stages of training. To speed up training, the authors propose fast-SWA.