Bootstrap your own latent: A new approach to self-supervised Learning
Jean-Bastien Grill, Florian Strub, Florent Altché, Corentin Tallec, Pierre H. Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Daniel Guo, Mohammad Gheshlaghi Azar, Bilal Piot, Koray Kavukcuoglu, Rémi Munos, Michal Valko
Introduction
Learning good image representations is a key challenge in computer vision as it allows for efficient training on downstream tasks . Many different training approaches have been proposed to learn such representations, usually relying on visual pretext tasks. Among them, state-of-the-art contrastive methods are trained by reducing the distance between representations of different augmented views of the same image (‘positive pairs’), and increasing the distance between representations of augmented views from different images (‘negative pairs’). These methods need careful treatment of negative pairs by either relying on large batch sizes , memory banks or customized mining strategies to retrieve the negative pairs. In addition, their performance critically depends on the choice of image augmentations .
In this paper, we introduce Bootstrap Your Own Latent (BYOL), a new algorithm for self-supervised learning of image representations. BYOL achieves higher performance than state-of-the-art contrastive methods without using negative pairs. It iteratively bootstrapsThroughout this paper, the term bootstrap is used in its idiomatic sense rather than the statistical sense. the outputs of a network to serve as targets for an enhanced representation. Moreover, BYOL is more robust to the choice of image augmentations than contrastive methods; we suspect that not relying on negative pairs is one of the leading reasons for its improved robustness. While previous methods based on bootstrapping have used pseudo-labels , cluster indices or a handful of labels , we propose to directly bootstrap the representations. In particular, BYOL uses two neural networks, referred to as online and target networks, that interact and learn from each other. Starting from an augmented view of an image, BYOL trains its online network to predict the target network’s representation of another augmented view of the same image. While this objective admits collapsed solutions, e.g., outputting the same vector for all images, we empirically show that BYOL does not converge to such solutions. We hypothesize (see Section 3.2) that the combination of (i) the addition of a predictor to the online network and (ii) the use of a slow-moving average of the online parameters as the target network encourages encoding more and more information within the online projection and avoids collapsed solutions.
We evaluate the representation learned by BYOL on ImageNet and other vision benchmarks using ResNet architectures . Under the linear evaluation protocol on ImageNet, consisting in training a linear classifier on top of the frozen representation, BYOL reaches top-1 accuracy with a standard ResNet- and top-1 accuracy with a larger ResNet (Figure 1). In the semi-supervised and transfer settings on ImageNet, we obtain results on par or superior to the current state of the art. Our contributions are: (i) We introduce BYOL, a self-supervised representation learning method (Section 3) which achieves state-of-the-art results under the linear evaluation protocol on ImageNet without using negative pairs. (ii) We show that our learned representation outperforms the state of the art on semi-supervised and transfer benchmarks (Section 4). (iii) We show that BYOL is more resilient to changes in the batch size and in the set of image augmentations compared to its contrastive counterparts (Section 5). In particular, BYOL suffers a much smaller performance drop than SimCLR, a strong contrastive baseline, when only using random crops as image augmentations.
Related work
Most unsupervised methods for representation learning can be categorized as either generative or discriminative . Generative approaches to representation learning build a distribution over data and latent embedding and use the learned embeddings as image representations. Many of these approaches rely either on auto-encoding of images or on adversarial learning , jointly modelling data and representation . Generative methods typically operate directly in pixel space. This however is computationally expensive, and the high level of detail required for image generation may not be necessary for representation learning.
Among discriminative methods, contrastive methods currently achieve state-of-the-art performance in self-supervised learning . Contrastive approaches avoid a costly generation step in pixel space by bringing representation of different views of the same image closer (‘positive pairs’), and spreading representations of views from different images (‘negative pairs’) apart . Contrastive methods often require comparing each example with many other examples to work well prompting the question of whether using negative pairs is necessary.
DeepCluster partially answers this question. It uses bootstrapping on previous versions of its representation to produce targets for the next representation; it clusters data points using the prior representation, and uses the cluster index of each sample as a classification target for the new representation. While avoiding the use of negative pairs, this requires a costly clustering phase and specific precautions to avoid collapsing to trivial solutions.
Some self-supervised methods are not contrastive but rely on using auxiliary handcrafted prediction tasks to learn their representation. In particular, relative patch prediction , colorizing gray-scale images , image inpainting , image jigsaw puzzle , image super-resolution , and geometric transformations have been shown to be useful. Yet, even with suitable architectures , these methods are being outperformed by contrastive methods .
Our approach has some similarities with Predictions of Bootstrapped Latents (PBL, ), a self-supervised representation learning technique for reinforcement learning (RL). PBL jointly trains the agent’s history representation and an encoding of future observations. The observation encoding is used as a target to train the agent’s representation, and the agent’s representation as a target to train the observation encoding. Unlike PBL, BYOL uses a slow-moving average of its representation to provide its targets, and does not require a second network.
The idea of using a slow-moving average target network to produce stable targets for the online network was inspired by deep RL . Target networks stabilize the bootstrapping updates provided by the Bellman equation, making them appealing to stabilize the bootstrap mechanism in BYOL. While most RL methods use fixed target networks, BYOL uses a weighted moving average of previous networks (as in ) in order to provide smoother changes in the target representation.
Finally, in self-supervised learning, MoCo uses a slow-moving average network (momentum encoder) to maintain consistent representations of negative pairs drawn from a memory bank. Instead, BYOL uses a moving average network to produce prediction targets as a means of stabilizing the bootstrap step. We show in Section 5 that this mere stabilizing effect can also improve existing contrastive methods.
Method
We start by motivating our method before explaining its details in Section 3.1. Many successful self-supervised learning approaches build upon the cross-view prediction framework introduced in . Typically, these approaches learn representations by predicting different views (e.g., different random crops) of the same image from one another. Many such approaches cast the prediction problem directly in representation space: the representation of an augmented view of an image should be predictive of the representation of another augmented view of the same image. However, predicting directly in representation space can lead to collapsed representations: for instance, a representation that is constant across views is always fully predictive of itself. Contrastive methods circumvent this problem by reformulating the prediction problem into one of discrimination: from the representation of an augmented view, they learn to discriminate between the representation of another augmented view of the same image, and the representations of augmented views of different images. In the vast majority of cases, this prevents the training from finding collapsed representations. Yet, this discriminative approach typically requires comparing each representation of an augmented view with many negative examples, to find ones sufficiently close to make the discrimination task challenging. In this work, we thus tasked ourselves to find out whether these negative examples are indispensable to prevent collapsing while preserving high performance.
To prevent collapse, a straightforward solution is to use a fixed randomly initialized network to produce the targets for our predictions. While avoiding collapse, it empirically does not result in very good representations. Nonetheless, it is interesting to note that the representation obtained using this procedure can already be much better than the initial fixed representation. In our ablation study (Section 5), we apply this procedure by predicting a fixed randomly initialized network and achieve top-1 accuracy (Table 5(a)) on the linear evaluation protocol on ImageNet, whereas the randomly initialized network only achieves by itself. This experimental finding is the core motivation for BYOL: from a given representation, referred to as target, we can train a new, potentially enhanced representation, referred to as online, by predicting the target representation. From there, we can expect to build a sequence of representations of increasing quality by iterating this procedure, using subsequent online networks as new target networks for further training. In practice, BYOL generalizes this bootstrapping procedure by iteratively refining its representation, but using a slowly moving exponential average of the online network as the target network instead of fixed checkpoints.
BYOL’s goal is to learn a representation which can then be used for downstream tasks. As described previously, BYOL uses two neural networks to learn: the online and target networks. The online network is defined by a set of weights and is comprised of three stages: an encoder , a projector and a predictor , as shown in Figure 2 and Figure 8. The target network has the same architecture as the online network, but uses a different set of weights . The target network provides the regression targets to train the online network, and its parameters are an exponential moving average of the online parameters . More precisely, given a target decay rate , after each training step we perform the following update,
We symmetrize the loss in Equation 2 by separately feeding to the online network and to the target network to compute . At each training step, we perform a stochastic optimization step to minimize with respect to only, but not , as depicted by the stop-gradient in Figure 2. BYOL’s dynamics are summarized as
At the end of training, we only keep the encoder ; as in . When comparing to other methods, we consider the number of inference-time weights only in the final representation . The full training procedure is summarized in Appendix A, and python pseudo-code based on the libraries JAX and Haiku is provided in in Appendix J.
2 Intuitions on BYOL’s behavior
As BYOL does not use an explicit term to prevent collapse (such as negative examples ) while minimizing with respect to , it may seem that BYOL should converge to a minimum of this loss with respect to (e.g., a collapsed constant representation). However BYOL’s target parameters updates are not in the direction of . More generally, we hypothesize that there is no loss such that BYOL’s dynamics is a gradient descent on jointly over . This is similar to GANs , where there is no loss that is jointly minimized w.r.t. both the discriminator and generator parameters. There is therefore no a priori reason why BYOL’s parameters would converge to a minimum of .
While BYOL’s dynamics still admit undesirable equilibria, we did not observe convergence to such equilibria in our experiments. In addition, when assuming BYOL’s predictor to be optimalFor simplicity we also consider BYOL without normalization (which performs reasonably close to BYOL, see Section F.6) nor symmetrization i.e., with
we hypothesize that the undesirable equilibria are unstable. Indeed, in this optimal predictor case, BYOL’s updates on follow in expectation the gradient of the expected conditional variance (see Appendix H for details),
where is the -th feature of .
Note that for any random variables and , . Let be the target projection, the current online projection, and an additional variability on top of the online projection induced by stochasticities in the training dynamics: purely discarding information from the online projection cannot decrease the conditional variance.
Furthemore, notice that performing a hard-copy of the online parameters into the target parameters would be enough to propagate new sources of variability. However, sudden changes in the target network might break the assumption of an optimal predictor, in which case BYOL’s loss is not guaranteed to be close to the conditional variance. We hypothesize that the main role of BYOL’s moving-averaged target network is to ensure the near-optimality of the predictor over training; Section 5 and Appendix I provide some empirical support of this interpretation.
3 Implementation details
BYOL uses the same set of image augmentations as in SimCLR . First, a random patch of the image is selected and resized to with a random horizontal flip, followed by a color distortion, consisting of a random sequence of brightness, contrast, saturation, hue adjustments, and an optional grayscale conversion. Finally Gaussian blur and solarization are applied to the patches. Additional details on the image augmentations are in Appendix B.
Architecture
We use a convolutional residual network with 50 layers and post-activation (ResNet- v1) as our base parametric encoders and . We also use deeper (, , and layers) and wider (from to ) ResNets, as in . Specifically, the representation corresponds to the output of the final average pooling layer, which has a feature dimension of (for a width multiplier of ). As in SimCLR , the representation is projected to a smaller space by a multi-layer perceptron (MLP) , and similarly for the target projection . This MLP consists in a linear layer with output size followed by batch normalization , rectified linear units (ReLU) , and a final linear layer with output dimension . Contrary to SimCLR, the output of this MLP is not batch normalized. The predictor uses the same architecture as .
Optimization
We use the LARS optimizer with a cosine decay learning rate schedule , without restarts, over epochs, with a warm-up period of epochs. We set the base learning rate to scaled linearly with the batch size (). In addition, we use a global weight decay parameter of while excluding the biases and batch normalization parameters from both LARS adaptation and weight decay. For the target network, the exponential moving average parameter starts from and is increased to one during training. Specifically, we set \tau\triangleq 1-(1-\tau_{\text{base}})\cdot\mathopen{}\mathclose{{}\left(\cos\mathopen{}\mathclose{{}\left(\pi k/K}\right)+1}\right)/2 with the current training step and the maximum number of training steps. We use a batch size of split over Cloud TPU v cores. With this setup, training takes approximately hours for a ResNet-. All hyperparameters are summarized in Appendix J; an additional set of hyperparameters for a smaller batch size of is provided in Appendix G.
Experimental evaluation
We assess the performance of BYOL’s representation after self-supervised pretraining on the training set of the ImageNet ILSVRC-2012 dataset . We first evaluate it on ImageNet (IN) in both linear evaluation and semi-supervised setups. We then measure its transfer capabilities on other datasets and tasks, including classification, segmentation, object detection and depth estimation. For comparison, we also report scores for a representation trained using labels from the train ImageNet subset, referred to as Supervised-IN. In Appendix E, we assess the generality of BYOL by pretraining a representation on the Places365-Standard dataset before reproducing this evaluation protocol.
We first evaluate BYOL’s representation by training a linear classifier on top of the frozen representation, following the procedure described in , and section C.1; we report top- and top- accuracies in % on the test set in Table 1. With a standard ResNet- () BYOL obtains top- accuracy ( top- accuracy), which is a (resp. ) improvement over the previous self-supervised state of the art . This tightens the gap with respect to the supervised baseline of , , but is still significantly below the stronger supervised baseline of , . With deeper and wider architectures, BYOL consistently outperforms the previous state of the art (Section C.2), and obtains a best performance of top- accuracy, ranking higher than previous self-supervised approaches. On a ResNet- () BYOL achieves , similar to the of the best supervised baseline in for the same architecture.
Semi-supervised training on ImageNet
Next, we evaluate the performance obtained when fine-tuning BYOL’s representation on a classification task with a small subset of ImageNet’s train set, this time using label information. We follow the semi-supervised protocol of detailed in Section C.1, and use the same fixed splits of respectively and of ImageNet labeled training data as in . We report both top- and top- accuracies on the test set in Table 2. BYOL consistently outperforms previous approaches across a wide range of architectures. Additionally, as detailed in Section C.1, BYOL reaches top- accuracy with ResNet-50 when fine-tuning over of ImageNet labels.
Transfer to other classification tasks
We evaluate our representation on other classification datasets to assess whether the features learned on ImageNet (IN) are generic and thus useful across image domains, or if they are ImageNet-specific. We perform linear evaluation and fine-tuning on the same set of classification tasks used in , and carefully follow their evaluation protocol, as detailed in Appendix D. Performance is reported using standard metrics for each benchmark, and results are provided on a held-out test set after hyperparameter selection on a validation set. We report results in Table 3, both for linear evaluation and fine-tuning. BYOL outperforms SimCLR on all benchmarks and the Supervised-IN baseline on of the benchmarks, providing only slightly worse performance on the remaining benchmarks. BYOL’s representation can be transferred over to small images, e.g., CIFAR , landscapes, e.g., SUN397 or VOC2007 , and textures, e.g., DTD .
Transfer to other vision tasks
We evaluate our representation on different tasks relevant to computer vision practitioners, namely semantic segmentation, object detection and depth estimation. With this evaluation, we assess whether BYOL’s representation generalizes beyond classification tasks.
We first evaluate BYOL on the VOC2012 semantic segmentation task as detailed in Section D.4, where the goal is to classify each pixel in the image . We report the results in Table 4(a). BYOL outperforms both the Supervised-IN baseline ( mIoU) and SimCLR ( mIoU).
Similarly, we evaluate on object detection by reproducing the setup in using a Faster R-CNN architecture , as detailed in Section D.5. We fine-tune on trainval2007 and report results on test2007 using the standard AP50 metric; BYOL is significantly better than the Supervised-IN baseline ( AP50) and SimCLR ( AP50).
Finally, we evaluate on depth estimation on the NYU v2 dataset, where the depth map of a scene is estimated given a single RGB image. Depth prediction measures how well a network represents geometry, and how well that information can be localized to pixel accuracy . The setup is based on and detailed in Section D.6. We evaluate on the commonly used test subset of images and report results using several common metrics in Table 4(b): relative (rel) error, root mean squared (rms) error, and the percent of pixels (pct) where the error, , is below thresholds where is the predicted depth and is the ground truth depth . BYOL is better or on par with other methods for each metric. For instance, the challenging pct. measure is respectively improved by points and points compared to supervised and SimCLR baselines.
Building intuitions with ablations
We present ablations on BYOL to give an intuition of its behavior and performance. For reproducibility, we run each configuration of parameters over three seeds, and report the average performance. We also report the half difference between the best and worst runs when it is larger than . Although previous works perform ablations at epochs , we notice that relative improvements at epochs do not always hold over longer training. For this reason, we run ablations over epochs on TPU v cores, which yields consistent results compared to our baseline training of epochs. For all the experiments in this section, we set the initial learning rate to with batch size , the weight decay to as in SimCLR and the base target decay rate to . In this section we report results in top- accuracy on ImageNet under the linear evaluation protocol as in Section C.1.
Among contrastive methods, the ones that draw negative examples from the minibatch suffer performance drops when their batch size is reduced. BYOL does not use negative examples and we expect it to be more robust to smaller batch sizes. To empirically verify this hypothesis, we train both BYOL and SimCLR using different batch sizes from to . To avoid re-tuning other hyperparameters, we average gradients over consecutive steps before updating the online network when reducing the batch size by a factor . The target network is updated once every steps, after the update of the online network; we accumulate the -steps in parallel in our runs.
As shown in Figure 3(a), the performance of SimCLR rapidly deteriorates with batch size, likely due to the decrease in the number of negative examples. In contrast, the performance of BYOL remains stable over a wide range of batch sizes from to , and only drops for smaller values due to batch normalization layers in the encoder.The only dependency on batch size in our training pipeline sits within the batch normalization layers.
Image augmentations
Contrastive methods are sensitive to the choice of image augmentations. For instance, SimCLR does not work well when removing color distortion from its image augmentations. As an explanation, SimCLR shows that crops of the same image mostly share their color histograms. At the same time, color histograms vary across images. Therefore, when a contrastive task only relies on random crops as image augmentations, it can be mostly solved by focusing on color histograms alone. As a result the representation is not incentivized to retain information beyond color histograms. To prevent that, SimCLR adds color distortion to its set of image augmentations. Instead, BYOL is incentivized to keep any information captured by the target representation into its online network, to improve its predictions. Therefore, even if augmented views of a same image share the same color histogram, BYOL is still incentivized to retain additional features in its representation. For that reason, we believe that BYOL is more robust to the choice of image augmentations than contrastive methods.
Results presented in Figure 3(b) support this hypothesis: the performance of BYOL is much less affected than the performance of SimCLR when removing color distortions from the set of image augmentations ( accuracy points for BYOL, accuracy points for SimCLR). When image augmentations are reduced to mere random crops, BYOL still displays good performance (, i.e. points from ), while SimCLR loses more than a third of its performance (, i.e. points from ). We report additional ablations in Section F.3.
Bootstrapping
BYOL uses the projected representation of a target network, whose weights are an exponential moving average of the weights of the online network, as target for its predictions. This way, the weights of the target network represent a delayed and more stable version of the weights of the online network. When the target decay rate is , the target network is never updated, and remains at a constant value corresponding to its initialization. When the target decay rate is , the target network is instantaneously updated to the online network at each step. There is a trade-off between updating the targets too often and updating them too slowly, as illustrated in Table 5(a). Instantaneously updating the target network () destabilizes training, yielding very poor performance while never updating the target () makes the training stable but prevents iterative improvement, ending with low-quality final representation. All values of the decay rate between and yield performance above top- accuracy at epochs.
Ablation to contrastive methods
In this subsection, we recast SimCLR and BYOL using the same formalism to better understand where the improvement of BYOL over SimCLR comes from. Let us consider the following objective that extends the InfoNCE objective (see Section F.4),
where is a fixed temperature, a weighting coefficient, the batch size, and are batches of augmented views where for any batch index , and are augmented views from the same image; the real-valued function quantifies pairwise similarity between augmented views. For any augmented view we denote and . For given and , we consider the normalized dot product
Up to minor details (cf. Section F.5), we recover the SimCLR loss with (no predictor), (no target network) and . We recover the BYOL loss when using a predictor and a target network, i.e., \phi(u_{1})=p_{\theta}\mathopen{}\mathclose{{}\left(z_{\theta}(u_{1})}\right) and with . To evaluate the influence of the target network, the predictor and the coefficient , we perform an ablation over them. Results are presented in Table 5(b) and more details are given in Section F.4.
The only variant that performs well without negative examples (i.e., with ) is BYOL, using both a bootstrap target network and a predictor. Adding the negative pairs to BYOL’s loss without re-tuning the temperature parameter hurts its performance. In Section F.4, we show that we can add back negative pairs and still match the performance of BYOL with proper tuning of the temperature.
Simply adding a target network to SimCLR already improves performance ( points). This sheds new light on the use of the target network in MoCo , where the target network is used to provide more negative examples. Here, we show that by mere stabilization effect, even when using the same number of negative examples, using a target network is beneficial. Finally, we observe that modifying the architecture of to include a predictor only mildly affects the performance of SimCLR.
Network hyperparameters
In Appendix F, we explore how other network parameters may impact BYOL’s performance. We iterate over multiple weight decays, learning rates, and projector/encoder architectures to observe that small hyperparameter changes do not drastically alter the final score. We note that removing the weight decay in either BYOL or SimCLR leads to network divergence, emphasizing the need for weight regularization in the self-supervised setting. Furthermore, we observe that changing the scaling factor in the network initialization did not impact the performance (higher than top- accuracy).
Relationship with Mean Teacher
Importance of a near-optimal predictor
Table 5(b) already shows the importance of combining a predictor and a target network: the representation does collapse when either is removed. We further found that we can remove the target network without collapse by making the predictor near-optimal, either by (i) using an optimal linear predictor (obtained by linear regression on the current batch) before back-propagating the error through the network ( top-1 accuracy), or (ii) increasing the learning rate of the predictor ( top-1). By contrast, increasing the learning rates of both projector and predictor (without target network) yields poor results ( top-1). See Appendix I for more details. This seems to indicate that keeping the predictor near-optimal at all times is important to preventing collapse, which may be one of the roles of BYOL’s target network.
Conclusion
We introduced BYOL, a new algorithm for self-supervised learning of image representations. BYOL learns its representation by predicting previous versions of its outputs, without using negative pairs. We show that BYOL achieves state-of-the-art results on various benchmarks. In particular, under the linear evaluation protocol on ImageNet with a ResNet- (), BYOL achieves a new state of the art and bridges most of the remaining gap between self-supervised methods and the supervised learning baseline of . Using a ResNet- , BYOL reaches a top- accuracy of which improves over the previous state of the art () while using fewer parameters.
Nevertheless, BYOL remains dependent on existing sets of augmentations that are specific to vision applications. To generalize BYOL to other modalities (e.g., audio, video, text, …) it is necessary to obtain similarly suitable augmentations for each of them. Designing such augmentations may require significant effort and expertise. Therefore, automating the search for these augmentations would be an important next step to generalize BYOL to other modalities.
Broader impact
The presented research should be categorized as research in the field of unsupervised learning. This work may inspire new algorithms, theoretical, and experimental investigation. The algorithm presented here can be used for many different vision applications and a particular use may have both positive or negative impacts, which is known as the dual use problem. Besides, as vision datasets could be biased, the representation learned by BYOL could be susceptible to replicate these biases.
Acknowledgements
The authors would like to thank the following people for their help throughout the process of writing this paper, in alphabetical order: Aaron van den Oord, Andrew Brock, Jason Ramapuram, Jeffrey De Fauw, Karen Simonyan, Katrina McKinney, Nathalie Beauguerlange, Olivier Henaff, Oriol Vinyals, Pauline Luc, Razvan Pascanu, Sander Dieleman, and the DeepMind team. We especially thank Jason Ramapuram and Jeffrey De Fauw, who provided the JAX SimCLR reproduction used throughout the paper.
References
Appendix A Algorithm
Appendix B Image augmentations
During self-supervised training, BYOL uses the following image augmentations (which are a subset of the ones presented in ):
random cropping: a random patch of the image is selected, with an area uniformly sampled between 8% and 100% of that of the original image, and an aspect ratio logarithmically sampled between and . This patch is then resized to the target size of using bicubic interpolation;
color jittering: the brightness, contrast, saturation and hue of the image are shifted by a uniformly random offset applied on all the pixels of the same image. The order in which these shifts are performed is randomly selected for each patch;
color dropping: an optional conversion to grayscale. When applied, output intensity for a pixel corresponds to its luma component, computed as ;
Gaussian blurring: for a image, a square Gaussian kernel of size is used, with a standard deviation uniformly sampled over ;
solarization: an optional color transformation for pixels with values in $$.
Augmentations from the sets and (introduced in Section 3) are compositions of the above image augmentations in the listed order, each applied with a predetermined probability. The image augmentations parameters are listed in Table 6.
During evaluation, we use a center crop similar to : images are resized to pixels along the shorter side using bicubic resampling, after which a center crop is applied. In both training and evaluation, we normalize color channels by subtracting the average color and dividing by the standard deviation, computed on ImageNet, after applying the augmentations.
Appendix C Evaluation on ImageNet training
As in , we use the standard linear evaluation protocol on ImageNet, which consists in training a linear classifier on top of the frozen representation, i.e., without updating the network parameters nor the batch statistics. At training time, we apply spatial augmentations, i.e., random crops with resize to pixels, and random flips. At test time, images are resized to pixels along the shorter side using bicubic resampling, after which a center crop is applied. In both cases, we normalize the color channels by subtracting the average color and dividing by the standard deviation (computed on ImageNet), after applying the augmentations. We optimize the cross-entropy loss using SGD with Nesterov momentum over epochs, using a batch size of and a momentum of . We do not use any regularization methods such as weight decay, gradient clipping , tclip , or logits regularization. We finally sweep over learning rates on a local validation set (10009 images from ImageNet train set), and report the accuracy of the best validation hyperparameter on the test set (which is the public validation set of the original ILSVRC2012 ImageNet dataset).
Variant on linear evaluation on ImageNet
In this paragraph only, we deviate from the protocol of and propose another way of performing linear evaluation on top of a frozen representation. This method achieves better performance both in top-1 and top-5 accuracy.
We replace the spatial augmentations (random crops with resize to pixels and random flips) with the pre-train augmentations of Appendix B. This method was already used in with a different subset of pre-train augmentations.
We regularize the linear classifier as in https://github.com/Philip-Bachman/amdim-public/blob/master/costs.py by clipping the logits using a hyperbolic tangent function
where is a positive scalar, and by adding a logit-regularization penalty term in the loss
where are the logits, are the target labels, and is the regularization parameter. We set and .
We report in Table 7 the top-1 and top-5 accuracy on ImageNet using this modified protocol. These modifications in the evaluation protocol increase the BYOL’s top- accuracy from to with a ResNet- ().
Semi-supervised learning on ImageNet
We follow the semi-supervised learning protocol of . We first initialize the network with the parameters of the pretrained representation, and fine-tune it with a subset of ImageNet labels. At training time, we apply spatial augmentations, i.e., random crops with resize to pixels and random flips. At test time, images are resized to pixels along the shorter side using bicubic resampling, after which a center crop is applied. In both cases, we normalize the color channels by subtracting the average color and dividing by the standard deviation (computed on ImageNet), after applying the augmentations. We optimize the cross-entropy loss using SGD with Nesterov momentum. We used a batch size of , a momentum of . We do not use any regularization methods such as weight decay, gradient clipping , tclip , or logits rescaling. We sweep over the learning rate and the number of epochs and select the hyperparameters achieving the best performance on our local validation set to report test performance.
In Table 2 presented in the main text, we fine-tune the representation over the % and % ImageNet splits from with various ResNet architectures.
In Figure 4, we fine-tune the representation over %, %, %, %, %, %, and % of the ImageNet dataset as in with a ResNet- () architecture, and compare them with a supervised baseline and a fine-tuned SimCLR representation. In this case and contrary to Table 2 we don’t reuse the splits from SimCLR but we create our own via a balanced selection. In this setting, we observed that tuning a BYOL representation always outperforms a supervised baseline trained from scratch. In Figure 5, we then fine-tune the representation over multiple ResNet architectures. We observe that the largest networks are prone to overfitting as they are outperformed by ResNets with identical depth but smaller scaling factor. This overfitting is further confirmed when looking at the training and evaluation loss: large networks have lower training losses, but higher validation losses than some of their slimmer counterparts. Regularization methods are thus recommended when tuning on large architectures.
Finally, we fine-tune the representation over the full ImageNet dataset. We report the results in Table 8 along with supervised baselines trained on ImageNet. We observe that fine-tuning the SimCLR checkpoint does not yield better results (in our reproduction, which matches the results reported in the original paper ) than using a random initialization ( top-). Instead, BYOL’s initialization checkpoint leads to a high final score ( top-), higher than the vanilla supervised baseline of , matching the strong supervised baseline of AutoAugment but still points below the stronger supervised baseline , which uses advanced supervised learning techniques.
C.2 Linear evaluation on larger architectures and supervised baselines
Here we investigate the performance of BYOL with deeper and wider ResNet architectures. We compare ourselves to the best supervised baselines from when available (rightmost column in table 9), which are also presented in Figure 1. Importantly, we close in on those baselines using the ResNet- () and the ResNet- () architectures, where we are within accuracy points of the supervised performance. To the best of our knowledge, this is the first time that the gap to supervised has been closed to such an extent using a self-supervised method under the linear evaluation protocol. Therefore, in order to ensure fair comparison, and suspecting that the supervised baselines’ performance in could be even further improved with appropriate data augmentations, we also report on our own reproduction of strong supervised baselines. We use RandAugment data augmentation for all large ResNet architectures (which are all version , as per ). We train our supervised baselines for up to epochs, using SGD with a Nesterov momentum value of , a cosine-annealed learning rate after a epochs linear warmup period, weight decay with a value of , and a label smoothing value of . Results are presented in Figure 6.
Appendix D Transfer to other datasets
We perform transfer via linear classification and fine-tuning on the same set of datasets as in , namely Food- dataset , CIFAR- and CIFAR- , Birdsnap , the SUN scene dataset , Stanford Cars , FGVC Aircraft , the PASCAL VOC classification task , the Describable Textures Dataset (DTD) , Oxford-IIIT Pets , Caltech- , and Oxford Flowers . As in , we used the validation sets specified by the dataset creators to select hyperparameters for FGVC Aircraft, PASCAL VOC 2007, DTD, and Oxford 102 Flowers. On other datasets, we use the validation examples as test set, and hold out a subset of the training examples that we use as validation set. We use standard metrics for each datasets:
Top-: We compute the proportion of correctly classified examples.
Mean per class: We compute the top- accuracy for each class separately and then compute the empirical mean over the classes.
Point 11-mAP: We compute the empirical mean average precision as defined in .
Mean IoU: We compute the empirical mean Intersection-Over-Union as defined in .
AP50: We compute the Average Precision as defined in .
We detail the validation procedures for some specific datasets:
For Sun397 , the original dataset specifies 10 train/test splits, all of which contain 50 examples/images of 397 different classes. We use the first train/test split. The original dataset specifies no validation split and therefore, the training images have been further subdivided into 40 images per class for the train split and 10 images per class for the valid split.
For Birdsnap , we use a random selection of valid images with the same number of images per category as the test split.
For DTD , the original dataset specifies 10 train/validation/test splits, we only use the first split.
For Caltech-101 , the original does not dataset specifies any train/test splits. We have followed the approach used in : This file defines datasets for 5 random splits of 25 training images per category, with 5 validation images per category and the remaining images used for testing.
For ImageNet, we took the last last images of the official tensorflow ImageNet split.
For Oxford-IIIT Pets, the valid set consists of 20 randomly selected images per class.
Information about the dataset are summarized in Table 10.
D.2 Transfer via linear classification
D.3 Transfer via fine-tuning
We follow the same fine-tuning protocol as in that we also detail for completeness. Specifically, we initialize the network with the parameters of the pretrained representation. At training time, we apply spatial transformation, i.e., random crops with resize to pixels and random flips. At test time, images are resized to pixels along the shorter side using bicubic resampling, after which a center crop is extracted. In both cases, we normalize the color channels by subtracting the average color and dividing by the standard deviation (computed on ImageNet), after applying the augmentations. We optimize the loss using SGD with Nesterov momentum for steps with a batch size of and with a momentum of . We set the momentum parameter for the batch normalization statistics to where is the number of steps per epoch. The learning rate and weight decay are selected respectively with a grid of seven logarithmically spaced learning rates between and , and logarithmically-spaced values of weight decay between and , as well as no weight decay. These values of weight decay are divided by the learning rate. After choosing the best-performing hyperparameters on the validation set, the model is retrained on combined training and validation images together, using the chosen parameters. The final accuracy is reported on the test set.
D.4 Implementation details for semantic segmentation
We use the same fully-convolutional network (FCN)-based architecture as . The backbone consists of the convolutional layers in ResNet-. The convolutions in the conv blocks use dilation and stride . This is followed by two extra convolutions with channels, each followed by batch normalization and ReLU activations, and a convolution for per-pixel classification. The dilation is set to in the two extra convolutions. The total stride is (FCN-s ).
We train on the train_aug2012 set and report results on val2012. Hyperparameters are selected on a images held-out validation set. We use a standard per-pixel softmax cross-entropy loss to train the FCN. Training is done with random scaling (by a ratio in \mathopen{}\mathclose{{}\left[0.5,2.0}\right]), cropping, and horizontal flipping. The crop size is . Inference is performed on the \mathopen{}\mathclose{{}\left[513,513}\right] central crop. For training we use a batch size of and weight decay of . We select the base learning rate by sweeping across logarithmically spaced values between and . The learning rate is multiplied by at the -th and -th percentile of training. We train for iterations, and average the results on 5 seeds.
D.5 Implementation details for object detection
For object detection, we follow prior work on Pascal detection transfer wherever possible. We use a Faster R-CNN detector with a R-C backbone with a frozen representation. The R-C backbone ends with the conv stage of a ResNet-, and the box prediction head consists of the conv stage (including global pooling). We preprocess the images by applying multi-scale augmentation (rescaling the image so its longest edge is between and pixels) but no other augmentation. We use an asynchronous SGD optimizer with workers and train for M steps. We used an initial learning rate of , which is reduced to at 1M steps and to at M steps.
D.6 Implementation details for depth estimation
For depth estimation, we follow the same protocol as in , and report its core components for completeness. We use a standard ResNet- backbone and feed the conv features into fast up-projection blocks with respective filter sizes , , , and . We use a reverse Huber loss function for training .
The original NYU Depth v frames of size \mathopen{}\mathclose{{}\left[640,480}\right] are down-sampled by a factor and center-cropped to \mathopen{}\mathclose{{}\left[304,228}\right] pixels. Input images are randomly horizontally flipped and the following color transformations are applied:
Grayscale with an application probability of .
Brightness with a maximum brightness difference of .
Saturation with a saturation factor randomly picked in the interval \mathopen{}\mathclose{{}\left[0.5,1.5}\right].
Hue with a hue adjustment factor randomly picked in the interval \mathopen{}\mathclose{{}\left[-0.2,0.2}\right].
We train for steps with batch size , weight decay and learning rate (scaled linearly from the setup of to account for the bigger batch size).
D.7 Further comparisons on PASCAL and NYU v2 Depth
For completeness, Table 11 and 12 extends Table 4 with other published baselines which use comparable networks. We see that in almost all settings, BYOL outperforms these baselines, even when those baselines use more data or deeper models. One notable exception is RMS error for NYU Depth prediction, which is a metric that’s sensitive to outliers. The reason for this is unclear, but one possibility is that the network is producing higher-variance predictions due to being more confident about a test-set scene’s similarities with those in the training set.
Appendix E Pretraining on Places 365
To ascertain that BYOL learns good representations on other datasets, we applied our representation learning protocol on the scene recognition dataset Places-Standard before performing linear evaluation. This dataset contains million training images and validation images with labels, making it roughly similar to ImageNet in scale. We reuse the exact same parameters as in Section 4 and train the representation for epochs, using BYOL and our SimCLR reproduction. Results for the linear evaluation setup (using the protocol of Section C.1 for ImageNet and Places365, and that of Appendix D on other datasets) are reported in Table 13.
Interestingly, the representation trained by using BYOL on Places365 (BYOL-PL) consistently outperforms that of SimCLR on the same dataset, but underperforms the BYOL representation trained on ImageNet (BYOL-IN) on all tasks except Places365 and SUN397 , another scene understanding dataset. Interestingly, all three unsupervised representation learning methods achieve a relatively high performance on the Places365 task; for comparison, reference (in its linked repository) reports a top-1 accuracy of for a ResNet-v2 trained from scratch using labels on this dataset.
Appendix F Additional ablation results
To extend on the above results, we provide additional ablations obtained using the same experimental setup as in Section 5, i.e., 300 epochs, averaged over seeds with the initial learning rate set to , the batch size to , the weight decay to and the base target decay rate to unless specified otherwise. Confidence intervals correspond to the half-difference between the maximum and minimum score of these seeds; we omit them for half-differences lower than accuracy points.
Table 14(a) shows the influence of projector and predictor architecture on BYOL. We examine the effect of different depths for both the projector and predictor, as well as the effect of the projection size. We do not apply a ReLU activation nor a batch normalization on the final linear layer of our MLPs such that a depth of corresponds to a linear layer. Using the default projector and predictor of depth yields the best performance.
Table 15(a) shows the influence of the initial learning rate on BYOL. Note that the optimal value depends on the number of training epochs. Table 15(b) displays the influence of the weight decay on BYOL.
F.2 Batch size
We run a sweep over the batch size for both BYOL and our reproduction of SimCLR. As explained in Section 5, when reducing the batch size by a factor , we average gradients over consecutive steps and update the target network once every steps. We report in Table 16, the performance of both our reproduction of SimCLR and BYOL for batch sizes between (BYOL and SimCLR default) down to . We observe that the performance of SimCLR deteriorates faster than the one of BYOL which stays mostly constant for batch sizes larger than . We believe that the performance at batch size could match the performance of the large batch size with proper parameter tuning when accumulating the gradient. We think that the drop in performance at batch size in table 16 is mainly related to the ill behaviour of batch normalization at low batch sizes .
F.3 Image augmentations
Table 17 compares the impact of individual image transformations on BYOL and SimCLR. BYOL is more resilient to changes of image augmentations across the board. For completeness, we also include an ablation with symmetric parameters across both views; for this ablation, we use a Gaussian blurring w.p. of and a solarization w.p. of for both and , and recover very similar results compared to our baseline choice of parameters.
F.4 Details on the relation to contrastive methods
As mentioned in Section 5, the BYOL loss Equation 2 can be derived from the InfoNCE loss
The InfoNCE loss, introduced in , can be found in factored form in as
As in SimCLR we also use negative examples given by to get
To obtain Equation 8 from Equation 12, we subtract (which is independent of ), multiply by , take and finally multiply the second (negative examples) term by . Using and dividing by gets us back to the usual InfoNCE loss as used by SimCLR.
In our ablation in Table 5(b), we set the temperature to its best value in the SimCLR setting (i.e., ). With this value, setting to 1 (which adds negative examples), in the BYOL setting (i.e., with both a predictor and a target network) hurts the performances. In Table 18, we report results of a sweep over both the temperature and the weight parameter with a predictor and a target network where BYOL corresponds to . No run significantly outperforms BYOL and some values of and hurt the performance. While the best temperature for SimCLR (without the target network and a predictor) is , after adding a predictor and a target network the best temperature is higher than .
Using a target network in the loss has two effects: stopping the gradient through the prediction targets and stabilizing the targets with averaging. Stopping the gradient through the target change the objective while averaging makes the target stable and stale. In Table 5(b) we only shows results of the ablation when either using the online network as the prediction target (and flowing the gradient through it) or with a target network (both stopping the gradient into the prediction targets and computing the prediction targets with a moving average of the online network). We shown in Table 5(b) that using a target network is beneficial but it has two distinct effects we would like to understand from which effect the improvement comes from. We report in Table 19 the results already in Table 5(b) but also when the prediction target is computed with a stop gradient of the online network (the gradient does not flow into the prediction targets). This shows that making the prediction targets stable and stale is the main cause of the improvement rather than the change in the objective due to the stop gradient.
F.5 SimCLR baseline of Section 5
The SimCLR baseline in Section 5 (, without predictor nor target network) is slightly different from the original one in . First we multiply the original loss by . For comparaison here is the original SimCLR loss,
Note that this multiplication by matters as the LARS optimizer is not completely invariant with respect to the scale of the loss. Indeed, LARS applies a preconditioning to gradient updates on all weights, except for biases and batch normalization parameters. Updates on preconditioned weights are invariant by multiplicative scaling of the loss. However, the bias and batch normalization parameter updates remain sensitive to multiplicative scaling of the loss.
We also increase the original SimCLR hidden and output size of the projector to respectively 4096 and 256. In our reproduction of SimCLR, these three combined changes improves the top-1 accuracy at 300 epochs from (without the changes) to (with the changes).
F.6 Ablation on the normalization in the loss function
Appendix G Training with smaller batch sizes
The results described in Section 4 were obtained using a batch size of split over TPU cores. Due to its increased robustness, BYOL can also be trained using smaller batch sizes without significantly decreasing performance. Using the same linear evaluation setup, BYOL achieves top-1 accuracy when trained over epochs with a batch size of split over TPU cores (approximately days of training). For this setup, we reuse the same setting as in Section 3, but use a base learning rate of (appropriately scaled by the batch size) and with the same weight decay coefficient of .
Appendix H Details on Equation 5 in Section 3.2
In this section we clarify why BYOL’s update is related to Equation 5 from Section 3.2,
and implicitly depends on and ; therefore, it should be denoted as instead of just . For simplicity we write as the output of the optimal predictor for any parameters and and input .
BYOL updates its online parameters following the gradient of Equation 5, but considering only the gradients of with respect to its third argument when applying the chain rule. If we rewrite
the gradient of this quantity w.r.t. is
Appendix I Importance of a near-optimal predictor
In this part we build upon the intuitions of Section 3.2 on the importance of keeping the predictor near-optimal. Specifically, we show that it is possible to remove the exponential moving average in BYOL’s target network (i.e., simply copy weights of the online network into the target) without causing the representation to collapse, provided the predictor remains sufficiently good.
In this setup, we remove the exponential moving average (i.e., set over the full training in Equation 1), and multiply the learning rate of the predictor by a constant compared to the learning rate used for the rest of the network; all other hyperparameters are unchanged. As shown in Table 21, using sufficiently large values of provides a reasonably good level of performance and the performance sharply decreases with to top-1 accuracy (no better than random) for .
To show that this effect is directly related to a change of behavior in the predictor, and not only to a change of learning rate in any subpart of the network, we perform a similar experiment by using a multiplier on the predictor’s learning rate, and a different multiplier for the projector. In Table 22, we show that the representation typically collapses or performs poorly when the predictor learning rate is lower or equal to that of the projector. As mentioned in Section 3.2, we further hypothesize that one of the contributions of the target network is to maintain a near optimal predictor at all times.
I.2 Optimal linear predictor in closed form
Similarly, we can get rid of the slowly moving target network if we use a closed form optimal predictor on the batch, instead of a learned, non-optimal one. In this case we restrict ourselves to a linear predictor,
with \mathopen{}\mathclose{{}\left\|\cdot}\right\|_{2} being the Frobenius norm, and of shape respectively the online and target projections, where is the batch size and the number of features; and of shape , the optimal linear predictor for the batch.
At epochs, when using the closed form optimal predictor, and directly hard copying the weights of the online network into the target, we obtain a top- accuracy of .