Large Scale Adversarial Representation Learning

  • 2019-07-04 18:00:17
  • Jeff Donahue, Karen Simonyan
  • 708


Adversarially trained generative models (GANs) have recently achievedcompelling image synthesis results. But despite early successes in using GANsfor unsupervised representation learning, they have since been superseded byapproaches based on self-supervision. In this work we show that progress inimage generation quality translates to substantially improved representationlearning performance. Our approach, BigBiGAN, builds upon the state-of-the-artBigGAN model, extending it to representation learning by adding an encoder andmodifying the discriminator. We extensively evaluate the representationlearning and generation capabilities of these BigBiGAN models, demonstratingthat these generation-based models achieve the state of the art in unsupervisedrepresentation learning on ImageNet, as well as in unconditional imagegeneration.


Quick Read (beta)

Large Scale Adversarial Representation Learning

Jeff Donahue
[email protected]
&Karen Simonyan
[email protected]

Adversarially trained generative models (GANs) have recently achieved compelling image synthesis results. But despite early successes in using GANs for unsupervised representation learning, they have since been superseded by approaches based on self-supervision. In this work we show that progress in image generation quality translates to substantially improved representation learning performance. Our approach, BigBiGAN, builds upon the state-of-the-art BigGAN model, extending it to representation learning by adding an encoder and modifying the discriminator. We extensively evaluate the representation learning and generation capabilities of these BigBiGAN models, demonstrating that these generation-based models achieve the state of the art in unsupervised representation learning on ImageNet, as well as in unconditional image generation.


shapes, arrows, shadows, fit, backgrounds, calc


Large Scale Adversarial Representation Learning

  Jeff Donahue DeepMind [email protected] Karen Simonyan DeepMind [email protected]


noticebox[b]\[email protected]

1 Introduction

In recent years we have seen rapid progress in generative models of visual data. While these models were previously confined to domains with single or few modes, simple structure, and low resolution, with advances in both modeling and hardware they have since gained the ability to convincingly generate complex, multimodal, high resolution image distributions biggan ; stylegan ; glow .

Intuitively, the ability to generate data in a particular domain necessitates a high-level understanding of the semantics of said domain. This idea has long-standing appeal as raw data is both cheap – readily available in virtually infinite supply from sources like the Internet – and rich, with images comprising far more information than the class labels that typical discriminative machine learning models are trained to predict from them. Yet, while the progress in generative models has been undeniable, nagging questions persist: what semantics have these models learned, and how can they be leveraged for representation learning?

The dream of generation as a means of true understanding from raw data alone has hardly been realized. Instead, the most successful approaches for unsupervised learning leverage techniques adopted from the field of supervised learning, a class of methods known as self-supervised learning carl ; splitbrain ; cpc ; rotation . These approaches typically involve changing or holding back certain aspects of the data in some way, and training a model to predict or generate aspects of the missing information. For example, colorful ; splitbrain proposed colorization as a means of unsupervised learning, where a model is given a subset of the color channels in an input image, and trained to predict the missing channels.

Generative models as a means of unsupervised learning offer an appealing alternative to self-supervised tasks in that they are trained to model the full data distribution without requiring any modification of the original data. One class of generative models that has been applied to representation learning is generative adversarial networks (GANs) gan . The generator in the GAN framework is a feed-forward mapping from randomly sampled latent variables (also called “noise”) to generated data, with learning signal provided by a discriminator trained to distinguish between real and generated data samples, guiding the generator’s outputs to follow the data distribution. The adversarially learned inference (ALI) ali or bidirectional GAN (BiGAN) bigan approaches were proposed as extensions to the GAN framework that augment the standard GAN with an encoder module mapping real data to latents, the inverse of the mapping learned by the generator.

In the limit of an optimal discriminator, bigan showed that a deterministic BiGAN behaves like an autoencoder minimizing 0 reconstruction costs; however, the shape of the reconstruction error surface is dictated by a parametric discriminator, as opposed to simple pixel-level measures like the 2 error. Since the discriminator is usually a powerful neural network, the hope is that it will induce an error surface which emphasizes “semantic” errors in reconstructions, rather than low-level details.

In bigan it was demonstrated that the encoder learned via the BiGAN or ALI framework is an effective means of visual representation learning on ImageNet for downstream tasks. However, it used a DCGAN dcgan style generator, incapable of producing high-quality images on this dataset, so the semantics the encoder could model were in turn quite limited. In this work we revisit this approach using BigGAN biggan as the generator, a modern model that appears capable of capturing many of the modes and much of the structure present in ImageNet images. Our contributions are as follows:

  • We show that BigBiGAN (BiGAN with BigGAN generator) matches the state of the art in unsupervised representation learning on ImageNet.

  • We propose a more stable version of the joint discriminator for BigBiGAN.

  • We perform a thorough empirical analysis and ablation study of model design choices.

  • We show that the representation learning objective also helps unconditional image generation, and demonstrate state-of-the-art results in unconditional ImageNet generation.

2 BigBiGAN


shadow = [copy shadow=opacity=0.15, shadow xshift=0.5ex,shadow yshift=-0.25ex,fill=black] \tikzstyleall_nodes = [minimum width=1cm, minimum height=0.5cm,text centered, draw=black,fill=white,shadow] \tikzstyleobserved_var = [circle, all_nodes, fill=black!20] \tikzstyleshadow2 = [copy shadow=opacity=0.15, shadow xshift=0.5ex,shadow yshift=-0.25ex,fill=black] \tikzstyleobserved_var_split = [forbidden sign, fill=black!20, minimum width=1cm, minimum height=1cm,text centered, draw=black, opacity=1.] \tikzstylelatent_var = [circle, all_nodes] \tikzstylegroup_var = [ellipse, all_nodes, inner sep=0.1cm] \tikzstylepoint = [circle] \tikzstylefunc = [signal, signal to=east, all_nodes,minimum height=1cm,fill=red!10] \tikzstylediscfunc = [signal, signal to=east, all_nodes,minimum height=1cm,fill=blue!10] \tikzstyleminigenfunc = [signal, signal to=north, all_nodes, minimum height=0.3cm, minimum width=0.5cm, fill=green!10] \tikzstyleminiencfunc = [signal, signal to=south, all_nodes, minimum height=0.3cm, minimum width=0.5cm, fill=green!10] \tikzstyleencfunc = [signal, signal to=south, all_nodes, minimum height=0.5cm, minimum width=1cm, fill=green!10] \tikzstylegenfunc = [signal, signal to=north, all_nodes, minimum height=0.5cm, minimum width=1cm, fill=green!10] \tikzstylearrow= [->,thick,shorten <=1pt,shorten >=1pt, >=stealth’] \tikzstylebox= [rectangle, rounded corners, draw=black, inner sep=0.15cm] \tikzstylewidebox= [rectangle, rounded corners, draw=black, inner sep=0.15cm] \tikzset -|-/.style= to path= (\tikztostart) -| ((\tikztostart)!#1!(\tikztotarget)) |- (\tikztotarget) \tikztonodes , -|-/.default=0.7,


[node distance=2cm]


(x1) [observed_var] at (-5.25,1.25+0.3) 𝐱; \node(Eleft) [encfunc] at (-5.25,0.25) ; \node(Elefttext) at (-5.25,0.1) ; \draw[arrow] (x1) -> (Eleft); \node(z1) [latent_var] at (-5.25,-1.25-0.3) ; \node(z1text) at (-5.25,-1.2-0.3) 𝐳^; \draw[arrow] (Eleft) -> (z1); \node[rotate=270] (Elefttext) at (-6.125,0) encoder ;


(z2) [observed_var] at (-3.5,-1.25-0.3) 𝐳; \node(Gleft) [genfunc] at (-3.5,-0.25) ; \node(Glefttext) at (-3.5,-0.1) 𝒢; \draw[arrow] (z2) -> (Gleft); \node(x2) [latent_var] at (-3.5,1.25+0.3) ; \node(x2text) at (-3.5,1.3+0.3) 𝐱^; \draw[arrow] (Gleft) -> (x2); \node[rotate=90] (Glefttext) at (-2.625,0) generator 𝒢;


(extlefttop) [point] at (-4.125,0.4) ; \node(extleftbottom) [point] at (-4.125,-0.4) ;


[on background layer] \node[widebox,fill=gray!5,fit=(Eleft) (Gleft) (extlefttop) (extleftbottom)] (container) ;


(x) [observed_var_split] at (-1.75,1.25+0.3) 𝐱 𝐱^; \node(z) [observed_var_split] at (-1.75,-1.25-0.3) 𝐳^ 𝐳;


(xtext1) at (-5.25,2+0.3) 𝐱P𝐱; \node(xtext2) at (-3.5,2+0.3) 𝐱^𝒢(𝐳); \node(xtext3) at (-4.375,2.5+0.3) data; \node(ztext1) at (-3.5,-2-0.3) 𝐳P𝐳; \node(ztext2) at (-5.25,-2-0.3) 𝐳^(𝐱); \node(ztext3) at (-4.375,-2.5-0.3) latents;


(extleft) [point] at (-0.5,0) ;


(F) [discfunc] at (-0.25,1.25+0.3) ; \node(Ftext) at (-0.1,1.25+0.3) F; \draw[arrow] (x) -> (F); \node(H) [discfunc] at (-0.25,-1.25-0.3) ; \node(Htext) at (-0.1,-1.25-0.3) H; \draw[arrow] (z) -> (H);


(J) [discfunc] at (1.75+0.,0) ; \node(Jtext) at (1.9+0.,0) J; \draw[arrow] (F) to[-|-] ((J.northwest)!0.5!(J.west)); \draw[arrow] (H) to[-|-] ((J.southwest)!0.5!(J.west));


(extright) [point] at (2.5+0.,0) ;


[on background layer] \node[widebox,fill=gray!5,fit=(extleft) (F) (H) (J) (extright), label=above:discriminator 𝒟] (container) ;


(scorestext) at (3.75+0.,2.0+0.3) scores; \node(sx) [latent_var] at (3.75+0.,1.25+0.3) s𝐱; \node(sz) [latent_var] at (3.75+0.,-1.25-0.3) s𝐳; \node(sxz) [latent_var] at (3.75+0.,0) s𝐱𝐳; \draw[arrow] (J) -> (sxz); \draw[arrow] (F) -> (sx); \draw[arrow] (H) -> (sz);


(scoresum) [box] at (5.125+0.,0) ; \draw[arrow] (sx) -| (scoresum); \draw[arrow] (sxz) -> (scoresum); \draw[arrow] (sz) -| (scoresum);


(losstext) at (6.5+0.,0.75) loss; \node(L) [latent_var] at (6.5+0.,0) ; \draw[arrow] (scoresum) -> (L);

Figure 1: The structure of the BigBiGAN framework. The joint discriminator 𝒟 is used to compute the loss . Its inputs are data-latent pairs, either (𝐱P𝐱,𝐳^(𝐱)), sampled from the data distribution P𝐱 and encoder outputs, or (𝐱^𝒢(𝐳),𝐳P𝐳), sampled from the generator 𝒢 outputs and the latent distribution P𝐳. The loss includes the unary data term s𝐱 and the unary latent term s𝐳, as well as the joint term s𝐱𝐳 which ties the data and latent distributions.

The BiGAN bigan or ALI ali approaches were proposed as extensions of the GAN gan framework which enable the learning of an encoder that can be employed as an inference model ali or feature representation bigan . Given a distribution P𝐱 of data 𝐱 (e.g., images), and a distribution P𝐳 of latents 𝐳 (usually a simple continuous distribution like an isotropic Gaussian 𝒩(0,I)), the generator 𝒢 models a conditional distribution P(𝐱|𝐳) of data 𝐱 given latent inputs 𝐳 sampled from the latent prior P𝐳, as in the standard GAN generator gan . The encoder models the inverse conditional distribution P(𝐳|𝐱), predicting latents 𝐳 given data 𝐱 sampled from the data distribution P𝐱.

Besides the addition of , the other modification to the GAN in the BiGAN framework is a joint discriminator 𝒟, which takes as input data-latent pairs (𝐱,𝐳) (rather than just data 𝐱 as in a standard GAN), and learns to discriminate between pairs from the data distribution and encoder, versus the generator and latent distribution. Concretely, its inputs are pairs (𝐱P𝐱,𝐳^(𝐱)) and (𝐱^𝒢(𝐳),𝐳P𝐳), and the goal of the 𝒢 and is to “fool” the discriminator by making the two joint distributions P𝐱 and P𝒢𝐳 from which these pairs are sampled indistinguishable. The adversarial minimax objective in bigan ; ali , analogous to that of the GAN framework gan , was defined as follows:


Under this objective, bigan ; ali showed that with an optimal 𝒟, 𝒢 and minimize the Jensen-Shannon divergence between the joint distributions P𝐱 and P𝒢𝐳, and therefore at the global optimum, the two joint distributions P𝐱=P𝒢𝐳 match, analogous to the results from standard GANs gan . Furthermore, bigan showed that in the case where and 𝒢 are deterministic functions (i.e., the learned conditional distributions P𝒢(𝐱|𝐳) and P(𝐳|𝐱) are Dirac δ functions), these two functions are inverses at the global optimum: e.g., 𝐱supp(P𝐱)𝐱=𝒢((𝐱)), with the optimal joint discriminator effectively imposing 0 reconstruction costs on 𝐱 and 𝐳.

While the crux of our approach, BigBiGAN, remains the same as that of BiGAN bigan ; ali , we have adopted the generator and discriminator architectures from the state-of-the-art BigGAN biggan generative image model. Beyond that, we have found that an improved discriminator structure leads to better representation learning results without compromising generation (Figure 1). Namely, in addition to the joint discriminator loss proposed in bigan ; ali which ties the data and latent distributions together, we propose additional unary terms in the learning objective, which are functions only of either the data 𝐱 or the latents 𝐳. Although bigan ; ali prove that the original BiGAN objective already enforces that the learnt joint distributions match at the global optimum, implying that the marginal distributions of 𝐱 and 𝐳 match as well, these unary terms intuitively guide optimization in the “right direction” by explicitly enforcing this property. For example, in the context of image generation, the unary loss term on 𝐱 matches the original GAN objective and provides a learning signal which steers only the generator to match the image distribution independently of its latent inputs. (In our evaluation we will demonstrate empirically that the addition of these terms results in both improved generation and representation learning.)

Concretely, the discriminator loss 𝒟 and the encoder-generator loss 𝒢 are defined as follows, based on scalar discriminator “score” functions s* and the corresponding per-sample losses *:

s𝐱(𝐱) =θ𝐱FΘ(𝐱)
s𝐳(𝐳) =θ𝐳HΘ(𝐳)
s𝐱𝐳(𝐱,𝐳) =θ𝐱𝐳JΘ(FΘ(𝐱),HΘ(𝐳))
𝒢(𝐱,𝐳,y) =y(s𝐱(𝐱)+s𝐳(𝐳)+s𝐱𝐳(𝐱,𝐳)) y{-1,+1}
𝒢(P𝐱,P𝐳) =𝔼𝐱P𝐱,𝐳^Φ(𝐱)[𝒢(𝐱,𝐳^,+1)]+𝔼𝐳P𝐳,𝐱^𝒢Φ(𝐳)[𝒢(𝐱^,𝐳,-1)]
𝒟(𝐱,𝐳,y) =h(ys𝐱(𝐱))+h(ys𝐳(𝐳))+h(ys𝐱𝐳(𝐱,𝐳)) y{-1,+1}
𝒟(P𝐱,P𝐳) =𝔼𝐱P𝐱,𝐳^Φ(𝐱)[𝒟(𝐱,𝐳^,+1)]+𝔼𝐳P𝐳,𝐱^𝒢Φ(𝐳)[𝒟(𝐱^,𝐳,-1)]

where h(t)=max(0,1-t) is a “hinge” used to regularize the discriminator geometricgan ; tran 11 1 We also considered an alternative discriminator loss 𝒟 which invokes the “hinge” h just once on the sum of the three loss terms – 𝒟(𝐱,𝐳,y)=h(y(s𝐱(𝐱)+s𝐳(𝐳)+s𝐱𝐳(𝐱,𝐳))) – but found that this performed significantly worse than 𝒟 above which clamps each of the three loss terms separately. , also used in BigGAN biggan . The discriminator 𝒟 includes three submodules: F, H, and J. F takes only 𝐱 as input and H takes only 𝐳, and learned projections of their outputs with parameters θ𝐱 and θ𝐳 respectively give the scalar unary scores s𝐱 and s𝐳. In our experiments, the data 𝐱 are images and latents 𝐳 are unstructured flat vectors; accordingly, F is a ConvNet and H is an MLP. The joint score s𝐱𝐳 tying 𝐱 and 𝐳 is given by the remaining 𝒟 submodule, J, a function of the outputs of F and H.

The and 𝒢 parameters Φ are optimized to minimize the loss 𝒢, and the 𝒟 parameters Θ are optimized to minimize loss 𝒟. As usual, the expectations 𝔼 are estimated by Monte Carlo samples taken over minibatches.

3 Evaluation

Most of our experiments follow the standard protocol used to evaluate unsupervised learning techniques, first proposed in colorful . We train a BigBiGAN on unlabeled ImageNet, freeze its learned representation, and then train a linear classifier on its outputs, fully supervised using all of the training set labels. We also measure image generation performance, reporting Inception Score improvedgan (IS) and Fréchet Inception Distance frechet (FID) as the standard metrics there.

3.1 Ablation

We begin with an extensive ablation study in which we directly evaluate a number of modeling choices, with results presented in Table 1. Where possible we performed three runs of each variant with different seeds and report the mean and standard deviation for each metric.

We start with a relatively fully-fledged version of the model at 128×128 resolution (row Base), with the 𝒢 architecture and the F component of 𝒟 taken from the corresponding 128×128 architectures in BigGAN, including the skip connections and shared noise embedding proposed in biggan . 𝐳 is 120 dimensions, split into six groups of 20 dimensions fed into each of the six layers of 𝒢 as in biggan . The remaining components of 𝒟H and J – are 8-layer MLPs with ResNet-style skip connections (four residual blocks with two layers each) and size 2048 hidden layers. The architecture is the ResNet-v2-50 ConvNet originally proposed for image classification in resnetv2 , followed by a 4-layer MLP (size 4096) with skip connections (two residual blocks) after ResNet’s globally average pooled output. The unconditional BigGAN training setup corresponds to the “Single Label” setup proposed in zurichfewer , where a single “dummy” label is used for all images (theoretically equivalent to learning a bias in place of the class-conditional batch norm inputs). We then ablate several aspects of the model, with results detailed in the following paragraphs. Additional architectural and optimization details are provided in Appendix A. Full learning curves for many results are included in Appendix D.

Latent distribution P𝐳 and stochastic .

As in ALI ali , the encoder of our Base model is non-deterministic, parametrizing a distribution 𝒩(μ,σ). μ and σ^ are given by a linear layer at the output of the model, and the final standard deviation σ is computed from σ^ using a non-negative “softplus” non-linearity σ=log(1+exp(σ^)) softplus . The final 𝐳 uses the reparametrized sampling from kingmavae , with 𝐳=μ+ϵσ, where ϵ𝒩(0,I). Compared to a deterministic encoder (row Deterministic E) which predicts 𝐳 directly without sampling (effectively modeling P(𝐳|𝐱) as a Dirac δ distribution), the non-deterministic Base model achieves significantly better classification performance (at no cost to generation). We also compared to using a uniform P𝐳=𝒰(-1,1) (row Uniform Pz) with deterministically predicting 𝐳=tanh(𝐳^) given a linear output 𝐳^, as done in BiGAN bigan . This also achieves worse classification results than the non-deterministic Base model.

Unary loss terms.

We evaluate the effect of removing one or both unary terms of the loss function proposed in Section 2, s𝐱 and s𝐳. Removing both unary terms (row No Unaries) corresponds to the original objective proposed in bigan ; ali . It is clear that the 𝐱 unary term has a large positive effect on generation performance, with the Base and 𝐱 Unary Only rows having significantly better IS and FID than the 𝐳 Unary Only and No Unaries rows. This result makes intuitive sense as it matches the standard generator loss. It also marginally improves classification performance. The 𝐳 unary term makes a more marginal difference, likely due to the relative ease of modeling relatively simple distributions like isotropic Gaussians, though also does result in slightly improved classification and generation in terms of FID – especially without the 𝐱 term (𝐳 Unary Only vs. No Unaries). On the other hand, IS is worse with the 𝐳 term. This may be due to IS roughly measuring the generator’s coverage of the major modes of the distribution (the classes) rather than the distribution in its entirety, the latter of which may be better captured by FID and more likely to be promoted by a good encoder . The requirement of invertibility in a (Big)BiGAN could be encouraging the generator to produce distinguishable outputs across the entire latent space, rather than “collapsing” large volumes of latent space to a single mode of the data distribution.

𝒢 capacity.

To address the question of the importance of the generator 𝒢 in representation learning, we vary the capacity of 𝒢 (with and 𝒟 fixed) in the Small G rows. With a third of the capacity of the Base 𝒢 model (Small G (32)), the overall model is quite unstable and achieves significantly worse classification results than the higher capacity base model22 2 Though the generation performance by IS and FID in row Small G (32) is very poor at the point we measured – when its best validation classification performance (43.59%) is achieved – this model was performing more reasonably for generation earlier in training, reaching IS 14.69 and FID 60.67. With two-thirds capacity (Small G (64)), generation performance is substantially worse (matching the results in biggan ) and classification performance is modestly worse. These results confirm that a powerful image generator is indeed important for learning good representations via the encoder. Assuming this relationship holds in the future, we expect that better generative models are likely to lead to further improvements in representation learning.

Standard GAN.

We also compare BigBiGAN’s image generation performance against a standard unconditional BigGAN with no encoder and only the standard F ConvNet in the discriminator, with only the s𝐱 term in the loss (row No E (GAN)). While the standard GAN achieves a marginally better IS, the BigBiGAN FID is about the same, indicating that the addition of the BigBiGAN and joint 𝒟 does not compromise generation with the newly proposed unary loss terms described in Section 2. (In comparison, the versions of the model without unary loss term on 𝐱 – rows 𝐳 Unary Only and No Unaries – have substantially worse generation performance in terms of FID than the standard GAN.) We conjecture that the IS is worse for similar reasons that the s𝐳 unary loss term leads to worse IS. Next we will show that with an enhanced taking higher input resolutions, generation with BigBiGAN in terms of FID is substantially improved over the standard GAN.

High resolution with varying resolution 𝒢.

BiGAN bigan proposed an asymmetric setup in which takes higher resolution images than 𝒢 outputs and 𝒟 takes as input, showing that an taking 128×128 inputs with a 64×64 𝒢 outperforms a 64×64 for downstream tasks. We experiment with this setup in BigBiGAN, raising the input resolution to 256×256 – matching the resolution used in typical supervised ImageNet classification setups – and varying the 𝒢 output and 𝒟 input resolution in {64,128,256}. Our results in Table 1 (rows High Res E (256) and Low/High Res G (*)) show that BigBiGAN achieves better representation learning results as the 𝒢 resolution increases, up to the full resolution of 256×256. However, because the overall model is much slower to train with 𝒢 at 256×256 resolution, the remainder of our results use the 128×128 resolution for 𝒢.

Interestingly, with the higher resolution , generation improves significantly (especially by FID), despite 𝒢 operating at the same resolution (row High Res E (256) vs. Base). This is an encouraging result for the potential of BigBiGAN as a means of improving adversarial image synthesis itself, besides its use in representation learning and inference.


Keeping the input resolution fixed at 256, we experiment with varied and often larger architectures, including several of the ResNet-50 variants explored in revisiting . In particular, we expand the capacity of the hidden layers by a factor of 2 or 4, as well as swap the residual block structure to a reversible variant called RevNet revnet with the same number of layers and capacity as the corresponding ResNets. (We use the version of RevNet described in revisiting .) We find that the base ResNet-50 model (row High Res E (256)) outperforms RevNet-50 (row RevNet), but as the network widths are expanded, we begin to see improvements from RevNet-50, with double-width RevNet outperforming a ResNet of the same capacity (rows RevNet ×2 and ResNet ×2). We see further gains with an even larger quadruple-width RevNet model (row RevNet ×4), which we use for our final results in Section 3.2.

Decoupled /𝒢 optimization.

As a final improvement, we decoupled the optimizer from that of 𝒢, and found that simply using a 10× higher learning rate for dramatically accelerates training and improves final representation learning results. For ResNet-50 this improves linear classifier accuracy by nearly 3% (ResNet (E LR) vs. High Res E (256)). We also applied this to our largest architecture, RevNet-50 ×4, and saw similar gains (RevNet ×4 (E LR) vs. RevNet ×4).

Encoder () Gen. (𝒢) Loss * Results
A. D. C. R. Var. η C. R. s𝐱𝐳 s𝐱 s𝐳 P𝐳 IS () FID () Cls. ()
Base S 50 1 128 1 96 128 𝒩 22.66 ± 0.18 31.19 ± 0.37 48.10 ± 0.13
Deterministic S 50 1 128 (-) 1 96 128 𝒩 22.79 ± 0.27 31.31 ± 0.30 46.97 ± 0.35
Uniform P𝐳 S 50 1 128 (-) 1 96 128 (𝒰) 22.83 ± 0.24 31.52 ± 0.28 45.11 ± 0.93
𝐱 Unary Only S 50 1 128 1 96 128 (-) 𝒩 23.19 ± 0.28 31.99 ± 0.30 47.74 ± 0.20
𝐳 Unary Only S 50 1 128 1 96 128 (-) 𝒩 19.52 ± 0.39 39.48 ± 1.00 47.78 ± 0.28
No Unaries (BiGAN) S 50 1 128 1 96 128 (-) (-) 𝒩 19.70 ± 0.30 42.92 ± 0.92 46.71 ± 0.88
Small 𝒢 (32) S 50 1 128 1 (32) 128 𝒩 3.28 ± 0.18 247.30 ± 10.31 43.59 ± 0.34
Small 𝒢 (64) S 50 1 128 1 (64) 128 𝒩 19.96 ± 0.15 38.93 ± 0.39 47.54 ± 0.33
No (GAN) * (-) 96 128 (-) (-) 𝒩 23.56 ± 0.37 30.91 ± 0.23 -
High Res (256) S 50 1 (256) 1 96 128 𝒩 23.45 ± 0.14 27.86 ± 0.13 50.80 ± 0.30
Low Res 𝒢 (64) S 50 1 (256) 1 96 (64) 𝒩 19.40 ± 0.19 15.82 ± 0.06 47.51 ± 0.09
High Res 𝒢 (256) S 50 1 (256) 1 96 (256) 𝒩 24.70 38.58 51.49
ResNet-101 S (101) 1 (256) 1 96 128 𝒩 23.29 28.01 51.21
ResNet ×2 S 50 (2) (256) 1 96 128 𝒩 23.68 27.81 52.66
RevNet (V) 50 1 (256) 1 96 128 𝒩 23.33 ± 0.09 27.78 ± 0.06 49.42 ± 0.18
RevNet ×2 (V) 50 (2) (256) 1 96 128 𝒩 23.21 27.96 54.40
RevNet ×4 (V) 50 (4) (256) 1 96 128 𝒩 23.23 28.15 57.15
ResNet ( LR) S 50 1 (256) (10) 96 128 𝒩 23.27 ± 0.22 28.51 ± 0.44 53.70 ± 0.15
RevNet ×4 ( LR) (V) 50 (4) (256) (10) 96 128 𝒩 23.08 28.54 60.15
Table 1: Results for variants of BigBiGAN, given in Inception Score improvedgan (IS) and Fréchet Inception Distance frechet (FID) of the generated images, and ImageNet top-1 classification accuracy percentage (Cls.) of a supervised logistic regression classifier trained on the encoder features colorful , computed on a split of 10K images randomly sampled from the training set, which we refer to as the “trainval” split. The Encoder (E) columns specify the architecture (A.) as ResNet (S) or RevNet (V), the depth (D., e.g. 50 for ResNet-50), the channel width multiplier (C.), with 1 denoting the original widths from resnetv2 , the input image resolution (R.), whether the variance is predicted and a 𝐳 vector is sampled from the resulting distribution (Var.), and the learning rate multiplier η relative to the 𝒢 learning rate. The Generator (G) columns specify the BigGAN 𝒢 channel multiplier (C.), with 96 corresponding to the original width from biggan , and output image resolution (R.). The Loss columns specify which terms of the BigBiGAN loss are present in the objective. The Pz column specifies the input distribution as a standard normal 𝒩(0,1) or continuous uniform 𝒰(-1,1). Changes from the Base setup in each row are highlighted in blue. Results with margins of error (written as “μ±σ”) are the means and standard deviations over three runs with different random seeds. (Experiments requiring more computation were run only once.) (* Result for vanilla GAN (No E (GAN)) selected with early stopping based on best FID; other results selected with early stopping based on validation classification accuracy (Cls.).)

3.2 Comparison with prior methods

Representation learning.
Method Architecture Feature Top-1 Top-5
BiGAN bigan ; splitbrain AlexNet conv3 31.0 -
Motion Segmentation (MS) motionseg ; carl ResNet-101 AvePool 27.6 48.3
Exemplar (Ex) exemplar ; carl ResNet-101 AvePool 31.5 53.1
Relative Position (RP) carlorig ; carl ResNet-101 AvePool 36.2 59.2
Colorization (Col) colorful ; carl ResNet-101 AvePool 39.6 62.5
Combination of MS+Ex+RP+Col carl ResNet-101 AvePool - 69.3
CPC cpc ResNet-101 AvePool 48.7 73.6
Rotation rotation ; revisiting RevNet-50 ×4 AvePool 55.4 -
Efficient CPC cpcplusplus ResNet-170 AvePool 61.0 83.0
BigBiGAN (ours) ResNet-50 AvePool 55.4 77.4
ResNet-50 BN+CReLU 56.6 78.6
RevNet-50 ×4 AvePool 60.8 81.4
RevNet-50 ×4 BN+CReLU 61.3 81.9
Table 2: Comparison of BigBiGAN models on the official ImageNet validation set against recent competing approaches with a supervised logistic regression classifier. BigBiGAN results are selected with early stopping based on highest accuracy on our trainval subset of 10K training set images. ResNet-50 results correspond to row ResNet (E LR) in Table 1, and RevNet-50 ×4 corresponds to RevNet ×4 (E LR).

We now take our best model by trainval classification accuracy from the above ablations and present results on the official ImageNet validation set, comparing against the state of the art in recent unsupervised learning literature. For comparison, we also present classification results for our best performing variant with the smaller ResNet-50-based . These models correspond to the last two rows of Table 1, ResNet (E LR) and RevNet ×4 (E LR).

Results are presented in Table 2. (For reference, the fully supervised accuracy of these architectures is given in Appendix A, Table 4.) Compared with a number of modern self-supervised approaches motionseg ; carlorig ; colorful ; cpc ; rotation ; cpcplusplus and combinations thereof carl , our BigBiGAN approach based purely on generative models performs well for representation learning, state-of-the-art among recent unsupervised learning results, improving upon a recently published result from revisiting of 55.4% to 60.8% top-1 accuracy using rotation prediction pre-training with the same representation learning architecture 33 3 Our RevNet ×4 architecture matches the widest architectures used in revisiting , labeled as ×16 there. and feature, labeled as AvePool in Table 2, and matches the results of the concurrent work in cpcplusplus based on contrastic predictive coding (CPC).

We also experiment with learning linear classifiers on a different rendering of the AvePool feature, labeled BN+CReLU, which boosts our best results with RevNet ×4 to 61.3% top-1 accuracy. Given the global average pooling output a, we first compute h=BatchNorm(a), and the final feature is computed by concatenating [ReLU(h),ReLU(-h)], sometimes called a “CReLU” (concatened ReLU) non-linearity crelu . BatchNorm denotes parameter-free Batch Normalization batchnorm , where the scale (γ) and offset (β) parameters are not learned, so training a linear classifier on this feature does not involve any additional learning. The CReLU non-linearity retains all the information in its inputs and doubles the feature dimension, each of which likely contributes to the improved results.

Finally, in Appendix C we consider evaluating representations by zero-shot k nearest neighbors classification, achieving 43.3% top-1 accuracy in this setting. Qualitative examples of nearest neighbors are presented in Figure 12.

Unsupervised image generation.
Method Steps IS () FID vs. Train () FID vs. Val. ()
BigGAN + SL zurichfewer 500K 20.4 (15.4 ± 7.57) - 25.3 (71.7 ± 66.32)
BigGAN + Clustering zurichfewer 500K 22.7 (22.8 ± 0.42) - 23.2 (22.7 ± 0.80)
BigBiGAN + SL (ours) 500K 25.38 (25.33 ± 0.17) 22.78 (22.63 ± 0.23) 23.60 (23.56 ± 0.12)
BigBiGAN High Res + SL (ours) 500K 25.43 (25.45 ± 0.04) 22.34 (22.36 ± 0.04) 22.94 (23.00 ± 0.15)
BigBiGAN High Res + SL (ours) 1M 27.94 (27.80 ± 0.21) 20.32 (20.27 ± 0.09) 21.61 (21.62 ± 0.09)
Table 3: Comparison of our BigBiGAN for unsupervised (unconditional) generation vs. previously reported results for unsupervised BigGAN from zurichfewer . We specify the “pseudo-labeling” method as SL (Single Label) or Clustering. For comparison we train BigBiGAN for the same number of steps (500K) as the BigGAN-based approaches from zurichfewer , but also present results from additional training to 1M steps in the last row and observe further improvements. All results above include the median m as well as the mean μ and standard deviation σ across three runs, written as “m (μ ± σ)”. The BigBiGAN result is selected with early stopping based on best FID vs. Train.

In Table 3 we show results for unsupervised generation with BigBiGAN, comparing to the BigGAN-based biggan unsupervised generation results from zurichfewer . Note that these results differ from those in Table 1 due to the use of the data augmentation method of zurichfewer 44 4 See the “distorted” preprocessing method from the Compare GAN framework: (rather than ResNet-style preprocessing used for all results in our Table 1 ablation study). The lighter augmentation from zurichfewer results in better image generation performance under the IS and FID metrics. The improvements are likely due in part to the fact that this augmentation, on average, crops larger portions of the image, thus yielding generators that typically produce images encompassing most or all of a given object, which tends to result in more representative samples of any given class (giving better IS) and more closely matching the statistics of full center crops (as used in the real data statistics to compute FID). Besides this preprocessing difference, the approaches in Table 3 have the same configurations as used in the Base or High Res E (256) row of Table 1.

These results show that BigBiGAN significantly improves both IS and FID over the baseline unconditional BigGAN generation results with the same (unsupervised) “labels” (a single fixed label in the SL (Single Label) approach – row BigBiGAN + SL vs. BigGAN + SL). We see further improvements using a high resolution (row BigBiGAN High Res E + SL), surpassing the previous unsupervised state of the art (row BigGAN + Clustering) under both IS and FID. (Note that the image generation results remain comparable: the generated image resolution is still 128×128 here, despite the higher resolution input.) The alternative “pseudo-labeling” approach from zurichfewer , Clustering, which uses labels derived from unsupervised clustering, is complementary to BigBiGAN and combining both could yield further improvements. Finally, observing that results continue to improve significantly with training beyond 500K steps, we also report results at 1M steps in the final row of Table 3.

3.3 Reconstruction

As shown in bigan ; ali , the (Big)BiGAN and 𝒢 can reconstruct data instances 𝐱 by computing the encoder’s predicted latent representation (𝐱) and then passing this predicted latent back through the generator to obtain the reconstruction 𝒢((𝐱)). We present BigBiGAN reconstructions in Figure 2. These reconstructions are far from pixel-perfect, likely due in part to the fact that no reconstruction cost is explicitly enforced by the objective – reconstructions are not even computed at training time. However, they may provide some intuition for what features the encoder learns to model. For example, when the input image contains a dog, person, or a food item, the reconstruction is often a different instance of the same “category” with similar pose, position, and texture – for example, a similar species of dog facing the same direction. The extent to which these reconstructions tend to retain the high-level semantics of the inputs rather than the low-level details suggests that BigBiGAN training encourages the encoder to model the former more so than the latter. Additional reconstructions are presented in Appendix B.

Figure 2: Selected reconstructions from an unsupervised BigBiGAN model (Section 3.3). Top row images are real data 𝐱P𝐱; bottom row images are generated reconstructions of the above image 𝐱 computed by 𝒢((𝐱)). Unlike most explicit reconstruction costs (e.g., pixel-wise), the reconstruction cost implicitly minimized by a (Big)BiGAN bigan ; ali tends to emphasize more semantic, high-level details. Additional reconstructions are presented in Appendix B.

4 Related work

A number of approaches to unsupervised representation learning from images based on self-supervision have proven very successful. Self-supervision generally involves learning from tasks designed to resemble supervised learning in some way, but in which the “labels” can be created automatically from the data itself with no manual effort. An early example is relative location prediction (carlorig, ), where a model is trained on input pairs of image patches and predicts their relative locations. Contrastive predictive coding (CPC) (cpc, ; cpcplusplus, ) is a recent related approach where, given an image patch, a model predicts which patches occur in other image locations. Other approaches include colorization colorful ; splitbrain , motion segmentation motionseg , rotation prediction rotation , and exemplar matching exemplar . Rigorous empirical comparisons of many of these approaches have also been conducted carl ; revisiting . A key advantage offered by BigBiGAN and other approaches based on generative models, relative to most self-supervised approaches, is that their input may be the full-resolution image or other signal, with no cropping or modification of the data needed (though such modifications may be beneficial as data augmentation). This means the resulting representation can typically be applied directly to full data in the downstream task with no domain shift.

A number of relevant autoencoder and GAN variants have also been proposed. Associative compression networks (ACNs) acn learn to compress at the dataset level by conditioning data on other previously transmitted data which are similar in code space, resulting in models that can “daydream” semantically similar samples, similar to BigBiGAN reconstructions. VQ-VAEs vqvae pair a discrete (vector quantized) encoder with an autoregressive decoder to produce faithful reconstructions with a high compression factor and demonstrate representation learning results in reinforcement learning settings. In the adversarial space, adversarial autoencoders advae proposed an autoencoder-style encoder-decoder pair trained with pixel-level reconstruction cost, replacing the KL-divergence regularization of the prior used in VAEs kingmavae with a discriminator. In another proposed VAE-GAN hybrid learnedsimilarity the pixel-space reconstruction error used in most VAEs is replaced with feature space distance from an intermediate layer of a GAN discriminator. Other hybrid approaches like AGE age and α-GAN alphagan add an encoder to stabilize GAN training. An interesting difference between many of these approaches and the BiGAN ali ; bigan framework is that BiGAN does not train the encoder or generator with an explicit reconstruction cost. Though it can be shown that (Big)BiGAN implicitly minimizes a reconstruction cost, qualitative reconstruction results (Section 3.3) suggest that this reconstruction cost is of a different flavor, emphasizing high-level semantics over pixel-level details.

5 Discussion

We have shown that BigBiGAN, an unsupervised learning approach based purely on generative models, achieves state-of-the-art results in image representation learning on ImageNet. Our ablation study lends further credence to the hope that powerful generative models can be beneficial for representation learning, and in turn that learning an inference model can improve large-scale generative models. In the future we hope that representation learning can continue to benefit from further advances in generative models and inference models alike, as well as scaling to larger image databases.


The authors would like to thank Aidan Clark, Olivier Hénaff, Aäron van den Oord, Sander Dieleman, and many other colleagues at DeepMind for useful discussions and feedback on this work.


  • (1) Andrew Brock, Jeff Donahue, and Karen Simonyan. Large scale GAN training for high fidelity natural image synthesis. In ICLR, 2019.
  • (2) Carl Doersch, Abhinav Gupta, and Alexei A. Efros. Unsupervised visual representation learning by context prediction. In ICCV, 2015.
  • (3) Carl Doersch and Andrew Zisserman. Multi-task self-supervised visual learning. In ICCV, 2017.
  • (4) Jeff Donahue, Philipp Krähenbühl, and Trevor Darrell. Adversarial feature learning. In ICLR, 2017.
  • (5) Alexey Dosovitskiy, Philipp Fischer, Jost Tobias Springenberg, Martin Riedmiller, and Thomas Brox. Discriminative unsupervised feature learning with exemplar convolutional neural networks. In NeurIPS, 2014.
  • (6) Charles Dugas, Yoshua Bengio, François Belisle, Claude Nadeau, and Rene Garcia. Incorporating second-order functional knowledge for better option pricing. In NeurIPS, 2000.
  • (7) Vincent Dumoulin, Ishmael Belghazi, Ben Poole, Olivier Mastropietro, Alex Lamb, Martin Arjovsky, and Aaron Courville. Adversarially learned inference. In ICLR, 2017.
  • (8) Spyros Gidaris, Praveer Singh, and Nikos Komodakis. Unsupervised representation learning by predicting image rotations. In ICLR, 2018.
  • (9) Aidan N. Gomez, Mengye Ren, Raquel Urtasun, and Roger B. Grosse. The reversible residual network: Backpropagation without storing activations. In NeurIPS, 2017.
  • (10) Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In NeurIPS, 2014.
  • (11) Google. Cloud TPU. Accessed: 2019.
  • (12) Alex Graves, Jacob Menick, and Aäron van den Oord. Associative compression networks. In arXiv:1804.02476, 2018.
  • (13) Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Identity mappings in deep residual networks. In ECCV, 2016.
  • (14) Olivier J. Hénaff, Ali Razavi, Carl Doersch, S. M. Ali Eslami, and Aäron van den Oord. Data-efficient image recognition with contrastive predictive coding. In arXiv:1905.09272, 2019.
  • (15) Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. GANs trained by a two time-scale update rule converge to a local Nash equilibrium. In NeurIPS, 2017.
  • (16) Sergey Ioffe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. In arXiv:1502.03167, 2015.
  • (17) Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In CVPR, 2019.
  • (18) Diederik P. Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In ICLR, 2015.
  • (19) Diederik P. Kingma and Prafulla Dhariwal. Glow: Generative flow with invertible 1x1 convolutions. In arXiv:1807.03039, 2018.
  • (20) Diederik P. Kingma and Max Welling. Auto-encoding variational Bayes. In arXiv:1312.6114, 2013.
  • (21) Alexander Kolesnikov, Xiaohua Zhai, and Lucas Beyer. Revisiting self-supervised visual representation learning. In arXiv:1901.09005, 2019.
  • (22) Anders Boesen Lindbo Larsen, Søren Kaae Sønderby, Hugo Larochelle, and Ole Winther. Autoencoding beyond pixels using a learned similarity metric. In ICML, 2016.
  • (23) Jae Hyun Lim and Jong Chul Ye. Geometric GAN. In arXiv:1705.02894, 2017.
  • (24) Mario Lucic, Michael Tschannen, Marvin Ritter, Xiaohua Zhai, Olivier Bachem, and Sylvain Gelly. High-fidelity image generation with fewer labels. In ICML, 2019.
  • (25) Alireza Makhzani, Jonathon Shlens, Navdeep Jaitly, Ian Goodfellow, and Brendan Frey. Adversarial autoencoders. In ICLR, 2016.
  • (26) Takeru Miyato, Toshiki Kataoka, Masanori Koyama, and Yuichi Yoshida. Spectral normalization for generative adversarial networks. In ICLR, 2018.
  • (27) Deepak Pathak, Ross Girshick, Piotr Dollár, Trevor Darrell, and Bharath Hariharan. Learning features by watching objects move. In CVPR, 2017.
  • (28) Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In ICLR, 2016.
  • (29) Mihaela Rosca, Balaji Lakshminarayanan, David Warde-Farley, and Shakir Mohamed. Variational approaches for auto-encoding generative adversarial networks. In arXiv:1706.04987, 2017.
  • (30) Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma, Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg, and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. IJCV, 2015.
  • (31) Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training GANs. In arXiv:1606.03498, 2016.
  • (32) Wenling Shang, Kihyuk Sohn, Diogo Almeida, and Honglak Lee. Understanding and improving convolutional neural networks via concatenated rectified linear units. In ICML, 2016.
  • (33) Dustin Tran, Rajesh Ranganath, and David M. Blei. Hierarchical implicit models and likelihood-free variational inference. In NeurIPS, 2017.
  • (34) Dmitry Ulyanov, Andrea Vedaldi, and Victor Lempitsky. It takes (only) two: Adversarial generator-encoder networks. In arXiv:1704.02304, 2017.
  • (35) Aäron van den Oord, Yazhe Li, and Oriol Vinyals. Representation learning with contrastive predictive coding. In arXiv:1807.03748, 2018.
  • (36) Aäron van den Oord, Oriol Vinyals, and Koray Kavukcuoglu. Neural discrete representation learning. In arXiv:1711.00937, 2017.
  • (37) Richard Zhang, Phillip Isola, and Alexei A. Efros. Colorful image colorization. In ECCV, 2016.
  • (38) Richard Zhang, Phillip Isola, and Alexei A. Efros. Split-brain autoencoders: Unsupervised learning by cross-channel prediction. In CVPR, 2016.

Appendix A Model and optimization details

Our optimizer matches that of BigGAN [1] – we use Adam [18] with batch size 2048 and the same learning rates and other hyperparameters, using the 𝒢 optimizer to update simultaneously, with the same alternating optimization: two 𝒟 updates followed by a single joint update of 𝒢 and . (We do not use orthogonal regularization used in [1], finding it gave worse results in the unconditional setting, matching the findings of [24].) Spectral normalization [26] is used in 𝒢 and 𝒟, but not in . Full cross-replica batch normalization is used in both 𝒢 and (including for the linear classifier training on features used for evaluations). We also apply exponential moving averaging (EMA) with a decay of 0.9999 to the 𝒢 and weights in all evaluations. (We find this results in only a small improvement for evaluations, but a substantial one for 𝒢 evaluations.)

At BigBiGAN training time, as well as linear classification evaluation training time, we preprocess inputs with ResNet [13]-style data augmentation, though with crops of size 128 or 256 rather than 22455 5 Preprocessing code from the TensorFlow ResNet TPU model:

For linear classification evaluations in the ablations reported in Table 1, we hold out 10K randomly selected images from the official ImageNet [30] training set as a validation set and report accuracy on that validation set, which we call trainval. All results in Table 1 are run for 500K steps, with early stopping based on linear classifier accuracy on our trainval split. In all of these models the linear classifier is initialized to 0 and trained for 5K Adam steps with a (high) learning rate of 0.01 and EMA smoothing with decay 0.9999. We have found it helpful to monitor representation learning progress during BigBiGAN training by periodically rerunning this linear classification evaluation from scratch given the current weights, resetting the classifier weights to 0 before each evaluation.

In Table 2 we extend the BigBiGAN training time to 1M steps, and report results on the official validation set of 50K images for comparison with prior work. The classifier in these results is trained for 100K Adam steps, sweeping over learning rates {10-4,310-4,10-3,310-3,10-2}, again applying EMA with decay 0.9999 to the classifier weights. Hyperparameter selection and early stopping is again based on classification accuracy on trainval. As in [1], FID is reported against statistics over the full ImageNet training set, preprocessed by resizing the minor axis to the 𝒢 output resolution and taking the center crop along the major axis, except as noted in Table 3, where we also report FID against the validation set for comparison with [24].

All models were trained with data parallelism on TPU pod slices [11] using 32 to 512 cores.

Supervised model performance.

In Table 4 we present the results of fully supervised training with the model architectures used in our experiments in Section 3 for comparison purposes.

Architecture Top-1 Top-5
ResNet-50 76.3 93.1
ResNet-101 77.8 93.8
RevNet-50 71.8 90.5
RevNet-50 ×2 74.9 92.2
RevNet-50 ×4 76.6 93.1
Table 4: ImageNet validation set accuracy for fully supervised end-to-end training of the model architectures used in our representation learning experiments.
First layer convolutional filters.

In Figure 3 we visualize the learned convolutional filters for the first convolutional layer of our BigBiGAN encoders using the largest RevNet ×4 architecture. Note the difference between the filters in (a) and (b) (corresponding to rows RevNet ×4 and RevNet ×4 (E LR) in Table 1). In (b) we use the higher learning rate and see a corresponding qualitative improvement in the appearance of the learned filters, with less noise and more Gabor-like and color filters, as observed in BiGAN [4]. This suggests that examining the convolutional filters of the input layer can serve as a diagnostic for undertrained models.

(a) RevNet ×4
(b) + LR
Figure 3: Visualization of first layer convolutional filters for our unsupervised BigBiGAN models with the RevNet ×4 architecture, which includes 1024 filters. (Best viewed with zoom.)

Appendix B Samples and reconstructions

Samples Reconstructions
Model Image IS () FID () Image Rel. 1 Error % ()
Base Figure 4 24.10 30.14 Figure 5 70.54
Light Augmentation Figure 6 27.09 20.96 Figure 7 72.53
High Res (256) Figure 8 24.91 26.56 Figure 9 70.60
High Res 𝒢 (256) Figure 10 25.73 37.21 Figure 11 77.70
Table 5: Links to BigBiGAN samples and reconstructions with associated metrics.

In this Appendix we present BigBiGAN samples and reconstructions from several variants of the method. Table 5 includes pointers to samples and reconstruction images, as well as relevant metrics. The samples were selected by best FID vs. training set statistics, and we show the IS and FID along with sample images at that point. The reconstructions were selected by best (lowest) relative pixel-wise 1 error, the error metric presented in Table 5, computed as:

ERel1 =𝔼𝐱P𝐱||𝐱-𝒢((𝐱))||1𝔼𝐱,𝐱P𝐱||𝐱-𝒢((𝐱))||1,

where 𝐱 and 𝐱 are independent data samples, and ||𝐱-𝒢((𝐱))||1 serves as a “baseline” reconstruction error relative to a “random” input. For example, with a random initialization of 𝒢 and , we have ERel11. This relative metric penalizes degenerate reconstructions, such as the mean image, which would sometimes achieve low absolute reconstruction error despite having no perceptual similarity to the inputs. despite that the resulting images having no perceptual similarity to the inputs. In practice, given N data samples 𝐱0,𝐱1,,𝐱N-1 (we use N= 50K), we estimate the denominator by comparing each sample 𝐱i with a single neighbor 𝐱(i+1)modN, computing:

ERel1 i=0N-1||𝐱i-𝒢((𝐱i))||1i=0N-1||𝐱(i+1)modN-𝒢((𝐱i))||1
Figure 4: 128×128 samples 𝐱^𝒢(𝐳) from an unsupervised BigBiGAN generator 𝒢, trained using the Base method from Table 1.
Figure 5: 128×128 reconstructions from an unsupervised BigBiGAN model, trained using the Base method from Table 1. The top rows of each pair are real data 𝐱P𝐱, and bottom rows are generated reconstructions computed by 𝒢((𝐱)).
Figure 6: 128×128 samples 𝐱^𝒢(𝐳) from an unsupervised BigBiGAN generator 𝒢, trained using the lighter augmentation from [24] with generation results reported in Table 3.
Figure 7: 128×128 reconstructions from an unsupervised BigBiGAN model, trained using the lighter augmentation from [24] with generation results reported in Table 3. The top rows of each pair are real data 𝐱P𝐱, and bottom rows are generated reconstructions computed by 𝒢((𝐱)).
Figure 8: 128×128 samples 𝐱^𝒢(𝐳) from an unsupervised BigBiGAN generator 𝒢, trained using the High Res E (256) configuration from Table 1.
Figure 9: 128×128 reconstructions of 256×256 encoder input images from an unsupervised BigBiGAN model, trained using the High Res E (256) configuration from Table 1. Reconstructions are upsampled from 128×128 to 256×256 for visualization. The top rows of each pair are real data 𝐱P𝐱, and bottom rows are generated reconstructions computed by 𝒢((𝐱)).
Figure 10: 256×256 samples 𝐱^𝒢(𝐳) from an unsupervised BigBiGAN generator 𝒢, trained with a high-resolution and 𝒢 (High Res G (256) from Table 1).
Figure 11: 256×256 reconstructions from an unsupervised BigBiGAN model, trained with a high-resolution and 𝒢 (High Res G (256) from Table 1). The top rows of each pair are real data 𝐱P𝐱, and bottom rows are generated reconstructions computed by 𝒢((𝐱)).

Appendix C Nearest neighbors

Top-1 / Top-5 Acc. (%)
Metric k=1 k=5 k=25 k=50
D1 38.09 / - 41.28 / 58.56 43.32 / 65.12 42.73 / 66.22
D2 35.68 / - 38.61 / 55.59 40.65 / 62.23 40.15 / 63.42
Table 6: Accuracy of k nearest neighbors classifiers in BigBiGAN feature space on the ImageNet validation set. We report results under the normalized 1 distance D1 as well as the normalized 2 (cosine) distance D2.

In this Appendix we consider an alternative way of evaluating representations –- by means of k nearest neighbors classification, which does not involve learning any parameters during evaluation and is even simpler than learning a linear classifier as done in Section 3. For all results in this section, we use the outputs of the global average pooling layer (a flat 8192D feature) of our best performing model, RevNet ×4, E LR. We do not do any data augmentation for either the training or validation sets: we simply crop each image at the center of its larger axis and resize to 256×256.

We use a normalized 1 or 2 distance metric as our nearest neighbors criterion, defined as Dp(a,b)=||a||a||p-b||b||p||p, for p{1,2}. (D2 corresponds to cosine distance.) For label predictions with multiple neighbors (k>1), we use a simple counting scheme: the label with the most votes is selected as the prediction. Ties (multiple labels with the same number of votes) are broken by k=1 nearest neighbor classification among the data with the tied labels.

Quantitative results.

In Table 6 we present k nearest neighbors classification results for k{1,5,25,50}. Across all k, the 1-based metric D1 outperforms D2, and the remainder of our discussion refers to the D1 results. With just a single neighbor (k=1) we achieve a top-1 accuracy around 38%. Top-1 accuracy reaches 43% with k=25, dropping off slightly at k=50 as votes from more distant neighbors are added.

Qualitative results.

Figure 12 shows sample nearest neighbors in the ImageNet training set for query images in the validation set. Despite being fully unsupervised, the neighbors in many cases match the query image in terms of high-level semantic content such as the category of the object of interest, demonstrating BigBiGAN’s ability to capture high-level attributes of the data in its unsupervised representations. Where applicable, the object’s pose and position in the image appears to be important as well – for example, the nearest neighbors of the RV (row 2, column 2) are all RVs facing roughly the same direction. In other cases, the nearest neighbors appear to be selected primarily based on the background or color scheme.


While our quantitative k nearest neighbors classification results are far from the state of the art for ImageNet classification and significantly below the linear classifier-based results reported in Table 2, note that in this setup, no supervised learning of model parameters from labels occurs at any point: labels are predicted purely based on distance in a feature space learned from BigBiGAN training on image pixels alone. We believe this makes nearest neighbors classification an interesting additional benchmark for future approaches to unsupervised representation learning.

Figure 12: Nearest neighbors in BigBiGAN feature space, from our best performing model (RevNet ×4, E LR). In each row, the first (left) column is a query image, and the remaining columns are its three nearest neighbors from the training set (the leftmost being the nearest, next being the second nearest, etc.). The query images above are the first 24 images in the ImageNet validation set.

Appendix D Learning curves

In this Appendix we present learning curves showing how the image generation and representation learning metrics that we measured evolve throughout training, as a more detailed view of the results in Section 3, Table 1. We include plots for the following results:

  • Image generation (Figure 13)

  • Latent distribution P𝐳 and stochastic (Figure 14)

  • Unary loss terms (Figure 15)

  • 𝒢 capacity (Figure 16)

  • High resolution with varying resolution 𝒢 (Figure 17)

  • architecture (Figure 18)

  • Decoupled /𝒢 learning rates (Figure 19)

Figure 13: Image generation learning curves for several of the ablations in Section 3, including a comparison of BigBiGAN to standard GAN. Legend entries correspond to the following rows in Table 1: Base, No E (GAN), and High Res E (256).
Figure 14: Image generation and representation learning curves for the latent space variations explored in Section 3. Legend entries correspond to the following rows in Table 1: Base, Deterministic E, and Uniform Pz.
Figure 15: Image generation and representation learning curves for the unary loss component variations explored in Section 3. Legend entries correspond to the following rows in Table 1: Base, 𝐱 Unary Only, 𝐳 Unary Only, and No Unaries (BiGAN).
Figure 16: Image generation and representation learning curves for the 𝒢 size variations explored in Section 3. Legend entries correspond to the following rows in Table 1: Base, Small G (32), and Small G (64).
Figure 17: Image generation and representation learning curves for high resolution with varying resolution 𝒢 explored in Section 3. Legend entries correspond to the following rows in Table 1: High Res E (256), Low Res G (64), and High Res G (256).
Figure 18: Image generation and representation learning curves for the architecture variations explored in Section 3. Legend entries correspond to the following rows in Table 1: High Res E (256), ResNet-101, ResNet ×2, RevNet, RevNet ×2, and RevNet ×4.
Figure 19: Image generation and representation learning curves showing the effect of decoupling the and 𝒢 optimizers to train with 10× higher learning rate. Legend entries correspond to the following rows in Table 1: High Res E (256), ResNet (E LR), RevNet ×4, and RevNet ×4 (E LR).