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 74.3%74.3\% top-1 accuracy with a standard ResNet-5050 and 79.6%79.6\% 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 18.8%18.8\% top-1 accuracy (Table 5(a)) on the linear evaluation protocol on ImageNet, whereas the randomly initialized network only achieves 1.4%1.4\% 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 yθy_{\theta} 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 θ{\theta} and is comprised of three stages: an encoder fθf_{\theta}, a projector gθg_{\theta} and a predictor qθq_{\theta}, 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 ξ\xi. The target network provides the regression targets to train the online network, and its parameters ξ\xi are an exponential moving average of the online parameters θ{\theta} . More precisely, given a target decay rate τ\tau\in, after each training step we perform the following update,

We symmetrize the loss Lθ,ξ\mathcal{L}_{{\theta},\xi} in Equation 2 by separately feeding vv^{\prime} to the online network and vv to the target network to compute L~θ,ξ\widetilde{\mathcal{L}}_{{\theta},\xi}. At each training step, we perform a stochastic optimization step to minimize Lθ,ξBYOL=Lθ,ξ+L~θ,ξ\mathcal{L}^{\texttt{BYOL}}_{{\theta},\xi}=\mathcal{L}_{{\theta},\xi}+\widetilde{\mathcal{L}}_{{\theta},\xi} with respect to θ{\theta} only, but not ξ\xi, 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 fθf_{\theta}; as in . When comparing to other methods, we consider the number of inference-time weights only in the final representation fθf_{\theta}. 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 Lθ,ξBYOL\mathcal{L}_{{\theta},\xi}^{\texttt{BYOL}} with respect to θ{\theta}, it may seem that BYOL should converge to a minimum of this loss with respect to (θ,ξ)({\theta},\xi) (e.g., a collapsed constant representation). However BYOL’s target parameters ξ\xi updates are not in the direction of ξLθ,ξBYOL\nabla_{\xi}\mathcal{L}_{{\theta},\xi}^{\texttt{BYOL}}. More generally, we hypothesize that there is no loss Lθ,ξL_{{\theta},\xi} such that BYOL’s dynamics is a gradient descent on LL jointly over θ,ξ{\theta},\xi. 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 Lθ,ξBYOL\mathcal{L}^{\texttt{BYOL}}_{{\theta},\xi}.

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., qθ=qq_{\theta}=q^{\star} with

we hypothesize that the undesirable equilibria are unstable. Indeed, in this optimal predictor case, BYOL’s updates on θ{\theta} follow in expectation the gradient of the expected conditional variance (see Appendix H for details),

where zξ,iz^{\prime}_{\xi,i} is the ii-th feature of zξz^{\prime}_{\xi}.

Note that for any random variables X,X, Y,Y, and ZZ, Var(XY,Z)Var(XY)\operatorname*{Var}(X|Y,Z)\leq\operatorname*{Var}(X|Y). Let XX be the target projection, YY the current online projection, and ZZ 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 θ{\theta} into the target parameters ξ\xi 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 224×224224\times 224 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-50(1×)50(1\times) v1) as our base parametric encoders fθf_{\theta} and fξf_{\xi}. We also use deeper (5050, 101101, 152152 and 200200 layers) and wider (from 1×1\times to 4×4\times) ResNets, as in . Specifically, the representation yy corresponds to the output of the final average pooling layer, which has a feature dimension of 20482048 (for a width multiplier of 1×1\times). As in SimCLR , the representation yy is projected to a smaller space by a multi-layer perceptron (MLP) gθg_{\theta}, and similarly for the target projection gξg_{\xi}. This MLP consists in a linear layer with output size 40964096 followed by batch normalization , rectified linear units (ReLU) , and a final linear layer with output dimension 256256. Contrary to SimCLR, the output of this MLP is not batch normalized. The predictor qθq_{\theta} uses the same architecture as gθg_{\theta}.

Optimization

We use the LARS optimizer with a cosine decay learning rate schedule , without restarts, over 10001000 epochs, with a warm-up period of 1010 epochs. We set the base learning rate to 0.2,0.2, scaled linearly with the batch size (LearningRate=0.2×BatchSize/256\text{LearningRate}=0.2\times\text{BatchSize}/256). In addition, we use a global weight decay parameter of 1.51061.5\cdot 10^{-6} while excluding the biases and batch normalization parameters from both LARS adaptation and weight decay. For the target network, the exponential moving average parameter τ\tau starts from τbase=0.996\tau_{\text{base}}=0.996 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 kk the current training step and KK the maximum number of training steps. We use a batch size of 40964096 split over 512512 Cloud TPU v33 cores. With this setup, training takes approximately 88 hours for a ResNet-50(×1)50(\times 1). All hyperparameters are summarized in Appendix J; an additional set of hyperparameters for a smaller batch size of 512512 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-11 and top-55 accuracies in % on the test set in Table 1. With a standard ResNet-5050 (×1\times 1) BYOL obtains 74.3%74.3\% top-11 accuracy (91.6%91.6\% top-55 accuracy), which is a 1.3%1.3\% (resp. 0.5%0.5\%) improvement over the previous self-supervised state of the art . This tightens the gap with respect to the supervised baseline of , 76.5%76.5\%, but is still significantly below the stronger supervised baseline of , 78.9%78.9\%. With deeper and wider architectures, BYOL consistently outperforms the previous state of the art (Section C.2), and obtains a best performance of 79.6%79.6\% top-11 accuracy, ranking higher than previous self-supervised approaches. On a ResNet-5050 (4×4\times) BYOL achieves 78.6%78.6\%, similar to the 78.9%78.9\% 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 1%1\% and 10%10\% of ImageNet labeled training data as in . We report both top-11 and top-55 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 77.7%77.7\% top-11 accuracy with ResNet-50 when fine-tuning over 100%100\% 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 77 of the 1212 benchmarks, providing only slightly worse performance on the 55 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 (+1.9+1.9 mIoU) and SimCLR (+1.1+1.1 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 (+3.1+3.1 AP50) and SimCLR (+2.3+2.3 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 654654 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, max(dgt/dp,dp/dgt)\max(d_{gt}/d_{p},d_{p}/d_{gt}), is below 1.25n1.25^{n} thresholds where dpd_{p} is the predicted depth and dgtd_{gt} is the ground truth depth . BYOL is better or on par with other methods for each metric. For instance, the challenging pct.  ⁣ ⁣< ⁣ ⁣1.25\!\,\!<\!\!1.25 measure is respectively improved by +3.5+3.5 points and +1.3+1.3 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 0.250.25. Although previous works perform ablations at 100100 epochs , we notice that relative improvements at 100100 epochs do not always hold over longer training. For this reason, we run ablations over 300300 epochs on 6464 TPU v33 cores, which yields consistent results compared to our baseline training of 10001000 epochs. For all the experiments in this section, we set the initial learning rate to 0.30.3 with batch size 40964096, the weight decay to 10610^{-6} as in SimCLR and the base target decay rate τbase\tau_{\text{base}} to 0.990.99. In this section we report results in top-11 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 128128 to 40964096. To avoid re-tuning other hyperparameters, we average gradients over NN consecutive steps before updating the online network when reducing the batch size by a factor NN. The target network is updated once every NN steps, after the update of the online network; we accumulate the NN-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 256256 to 40964096, 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 (9.1-9.1 accuracy points for BYOL, 22.2-22.2 accuracy points for SimCLR). When image augmentations are reduced to mere random crops, BYOL still displays good performance (59.4%59.4\%, i.e. 13.1-13.1 points from 72.5%72.5\% ), while SimCLR loses more than a third of its performance (40.3%40.3\%, i.e. 27.6-27.6 points from 67.9%67.9\%). 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 11, 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 (τ=0\tau=0) destabilizes training, yielding very poor performance while never updating the target (τ=1\tau=1) makes the training stable but prevents iterative improvement, ending with low-quality final representation. All values of the decay rate between 0.90.9 and 0.9990.999 yield performance above 68.4%68.4\% top-11 accuracy at 300300 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 α>0\alpha>0 is a fixed temperature, β\beta\in a weighting coefficient, BB the batch size, vv and vv^{\prime} are batches of augmented views where for any batch index ii, viv_{i} and viv^{\prime}_{i} are augmented views from the same image; the real-valued function SθS_{\theta} quantifies pairwise similarity between augmented views. For any augmented view uu we denote zθ(u)fθ(gθ(u))z_{\theta}(u)\triangleq f_{\theta}(g_{\theta}(u)) and zξ(u)fξ(gξ(u))z_{\xi}(u)\triangleq f_{\xi}(g_{\xi}(u)). For given ϕ\phi and ψ\psi, we consider the normalized dot product

Up to minor details (cf. Section F.5), we recover the SimCLR loss with ϕ(u1)=zθ(u1)\phi(u_{1})=z_{\theta}(u_{1}) (no predictor), ψ(u2)=zθ(u2)\psi(u_{2})=z_{\theta}(u_{2}) (no target network) and β=1\beta=1. 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 ψ(u2)=zξ(u2)\psi(u_{2})=z_{\xi}(u_{2}) with β=0\beta=0. To evaluate the influence of the target network, the predictor and the coefficient β\beta, 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 β=0\beta=0) 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 (+1.6+1.6 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 SθS_{\theta} 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 72%72\% top-11 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 (52.5%52.5\% top-1 accuracy), or (ii) increasing the learning rate of the predictor (66.5%66.5\% top-1). By contrast, increasing the learning rates of both projector and predictor (without target network) yields poor results (25%\approx 25\% 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-5050 (1×1\times), 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-200200 (2×)(2\times), BYOL reaches a top-11 accuracy of 79.6%79.6\% which improves over the previous state of the art (76.8%76.8\%) while using 30%30\% 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 3/43/4 and 4/34/3. This patch is then resized to the target size of 224×224224\times 224 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 (r,g,b)(r,g,b) corresponds to its luma component, computed as 0.2989r+0.5870g+0.1140b0.2989r+0.5870g+0.1140b;

Gaussian blurring: for a 224×224224\times 224 image, a square Gaussian kernel of size 23×2323\times 23 is used, with a standard deviation uniformly sampled over [0.1,2.0][0.1,2.0];

solarization: an optional color transformation xx1{x<0.5}+(1x)1{x0.5}x\mapsto x\cdot{\bf 1}_{\{x<0.5\}}+(1-x)\cdot{\bf 1}_{\{x\geq 0.5\}} for pixels with values in $$.

Augmentations from the sets T\mathcal{T} and T\mathcal{T}^{\prime} (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 256256 pixels along the shorter side using bicubic resampling, after which a 224×224224\times 224 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 224×224224\times 224 pixels, and random flips. At test time, images are resized to 256256 pixels along the shorter side using bicubic resampling, after which a 224×224224\times 224 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 8080 epochs, using a batch size of 10241024 and a momentum of 0.90.9. We do not use any regularization methods such as weight decay, gradient clipping , tclip , or logits regularization. We finally sweep over 55 learning rates {0.4,0.3,0.2,0.1,0.05}\{0.4,0.3,0.2,0.1,0.05\} 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 224×224224\times 224 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 α\alpha is a positive scalar, and by adding a logit-regularization penalty term in the loss

where xx are the logits, yy are the target labels, and β\beta is the regularization parameter. We set α=20\alpha=20 and β=1e2\beta=1e{-2}.

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-11 accuracy from 74.3%74.3\% to 74.8%74.8\% with a ResNet-5050 (1×1\times).

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 224×224224\times 224 pixels and random flips. At test time, images are resized to 256256 pixels along the shorter side using bicubic resampling, after which a 224×224224\times 224 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 10241024, a momentum of 0.90.9. We do not use any regularization methods such as weight decay, gradient clipping , tclip , or logits rescaling. We sweep over the learning rate {0.01,0.02,0.05,0.1,0.005}\{0.01,0.02,0.05,0.1,0.005\} and the number of epochs {30,50}\{30,50\} 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 11% and 1010% ImageNet splits from with various ResNet architectures.

In Figure 4, we fine-tune the representation over 11%, 22%, 55%, 1010%, 2020%, 5050%, and 100100% of the ImageNet dataset as in with a ResNet-5050 (1×1\times) 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 (76.576.5 top-11). Instead, BYOL’s initialization checkpoint leads to a high final score (77.777.7 top-11), higher than the vanilla supervised baseline of , matching the strong supervised baseline of AutoAugment but still 1.21.2 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-5050 (2×2\times) and the ResNet-5050 (4×4\times) architectures, where we are within 0.40.4 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 11, as per ). We train our supervised baselines for up to 200200 epochs, using SGD with a Nesterov momentum value of 0.90.9, a cosine-annealed learning rate after a 55 epochs linear warmup period, weight decay with a value of 1e41e-4, and a label smoothing value of 0.10.1. 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-101101 dataset , CIFAR-1010 and CIFAR-100100 , Birdsnap , the SUN397397 scene dataset , Stanford Cars , FGVC Aircraft , the PASCAL VOC 20072007 classification task , the Describable Textures Dataset (DTD) , Oxford-IIIT Pets , Caltech-101101 , and Oxford 102102 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-11: We compute the proportion of correctly classified examples.

Mean per class: We compute the top-11 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 1000910009 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 224×224224\times 224 pixels and random flips. At test time, images are resized to 256256 pixels along the shorter side using bicubic resampling, after which a 224×224224\times 224 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 2000020000 steps with a batch size of 256256 and with a momentum of 0.90.9. We set the momentum parameter for the batch normalization statistics to max(110/s,0.9)\max(1-10/s,0.9) where ss 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 0.00010.0001 and 0.10.1, and 77 logarithmically-spaced values of weight decay between 10610^{-6} and 10310^{-3}, 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-5050. The 3×33\times 3 convolutions in the conv55 blocks use dilation 22 and stride 11. This is followed by two extra 3×33\times 3 convolutions with 256256 channels, each followed by batch normalization and ReLU activations, and a 1×11\times 1 convolution for per-pixel classification. The dilation is set to 66 in the two extra 3×33\times 3 convolutions. The total stride is 1616 (FCN-1616s ).

We train on the train_aug2012 set and report results on val2012. Hyperparameters are selected on a 21192119 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 513513. Inference is performed on the \mathopen{}\mathclose{{}\left[513,513}\right] central crop. For training we use a batch size of 1616 and weight decay of 0.00010.0001. We select the base learning rate by sweeping across 55 logarithmically spaced values between 10310^{-3} and 10110^{-1}. The learning rate is multiplied by 0.10.1 at the 7070-th and 9090-th percentile of training. We train for 3000030000 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 R5050-C44 backbone with a frozen representation. The R5050-C44 backbone ends with the conv44 stage of a ResNet-5050, and the box prediction head consists of the conv55 stage (including global pooling). We preprocess the images by applying multi-scale augmentation (rescaling the image so its longest edge is between 480480 and 10241024 pixels) but no other augmentation. We use an asynchronous SGD optimizer with 99 workers and train for 1.51.5M steps. We used an initial learning rate of 10310^{-3}, which is reduced to 10410^{-4} at 1M steps and to 10510^{-5} at 1.21.2M 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-5050 backbone and feed the conv55 features into 44 fast up-projection blocks with respective filter sizes 512512, 256256, 128128, and 6464. We use a reverse Huber loss function for training .

The original NYU Depth v22 frames of size \mathopen{}\mathclose{{}\left[640,480}\right] are down-sampled by a factor 0.50.5 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 0.30.3.

Brightness with a maximum brightness difference of 0.12550.1255.

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 75007500 steps with batch size 256256, weight decay 0.0005,0.0005, and learning rate 0.160.16 (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 Places365365-Standard before performing linear evaluation. This dataset contains 1.801.80 million training images and 3650036500 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 10001000 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 55.2%55.2\% for a ResNet-5050v2 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 33 seeds with the initial learning rate set to 0.30.3, the batch size to 40964096, the weight decay to 10610^{-6} and the base target decay rate τbase\tau_{\text{base}} to 0.990.99 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 0.250.25 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 11 corresponds to a linear layer. Using the default projector and predictor of depth 22 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 NN, we average gradients over NN consecutive steps and update the target network once every NN steps. We report in Table 16, the performance of both our reproduction of SimCLR and BYOL for batch sizes between 40964096 (BYOL and SimCLR default) down to 6464. We observe that the performance of SimCLR deteriorates faster than the one of BYOL which stays mostly constant for batch sizes larger than 256256. We believe that the performance at batch size 256256 could match the performance of the large 40964096 batch size with proper parameter tuning when accumulating the gradient. We think that the drop in performance at batch size 6464 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 0.50.5 and a solarization w.p. of 0.20.2 for both T\mathcal{T} and T\mathcal{T}^{\prime}, 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 (vi,vj)ji(v_{i},v_{j})_{j\neq i} to get

To obtain Equation 8 from Equation 12, we subtract lnB\ln B (which is independent of θ{\theta}), multiply by 2α2\alpha, take f(x,y)=Sθ(x,y)/αf(x,y)=S_{\theta}(x,y)/\alpha and finally multiply the second (negative examples) term by β\beta. Using β=1\beta=1 and dividing by 2α2\alpha gets us back to the usual InfoNCE loss as used by SimCLR.

In our ablation in Table 5(b), we set the temperature α\alpha to its best value in the SimCLR setting (i.e., α=0.1\alpha=0.1). With this value, setting β\beta 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 α\alpha and the weight parameter β\beta with a predictor and a target network where BYOL corresponds to β=0\beta=0. No run significantly outperforms BYOL and some values of α\alpha and β\beta hurt the performance. While the best temperature for SimCLR (without the target network and a predictor) is 0.10.1, after adding a predictor and a target network the best temperature α\alpha is higher than 0.30.3.

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 (β=1\beta=1, without predictor nor target network) is slightly different from the original one in . First we multiply the original loss by 2α2\alpha. For comparaison here is the original SimCLR loss,

Note that this multiplication by 2α2\alpha 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 67.9%67.9\% (without the changes) to 69.2%69.2\% (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 40964096 split over 512512 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 73.7%73.7\% top-1 accuracy when trained over 10001000 epochs with a batch size of 512512 split over 6464 TPU cores (approximately 44 days of training). For this setup, we reuse the same setting as in Section 3, but use a base learning rate of 0.40.4 (appropriately scaled by the batch size) and τbase=0.9995\tau_{\text{base}}=0.9995 with the same weight decay coefficient of 1.51061.5\cdot 10^{-6}.

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 θ{\theta} and ξ\xi; therefore, it should be denoted as q(θ,ξ)q^{\star}({\theta},\xi) instead of just qq^{\star}. For simplicity we write q(θ,ξ)(zθ)q^{\star}({\theta},\xi)(z_{\theta}) as q(θ,ξ,zθ)q^{\star}({\theta},\xi,z_{\theta}) the output of the optimal predictor for any parameters θ{\theta} and ξ\xi and input zθz_{\theta}.

BYOL updates its online parameters following the gradient of Equation 5, but considering only the gradients of qq with respect to its third argument zz when applying the chain rule. If we rewrite

the gradient of this quantity w.r.t. θ{\theta} 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 τ=0\tau=0 over the full training in Equation 1), and multiply the learning rate of the predictor by a constant λ\lambda 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 λ\lambda provides a reasonably good level of performance and the performance sharply decreases with λ\lambda to 0.01%0.01\% top-1 accuracy (no better than random) for λ=0\lambda=0.

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 λ\lambda on the predictor’s learning rate, and a different multiplier μ\mu 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, ZθZ_{\theta} and ZξZ^{\prime}_{\xi} of shape (B,F)(B,F) respectively the online and target projections, where BB is the batch size and FF the number of features; and qq^{\star} of shape (F,F)(F,F), the optimal linear predictor for the batch.

At 300300 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-11 accuracy of fillfill.