Title: WHITENING AND COLORING BATCH TRANSFORM FOR GANS

Abstract: Batch Normalization (BN) is a common technique used to speed-up and stabilize training. On the other hand, the learnable parameters of BN are commonly used in conditional Generative Adversarial Networks (cGANs) for representing classspecific information using conditional Batch Normalization (cBN). In this paper we propose to generalize both BN and cBN using a Whitening and Coloring based batch normalization. We show that our conditional Coloring can represent categorical conditioning information which largely helps the cGAN qualitative results. Moreover, we show that full-feature whitening is important in a general GAN scenario in which the training process is known to be highly unstable. We test our approach on different datasets and using different GAN networks and training protocols, showing a consistent improvement in all the tested frameworks. Our CIFAR-10 conditioned results are higher than all previous works on this dataset.

1. INTRODUCTION:

Generative Adversarial Networks (GANs) (Goodfellow et al. (2014) ) have drawn much attention in the last years due to their proven ability to generate sufficiently realistic short videos (Vondrick et al. (2016) ) or still images (Gulrajani et al. (2017) ), possibly conditioned on some input information such as: a class label (Odena et al. (2017) ), an image (Isola et al. (2017) ; Tang et al. (2019) ), a textual description (Reed et al. (2016) ), some structured data (Tang et al. (2018) ; Siarohin et al. (2018a) ) or some perceptual image attribute (Siarohin et al. (2018b) )). When the generation process depends on some input data, the framework is commonly called conditional GAN (cGAN) .

In this paper we deal with both conditional and unconditional GANs and we propose to replace Batch Normalization (Ioffe & Szegedy (2015) ) (BN) with a Whitening and Coloring (WC) transform (Hossain (2016) ) in order to jointly speed-up training and increase the network representation capacity. BN, proposed in (Ioffe & Szegedy (2015) ) for discriminative tasks and then adopted in many discriminative and generative networks, is based on feature standardization of all the network layers. The original motivation behind the introduction of BN is to alleviate the internal Covariate Shift problem caused by the continuous modification of each layer's input representation during training (Ioffe & Szegedy (2015) ). However, recent works (Santurkar et al. (2018) ; Kohler et al. (2018) ) showed that a major motivation of the empirical success of BN relies also on a higher training stability, the latter being due to a better-conditioning of the Jacobian of the corresponding loss when BN is used compared to training without BN. Basically, feature normalization makes the loss landscape smoother, hence it stabilizes and speeds-up training. Based on this intuition, BN has very recently been extended in (Huang et al. (2018) ) to full-feature decorrelation using ZCA whitening (Kessy et al. (2017) ) in a discriminative scenario.

On the other hand, GAN training is known to be particularly unstable, because GAN optimization aims at finding a Nash equilibrium between two players, a problem which is more difficult and less stable than the common discriminative-network optimization and that frequently leads to nonconvergence. Specifically, Odena et al. (2018) show the relation between stability of GAN training and conditioning of the Jacobian. This motivates our proposal to extend BN to full-feature whitening in a GAN scenario (more details on this in Sec. 6). Differently from Huang et al. (2018) , our feature whitening is based on the Cholesky decomposition (Dereniowski & Marek (2004) ), and we empirically show that our method is much faster and stable and achieves better results in GAN training with respect to ZCA whitening. Importantly, while in (Huang et al. (2018) ) feature whitening is followed by a per-dimension scaling and shifting of each feature, as in the original BN (Ioffe & Szegedy (2015) ), we propose to use a coloring transform (Hossain (2016) ) to keep the network representation capacity unchanged with respect to a non-whitened layer. Our coloring projects each whitened feature vector in a new distribution using learnable multivariate filters and we show that this transformation is critical when using whitening for GANs.

The second contribution of this paper is based on the aforementioned coloring transform to represent class-specific information in a cGAN scenario. Formally, given a set of class labels Y = {y 1 , ..., y n }, we want to generate an image I = G(z, y), where the generator G is input with a noise vector z and a class label y. For instance, if y = cat, we want a foreground object in I depicting a cat, if y = dog, then I should represent a dog, etc. The categorical conditional information y is commonly represented in G using conditional batch normalization (cBN) (Dumoulin et al. (2016b) ; Gulrajani et al. (2017) ; Miyato & Koyama (2018) ), where a class-specific pair of scaling-shifting parameters is learned for each class y. In our proposed conditional Whitening and Coloring (cWC) the class-specific scaling-shifting parameters are replaced with a combination of class-agnostic and class-specific coloring filters. The intuitive idea behind the proposed cWC is that multivariate transformation filters are more informative than the scalar parameters proposed in (Dumoulin et al. (2016b) ) and, thus, they can more accurately represent class-specific information.

Finally, in order to have a set of class-specific coloring filters ({Γ y }) which grows sub-linearly with respect to the number of classes n, we represent each Γ y using a common, restricted dictionary of class-independent filters together with class-filter soft-assignment weights. The use of a classindependent dictionary of filters, together with a class-agnostic branch in the architecture of our cGAN generators (see Sec. 4) makes it possible to share parameters over all the classes and to reduce the final number of weights which need to be learned. Our code is publicly available https://github.com/AliaksandrSiarohin/wc-gan.

2. RELATED WORK:

Batch Normalization. BN (Ioffe & Szegedy (2015) ) is based on a batch-based (per-dimension) standardization of all the network's layers. Formally, given a batch of d-dimensional samples B = {x 1 , ..., x m }, input to a given network layer, BN transforms each sample x i ∈ R d in B using:

EQUATION

where: k (1 ≤ k ≤ d) indicates the k-th dimension of the data, µ B,k and σ B,k are, respectively, the mean and the standard deviation computed with respect to the k-th dimension of the samples in B and is a constant used to prevent numerical instability. Finally, γ k and β k are learnable scaling and shifting parameters, which are introduced in (Ioffe & Szegedy (2015) ) in order to prevent losing the original representation capacity of the network. More in detail, γ k and β k are used to guarantee that the BN transform can be inverted, if necessary, in order to represent the identity transform (Ioffe & Szegedy (2015) ). BN is commonly used in both discriminative and generative networks and has been extended in many directions. For instance, Ba et al. (2016) propose Layer Normalization, where normalization is performed using all the layer's activation values of a single sample. Luo (2017) proposes to whiten the activation values using a learnable whitening matrix. Differently from (Luo (2017) ), our whitening matrix only depends on the specific batch of data. Similarly to our work, batch-dependent full-feature decorrelation is performed also by Huang et al. (2018) , who use a ZCA-whitening and show promising results in a discriminative scenario. However, the whitening part of our method is based on the Cholesky decomposition and we empirically show that, in a GAN scenario where training is known to be highly unstable, our method produces better results and it is much faster to compute. Moreover, while in (Huang et al. (2018) ) only scaling and shifting parameters are used after feature decorrelation, we propose to use a coloring transform. Analogously to the role played by γ k and β k in Eq. 1, coloring can potentially invert the whitening transform if that were the optimal thing to do, in this way preserving the original representation capacity of the network . We empirically show (see Sec. 5.1.1) that whitening without coloring performs poorly.

Last but not least, our conditional coloring can be used to represent rich class-specific information in a cGAN framework (see below).

Representing conditional information in cGANs. cGANs have been widely used to produce images conditioned on some input. For instance, Isola et al. (2017) transform a given image in a second image represented in another "channel". Siarohin et al. (2018a) extend this framework to deal with structured conditional information (the human body pose). In (Reed et al. (2016) ) a textual description of an image is used to condition the image generation. When the conditioning data y is a categorical, unstructured variable, as in the case investigated in this paper, information about y can be represented in different ways. cBN (Dumoulin et al. (2016b) ) uses y to select class-specific scaling and shifting parameters in the generator (more details in Sec. 4). Another common approach is to represent y using a one-hot vector, which is concatenated with the input layer of both the discriminator and the generator (Mirza & Osindero (2014) ; Perarnau et al. (2016) ) or with the first convolutional layer of the discriminator (Perarnau et al. (2016) ). Miyato & Koyama (2018) split the last discriminator layer in two branches. The first branch estimates the class-agnostic probability that the input image is real, while the second branch represents class-conditional information. This solution is orthogonal to our proposed cWC and we show in Sec. 5.2 that the two approaches can be combined for boosting the results obtained in (Miyato & Koyama (2018) ).

3. THE WHITENING AND COLORING TRANSFORM:

We start describing the details of our Whitening and Coloring transform in the unconditional case, which we refer to as WC in the rest of the paper. We always assume an image domain and convolutional generator/discriminator networks. However, most of the solutions we propose can potentially be applied to non-visual domains and non-convolutional networks.

Let F ∈ R h×w×d be the tensor representing the activation values of the convolutional feature maps for a given image and layer, with d channels and h × w spatial locations. Similarly to BN, we consider the d-dimensional activations of each location in the h × w convolutional grid as a separate instance

x i ∈ R d in B

. This is done also to have a larger cardinality batch which alleviates instability issues when computing the batch-related statistics. In fact, a mini-batch of m images corresponds

to m = |B| = m × h × w (Ioffe & Szegedy (2015)).

Using a vectorial notation, our proposed WC-based batch normalization is given by WC(x i ) = Coloring(x i ), where xi = W hitening(x i ):

Coloring(x i ) = Γx i + β (2) W hitening(x i ) = W B (x i -µ B ).

(3)

In Eq. 3, the vector µ B is the mean of the elements in B (being µ B,k in Eq. 1 its k-th component), while the matrix W B is such that:

W B W B = Σ -1 B

, where Σ B is the covariance matrix computed using B. This transformation performs the full whitening of x i and the resulting set of vectors B = {x 1 , ..., xm } lies in a spherical distribution (i.e., with a covariance matrix equal to the identity matrix). Note that, similarly to µ B,k and σ B,k in Eq. 1, µ B and W B are completely data-dependent, being computed using only B and without any learnable parameter involved. On the other hand, Eq. 2 performs the coloring transform (Hossain (2016) ), which projects the elements in B onto a ... , where c k is a vector of parameters (a coloring filter) which generalizes the scalar parameter γ k in Eq. 1. Coloring is a linear operation and can be simply implemented using 1 × 1 × d convolutional filters c k and the corresponding biases β k . We compute W B using the Cholesky decomposition, which has the important properties to be efficient and well conditioned. We provide the details in Sec. A, where we also analyze the computational costs, while in Sec. E we compare our approach with the ZCA-based whitening proposed by Huang et al. (2018) .

WC is plugged before each convolutional layer of our generators (G). In most of our experiments, we use a ResNet-like architecture (He et al. (2016) ) for G with 3 blocks (Gulrajani et al. (2017) ) and a final convolutional layer (i.e. 3 × 2 + 1 = 7 convolutional layers, corresponding to 7 WC layers). Fig. 1 (a) shows a simplified block scheme. We do not use WC nor we introduce any novelty in the discriminators (more details in Sec. 5).

4. CONDITIONAL COLORING TRANSFORM:

In a cGAN framework, the conditional information y, input to G, is commonly represented using cBN (Dumoulin et al. (2016b) ), where Eq. 1 is replaced with:

EQUATION

Comparing Eq. 1 with Eq. 4, the only difference lies in the class-specific γ and β parameters, which are used to project each standardized feature into a class-specific univariate Gaussian distribution. We propose to replace Eq. 4 with our conditional Whitening and Coloring transform (cWC): cWC(x i , y) = CondColoring(x i , y) and xi = W hitening(x i ), where:

EQUATION

The first term in Eq. 5 is based on class-specific learnable parameters Γ y and β y . Analogously to (Dumoulin et al. (2016b) ), in the forward-pass (both at training and at inference time), conditional information y, input to G, is used to select the correct (Γ y , β y ) pair to apply. Similarly, during training, gradient information is backpropagated through only the corresponding pair used in the forward pass. W hitening(x i ) is the same procedure used in the unconditional case, where all the elements in B (independently of their class label) are used to compute µ B and Σ B .

The second term in Eq. 5 is based on class-agnostic learnable parameters Γ and β, similarly to the unconditional coloring transform in Eq. 2. This second term is used because the class-specific (Γ y , β y ) parameters are trained with less data then the corresponding class-agnostic weights. In fact, in a generative task with n classes and a training protocol with batches of m elements, on average only m n instances in B are associated with label y. Thus, on average, at each training iteration, the parameters (Γ y , β y ) are updated using an effective batch of m n elements versus a batch of m elements used for all the other class-independent parameters. The class-agnostic term is then used to enforce sharing of the parameters of the overall coloring transform. In Sec. 5.2.1 we empirically show the importance of this second term. Fig. 1(b) shows the two separate network branches corresponding to the two terms in Eq. 5.

4.1. CLASS-FILTER SOFT ASSIGNMENT:

When the number of classes n is small and the number of real training images is relatively large, learning a separate Γ y for each y is not a problem. However, with a large n and/or few training data, this may lead to an over-complex generator network which can be hard to train. Indeed, the dimensionality of each Γ y is d × d and learning nd 2 parameters may be difficult with a large n.

In order to solve this issue, when n is large, we compute Γ y using a weighted sum over the elements of a class-independent dictionary D. Each row of D contains a flattened version of a Γ matrix. More formally, D is an s × d 2 matrix, with s << n. The j-th row in D is given by the concatenation of d d-dimensional filters:

D j = [c j 1 , ..., c j k , ...c j d ]

, being c j k ∈ R d a coloring filter for the k-th output dimension. D is shared over all the classes. Given y as input, Γ y is computed using:

EQUATION

)

where y is a one-hot representation of class y (i.e., a vector of zero elements except one in the y-th component) and it is used to select the y-th row (A y ) of the n × s association matrix A. During training, given y, only the weights in A y are updated (i.e., all the other rows A y , with y = y are not used and do not change). However, all the elements in D are updated independently of y.

In the rest of the paper, we call (plain) cWC the version in which n different class-specific matrices Γ y are learned, one per class, and cW C sa the version in which Γ y is computed using Eq. 6. In all our experiments (Sec. 5.2), we fix s = √ n .

5. EXPERIMENTS:

We split our experiments in two main scenarios: unconditional and conditional image generation.

In each scenario we first compare our approach with the state of the art and then we analyze the impact of each element of our proposal. We use 5 datasets: CIFAR-10, CIFAR-100 (Torralba et al. (2008) ), STL-10 (Coates et al. ( 2011)), ImageNet (Deng et al. (2009) ) and Tiny ImageNet1 . The latter is composed of 64 × 64 images taken from 200 ImageNet categories (500 images per class).

In our evaluation we use the two most common metrics for image generation tasks: Inception Score (IS) (Salimans et al. ( 2016)) (the higher the better) and the Fréchet Inception Distance (FID) (Heusel et al. (2017) ) (the lower the better). In the Appendix we also show: (1) a comparison based on human judgments as an additional evaluation criterion, (2) qualitative results for all the datasets used in this section, (3) additional experiments on other smaller datasets.

In our experiments we use different generator and discriminator architectures in combination with different discriminator training protocols and we plug our WC/cWC in the generator of each adopted framework. The goal is to show that our whitening-coloring transforms can consistently improve the quality of the results with respect to different basic GAN networks, training protocols and image generation tasks. Note that, if not otherwise explicitly mentioned, we usually adopt the same hyperparameter setting of the framewoks we compare with. Altough better results can be achieved using, for instance, an ad-hoc learning rate policy (see Sec. 5.2 and Tab. 2 (right)), we want to emphasize that our whitening-coloring transforms can be easily plugged into existing systems.

In all our experiments, W C, cW C and cW C sa , as well as the simplified baselines presented in the ablation studies, are applied before each convolutional layer of our generators.

5.1. UNCONDITIONAL IMAGE GENERATION:

In the unconditional scenario we use two different training strategies for the discriminator: (1) WGAN with Gradient Penalty (Gulrajani et al. ( 2017)) (GP) and ( 2) GAN with Spectral Normalization (Miyato et al. (2018) ) (SN). Remind that our WC is used only in the generator (Sec. 3). When WC is used in combination with GP, we call it WC GP, while, in combination with SN, we refer to it as WC SN. Moreover, we use either ResNet (He et al. (2016) ; Gulrajani et al. (2017) ) or DCGAN (Radford et al. (2015) ) as the basic generator architecture. In order to make the comparison with the corresponding GP and SN frameworks as fair as possible and to show that the quantitative result improvements are due only to our batch normalization approach, we strictly follow the architectural and training protocol details reported in (Gulrajani et al. (2017) ; Miyato et al. (2018) ). For instance, in WC SN + DCGAN we use the same DCGAN-based generator and discriminator used in SN + DCGAN (Miyato et al. (2018) ), with the same number of feature-map dimension (d) in each layer in both the generator and the discriminator, the same learning rate policy (which was optimized for SN + DCGAN but not for our framework), etc. We provide implementation details in Sec. C.1.

In Tab. 1 we show that WC improves both the IS and the FID values of all the tested frameworks in both the CIFAR-10 and the STL-10 dataset. Specifically, independently of the basic architecture (either ResNet or DCGAN), our WC transform improves the corresponding SN results. Similarly, our WC GP results are better than the corresponding GP values. Finally, in Fig. 2 we plot the IS and the FID values computed at different mini-batch training iterations. These plots empirically show that the proposed batch normalization approach significantly speeds-up the training process. For instance, the IS value of WC SN + ResNet after 20k iterations is already higher than the IS value of SN + ResNet after 50k iterations. Warde-Farley & Bengio (2017) 7.72 ± .13 WGAN-GP Gulrajani et al. (2017) 7.86 ± .07 CT- GAN Wei et al. (2018) 8.12 ± .12 SN- GAN Miyato et al. (2018) 8.22 ± .05 OT- GAN Salimans et al. (2018) 8.46 ± .12 PROGRESSIVE Karras et al. (2018) 8.80 ± .13 WC SN + ResNet (ours) 8.66 ± .11

Method IS SteinGAN Wang & Liu (2016) 6.35 DCGAN with labels Wang & Liu (2016) 6.58 Improved GAN Salimans et al. (2016) 8.09 ± .07 AC- GAN Odena et al. (2017) 8.25 ± .07 SGAN-no-joint Huang et al. (2017) 8.37 ± .08 WGAN-GP ResNet Gulrajani et al. (2017) 8.42 ± .10 SGAN Huang et al. (2017) 8.59 ± .12 SNGAN-PROJECITVE Miyato & Koyama (2018) 8.62 CT- GAN Wei et al. (2018) 8.81 ± .13 AM- GAN Zhou et al. (2018) 8 2018)), omitting 'SN' and 'ResNet' from the names for simplicity.

Our initial baseline is W-only, in which we use Eq. 3 to project the features in a spherical distribution without coloring. In WC-diag, after whitening (Eq. 3), we use Eq. 2 with diagonal Γ matrices. This corresponds to learning scalar γ-β parameters for a dimension-wise scaling-shifting transform as in BN (Eq. 1). On the other hand, in std-C we standardize the features as in BN (Eq. 1) but replacing the γ-β parameters with our coloring transform (Eq. 2) and in C-only, Eq. 2 is applied directly to the original, non-normalized batch instances. Finally, WC is our full-pipeline.

Tab. 3 shows that feature whitening without coloring performs poorly. After the feature normalization step, it is crucial for the network to re-project the features in a new (learned) distribution with a sufficient representation capacity. This is done in standard BN using the γ-β parameters. Analogously, in our WC, this role is played by the coloring step. In fact, with a diagonal-matrix based coloring, WC-diag improves the results with respect to W-only. Moreover, a drastic improvement is obtained by the full-pipeline (WC) with respect to WC-diag, showing the importance of learning a full covariance matrix in the coloring step. On the other hand, the comparison between WC with both C-only and std-C shows that feature normalization before coloring is also important, and that the full advantage of coloring is obtained when used in combination with whitening.

In the same table we report the results obtained by replacing our Cholesky decomposition with the ZCA-based whitening (W zca C), which is used in (Huang et al. (2018) ), keeping all the rest of our method unchanged (coloring included). The comparison with WC shows that our proposed procedure (detailed in Sec. A) achieves better results than W zca C. The results reported in Tab. 3 correspond to the best values achieved by W zca C during training and in Sec. E we show that W zca C can be highly unstable. Moreover, W zca C is, on average, much slower than WC. Specifically, the whitening only part, when computed using the procedure proposed in Sec. A, is more than 11 times faster than the ZCA-based whitening, while, considering the whole pipeline (most of which is shared between WC and W zca C), WC is more than 3.5 times faster than W zca C. However, note that in the Decorrelated Batch Normalization (DBN) (Huang et al. (2018) ), no coloring is used and the ZCAbased whitening is applied to only the first layer of a classification network, trained in a standard supervised fashion. Hence, W zca C has to be considered as our proposed WC in which whitening is performed using the procedure proposed in (Huang et al. (2018) ). Published as a conference paper at ICLR 2019

5.2. CONDITIONAL IMAGE GENERATION:

In the cGAN scenario, conditional information is represented in the generator as explained in Sec. 4 and using either cWC or cW C sa (Sec. 4.1). The purpose of this section is to show the advantage of using our conditional coloring with respect to other cGAN methods for representing categorical information input to a generator.

In Tab. 5 we use different basic discriminator and training-protocol frameworks and we report results with and without our conditional batch normalization approach in the corresponding generator.

Similarly to the experiments in Sec. 5.1, in our cWC and cW C sa based GANs we follow the implementation details of the reference frameworks and use their hyper-parameters (e.g., the learning rate policy, etc.) which are not tuned for our method. The only difference with respect to the approaches we compare with (apart from our conditional batch normalization) is a different ratio between the number of filters in the discriminator and those used in the generator in the SN + Proj. Discr. experiments (but keeping constant the total number of filters, see Sec. C.2 for more details). Tab. 5 shows that both cWC and cW C sa improve the IS and the FID values with respect to the basic frameworks in both the CIFAR-10 and the CIFAR-100 dataset. On CIFAR-10, cWC outperforms cW C sa , probably because, with a small number of classes (n), learning class-specific coloring filters (Γ y ) is relatively easy and more informative than using a class-independent dictionary. However, with n = 200, as in the case of the Tiny ImageNet dataset, cW C sa obtains significantly better results than cWC (see Tab. 4). In Tab. 4, cBN corresponds to our re-implementation of (Miyato & Koyama (2018) ), with a ResNet generator + cBN (Dumoulin et al. (2016b) ) and an SN + ResNet + Projection Discriminator (Miyato & Koyama (2018) ). Note that both cWC and cW C sa significantly improve both the IS and the FID values with respect to cBN on this large and challenging dataset.

In Tab. 2 (right) we compare cWC and cW C sa with other methods on CIFAR-10, where cWC achieves the best so far published conditioned results on this dataset. Note that cWC SN + Proj. Discr. in Tab. 2 (right) and in Tab. 5 indicate exactly the same framework, the only difference being the learning rate policy (see Sec. C.2). In fact, to emphasize the comparison, in Tab. 5 we adopted the same learning rate policy used by Miyato & Koyama (2018) , which has been customized to our approach only in Tab. 2 (right).

Finally, similarly to the experiment shown in Fig. 2 , we show in Tab. 6 that cW C sa leads to a much faster training with respect to cBN. Specifically, we use the ImageNet dataset (Deng et al. (2009) ), which corresponds to a very large-scale generation task and we compare with a similar experiment performed by Miyato & Koyama (2018) . The first row of Tab. 6 shows the original results reported in (Miyato & Koyama (2018) ) for different training iterations. In the second row we show our results. Note that, in order to fit the generator network used by Miyato & Koyama (2018) on a single GPU, we had to reduce its capacity, decreasing the number of 3 × 3 convolutional filters. Hence, our generator, including our additional coloring filters, has 6M parameters while the generator of (Miyato & Koyama (2018) ) has 45M parameters. The discriminator is the same for both methods: 39M parameters. These results show that, using a generator with only ∼ 13% of the parameters of the generator used in (Miyato & Koyama (2018) ), cW C sa can learn much faster and reach higher IS results on a big dataset like ImageNet. The importance of this experiment lies also in the fact that it emphasizes that the advantage of our method does not depend on the increase of the parameters due to the coloring layers. 

5.2.1. ABLATION STUDY:

We analyze all the main aspects of the conditional coloring introduced in Sec. 4 using an SN + ResNet + Proj. Discr. framework for all the baselines presented here. The whitening part (when used) is obtained using Eq. 3. We call cWC-cls-only a version of CondColoring() with only the class-specific term in Eq. 5. This is implemented simply removing the class-agnostic branch in Fig. 1 (b) and learning a specific (Γ y , β y ) pair per class, without class-filter soft assignment. cW C sacls-only is the same as cWC-cls-only but using the soft assignment in Eq. 6. Similarly, we call cWCdiag the baseline in which each Γ y in Eq. 5 is replaced with a diagonal Γ y matrix. This corresponds to learning a set of d independent scalar parameters for each class y ({(γ y,k , β y,k )} d k=1 ) to represent class-specific information similarly to cBN (see Eq. 4). In cWC-diag we also use the class-agnostic branch. Note that a class-agnostic branch without any kind of class-specific parameters cannot represent at all class information in the generator. As a reference, in the first row of Tab. 7 we also report the results of exactly the same framework but with our cWC replaced with cBN (Dumoulin et al. (2016b) ). Moreover, we call c-std-C a version of our method in which feature normalization is performed using standardization instead of whitening and then the two coloring branches described in Sec. 4 (Eq. 5) are applied to the standardized features. Finally, c-std-C sa corresponds to the softassignment version of our conditional coloring (Sec. 4.1) used together with feature standardization.

We first analyze the whitening-based baselines (second part of Tab. 7). The results reported in Tab. 7 show that both versions based on a single coloring branch (cls-only) are significantly worse than cWC-diag which includes the class-agnostic branch. On the other hand, while on CIFAR-10 cWC-diag, cWC and cW C sa reach comparable results, on CIFAR-100 cWC-diag drastically underperforms the other two versions which are based on full-coloring matrices. This shows the representation capacity of our conditional coloring, which is emphasized in CIFAR-100 where the number of classes (n) is one order of magnitude larger than in CIFAR-10: With a large n, the scalar "γ" parameters are not sufficient to represent class-specific information. Also the comparison between cWC and cW C sa depends on n, and the advantage of using cW C sa instead of cWC is more evident on the Tiny ImageNet experiment (see Tab.4). Finally, comparing the standardization-based versions c-std-C and c-std-C sa with the corresponding whitening-based ones (cWC and cW C sa ), the importance of full-feature decorrelation before coloring becomes clear. Note that c-std-C and c-std-C sa have exactly the same number of parameters than cWC and cW C sa , respectively, which confirms that the advantage of our method does not depend only on the increase of the filter number (see also the ImageNet experiment in Tab. 6). 

6. WHITENING AND COLORING IN A DISCRIMINATIVE SCENARIO:

In this section we plug our WC into the classification networks used in (Huang et al. (2018) ) and we compare with their DBN (Sec. 2) in a discriminative scenario. DBN basically consists of a ZCAbased feature whitening followed by a scaling-and-shifting transform (Sec. 2). Huang et al. (2018) plug their DBN in the first layer of different ResNet architectures (He et al. (2016) ) with varying depth. DBN is based also on grouping, which consists in computing smaller (and, hence, more stable) covariance matrices by grouping together different feature dimensions. For a fair comparison, we also plug our WC in only the first layer of each network but we do not use grouping.

Tab. 8 shows the results averaged over 5 runs. Both WC and DBN achieve lower errors than BN in all the configurations. DBN is slightly better than WC, however the absolute error difference is quite marginal. Moreover, note that the maximum error difference over all the tested configurations is lower than 1%. This empirical analysis, compared with the significant boost we obtain using WC and cWC in Sec. 5, shows that full-feature whitening and coloring is more helpful in a GAN scenario than in a discriminative setting. As mentioned in Sec. 1-2, we believe that this is due to the higher instability of GAN training. In fact, feature normalization makes the loss landscape smoother (Santurkar et al. (2018) ; Kohler et al. (2018) ), making the gradient-descent weight updates closer to Newton updates (Huang et al. (2018) ; LeCun et al. (2012) ; S. Wiesler ( 2011)). Since fullfeature whitening performs a more principled normalization, this helps adversarial training in which instability issues are more critical than in a discriminative scenario (Odena et al. (2018) ). 

7. CONCLUSION:

In this paper we proposed a whitening and coloring transform which extends both BN and cBN for GAN/cGAN training, respectively. In the first case, we generalize BN introducing full-feature whitening and a multivariate feature re-projection. In the second case, we exploit our learnable feature re-projection after normalization to represent significant categorical conditional information in the generator. Our empirical results show that the proposed approach can speed-up the training process and improve the image generation quality of different basic frameworks on different datasets in both the conditional and the unconditional scenario.

A COMPUTING THE WHITENING MATRIX USING THE CHOLESKY DECOMPOSITION:

In order to compute the whitening matrix W B in Eq. 3, we first need to compute the batch-dependent covariance matrix Σ B . Since this computation may be unstable, we use the Shrinkage estimator (Schfer & Strimmer (2005) ) which is based on blending the empirical covariance matrix ΣB with a regularizing matrix (in our case we use I, the identity matrix):

EQUATION

)

Once Σ B is computed, we use the Cholesky decomposition (Dereniowski & Marek (2004) ) in order to compute W B in Eq. 3 such that W B W B = Σ -1 B . Note that the Cholesky decomposition is unique given Σ B and that it is differentiable, thus we can back-propagate the gradients through our whitening transform (more details in Sec. B). Many modern platforms for deep-network developing such as TensorFlow T M include tools for computing the Cholesky decomposition. Moreover, its computational cost is smaller than other alternatives such as the ZCA whitening (Kessy et al. (2017) ) used, for instance, in (Huang et al. (2018) ). We empirically showed in Sec. 5.1.1 that, when used to train a GAN generator, our whitening transform is much faster and achieves better results than the ZCA whitening.

In more details, W B is computed using a lower triangular matrix L and the following steps:

1. We start with LL = Σ B , which is equivalent to L -L -1 = Σ -1 B . 2. We use the Cholesky decomposition in order to compute L and L from Σ B .

3. We invert L and we eventually get W B = L -1 which is used in Eq. 3.

At inference time, once the network has been trained, W B and µ B in Eq. 3 are replaced with the expected W E and µ E , computed over the whole training set and approximated using the running average as in (Ioffe & Szegedy (2015) ). In more detail, at each mini-batch training iteration t, we compute an updated version of Σ t E and µ t E by means of:

EQUATION

When training is over, we use Σ E and the steps described above to compute W E (specifically, we replace ΣB with Σ E in Eq. 7). Note that this operation needs to be done only once, after that W E and µ E are fixed and can be used for inference.

A.1 COMPUTATIONAL OVERHEAD The computational cost of W hitening() is given by the sum of computing ΣB (O(md 2 )) plus the Cholesky decomposition (O(2d 3 )), the inversion of L (O(d 3 )) and the application of Eq. 3 to the m samples in B (O(md 2 )). Note that optimized matrix multiplication can largely speed-up most of the involved operations. On the other hand, Coloring() is implemented as a convolutional operation which can also be largely sped-up using common GPUs. Overall, WC is O(d 3 + md 2 ). Using a ResNet architecture with 7 WC layers, in our CIFAR-10 experiments (32×32 images), we need 0.82 seconds per iteration on average on a single NVIDIA Titan X. This includes both the forward and the backward pass for 1 generator and 5 discriminator updates (Gulrajani et al. (2017) ). In comparison, the standard BN, with the same architecture, takes on average 0.62 seconds. The ratio WC/BN is 1.32, which is a minor relative overhead. At inference time, since W E and µ E are pre-computed, WC is reduced to the application of Eq. 3 and the convolutional operations implementing coloring.

Concerning the conditional case, the computational cost of both versions (cWC and cW C sa ) is basically the same as WC. In cW C sa , the only additional overhead of the class-specific branch is given by the computation of A y D, which is O(sd 2 ). We again point out that optimized matrix multiplication can largely speed-up most of the involved operations.

B BACKPROPAGATION:

In our implementation, the gradient backpropagation through our WC/cWC layers is obtained by relying on the TensorFlow T M automatic differentiation. However, for completeness and to make our method fully-reproducible, in this section we provide a reverse mode automatic differentiation (AD) (Giles (2008) ; Ioffe & Szegedy (2015) ; Walter (2012)) of the W hitening back-propagation steps. Note that, since (conditional and unconditional) Coloring is implemented using convolution operations, back-propagation for Coloring is straightforward.

In the rest of this section we adopt the notation used by Giles (2008) that we shortly present below. Given a scalar function of a matrix f (A), Ā indicates the reverse mode AD sensitivities with respect to A, i.e.: Ā = ∂f (A) ∂A . Given a batch B, we subtract the mean µ B from each sample x i ∈ B. Reverse mode AD meansubtraction is trivial and described in (Ioffe & Szegedy (2015) ). We then stack all the meansubtracted samples in a matrix X ∈ R d×m (where we drop the subscript B for simplicity). Using this notation, the empirical covariance matrix in Eq. 7 is given by: Σ = 1 m-1 XX T . In the Cholesky decomposition we have: Σ = L T L, W = L -1 . We can rewrite Eq. 3 as a matrix multiplication and obtain Y = W X, where i-th column of Y is xi .

In reverse mode AD, Ȳ is given and we need to compute X. Using the formulas in (Giles (2008) ) we obtain:

EQUATION

EQUATION

Now, using the formulas in (Walter (2012) ):

EQUATION

where:

P =       1 2 0 • • • 0 1 1 2 . . . 0 1 . . . . . . 0 1 • • • 1 1 2      

and • is Hadamard product.

Referring again to (Giles (2008) ), and combining the reverse sensitives with respect to X from the 2 streams we get:

EQUATION

C IMPLEMENTATION DETAILS

In our experiments we use 2 basic network architectures: ResNet (Gulrajani et al. (2017) ) and DCGAN (Miyato et al. (2018) ). We strictly follow the training protocol details reported in (Gulrajani et al. (2017) ; Miyato et al. (2018) ) and provided in the two subsections below. Moreover, we adopt the same architectural details suggested in (Gulrajani et al. (2017) ; Miyato et al. ( 2018)) (e.g., the number of blocks, the number of 3 × 3 convolutional filters, etc.), except the use of our WC/cWC layers in our generators. We use the same hyper-parameter setting of the works we compare with, a choice which likely favours the baselines used for comparison. The only difference with respect to the architectural setup in (Gulrajani et al. (2017) ; Miyato et al. (2018) ) is emphasized in Sec. C.2 and concerns a different ratio between the number of 3 × 3 convolutional filters in the generator versus the number of discriminator's convolutional filters in the SN + Proj. Discr experiments.

C.1 UNCONDITIONAL IMAGE GENERATION EXPERIMENTS:

In all our GP -based experiments we use Adam with learning rate α = 2e-4, first momentum β 1 = 0 and second momentum β 2 = 0.9. The learning rate is linearly decreased till it reaches 0. In all the GP -based experiments we use the WGAN loss + Gradient Penalty (Gulrajani et al. (2017) ), while in the SN -based experiment we use the hinge loss (Miyato et al. (2018) ). In all the GP experiments we train the networks for 100k iterations following (Gulrajani et al. (2017) ). In the CIFAR-10 experiments, SN + ResNet was trained for 50k iterations (Miyato et al. (2018) ). In the STL-10 experiments, we train the networks for 100k iterations following (Miyato et al. (2018) ).

Each iteration is composed of 1 generator update with batch size 128 and 5 discriminator updates with batch size 64 + 64 (i.e., 64 generated and 64 real images), same numbers are used in (Gulrajani et al. (2017) ; Miyato et al. (2018) ). When training the DCGAN architectures we use two times more iterations. However, in DCGAN each iteration is composed of 1 generator update with batch size 64 and 1 discriminator update with batch size 64 + 64 (Miyato et al. (2018) ). In all the experiments we use the original image resolution, except for STL-10 where we downsample all images to 48 × 48 following (Miyato & Koyama (2018) ).

We provide below the architectural details of our networks. We denote with C S d a block consisting of the following layer sequence: (1) either a WC or a cWC layer (depending on the unconditional/conditional scenario, respectively), ( 2 (1) D k a dense layer with k outputs, (2) G a global-sum-pooling layer, (3) F a flattening layer, (4) P h a layer that permutes the dimensions of the input feature map to the target spatial resolution h × h. Given the above definitions, we show in Tab. 9 the architectures used for the unconditional image generation experiments.

We again emphasize that the methods we compare with in Tab. 1 have the same network structure except the use of WC layers in the generator.

Table 9 : The architectures used in the unconditional image generation experiments. All the generators have a tanh nonlinearity at the end. We use WC before each convolutional layer of the generators.

Method:

Generator Discriminator CIFAR-10

WC GP + ResNet D 2048 -P 4 -R U 128 -R U 128 -R U 128 -C S 3 R D 128 -R D 128 -R S 128 -R S 128 -G -D 1 WC SN + DCGAN D 8192 -P 4 -C U 512 -C U 256 -C U 128 -C S 3 C S 64 -C D 128 -C S 128 -C D 256 -C S 256 -C D 512 -C S 512 -F -D 1 WC SN + ResNet D 4096 -P 4 -R U 256 -R U 256 -R U 256 -C S 3 R D 128 -R D 128 -R S 128 -R S 128 -G -D 1 STL-10 WC SN + DCGAN D 18432 -P 6 -C U 512 -C U 256 -C U 128 -C S 3 C S 64 -C D 128 -C S 128 -C D 256 -C S 256 -C D 512 -C S 512 -F -D 1 WC SN + ResNet D 9216 -P 6 -R U 256 -R U 256 -R U 256 -C S 3 R D 128 -R D 128 -R S 128 -R S 128 -G -D 1 C.2 CONDITIONAL IMAGE GENERATION EXPERIMENTS

In the conditional image generation experiments, most of the hyper-parameter values are the same as in Sec. C.1. In the CIFAR-10 experiments with GP + ACGAN , we train our networks for 100k iterations following (Gulrajani et al. (2017) ). In the CIFAR-10 and CIFAR-100 experiments with SN and Projection Discriminator we train our networks for 50k iterations following (Miyato & Koyama (2018) ). In the Tiny ImageNet experiments, we train our networks for 100k iterations. In the ImageNet experiment, we train our networks for 450k iterations with a starting learning rate equal to α = 5e-4. 2018)), to 128. Simultaneously, we increase the number of 3 × 3 convolutional filters in the discriminator from 128 (Miyato & Koyama (2018) ) to 256. This is the only difference between our cWC-based frameworks and (Miyato & Koyama (2018) ) in the experiments of Tab. 5. The reason behind this architectural choice is that we hypothesize that our cWC generators are more powerful than the corresponding discriminators. Using the same generator/discriminator filter ratio as in (Miyato & Koyama (2018) ), we perform on par with SN + Proj. Discr. (Miyato & Koyama (2018) ). In Tab. 7, cBN refers to SN + Proj. Discr. with the same aforementioned 128/256 filter ratio and used in the cWC baselines.

EQUATION

In Fig. 3 we show a schematic representation of the main baselines reported in Tab. 7.

Finally, in Tab. 2 (right) and in Tab. 5, cWC SN + Proj. Discr. indicates exactly the same framework, the only difference being a different learning rate policy. The results of cWC SN + Proj. Discr. reported in Tab. 5 have been obtained using the same learning rate policy used by Miyato & Koyama (2018) . However, our model already achieved its peak performance after 30k iterations. Hence, we decreased the learning rate by a factor of 10 at iteration 30k and then we trained cWC SN + Proj. Discr. for additional 1k iterations. This brought to a performance boost, as reported in Tab. 2 (right).

C.3 EVALUATION METRICS:

In our experiments we use 2 evaluation metrics: Inception Score (IS) (Salimans et al. (2016) ) and the Fréchet Inception Distance (FID) (Heusel et al. (2017) ). These metrics are the two most widely adopted evaluation criteria for generative methods. While most of generative works report quantitative results using only one of these two criteria, we chose to report them both to show the agreement of these two metrics: in most of the presented comparisons and ablation studies, when IS is larger, FID is lower.

IS was originally introduced by Salimans et al. (2016) , who suggest to measure IS using 5k generated images, repeat this generation 10 times and then average the results. We follow exactly the same protocol.

FID is a more recent metric and the evaluation protocol is less consolidated. Miyato & Koyama (2018) suggest to compute FID using 10k images from the test set together with 5k generated images. Heusel et al. (2017) suggest to use a sample sizes of at least 10k real and 10k generated images. In all our tables, FID 5k refers to the former protocol (Miyato & Koyama (2018) ) and FID refers to the second protocol (Heusel et al. (2017) ).

D USER STUDY:

In order to further emphasize the improvement we have when using cW C sa instead of cBN, we show in Tab. 11 a user study performed with 21 persons. Specifically, the dataset used is Tiny ImageNet and the cBN baseline is the same used for the experiments reported in Tab. 4. We show to each user 50 paired image-sets (using 50 randomly selected classes), generated using either cW C sa or cBN. Each image-set consists of 16 stacked images of the same class, used to increase the robustness of the user's choice. The user selects the image-set which he/she believes is more realistic. These results clearly show the superiority of cW C sa against cBN. In this section we compare the stability properties of our Cholesky decomposition with the ZCAbased whitening proposed in (Huang et al. (2018) ). Specifically, we use W zca C which is the variant of our method introduced in Sec. 5.1.1, where we replace our Cholesky decomposition with the ZCA-based whitening. In Fig. 4 we plot the IS/training-iteration curves corresponding to both W C and W zca C. This graph shows that W zca C is highly unstable, since training can frequently degenerate. When this happens, W zca C collapses to a model that always produces a constant, uniform grey image.

The reason for this behaviour is likely related to the way in which the gradients are backpropagated through the ZCA-based whitening step. Specifically, following (Huang et al. (2018) ), the gradient of the loss with respect to the covariance matrix depends from the inverse of the difference of the covariance-matrix singular values (see (Huang et al. (2018) ), Appendix A.2). As a consequence, if some of the singular values are identical or very close to each other, this computation is illconditioned. Conversely, our whitening procedure based on the Cholesky decomposition (Sec. A) has never showed these drastic instability phenomena (Fig. 4 ). 2017)) (see Fig. 9 for some generated image examples). In both cases we use the SN + ResNet architecture described in Tab. 12. On MNIST we train for 5k iterations with a constant learning rate, while on Fashion-MNIST we train for 20k iterations with a linearly decaying learning rate (see Sec. C.1). All the other hyper-parameters are the same as in Sec. C.1.

The results are reported in Tab. 13. Unconditional image generation on MNIST is the only setup in which we have not observed an improvement using our WC. However, on the more challenging Fashion-MNIST dataset, we did observe an improvement, especially in the conditional scenario.

Table 12 : The MNIST and the Fashion-MNIST architectures. Similarly to the architectures in Tab 9-10: (1) All the generators have a tanh nonlinearity at the end, (2) We use WC/cWC before each convolutional layer of the generators, (3) In the conditional case, in the last C S 3 block, cWC is replaced by WC.

Generator Discriminator 

WC D 12544 -P 7 -R U 256 -R U 256 -C S 3 R D 128 -R D 128 -R S 128 -R S 128 -G -D 1 cWC D 6272 -P 7 -R U 128 -R U 128 -C S 3 R D 128 -R D 128 -R S 128 -R S 128 -G -D 1

G QUALITATIVE RESULTS:

In this section we show some qualitative results obtained using our WC/cWC methods. Specifically, examples of images generated using the CIFAR-10 dataset are shown in Fig. 5 . show examples generated on the STL-10 and the CIFAR-100 dataset, respectively. In Fig. 8 (a)-8(b) we show Tiny ImageNet and ImageNet samples, respectively. Fig. 9 shows MNIST and Fashion-MNIST generated images.

Finally, in Fig. 7 we show some images generated using CIFAR-10 and CIFAR-100 in which the value of the noise vector z is kept fixed while varying the conditioning class y. 

:

https://tiny-imagenet.herokuapp.com/

Figures and Tables:

In summary, our contributions are the following: • We propose a whitening-coloring transform for batch normalization to improve stability of GAN training which is based on the Cholesky decomposition and a re-projection of the whitened features in a learned distribution. • In a cGAN framework we propose: (1) A class-specific coloring transform which generalizes cBN (Dumoulin et al. (2016b)) and (2) A soft-assignment of classes to filters to reduce the network complexity. • Using different datasets and basic GAN-cGAN frameworks, we show that our WC and cWC consistently improve the original frameworks' results and training speed.

Figure 2: IS (a) and FID 10k (b) values on CIFAR-10 sampled at every 1000 iterations.

) a ReLU and (3) a convolutional layer with d output filters. The output of this block has the same (S) spatial resolution of the input. C D d is similar to C S d , but the output feature map is downsampled (D): the convolutional layer uses stride = 2. C U d is an upconvolution (U ) block with fractional stride = 0.5. We use a similar notation for the ResNet blocks: R S d is a ResNet block (see Fig.1(a)) which preserves spatial resolution. R D d downsamples the feature maps and R U d upsamples the feature maps. Also we denote with:

Figure 3: A schematic representation of the main baselines used in Tab. 7. (a) cBN (Dumoulin et al. (2016b)); (b) cWC-cls-only: coloring with only the conditional branch; (c) cW C sa -cls-only: coloring with only the conditional branch based on the class-filter soft assignment; (d) cWC-diag: 2 branches and a diagonal matrix Γ y ; (e) cWC: plain version; (f) cW C sa : version with soft assignment.

Figure 4: CIFAR-10: stability comparison between W C and W zca C. While W C is stable, in our experiments we observed that W zca C can frequently degenerate to a model which produces a constant, gray image. When this happens, the IS value collapses. Specifically, this figure shows three randomly initialized training runs for both W C and W zca C. In two out of three runs, W zca C degenerated at some point during training.

Figure 5: CIFAR-10 images generated using: (a) WC SN + ResNet and (b) cWC SN + ResNet (samples of the same class displayed in the same row).

Figure 6: Qualitative results: (a) STL-10 images generated using WC and (b) CIFAR-100 images generated using cW C sa (first 10 CIFAR-100 classes, samples of the same class are displayed in the same row).

Figure 7: Images generated using cWC SN + ResNet. In each column the value of the noise vector z is kept fixed, while changing in each row the class-label y. (a) CIFAR-10 and (b) CIFAR-100.

Figure 8: Tiny ImageNet (a) and ImageNet (b) images generated using cW C sa by randomly selecting 10 classes (samples of the same class are displayed in the same row).



Table content: <table><tr><td/><td/><td>CIFAR-10</td><td/><td/><td>STL-10</td><td/></tr><tr><td>Method</td><td>IS</td><td colspan="2">FID 5k FID 10k</td><td>IS</td><td colspan="2">FID 5k FID 10K</td></tr><tr><td colspan="2">GP + ResNet (Gulrajani et al. (2017)) 7.86 ± .07</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr><tr><td>WC GP + ResNet (ours)</td><td>8.20 ± .08</td><td>-</td><td>20.4</td><td>-</td><td>-</td><td>-</td></tr><tr><td colspan="2">SN + DCGAN (Miyato et al. (2018)) 7.58 ± .12</td><td>25.5</td><td>-</td><td>8.79 ± .14</td><td>43.2</td><td>-</td></tr><tr><td>WC SN + DCGAN (ours)</td><td>7.84 ± .10</td><td>25.5</td><td>23.0</td><td>9.45 ± 0.18</td><td>40.1</td><td>37.9</td></tr><tr><td>SN + ResNet (Miyato et al. (2018))</td><td>8.22 ± .05</td><td>21.7</td><td>-</td><td>9.10 ± .04</td><td>40.1</td><td>-</td></tr><tr><td>WC SN + ResNet (ours)</td><td>8.66 ± .11</td><td>20.2</td><td>17.2</td><td>9.93 ± .13</td><td>38.7</td><td>36.4</td></tr></table>

CIFAR-10 experiments using unconditioned (left) or conditioned (right) methods. Most of the reported results are taken from(Gulrajani et al. (2017)).

Table content: <table><tr><td>Method</td><td>IS</td></tr><tr><td>ALI Dumoulin et al. (2016a)</td><td>5.34 ± .05</td></tr><tr><td>BEGAN Berthelot et al. (2017)</td><td>5.62</td></tr><tr><td>DCGAN Radford et al. (2015)</td><td>6.16 ± .07</td></tr><tr><td colspan="2">Improved GAN (-L+HA) Salimans et al. (2016) 6.86 ± .06</td></tr><tr><td>EGAN-Ent-VI Dai et al. (2017)</td><td>7.07 ± .10</td></tr><tr><td>DFM</td><td/></tr></table>

CIFAR-10: Ablation study of WC.

Table content: <table><tr><td>Method</td><td>IS</td><td>FID 10k</td><td colspan="2">Table 4: Tiny ImageNet results.</td></tr><tr><td colspan="2">W-only WC-diag 7.00 ± .09 6.63 ± .07 C-only 7.86 ± .08 std-C 8.34 ± .08 W zca C 8.29 ± .08</td><td>36.8 34.1 23.17 18.02 18.57</td><td>Method cBN cWC cW C sa 11.78 ± .25 IS 9.27 ± .14 10.43 ± .13</td><td>FID 10k 39.9 35.7 27.7</td></tr><tr><td>WC</td><td>8.66 ± .11</td><td>17.2</td><td/></tr></table>

CIFAR-10/100: comparing cWC and cW C sa with different basic frameworks.

Table content: <table><tr><td/><td colspan="2">CIFAR-10</td><td/><td colspan="2">CIFAR-100</td><td/></tr><tr><td>Method</td><td>IS</td><td colspan="2">FID 5k FID 10k</td><td>IS</td><td colspan="2">FID 5k FID 10K</td></tr><tr><td>GP + ACGAN (Gulrajani et al. (2017))</td><td>8.42 ± .10</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr><tr><td>cWC GP + ACGAN (ours)</td><td>8.80 ± 0.13</td><td>-</td><td>17.2</td><td>-</td><td>-</td><td>-</td></tr><tr><td>cW C sa GP + ACGAN (ours)</td><td>8.69 ± 0.13</td><td>-</td><td>16.8</td><td>-</td><td>-</td><td>-</td></tr><tr><td>SN + Proj. Discr. (Miyato &amp; Koyama (2018))</td><td>8.62</td><td>17.5</td><td>-</td><td>9.04</td><td>23.2</td><td>-</td></tr><tr><td>cWC SN + Proj. Discr. (ours)</td><td>8.97 ± .11</td><td>16.0</td><td>13.5</td><td>9.52 ± .07</td><td>20.5</td><td>17.2</td></tr><tr><td>cW C sa SN + Proj. Discr. (ours)</td><td>8.85 ± .10</td><td>16.5</td><td>13.5</td><td>9.80 ± .17</td><td>20.6</td><td>17.4</td></tr></table>

ImageNet: IS computed using different training iterations. sa SN + Proj. Discr. (ours) 21.39 ± 0.37 26.11 ± 0.40 29.20 ± 0.87 34.36 ± 0.67

Table content: <table><tr><td>Method</td><td>100k</td><td>200k</td><td>300k</td><td>450k</td></tr><tr><td>SN + Proj. Discr. (Miyato &amp; Koyama (2018))</td><td>17.5</td><td>21</td><td>23.5</td><td>29.7 ± 0.61</td></tr><tr><td>cW C</td><td/><td/><td/><td/></tr></table>

Ablation study of cWC.

Table content: <table><tr><td/><td colspan="2">CIFAR-10</td><td colspan="2">CIFAR-100</td></tr><tr><td>Method</td><td>IS</td><td>FID 10k</td><td>IS</td><td>FID 10K</td></tr><tr><td>cBN</td><td>7.68 ± .13</td><td>22.1</td><td>8.08 ± .08</td><td>26.5</td></tr><tr><td>c-std-C</td><td>7.92 ± .11</td><td>24.37</td><td>7.67 ± .08</td><td>46.46</td></tr><tr><td>c-std-C sa</td><td>7.93 ± .11</td><td>26.75</td><td>8.23 ± .10</td><td>27.59</td></tr><tr><td>cWC-cls-only</td><td>8.10 ± .09</td><td>28.0</td><td>7.10 ± .06</td><td>75.4</td></tr><tr><td colspan="2">cW C sa -cls-only 8.20 ± .09</td><td>23.5</td><td>7.88 ± .12</td><td>33.4</td></tr><tr><td>cWC-diag</td><td>8.90 ± .09</td><td>14.2</td><td>8.82 ± .12</td><td>20.8</td></tr><tr><td>cWC</td><td>8.97 ± .11</td><td>13.5</td><td>9.52 ± .07</td><td>17.2</td></tr><tr><td>cW C sa</td><td>8.85 ± .10</td><td>13.5</td><td>9.80 ± .17</td><td>17.4</td></tr></table>



Table content: <table><tr><td/><td colspan="4">: CIFAR-10 and CIFAR-100 classification error (%).</td></tr><tr><td/><td colspan="2">CIFAR-10</td><td colspan="2">CIFAR-100</td></tr><tr><td/><td colspan="4">ResNet-32 ResNet-56 ResNet-32 ResNet-56</td></tr><tr><td>BN</td><td>7.31</td><td>7.21</td><td>31.41</td><td>30.68</td></tr><tr><td>WC</td><td>7.00</td><td>6.60</td><td>31.25</td><td>30.40</td></tr><tr><td>DBN</td><td>6.94</td><td>6.49</td><td>-</td><td>-</td></tr></table>

The architectures used in the conditional image generation experiments. All the generators have a tanh nonlinearity at the end. We use cWC before each convolutional layer of the generators, except for the last C S 3 block in which we use WC.

Table content: <table><tr><td>Method</td><td>Generator</td><td>Discriminator</td></tr><tr><td/><td>CIFAR-10 and CIFAR-100</td><td/></tr><tr><td>cWC GP + ACGAN</td><td>D 2048 -P 4</td><td/></tr></table>

All the other hyper-parameters are the same as in Sec. C.1. Tab. 10 shows the architectures used in the conditional image generation experiments. Both cWC SN + Proj. Discr. and cW C sa SN + Proj. Discr. used in CIFAR-10 and CIFAR-100 (see Tab. 5) have an opposite generator/discriminator filter-number ratio with respect to the ratio used in the original SN + Proj. Discr. by Miyato & Koyama (2018) (128/256 vs. 256/128).In fact, we decrease the number of 3 × 3 convolutional filters in each generator block from 256, used in(Miyato & Koyama (

Table content: <table/>

Tiny ImageNet user-study. Comparing cBN and cW C sa using human judgments.

Table content: <table><tr><td colspan="2">User-averaged class-based</td><td>Cronbach's alpha</td></tr><tr><td colspan="2">preference for cW C sa</td><td>inter-user agreement</td></tr><tr><td>cBN vs cW C sa</td><td>67.34 %</td><td>0.87 (Good)</td></tr><tr><td colspan="3">E COMPARISON BETWEEN THE CHOLESKY AND THE ZCA-BASED</td></tr><tr><td>WHITENING PROCEDURES</td><td/><td/></tr></table>

FID 10k scores for the unconditional and the conditional image generation experiments on the MNIST and the Fashion-MNIST datasets.

Table content: <table><tr><td/><td>Unconditional</td><td/><td/><td>Conditional</td><td/></tr><tr><td colspan="6">Method MNIST Fashion-MNIST Method MNIST Fashion-MNIST</td></tr><tr><td>BN</td><td>3.6</td><td>10.6</td><td>cBN</td><td>4.5</td><td>7.5</td></tr><tr><td>WC</td><td>4.9</td><td>10.4</td><td>cWC</td><td>4.3</td><td>6.2</td></tr></table>

Peer review (iclr2019):
 This paper proposed Whitening and Coloring (WC) transform to replace batch normalization (BN) in generators for GAN. WC generalize BN by normalizing features with decorrelating (whitening) matrix, and then denormalizing (coloring) features by learnable weights. The main advantage of WC is that it exploits the full correlation matrix of features, while BN only considers the diagonal. WC is differentiable and is only 1.32x slower than BN. The authors also apply conditional WC, which learn the parameters of coloring conditioned on labels, to conditional image generation. Experimental results show WC achieves better inception score and FI distance comparing to BN on CIFAR-10, CIFAR-100, STL-10 and Tiny Imagenet. Furthermore, the conditional image generation results by WC are better than all previous methods. I have some detailed comments below. + The paper is well written, and I generally enjoyed reading the paper. + The experimental results look sufficient, and I appreciate the ablation study sections. + The score on supervised CIFAR-10 is better than previous methods. - The main text is longer than expectation. I would suggest shorten section 3.1 Cholesky decomposition, section 4 conditional color transformation and the text in section 5 experiments. - The proposed WC transform is general. It is a bit unclear why it is particularly effective for generator in GAN. Exploiting the full correlation matrix sounds reasonable, but it may also introduce unstability. It would help if the authors have an intuitive way to show that whitening is better than normalization. - It is unclear why conditional WC can be used for generation conditioned on class labels. In Dumoulin 2016, conditional instance normalization is used for generating images conditioned on styles. As image styles are described by Gram matrix (correlation) of features, changing first order and second order statistics of features is reasonable for image generation conditioned on styles. I cannot understand why conditional WC can be used for generation conditioned on class labels. I would like the authors to carefully explain the motivation, and also provide visual results like using the same random noise as input, but only changing the class conditions. - It is unclear to me why the proposed whitening based on Cholesky decomposition is better than ZCA-based in Huang 2018. Specifically, could the authors explain why WC is better than W_{aca}C in Table 3? - The authors claim progressive GAN used a larger generator to achieve a better performance than WC. The WC layer is generally larger than BN layer and has more learnable parameters. Could the authors compare the number of parameter of generator in BN-ResNet, WC-ResNet, and progressive GAN? - In Table 3, std-C is better than WC-diag, which indicates coloring is more important. In Table 6, cWC-diag is better than c-std-C, which indicates whitening is more important. Why? - What is the batch size used for training? For conditional WC, do the samples in each minibatch have same label? - Having ImageNet results will be a big support for the paper. =========== comments after reading rebuttal =========== I appreciate the authors* feedback. I raised my score for Fig 7 showing the conditional images, and for experiments on ImageNet. I think WC is a reasonable extension to BN, and I generally like the extensive experiments. However, the paper is still borderline to me for the following concerns. - I strongly encourage the authors to shorten the paper to the recommended 8-page. - The motivation of WC for GAN is still unclear. WC is general extension of BN, and a simplified version has been shown to be effective for discrimination in Huang 2018. I understand the empirically good performance for GAN. But I am not convinced why WC is particularly effective for GAN, comparing to discrimination. The smoothness explanation of BN applies to both GAN and discrimination. I actually think it may be nontrivial to extend the smoothness argument from BN to WC. - The motivation of cWC is still unclear. I did not find the details of cBN for class-label conditions, and how they motivated it in (Gulrajani et al. (2017) and (Miyato et al. 2018). Even if it has been used before, I would encourage the authors to restate the motivation in the paper. Saying it has been used before is an unsatisfactory answer for an unintuitive setting. - Another less important comment is that it is still hard to say how much benefits we get from the more learnable parameters in WC than BN. It is probably not so important because it can be a good trade-off for state-of-the-art results. In table 3 for unconditioned generation, it looks like the benefits come a lot from the larger parameter space. For conditioned generation in table 6, I am not sure if whitening is conditioned or not, which makes it less reliable to me. If whitening is conditioned, then the samples in each minibatches may not be enough to get a stable whitening. If whitening is unconditioned, then there seems to be a mismatch between whitening and coloring. ====== second round after rebuttal ============= I raise the score again for the commitment of shortening the paper and the detailed response from the authors. That being said, I am not fully convinced about motivations for WC and cWC. - GAN training is more difficult and unstable, but that does not explain why WC is particularly effective for GAN training. - I have never seen papers saying cBN/cWC is better than other conditional generator conditioned on class labels. I think the capacity argument is interesting, but I am not sure if it applies to convolutional net (where the mean and variance of a channel is used), or how well it can explain the performance because neural nets are overparameterized in general. I would encourage authors to include these discussions in the paper.