1 Introduction
Generative Adversarial Networks (GAN) Goodfellow2014GenerativeAN have introduced a new paradigm for realistic data generation. The following approaches have shown impressive improvements in un/conditional image synthesis tasks Radford2016UnsupervisedRL ; Arjovsky2017WassersteinG ; Miyato2018SpectralNF ; Zhang2019SelfAttentionGA ; Brock2019LargeSG ; Zhang2019ConsistencyRF ; Zhao2020ImprovedCR ; Wu2019LOGANLO . The studies on nonconvexity of objective landscapes Kodali2018OnCA ; Li2018OnTL ; Nagarajan2017GradientDG and gradient vanishing problems Arjovsky2017WassersteinG ; Li2018OnTL ; Mao2017LeastSG ; Arjovsky2017TowardsPM emphasize the instability of the adversarial dynamics. Therefore, many approaches have tried to stabilize the training procedure by adopting wellbehaved objectives Arjovsky2017WassersteinG ; Mao2017LeastSG ; Lim2017GeometricG and regularization techniques Miyato2018SpectralNF ; Zhang2019ConsistencyRF ; Gulrajani2017ImprovedTO . In particular, spectral normalization Miyato2018SpectralNF with the projection discriminator Miyato2018cGANsWP makes the first success in generating images of ImageNet dataset Deng2009ImageNetAL . SAGAN Zhang2019SelfAttentionGA shows using spectral normalization on both the generator and discriminator can alleviate training instability of GANs. BigGAN Brock2019LargeSG dramatically advances the quality of generated images by scaling up the number of network parameters and batch size.
On this journey, conditioning class information for the generator and discriminator turns out to be the secret behind the realistic image synthesis Miyato2018cGANsWP ; Odena2017ConditionalIS ; Siarohin2019WhiteningAC . ACGAN Odena2017ConditionalIS
validates this direction by training a softmax classifier along with the discriminator. cGAN
Miyato2018cGANsWP utilizes a projection discriminator with probabilistic model assumptions. Especially, cGAN shows surprising image synthesis results and becomes the basic model adopted by SNResGAN Miyato2018SpectralNF , SAGAN Zhang2019ConsistencyRF , BigGAN Brock2019LargeSG , CRGAN Zhang2019ConsistencyRF , and LOGAN Wu2019LOGANLO . However, the cGAN does not take datatodata relationships into account to discriminate the classes of given images. The ACGAN is known to be unstable when the number of classes increases Miyato2018cGANsWP ; Odena2017ConditionalIS .In this paper, we propose a new conditional generative adversarial network framework. It is called Contrastive Generative Adversarial Networks (ContraGAN). To design ContraGAN, we formulate a lower bound on mutual information of image features and propose to use a novel class conditional contrastive loss (2C loss). We show the 2C loss can maximize the lower bound on mutual information between latent image features from the same class. Unlike previous class conditional approaches, such as ACGAN and cGAN, ContraGAN pulls for the embeddings of images from the discriminator to be close to each other when the class label is the same, but it pushes far away otherwise. In this manner, the discriminator can capture not only class information but also datatodata relations between samples in the same batch. An illustrative figure of 2C loss is shown in Fig. 0(f).
We performed conditional images synthesis experiments on CIFAR10 Krizhevsky2009LearningML and Tiny ImageNet Tiny datasets using various backbone network architectures, such as SNDCGAN Miyato2018SpectralNF , SNResGAN Gulrajani2017ImprovedTO ; Miyato2018SpectralNF , and BigGAN Brock2019LargeSG that are equipped with spectral normalization. Through exhaustive experiments, we demonstrate that the proposed ContraGAN improves the stateoftheartmodels by 3.7% in CIFAR10 and by 11.2% in Tiny ImageNet in terms of Frechet Inception Distance (FID) ttur2010inline . Since ContraGAN can learn plentiful datatodata relations from large batches, it can reduce FID significantly without hard negative and positive mining. In ablation study, we show that our ContraGAN can benefit from consistency regularization Zhang2019ConsistencyRF that uses data augmentations.
Illustrative figures visualize the metric learning losses (a,b,c) and conditional GANs (d,e,f). The objective of all losses is to collect samples if they have the same label but keep them away otherwise. The color indicates the class label, and the shape represents the role. (Square) an embedding of an image. (Diamond) an augmented embedding. (Circle) a reference. Each loss is applied to the reference. (Star) the embedding of a class label. (Triangle) the onehot encoding of a class label. The thicknesses of red and blue lines represents the strength of pull and push force, respectively. Compared to ACGAN and cGAN, our loss is inspired by XTXent to consider datatodata relationships and to infer full information without data augmentation.
In summary, the contributions of our work are as follows:

We introduce a novel, Contrastive Generative Adversarial Network (ContraGAN), that learns datatodata relationships and improves the stateoftheartresults by 3.7% and 11.2% on CIFAR10 and Tiny ImageNet datasets, respectively.

We formulate one of the lower bounds on mutual information between images from the same class label. Based on this, we propose a novel conditional contrastive loss (2C loss) for conditional image synthesis.

Our approach shows the superior synthesis result without data augmentations for consistency regularization. In addition, ContraGAN can give improved image generation results on Tiny ImageNet dataset with consistency regularization.

We carefully implement the nine stateoftheartapproaches Radford2016UnsupervisedRL ; Arjovsky2017WassersteinG ; Miyato2018SpectralNF ; Zhang2019SelfAttentionGA ; Brock2019LargeSG ; Zhang2019ConsistencyRF ; Gulrajani2017ImprovedTO ; Miyato2018cGANsWP ; Odena2017ConditionalIS for the fair comparison. Due to standardized modules, our implementation of the prior arts achieves even better performances than FID scores reported in the original papers.
2 Background
2.1 Generative Adversarial Networks
Generative adversarial networks (GAN) Goodfellow2014GenerativeAN are implicit generative models that use a generator and a discriminator to synthesize realistic images. While the discriminator () should distinguish whether the given images are synthesized or not, the generator (
) tries to fool the discriminator by generating realistic images from noise vectors. The objective of the adversarial training is in the following:
(1) 
where is the real data distribution, and is a predefined prior distribution, typically multivariate gaussian. Since the dynamics between the generator and discriminator is unstable and hard to achieve the Nash equilibrium Nash1951NONCOOPERATIVEG , there are many objective functions Arjovsky2017WassersteinG ; Mao2017LeastSG ; Lim2017GeometricG ; Nowozin2016fGANTG and regularization techniques Miyato2018SpectralNF ; Zhang2019ConsistencyRF ; Gulrajani2017ImprovedTO ; Brock2017NeuralPE to help networks to converge in a proper equilibrium.
2.2 Conditional GAN
To synthesize realistic images, one of the widely used strategies is utilizing class label information. Early approaches in this category are conditional variational autoencoder (CVAE) Sohn2015LearningSO and conditional generative adversarial networks Mirza2014ConditionalGA . These approaches concatenate input image vectors with the corresponding labels to manipulate the class conditional latent features of images. Since DCGAN Radford2016UnsupervisedRL demonstrated highresolution image synthesis, GANs utilizing class label information has shown advanced performances Brock2019LargeSG ; Zhang2019ConsistencyRF ; Wu2019LOGANLO ; Zhao2020ImprovedCR .
The most common approach for the conditional image synthesis is to inject label information into the generator and discriminator of GANs. ACGAN attaches an auxiliary classifier on the top of convolution layers in the discriminator to distinguish the classes between images. An illustration of ACGAN is shown in Fig. 1(a). cGAN points out that ACGAN is likely to generate classifiable images, but the images are not diverse due to a mode collapse problem. cGAN proposes a projection discriminator to relive the issue. However, these approaches do not explicitly consider datatodata relations in the training phase (see Fig. 0(e)). Besides, the recent study by Wu et al. Wu2019LOGANLO discovers that the conditional GAN model Brock2019LargeSG still suffers from a mode dropping phenomenon.
In this paper, we propose a new conditional GAN framework that explicitly pulls and pushes the image embeddings in a batch using a conditional contrastive loss. Our approach can generate more realistic and diverse images than ACGAN Odena2017ConditionalIS and cGAN Miyato2018cGANsWP .
3 Method
This section introduces the proposed ContraGAN. First, we introduce a proposition about the lower bound on mutual information between any images from the same image class. We show that maximizing the lower bound can be an objective for conditional GANs (Sec. 3.1). Then, we bridge maximizing the lower bound with metric learning objectives and introduce a new conditional contrastive loss (2C loss) that can maximize the formulated lower bound on mutual information (Sec. 3.2). Lastly, we combine the mutual information maximization with GAN frameworks to generate more realistic images using datatodata relations and class label information (Sec. 3.3).
3.1 Maximizing Lower bound on Mutual Information
The motivation of our approach is based on the view regarding the mutual information between images. The mutual information between two random variables is minimum when the random variables are independent of each other. If the two random variables are closely related, they will have a substantial value of the mutual information. In practice, we can think that images may have common latent features if they can be categorized in the same class. From this idea, we can deduce that encoder features of two images with the same class label should have a substantial value of the mutual information. Any network that can produce such encoder features is desirable for the conditional image synthesis.
Understanding a lower bound on mutual information between images with the same class label is essential to make such a desirable framework. It is because we can determine an additive objective for GAN pipeline to control the mutual information between images depending on the label. Our approach is inspired by Tian et al. Tian2020ContrastiveRD ’s work. They propose a way to maximize the lower bound on mutual information between a teacher and a student network for knowledge distillation Tian2020ContrastiveRD . While Tian et al. ’s work handles the mutual information between different embeddings from the same image, our work concentrates on the mutual information of different images with the same label. Thus, we can expand our lower bound on mutual information and introduce the following Proposition:
Proposition 1. Let be a random variable vector of images and a random variable of corresponding labels, respectively. Using this, we can sample tuples () and (
) from the joint distribution
. Let be a indicator function: . Then, is one of the lower bounds on mutual information between and .We put the proof of Proposition 1 in the supplement. Proposition 1 indicates that the lower bound on mutual information is determined by the expectation of log posterior , because is constant if the number of images per class is the same. In other words, if there is an encoder that makes embeddings of images, and if there is a classifier that takes two image features and correctly determines whether two images belong to the same image class, that would be equivalent to maximizing the lower bound on mutual information.
3.2 Conditional Contrastive Loss
Intuitively, the message from Proposition 1 is quite similar to the fundamental goal for metric learning Chen2020ASF ; Hoffer2015DeepML ; Hadsell2006DimensionalityRB ; Law2013QuadrupletWiseIS ; Sohn2016ImprovedDM ; Aziere2019EnsembleDM ; Opitz2020DeepML . Therefore, our approach is to add metric learning objectives in the discriminator and generator to explicitly control distances between embedded image features depending on the labels. Several metric learning losses, such as contrastive loss Hadsell2006DimensionalityRB , triplet loss Hoffer2015DeepML , quadruplet loss Law2013QuadrupletWiseIS , and Npair loss Sohn2016ImprovedDM could be adopted for our model. However, it is known that mining informative triplets and quadruplets require higher training complexity, and poor tuples make the training time longer. While the proxybased losses MovshovitzAttias2017NoFD ; Aziere2019EnsembleDM ; Opitz2020DeepML relieves mining complexity using trainable embedding vectors, such losses do not explicitly account datatodata relationships kim2020proxy .
Before introducing the proposed 2C loss, we bring XTXent loss Chen2020ASF to express our idea better. Let , where be a randomly sampled minibatch of training images and , where
be the collection of corresponding class labels. Then, we define a deep neural network encoder
and a projection layer that embeds onto a new unit hypersphere Then, we can map the data space to the hypersphere using the composition of . XTXent loss conducts random data augmentations on the training data and denote it as . Using the above, we can formulate the XTXent loss as follows:(6) 
where the scalar value is called temperature to control push and pull force. In this work, we use the part of the discriminator network before the fully connected layers () as the encoder network (
) and use multilayer perceptrons parameterized by
as the projection layer (). As a result, we can map the data space to the unit hyper sphere using .However, Eq. (6
) requires proper data augmentations and spends much time on propagation and backpropagation. To release the issues, we propose to use the
embeddings of class labels instead of explicit data augmentations. With a class embedding function , Eq. (6) can be formulated as follows:(7) 
Eq. 7 pulls a reference sample nearer the class embedding and pushes the others. This scheme may push negative samples which have the same label as
. Therefore, we make an exception by adding cosine similarities of such negative samples in the numerator of Eq.
7. The final loss function is as follows:
(8) 
Eq. (8) is the proposed conditional contrastive loss (2C loss). 2C loss follows the lesson from Proposition 1 – it minimizes distances between the embeddings of images with the same label while maximizing the others. 2C loss explicitly considers datatodata relationships and the datatoclass relationship without comprehensive mining of the training dataset and augmentations.
3.3 Contrastive Generative Adversarial Networks
With the proposed 2C loss, we describe the framework, called ContraGAN and introduce the training procedure. Like the typical training procedure, ContraGAN has a discriminator training step and a generator training step that compute an adversarial loss. With this foundation, ContraGAN additionally calculates 2C loss using a set of real or fake images. Algorithm 1 shows the training procedure of the proposed ContraGAN. A notable aspect is that 2C loss is computed using real images in the discriminator training step and generated images in the generator training step.
In this manner, the discriminator updates itself by maximizing the lower bound on mutual information of real images from the same class. By forcing the embeddings to be dependent via 2C loss, the discriminator can learn useful representations of real images. Similarly, the generator exploits knowledge of the discriminator, such as intraclass characteristics and higherorder representations of the real images, to generate more realistic images.
4 Experiments
4.1 Datasets and the evaluation metric
We perform experiments with relatively small datasets, such as CIFAR10 Krizhevsky2009LearningML and Tiny ImageNet Tiny , to focus on analyzing the proposed idea and other approaches with various configurations.
CIFAR10 Krizhevsky2009LearningML is the widely used benchmark dataset in many image synthesis works Miyato2018SpectralNF ; Brock2019LargeSG ; Zhang2019ConsistencyRF ; Zhao2020ImprovedCR ; Wu2019LOGANLO ; Miyato2018cGANsWP ; Odena2017ConditionalIS and contains pix. color images of 10 different classes that makes 60,000 images in total. It is divided into 50,000 images for training and 10,000 images for testing.
Tiny ImageNet Tiny provides 120,000 color images in total. Image size is pix., and the dataset consists of 200 categories. Each category has 600 images divided into 500, 50, and 50 samples for training, validation, and testing. Tiny ImageNet has 10 smaller number of images per class than CIFAR10, but it provides larger number of classes than CIFAR10. Compared to CIFAR10, Tiny ImageNet is selected to test a more challenging scenario – the number of images per class is not plentiful, and the network needs to learn more categories.
Frechet Inception Distance (FID)
is the evaluation metric for the experiments in this paper. The FID proposed by Heusel
et al. Heusel2017GANsTB calculates Wasserstein2 distance Wasserstein1969MarkovPO between the features obtained from real images and generated images using InceptionV3 network Szegedy2016RethinkingTI . Since FID is distance between two distributions, lower FID indicates better results.4.2 Software
There are various approaches that report strong FID scores, but it is not easy to reproduce the results because detailed specifications for training or ways to measure the results are not clearly stated. For instance, FID could be different depending on the choice of the reference image dataset (test or validation sets could be used). Besides, FIDs and performances of prior work could not be consistent, depending on the TensorFlow version
tensorflow2015whitepaper . Therefore, we reimplement the nine stateoftheart conditional GANs Radford2016UnsupervisedRL ; Arjovsky2017WassersteinG ; Miyato2018SpectralNF ; Zhang2019SelfAttentionGA ; Brock2019LargeSG ; Zhang2019ConsistencyRF ; Gulrajani2017ImprovedTO ; Miyato2018cGANsWP ; Odena2017ConditionalIS to validate the proposed ContraGAN under the same condition. Our implementation carefully follows principal concepts and available specifications. Experimental results show that results from our implementation are superior to the numbers in the original papers Miyato2018SpectralNF ; Brock2019LargeSG . We hope that our implementation would relieve efforts to compare various GAN pipelines. The software will be released to the public.4.3 Experimental setup
To conduct reliable assessments, all experiments that use CIFAR10 dataset are performed three times with different random seeds, and we report endtime performance using means and standard deviations of FIDs. Experiments using Tiny ImageNet are executed once and reported the best performance during the training. We calculate FID using CIFAR10’s 10,000 test images and the same amount of generated images. We compute FID using Tiny ImageNet’s 10,000 validation images and the same amount of generated images. All FID values reported in our paper are calculated using the PyTorch FID implementation
pytorchttur .Since spectral normalization Miyato2018SpectralNF has become the essential element in modern GAN training, we use Hinge loss Lim2017GeometricG and apply spectral normalization on all architectures used in our experiments. We adopt modern architectures used in the papers: SNDCGAN Radford2016UnsupervisedRL ; Miyato2018SpectralNF , SNResGAN Gulrajani2017ImprovedTO , and BigGAN Brock2019LargeSG
, and all details about the architectures are described in the supplement. Since ACGAN concatenates random noise vectors with class labels, using the original ACGAN implementation may produce unfair results. Therefore, we unify the protocol of conditioning the generator in all experiments and use the conditional batch normalization
Dumoulin2017ALR ; de_Vries ; Miyato2018cGANsWP , which is the way adopted by the original cGAN.Before conducting the main experiments, we investigate the performance change according to the type of projection layer in Eq. (7) and batch size. Although Chen et al. Chen2020ASF reports that the higherdimensional projection layer and larger batch size make better test accuracy, we found that the linear projection with batch size 64 for CIFAR10 and 1,024 for Tiny ImageNet performs the best. We select 512 dimensions for CIFAR10 and 768 dimensions for Tiny ImageNet generation experiments. We do a grid search to find a proper temperature () used in Eq. 8 and experimentally found that the temperature of gives the best results. Detailed hyperparameter settings used in our experiments are described in the supplement.
Dataset  Backbone  Method for class information conditioning  

ACGAN Odena2017ConditionalIS  cGAN Miyato2018cGANsWP  Our ContraGAN  
CIFAR10 Krizhevsky2009LearningML  SNDCGAN Radford2016UnsupervisedRL ; Miyato2018SpectralNF  21.4390.581  19.524 0.249  18.7880.571 
SNResGAN Gulrajani2017ImprovedTO  11.5880.093  11.025 0.177  11.3340.126  
BigGAN Brock2019LargeSG  10.6970.129  10.7390.016  10.5970.273  
Tiny ImageNet Tiny  BigGAN Brock2019LargeSG  221.381  40.981  32.094 
Dataset  SNResGAN Miyato2018SpectralNF  SAGAN Zhang2019SelfAttentionGA  BigGAN Brock2019LargeSG  Our ContraGAN  Improvement 

CIFAR10 Krizhevsky2009LearningML  *17.5  17.283  *14.73/10.722  10.322  *+29.9%/+3.7% 
Tiny ImageNet Tiny  46.969  42.558  34.090  30.286  +11.2% 
4.4 Evaluation results
Comparison with other conditional GANs. We compare ContraGAN with ACGAN Odena2017ConditionalIS and cGAN Miyato2018cGANsWP , since these approaches are representative ones using class information conditioning. As shown in Table 1, our approach shows favorable performances in CIFAR10, but our approach exhibits larger variations. Examples of generated images is shown in Fig. 3 (left). Experiment with Tiny ImageNet indicates that our ContraGAN is more effective when the target dataset is in the higherdimensional space and has large interclass variations.
Comparison with stateoftheart models. We compare our method with SNResGAN Miyato2018SpectralNF , SAGAN Zhang2019SelfAttentionGA , and BigGAN Brock2019LargeSG . All of these approaches adopt cGAN Miyato2018cGANsWP for class information conditioning. We conduct all experiments on Tiny ImageNet dataset using the hyperparameter setting used in SAGAN Zhang2019SelfAttentionGA with BigGAN as the backbone architecture and report the best FID values during training. For fair comparison, we use our implementation of BigGAN to produce better FID than the original papers Brock2019LargeSG ; Zhang2019ConsistencyRF .
If we consider the most recent works that are underreview or just got accepted, CRGAN Zhang2019ConsistencyRF , ICRGAN Zhao2020ImprovedCR , and LOGAN Wu2019LOGANLO can generate more realistic images than the BigGAN. Compared to such approaches, we show that our framework outperforms BigGAN by just adopting the proposed 2C loss. CRGAN, and ICRGAN conduct explicit data augmentations during the training, which require additional gradient calculations for the backpropagation. LOGAN needs one more feedforward and backpropagation processes for latent optimization and takes about two times longer for training than standard GANs.
As a result, we identify how our ContraGAN performs without explicit data augmentations or latent optimization. Table 2 quantitatively shows ContraGAN can synthesize images better than other stateoftheart GAN models under the same conditions. Compared to BigGAN, ContraGAN improves the performances by 3.7% on CIFAR10 and 11.2% on Tiny ImageNet. If we use the reported number in BigGAN paper Brock2019LargeSG , the improvement is 29.9% on CIFAR10.
4.5 Ablation study
We study how ContraGAN can be improved further with a large batch size and data augmentations. We use cGAN with BigGAN architecture on Tiny imageNet for this study. We use consistency regularization (CR) Zhang2019ConsistencyRF to identify our ContraGAN can benefit from regularization that uses data augmentations. Also, to identify 2C loss is not only computationally cheap but also effective to train GANs, we replace the class embeddings with augmented positive images (APS). APS is widely used in the selfsupervised contrastive learning work Chen2020ASF ; Khosla2020SupervisedCL . Table 3 shows the experiment settings, FID, and time per iteration. We indicate the number of parameters as Param. and denote three ablations – (the 2C loss, augmented positive samples (APS), and consistency regularization (CR)) as Reg.
Large batch size. (A, C) and (E, H) show that ContraGAN can benefit from large batch size.
Effect of the proposed 2C loss. (A, E) and (C, H) show that the proposed 2C loss significantly reduces FID scores of the vanilla networks (A, C) by 21.6% and 11.2%, respectively.
Comparison with APS. From the experiments (E, F), we can see that the 2C loss performs better than 2C loss + APS, despite the latter takes about 12.9% more time. We speculate this is because each class embedding can become the representatives of the class, and it serves as the anchor that pulls corresponding images. Without the class embeddings, images in a minibatch are collected depending on a sampling state, and this may lead to training instability.
Comparison with CR. (A, E, G) and (C, H, I) show that vanilla + 2C loss + CR can reduce FID of either the results from vanilla networks (A, C) and vanilla + 2C loss (E, H). Note that the synergy is only observable if CR is used with 2C loss, and vanilla + 2C loss + CR beats vanilla + CR (B, D) with a large margin. Results are shown in Fig. 3 (right).
ID  (A)  (B)  (C)  (D)  (E)  (F)  (G)  (H)  (I) 

Batch  256  256  1024  1024  256  256  256  1024  1024 
Param.  48.1  48.1  48.1  48.1  49.0  49.0  49.0  49.0  49.0 
Reg.        ✓        ✓  ✓   ✓✓  ✓ ✓  ✓   ✓ ✓ 
FID  40.981  36.434  34.090  38.231  32.094  33.151  28.631  30.286  27.018 
Time  0.901  1.093  3.586  4.448  0.967  1.110  1.121  3.807  4.611 
5 Conclusion
In our paper, we formulate a lower bound on mutual information between images categorized to the same class. Using this, we present a new Contrastive Generative Adversarial Networks (ContraGAN) that maximizes the lower bound on mutual information using a new conditional contrastive loss (2C loss). Unlike previous losses used in conditional GANs, the 2C loss considers not only datatoclass but also datatodata relationships. Under the same condition, we demonstrated that our ContraGAN achieved stateoftheart performances on conditional image synthesis on CIFAR10 and Tiny ImageNet datasets. Also, we identified ContraGAN performs even better when consistency regularization is applied. As future work, we would like to explore that the advanced regularization techniques Zhao2020ImprovedCR ; Wu2019LOGANLO and generator conditional way Siarohin2019WhiteningAC can improve our framework further. Also, we would like to conduct a largescale conditional image synthesis experiment using ImageNet dataset Deng2009ImageNetAL .
References
 [1] Ian Goodfellow, Jean PougetAbadie, Mehdi Mirza, Bing Xu, David WardeFarley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative Adversarial Nets. In Advances in Neural Information Processing Systems (NeurIPS), pages 2672–2680, 2014.
 [2] Alec Radford, Luke Metz, and Soumith Chintala. Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks. arXiv preprint arXiv 1511.06434, 2016.
 [3] Martín Arjovsky, Soumith Chintala, and Léon Bottou. Wasserstein GAN. arXiv preprint arXiv 1701.07875, 2017.
 [4] Takeru Miyato, Toshiki Kataoka, Masanori Koyama, and Yuichi Yoshida. Spectral Normalization for Generative Adversarial Networks. In Proceedings of the International Conference on Learning Representations (ICLR), 2018.

[5]
Han Zhang, Ian Goodfellow, Dimitris Metaxas, and Augustus Odena.
SelfAttention Generative Adversarial Networks.
In
Proceedings of the International Conference on Machine Learning (ICML)
, pages 7354–7363, 2019.  [6] Andrew Brock, Jeff Donahue, and Karen Simonyan. Large Scale GAN Training for High Fidelity Natural Image Synthesis. In Proceedings of the International Conference on Learning Representations (ICLR), 2019.
 [7] Han Zhang, Zizhao Zhang, Augustus Odena, and Honglak Lee. Consistency Regularization for Generative Adversarial Networks. In Proceedings of the International Conference on Learning Representations (ICLR), 2020.
 [8] Zhengli Zhao, Sameer Singh, Honglak Lee, Zizhao Zhang, Augustus Odena, and Han Zhang. Improved Consistency Regularization for GANs. arXiv preprint arXiv 2002.04724, 2020.
 [9] Yan Wu, Jeff Donahue, David Balduzzi, Karen Simonyan, and Timothy P. Lillicrap. LOGAN: Latent Optimisation for Generative Adversarial Networks. arXiv preprint arXiv 1912.00953, 2019.
 [10] Naveen Kodali, James Hays, Jacob D. Abernethy, and Zsolt Kira. On Convergence and Stability of GANs. arXiv preprint arXiv 1705.07215, 2018.
 [11] Jerry Li, Aleksander Madry, John Peebles, and Ludwig Schmidt. On the Limitations of FirstOrder Approximation in GAN Dynamics. In Proceedings of the International Conference on Machine Learning (ICML), 2018.
 [12] Vaishnavh Nagarajan and J. Zico Kolter. Gradient descent GAN optimization is locally stable. In Advances in Neural Information Processing Systems (NeurIPS), pages 5585–5595, 2017.

[13]
Xudong Mao, Qing Li, Haoran Xie, Raymond Y. K. Lau, Zhixiang Wang, and
Stephen Paul Smolley.
Least Squares Generative Adversarial Networks.
In
Proceedings of the International Conference on Computer Vision (ICCV)
, pages 2813–2821, 2017.  [14] Martín Arjovsky and Léon Bottou. Towards Principled Methods for Training Generative Adversarial Networks. In Proceedings of the International Conference on Learning Representations (ICLR), 2017.
 [15] Jae Hyun Lim and Jong Chul Ye. Geometric GAN. arXiv preprint arXiv 1705.02894, 2017.
 [16] Ishaan Gulrajani, Faruk Ahmed, Martin Arjovsky, Vincent Dumoulin, and Aaron C Courville. Improved Training of Wasserstein GANs. In Advances in Neural Information Processing Systems (NeurIPS), pages 5767–5777, 2017.
 [17] Takeru Miyato and Masanori Koyama. cGANs with Projection Discriminator. In Proceedings of the International Conference on Learning Representations (ICLR), 2018.

[18]
Jia Deng, Wei Dong, Richard Socher, LiJia Li, Kai Li, and FeiFei Li.
ImageNet: A largescale hierarchical image database.
In
Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR)
, pages 248–255, 2009.  [19] Augustus Odena, Christopher Olah, and Jonathon Shlens. Conditional Image Synthesis with Auxiliary Classifier GANs. In Proceedings of the International Conference on Machine Learning (ICML), pages 2642–2651, 2017.
 [20] Aliaksandr Siarohin, Enver Sangineto, and Nicu Sebe. Whitening and Coloring Batch Transform for GANs. In Proceedings of the International Conference on Learning Representations (ICLR), 2019.
 [21] Alex Krizhevsky. Learning Multiple Layers of Features from Tiny Images. PhD thesis, University of Toronto, 2012.
 [22] Johnson et al. Tiny ImageNet Visual Recognition Challenge. https://tinyimagenet.herokuapp.com.
 [23] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Two timescale update rule for training GANs. https://github.com/bioinfjku/TTUR, 2018.
 [24] Elad Hoffer and Nir Ailon. Deep Metric Learning Using Triplet Network. In SIMBAD, 2015.
 [25] Yair MovshovitzAttias, Alexander Toshev, Thomas K. Leung, Sergey Ioffe, and Saurabh Singh. No Fuss Distance Metric Learning Using Proxies. In Proceedings of the International Conference on Computer Vision (ICCV), pages 360–368, 2017.
 [26] Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey E. Hinton. A Simple Framework for Contrastive Learning of Visual Representations. arXiv preprint arXiv 2002.05709, 2020.
 [27] John Nash. NonCooperative Games. Annals of mathematics, pages 286–295, 1951.
 [28] Sebastian Nowozin, Botond Cseke, and Ryota Tomioka. fGAN: Training Generative Neural Samplers using Variational Divergence Minimization. In Advances in Neural Information Processing Systems (NeurIPS), pages 271–279, 2016.
 [29] Andrew Brock, Theodore Lim, James M. Ritchie, and Nick Weston. Neural Photo Editing with Introspective Adversarial Networks. In Proceedings of the International Conference on Learning Representations (ICLR), 2017.
 [30] Kihyuk Sohn, Honglak Lee, and Xinchen Yan. Learning structured output representation using deep conditional generative models. In Advances in Neural Information Processing Systems (NeurIPS), pages 3483–3491, 2015.
 [31] Mehdi Mirza and Simon Osindero. Conditional Generative Adversarial Nets. arXiv preprint arXiv 1411.1784, 2014.
 [32] Yonglong Tian, Dilip Krishnan, and Phillip Isola. Contrastive Representation Distillation. In Proceedings of the International Conference on Learning Representations (ICLR), 2020.
 [33] Raia Hadsell, Sumit Chopra, and Yann LeCun. Dimensionality Reduction by Learning an Invariant Mapping. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pages 1735–1742, 2006.

[34]
Marc T. Law, Nicolas Thome, and Matthieu Cord.
QuadrupletWise Image Similarity Learning.
In Proceedings of the International Conference on Computer Vision (ICCV), pages 249–256, 2013.  [35] Kihyuk Sohn. Improved Deep Metric Learning with Multiclass Npair Loss Objective. In Advances in Neural Information Processing Systems (NeurIPS), pages 1857–1865, 2016.
 [36] Nicolas Aziere and Sinisa Todorovic. Ensemble Deep Manifold Similarity Learning Using Hard Proxies. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pages 7291–7299, 2019.
 [37] Michael Opitz, Georg Waltner, Horst Possegger, and Horst Bischof. Deep Metric Learning with BIER: Boosting Independent Embeddings Robustly. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 42:276–290, 2020.
 [38] Sungyeon Kim, Dongwon Kim, Minsu Cho, and Suha Kwak. Proxy Anchor Loss for Deep Metric Learning. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), 2020.
 [39] Diederik P. Kingma and Jimmy Ba. Adam: A Method for Stochastic Optimization. arXiv preprint arXiv 1412.6980, 2015.
 [40] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. GANs Trained by a Two TimeScale Update Rule Converge to a Local Nash Equilibrium. In Advances in Neural Information Processing Systems (NeurIPS), pages 6626–6637, 2017.
 [41] Leonid Nisonovich Vaserstein. Markov processes over denumerable products of spaces, describing large systems of automata. Problemy Peredachi Informatsii, 5(3):64–72, 1969.
 [42] Christian Szegedy, Vincent Vanhoucke, Sergey Ioffe, Jon Shlens, and Zbigniew Wojna. Rethinking the Inception Architecture for Computer Vision. In Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition (CVPR), pages 2818–2826, 2016.
 [43] Martín Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, Andrew Harp, Geoffrey Irving, Michael Isard, Yangqing Jia, Rafal Jozefowicz, Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dandelion Mané, Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Mike Schuster, Jonathon Shlens, Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, Vincent Vanhoucke, Vijay Vasudevan, Fernanda Viégas, Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. TensorFlow: LargeScale Machine Learning on Heterogeneous Systems, 2015.
 [44] mseitzer. A Port of Fréchet Inception Distance (FID score) to PyTorch. https://github.com/mseitzer/pytorchfid, 2018.
 [45] Vincent Dumoulin, Jonathon Shlens, and Manjunath Kudlur. A Learned Representation For Artistic Style. In Proceedings of the International Conference on Learning Representations (ICLR), 2017.
 [46] Harm de Vries, Florian Strub, Jeremie Mary, Hugo Larochelle, Olivier Pietquin, and Aaron C Courville. Modulating early visual processing by language. In Advances in Neural Information Processing Systems (NeurIPS), pages 6594–6604, 2017.
 [47] Prannay Khosla, Piotr Teterwak, Chen Wang, Aaron Sarna, Yonglong Tian, Phillip Isola, Aaron Maschinot, Ce Liu, and Dilip Krishnan. Supervised Contrastive Learning. arXiv preprint arXiv 2004.11362, 2020.
 [48] Christopher M Bishop. Pattern recognition and machine learning. springer, 2006.
 [49] Claude E Shannon. A mathematical theory of communication. Bell system technical journal, 27(3):379–423, 1948.
 [50] Sergey Ioffe and Christian Szegedy. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift. In Proceedings of the International Conference on Machine Learning (ICML), pages 448–456, 2015.
 [51] Vinod Nair and Geoffrey E. Hinton. Rectified Linear Units Improve Restricted Boltzmann Machines. In Proceedings of the International Conference on Learning Representations (ICLR), 2010.
 [52] Bing Xu, Naiyan Wang, Tianqi Chen, and Mu Li. Empirical Evaluation of Rectified Activations in Convolutional Network. arXiv preprint arXiv 1505.00853, 2015.
 [53] Min Lin, Qiang Chen, and Shuicheng Yan. Network In Network. arXiv preprint arXiv 1312.4400, 2014.
 [54] David WardeFarley and Yoshua Bengio. Improving Generative Adversarial Networks with Denoising Feature Matching. In Proceedings of the International Conference on Learning Representations (ICLR), 2017.
 [55] Tero Karras, Timo Aila, Samuli Laine, and Jaakko Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. arXiv preprint arXiv 1710.10196, 2018.
 [56] Lars Mescheder, Sebastian Nowozin, and Andreas Geiger. Which Training Methods for GANs do actually Converge? In Proceedings of the International Conference on Machine Learning (ICML), 2018.
 [57] Yasin Yazıcı, ChuanSheng Foo, Stefan Winkler, KimHui Yap, Georgios Piliouras, and Vijay Chandrasekhar. The Unusual Effectiveness of Averaging in GAN Training. In Proceedings of the International Conference on Learning Representations (ICLR), 2019.

[58]
Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory
Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban
Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Raison, Alykhan
Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith
Chintala.
PyTorch: An Imperative Style, HighPerformance Deep Learning Library.
In Advances in Neural Information Processing Systems (NeurIPS), pages 8024–8035, 2019.
Appendices
Appendix A Proof of the Proposition 1
Proposition 1. Let be a random variable vector of images and a random variable of corresponding labels, respectively. Using this, we can sample tuples () and () from the joint distribution . Let be a indicator function: . Then, is one of the lower bounds on mutual information between and .
Proof. Suppose
is a posterior distribution that expresses probability about whether the given images are came from the same category or not. By Bayes’ theorem
sepbayestheorem , we can expand the posterior distribution as follows:(A1) 
By taking log both sides, we can develop Eq. (A1)
(A2) 
Since is a decreasing function, is valid. Given this, we can develop Eq. (A2) as follows:
(A3) 
In Eq. A3, we replace with . It is based on the assumption that two random variables of different labels should not share latent features, and are independent. Therefore we can rewrite Eq. (A3) as follows:
(A4) 
where is a constant if the number of images per class is the same. If we take expectation w.r.t the distribution , the nonconstant term on the rightside in Eq. (A4) becomes mutual information mutual_information as follows:
(A5) 
To conclude, we can derive one of the lower bounds on mutual information ,
Appendix B Network Architectures
Since DCGAN Radford2016UnsupervisedRL showed astonishing image generation ability, several generator and discriminator architectures have been proposed to stabilize and enhance the generation quality. Representatively, Miyato et al. Miyato2018SpectralNF have used modified version of DCGAN Radford2016UnsupervisedRL and ResNetstyle GAN Gulrajani2017ImprovedTO architectures with spectral normalization (We abbreviate it SNDCGAN and SNResGAN, respectively). Brock et al. Brock2019LargeSG have expanded the capacity of SNResGAN with shared embeddings and skip connections from the noise vector (BigGAN). As a result, we tested the aforementioned frameworks to validate the proposed approach. To provide details of the main experiments in our paper, we introduce the network architectures in this section.
We start by defining some notations: is a batch size, FC(in_features, out_features) is a fully connected layer, Conv
(in_channels, out_channels, kernel_size, strides) is a convolutional layer,
Deconv(in_channels, out_channels, kernel_size, strides) is a deconvolutional layer, BN is a batch normalization pmlrv37ioffe15 , cBN is a conditional batch normalization Dumoulin2017ALR ; de_Vries ; Miyato2018cGANsWP , ReLU, lReLU, and Tanhindicate ReLU
Nair2010RectifiedLU , Leaky ReLU Xu2015EmpiricalEO , and hyperbolic tangent functions, respectively. GenBlock(in channels, out channels, upsampling) is a generator block used in Gulrajani2017ImprovedTO ; Miyato2018SpectralNF , BigGBlock(in channels, out channels, upsampling, z split dim, shared dim) is a modified version of the GenBlock used in Brock2019LargeSG , DisBlock(in channels, out channels, downsampling) is a discriminator block used in Brock2019LargeSG , SelfAttention is a selfattention layer used in Zhang2019SelfAttentionGA , Normalize is a normalize operation to project given embeddings onto a unit hypersphere, and GSP is a global sum pooling layer Lin2014NetworkIN . For more details about the GenBlock, BigGenBlock, DisBlock, and the SelfAttention layer, please refer to the papers Miyato2018SpectralNF ; Zhang2019SelfAttentionGA ; Brock2019LargeSG or the code of our PyTorch implementation (ContraGAN/models/.py).Layer  Input  Output  Operation 

Input Layer  (m, 128)  (m, 8192)  FC(128, 8192) 
Reshape Layer  (m, 8192)  (m, 4, 4, 512)  Reshape 
Hidden Layer  (m, 4, 4, 512)  (m, 8, 8, 256)  Deconv(512, 256, 4, 2),cBN,lReLU 
Hidden Layer  (m, 8, 8, 256)  (m, 16, 16, 128)  Deconv(256, 128, 4, 2),cBN,lReLU 
Hidden Layer  (m, 16, 16, 128)  (m, 32, 32, 64)  Deconv(128, 64, 4, 2),cBN,lReLU 
Hidden Layer  (m, 32, 32, 64)  (m, 32, 32, 3)  Conv(64, 3, 3, 1) 
Output Layer  (m, 32, 32, 3)  (m, 32, 32, 3)  Tanh 
Layer  Input  Output  Operation 

Input Layer  (m, 32, 32, 3)  (m, 32, 32, 64)  Conv(3, 64, 3, 1), lReLU 
Hidden Layer  (m, 32, 32, 64)  (m, 16, 16, 64)  Conv(64, 64, 4, 2), lReLU 
Hidden Layer  (m, 16, 16, 64)  (m, 16, 16, 128)  Conv(64, 128, 3, 1), lReLU 
Hidden Layer  (m, 16, 16, 128)  (m, 8, 8, 128)  Conv(128, 128, 4, 2), lReLU 
Hidden Layer  (m, 8, 8, 128)  (m, 8, 8, 256)  Conv(128, 256, 3, 1), lReLU 
Hidden Layer  (m, 8, 8, 256)  (m, 4, 4, 256)  Conv(256, 256, 4, 2), lReLU 
Hidden Layer  (m, 4, 4, 256)  (m, 4, 4, 512)  Conv(256, 512, 3, 1), lReLU 
Hidden Layer  (m, 4, 4, 512)  (m, 512)  GSP 
Output Layer  (m, 512)  (m, 1)  FC(512, 1) 
Layer  Input  Output  Operation 
Input Layer  (m, 128)  (m, 4096)  FC(128, 4096) 
Reshape Layer  (m, 4096)  (m, 4, 4, 256)  Reshape 
Hidden Layer  (m, 4, 4, 256)  (m, 8, 8, 256)  Gen_Block(256, 256, True) 
Hidden Layer  (m, 8, 8, 256)  (m, 16, 16, 256)  Gen_Block(256, 256, True) 
Hidden Layer  (m, 16, 16, 256)  (m, 32, 32, 256)  Gen_Block(256, 256, True) 
Hidden Layer  (m, 32, 32, 256)  (m, 32, 32, 3)  BN, ReLU, Conv(256, 3, 3, 1) 
Output Layer  (m, 32, 32, 3)  (m, 32, 32, 3)  Tanh 
Layer  Input  Output  Operation 

Input Layer  (m, 32, 32, 3)  (m, 16, 16, 128)  Dis_Block(3, 128, True) 
Hidden Layer  (m, 16, 16, 128)  (m, 8, 8, 128)  Dis_Block(128, 128, True) 
Hidden Layer  (m, 8, 8, 128)  (m, 8, 8, 128)  Dis_Block(128, 128, False) 
Hidden Layer  (m, 8, 8, 128)  (m, 8, 8, 128)  Dis_Block(128, 128, False), ReLU 
Hidden Layer  (m, 8, 8, 128)  (m, 128)  GSP 
Output Layer  (m, 128)  (m, 1)  FC(128, 1) 
Layer  Input  Output  Operation 

Input Layer  (m, 20)  (m, 6144)  FC(20, 6144) 
Reshape Layer  (m, 6144)  (m, 4, 4, 384)  Reshape 
Hidden Layer  (m, 4, 4, 384)  (m, 8, 8, 384)  BigG_Block(384, 384, True, 20, 128) 
Hidden Layer  (m, 8, 8, 384)  (m, 16, 16, 384)  BigG_Block(384, 384, True, 20, 128) 
Hidden Layer  (m, 16, 16, 384)  (m, 16, 16, 384)  SelfAttention 
Hidden Layer  (m, 16, 16, 384)  (m, 32, 32, 384)  BigG_Block(384, 384, True, 20, 128) 
Hidden Layer  (m, 32, 32, 384)  (m, 32, 32, 3)  BN, ReLU, Conv(384, 3, 3, 1) 
Output Layer  (m, 32, 32, 3)  (m, 32, 32, 3)  Tanh 
Layer  Input  Output  Operation 

Input Layer  (m, 32, 32, 3)  (m, 16, 16, 192)  Dis_Block(3, 192, True) 
Hidden Layer  (m, 16, 16, 192)  (m, 16, 16, 192)  SelfAttention 
Hidden Layer  (m, 16, 16, 192)  (m, 8, 8, 192)  Dis_Block(192, 192, True) 
Hidden Layer  (m, 8, 8, 192)  (m, 8, 8, 192)  Dis_Block(192, 192, False) 
Hidden Layer  (m, 8, 8, 192)  (m, 8, 8, 192)  Dis_Block(192, 192, False) 
Hidden Layer  (m, 8, 8, 192)  (m, 192)  ReLU, GSP 
Output Layer  (m, 192)  (m, 1)  FC(192, 1) 
Layer  Input  Output  Operation 
Input Layer  (m,20)  (m,20480)  FC(20, 20480) 
Reshape Layer  (m,20480)  (m,4,4,1280)  Reshape 
Hidden Layer  (m,4, 4, 1280)  (m,8, 8, 640)  BigG_Block(1280, 640, True, 20, 128) 
Hidden Layer  (m,8, 8, 640)  (m,16, 16, 320)  BigG_Block(640, 320, True, 20, 128) 
Hidden Layer  (m,16, 16, 320)  (m,32, 32, 160)  BigG_Block(320, 160, True, 20, 128) 
Hidden Layer  (m,32, 32, 160)  (m,32, 32, 160)  SelfAttention 
Hidden Layer  (m,32, 32, 160)  (m,64, 64, 80)  BigG_Block(160, 80, True, 20, 128) 
Hidden Layer  (m,64, 64, 80)  (m,64, 64, 3)  BN, ReLU, Conv(80,3, 3, 1) 
Output Layer  (m,32, 32, 3)  (m,32, 32, 3)  Tanh 
Layer  Input  Output  Operation 

Input Layer  (m, 64, 64, 3)  (m, 32, 32, 80)  Dis_Block(3, 80, True) 
Hidden Layer  (m, 32, 32, 80)  (m, 32, 32, 80)  SelfAttention 
Hidden Layer  (m, 32, 32, 80)  (m, 16, 16, 160)  Dis_Block(80, 160, True) 
Hidden Layer  (m, 16, 16, 160)  (m, 8, 8, 320)  Dis_Block(160, 320, True) 
Hidden Layer  (m, 8, 8, 320)  (m, 4, 4, 640)  Dis_Block(320, 640, True) 
Hidden Layer  (m, 4, 4, 640)  (m, 4, 4, 1280)  Dis_Block(640, 1280, False) 
Hidden Layer  (m, 4, 4, 1280)  (m, 1280)  ReLU, GSP 
Output Layer  (m, 1280)  (m, 1)  FC(128, 1) 
Appendix C Hyperparameter Setup
Setting  

A  0.0001  0.0001  0.5  0.999  2 
B  0.0001  0.0001  0.5  0.999  1 
C  0.0002  0.0002  0.5  0.999  1 
D  0.0002  0.0002  0.5  0.999  2 
E  0.0002  0.0002  0.5  0.999  5 
F  0.0004  0.0001  0.0  0.999  1 
Choosing a proper hyperparameter setup is crucial to train GANs. In this paper, we conduct experiments using six settings with Adam optimizer Kingma2015AdamAM . and are learning rates of the discriminator and generator. and are hyperparameters of Adam optimizer to control exponential decay rates of moving averages. is the number of discriminator iterations per single generator iteration. For the Contrastive coefficient (see Algorithm 1), the value is fixed at 1.0 for fair comparison with Odena2017ConditionalIS ; Miyato2018cGANsWP . In all experiments, we use the temperature . Experiments over temperature are displayed in Fig. A1. Besides, we apply moving averages of the generator’s weights used in Karras2018ProgressiveGO ; Mescheder2018ICML ; yazc2018the after 20,000 generator iterations with the decay rate of 0.9999. The settings (B, C, E) are known to give satisfactory performances on CIFAR10 Krizhevsky2009LearningML in previous papers WardeFarley2017ImprovingGA ; Radford2016UnsupervisedRL ; Zhang2019ConsistencyRF . Since Heusel et al. Heusel2017GANsTB and Zhang et al. Zhang2019SelfAttentionGA have shown that two timescale update (TTUR) can converge to a stationary local Nash equilibrium Nash1951NONCOOPERATIVEG , we adopt the hyperparameter setup used in Zhang2019SelfAttentionGA (setting F) to generate realistic images on Tiny ImageNet Tiny dataset.
Experimental setup used for Table 1 in the main paper: Experiments on CIFAR10 dataset are performed three times with different random seeds using the settings (A, B, C, D, E) with the batch size of 64. We stop training GANs with SNDCGAN, SNResGAN, and BigGAN architectures after 200k, 100k, 80k generator updates, respectively. Also, we report performances of the hyperparameter settings that showed the lowest FID values by mean. Experiments on Tiny ImageNet dataset is conducted once until 100k generator updates using the setting (F) with the batch size of 256 and BigGAN architecture (see Table A7 and Table A8). The hyperparameter settings: C, D, E, show the best performance in SNDCGAN Miyato2018SpectralNF , SNResGAN Miyato2018SpectralNF , and BigGAN Brock2019LargeSG , respectively. We reason that as the capacity of the model increases, training GANs becomes more difficult; thus, it requires more discriminator updates. Moreover, we experimentally identify that updating discriminator more times does not always produce better performance, but it might be related to the model capacity.
Experimental setup used for Table 2 in the main paper: FID values on CIFAR10 dataset are reported using the setting (E) with the batch size of 64. Also, the experiments on the Tiny ImageNet are conducted using the setting (F) with the batch size of 1024. All other settings not noticed here are the same as the experimental setup for Table 1 above.
Experimental setup used for Table 3 in the main paper: All ablation results are reported using the setting (F), and models with consistency regularization (CR) Zhang2019ConsistencyRF are trained with the coefficient of 10.0. We use an Intel(R) Xeon(R) Silver 4114 CPU, four NVIDIA Geforce RTX 2080 Ti GPUs, and PyTorch DataParallel library to measure time per iteration. All other settings not noticed here are the same as the experimental settings used for Table 1.
Appendix D Nonlinear Projection and Batch Size
We study the effect of a projection layer that is introduced in Sec. 3.2. We change types of the layer (linear vs. nonlinear) and increase the dimensionality of projected embeddings, on CIFAR10 dataset. Fig. 1(a) shows the overview of FID values. All experiments are conducted using 3 different architectures: SNDCGAN, SNResGAN, and BigGAN that are equipped with spectral normalization. We also run the experiments using three different random seeds and do not apply moving averages of the generator’s weights. SNDCGAN with the liner projection layer projects latent feature onto the 1024 dimensional space. This configuration shows higher FID than the nonlinear counterpart, but ContraGANs with a nonlinear projection layer generally give lower FIDs. Although GANs are known to need careful hyperparameter selection, our ContraGAN not seems to be sensitive to the type and dimensionality of the projection layer.
Figure 1(b) shows the change in FID value as the batch size increases. Experiments conducted by Brock et al. Brock2019LargeSG have demonstrated that increasing the batch size enhances image generation performance on ImageNet dataset Deng2009ImageNetAL . However, as shown in Fig. 1(b), optimal batch sizes for CIFAR10 and Tiny ImageNet are 64 and 1024, respectively. Based on these results, we can deduce that increasing batch size does not always give the best synthesis results. We presume that this phenomenon is related to the number of classes used for the training.
Appendix E Number of Classes used for Training
In this chapter, we quantitatively show that ContraGAN can generate more diverse images than the others when the number of classes for training increases. To do this, we make subsets of Tiny ImageNet that contain only 25%, 50%, and 75% of the total classes. For evaluation, we train ACGAN Odena2017ConditionalIS , cGAN Miyato2018cGANsWP , and ContraGAN (Ours) using the setting (F) with the batch size of 256. Lastly, we compute the inception embedding statistics of the subsets to calculate FID values. As shown in Fig. A3, ContraGAN performs better than the others, while FID values of cGAN and ACGAN increase. We conjecture that it is because onehot vectors of ACGAN are not flexible than class embeddings; thus, the optimization for the adversarial game becomes harder (see Fig. 1d, 1e). Besides, the experiment shows that considering datatodata relations is a good strategy for the conditional image synthesis task.
Appendix F FID Implementations
FID is a widely used metric to evaluate the performance of a GAN model. Since calculating FID requires a pretrained inceptionV3 network Szegedy2016RethinkingTI , many implementations use Tensorflow tensorflow2015whitepaper or PyTorch NEURIPS2019_9015 libraries. Among them, the TensorFlow implementation ttur2010inline for FID measurement is widely used. We use the PyTorch implementation for FID measurement pytorchttur , instead. In this section, we show that the PyTorch based FID implementation pytorchttur used in our work provides almost the same results with the TensorFlow implementation. The results are summarized in Table A10.
ContraGAN  

FID implementation  CIFAR10  Tiny ImageNet 
TensorFlow  10.308  26.924 
PyTorch  10.304  27.131 
Appendix G Qualitative Results
This section presents images generated by various conditional image synthesis frameworks. Figure A4, A5, and A6 show the synthesized images using CIFAR10 dataset. Figure A7, A8, A9, and A10 show the synthesized images using Tiny ImageNet dataset. As shown in Fig. A9, our approach can achieve favorable FID compared to the other baseline approaches. With consistency regularization, the results of our approach can be improved as shown in Fig. A10.
Comments
There are no comments yet.