Title: UNROLLED GENERATIVE ADVERSARIAL NETWORKS

Abstract: We introduce a method to stabilize Generative Adversarial Networks (GANs) by defining the generator objective with respect to an unrolled optimization of the discriminator. This allows training to be adjusted between using the optimal discriminator in the generator's objective, which is ideal but infeasible in practice, and using the current value of the discriminator, which is often unstable and leads to poor solutions. We show how this technique solves the common problem of mode collapse, stabilizes training of GANs with complex recurrent generators, and increases diversity and coverage of the data distribution by the generator.

1. INTRODUCTION:

The use of deep neural networks as generative models for complex data has made great advances in recent years. This success has been achieved through a surprising diversity of training losses and model architectures, including denoising autoencoders (Vincent et al., 2010) , variational autoencoders (Kingma & Welling, 2013; Rezende et al., 2014; Gregor et al., 2015; Kulkarni et al., 2015; Burda et al., 2015; Kingma et al., 2016) , generative stochastic networks (Alain et al., 2015) , diffusion probabilistic models (Sohl-Dickstein et al., 2015) , autoregressive models (Theis & Bethge, 2015; van den Oord et al., 2016a; b) , real non-volume preserving transformations (Dinh et al., 2014; 2016) , Helmholtz machines (Dayan et al., 1995; Bornschein et al., 2015) , and Generative Adversarial Networks (GANs) (Goodfellow et al., 2014) .

1.1. GENERATIVE ADVERSARIAL NETWORKS:

While most deep generative models are trained by maximizing log likelihood or a lower bound on log likelihood, GANs take a radically different approach that does not require inference or explicit calculation of the data likelihood. Instead, two models are used to solve a minimax game: a generator which samples data, and a discriminator which classifies the data as real or generated. In theory these models are capable of modeling an arbitrarily complex probability distribution. When using the optimal discriminator for a given class of generators, the original GAN proposed by Goodfellow et al. minimizes the Jensen-Shannon divergence between the data distribution and the generator, and extensions generalize this to a wider class of divergences (Nowozin et al., 2016; Sonderby et al., 2016; Poole et al., 2016) .

The ability to train extremely flexible generating functions, without explicitly computing likelihoods or performing inference, and while targeting more mode-seeking divergences as made GANs extremely successful in image generation (Odena et al., 2016; Salimans et al., 2016; Radford et al., 2015) , and image super resolution (Ledig et al., 2016) . The flexibility of the GAN framework has also enabled a number of successful extensions of the technique, for instance for structured prediction (Reed et al., 2016a; b; Odena et al., 2016) , training energy based models (Zhao et al., 2016) , and combining the GAN loss with a mutual information loss (Chen et al., 2016) .

In practice, however, GANs suffer from many issues, particularly during training. One common failure mode involves the generator collapsing to produce only a single sample or a small family of very similar samples. Another involves the generator and discriminator oscillating during training, rather than converging to a fixed point. In addition, if one agent becomes much more powerful than the other, the learning signal to the other agent becomes useless, and the system does not learn. To train GANs many tricks must be employed, such as careful selection of architectures (Radford et al., 2015) , minibatch discrimination (Salimans et al., 2016) , and noise injection (Salimans et al., 2016; Sonderby et al., 2016) . Even with these tricks the set of hyperparameters for which training is successful is generally very small in practice.

Once converged, the generative models produced by the GAN training procedure normally do not cover the whole distribution (Dumoulin et al., 2016; Che et al., 2016) , even when targeting a modecovering divergence such as KL. Additionally, because it is intractable to compute the GAN training loss, and because approximate measures of performance such as Parzen window estimates suffer from major flaws (Theis et al., 2016) , evaluation of GAN performance is challenging. Currently, human judgement of sample quality is one of the leading metrics for evaluating GANs. In practice this metric does not take into account mode dropping if the number of modes is greater than the number of samples one is visualizing. In fact, the mode dropping problem generally helps visual sample quality as the model can choose to focus on only the most common modes. These common modes correspond, by definition, to more typical samples. Additionally, the generative model is able to allocate more expressive power to the modes it does cover than it would if it attempted to cover all modes.

1.2. DIFFERENTIATING THROUGH OPTIMIZATION:

Many optimization schemes, including SGD, RMSProp (Tieleman & Hinton, 2012), and Adam (Kingma & Ba, 2014) , consist of a sequence of differentiable updates to parameters. Gradients can be backpropagated through unrolled optimization updates in a similar fashion to backpropagation through a recurrent neural network. The parameters output by the optimizer can thus be included, in a differentiable way, in another objective (Maclaurin et al., 2015) . This idea was first suggested for minimax problems in (Pearlmutter & Siskind, 2008) , while (Zhang & Lesser, 2010) provided a theoretical analysis and experimental results on differentiating through a single step of gradient ascent for simple matrix games. Differentiating through unrolled optimization was first scaled to deep networks in (Maclaurin et al., 2015) , where it was used for hyperparameter optimization. More recently, (Belanger & McCallum, 2015; Han et al., 2016; Andrychowicz et al., 2016) backpropagate through optimization procedures in contexts unrelated to GANs or minimax games.

In this work we address the challenges of unstable optimization and mode collapse in GANs by unrolling optimization of the discriminator objective during training.

2. METHOD:



The GAN learning problem is to find the optimal parameters θ * G for a generator function

EQUATION

where f is commonly chosen to be

EQUATION

Here x ∈ X is the data variable, z ∈ Z is the latent variable, p data is the data distribution, the discriminator D (•; θ D ) : X → [0, 1] outputs the estimated probability that a sample x comes from the data distribution, θ D and θ G are the discriminator and generator parameters, and the generator function G (•; θ G ) : Z → X transforms a sample in the latent space into a sample in the data space.

For the minimax loss in Eq. 4, the optimal discriminator D * (x) is a known smooth function of the generator probability p G (x) (Goodfellow et al., 2014) ,

D * (x) = p data (x) p data (x) + p G (x)

.

(5)

When the generator loss in Eq. 2 is rewritten directly in terms of p G (x) and Eq. 5 rather than θ G and θ * D (θ G ), then it is similarly a smooth function of p G (x). These smoothness guarantees are typically lost when D (x; θ D ) and G (z; θ G ) are drawn from parametric families. They nonetheless suggest that the true generator objective in Eq. 2 will often be well behaved, and is a desirable target for direct optimization.

Explicitly solving for the optimal discriminator parameters θ * D (θ G ) for every update step of the generator G is computationally infeasible for discriminators based on neural networks. Therefore this minimax optimization problem is typically solved by alternating gradient descent on θ G and ascent on θ D .

The optimal solution θ * = {θ * G , θ * D } is a fixed point of these iterative learning dynamics. Additionally, if f (θ G , θ D ) is convex in θ G and concave in θ D , then alternating gradient descent (ascent) trust region updates are guaranteed to converge to the fixed point, under certain additional weak assumptions (Juditsky et al., 2011) . However in practice f (θ G , θ D ) is typically very far from convex in θ G and concave in θ D , and updates are not constrained in an appropriate way. As a result GAN training suffers from mode collapse, undamped oscillations, and other problems detailed in Section 1.1. In order to address these difficulties, we will introduce a surrogate objective function f K (θ G , θ D ) for training the generator which more closely resembles the true generator objective f (θ G , θ * D (θ G )).

2.2. UNROLLING GANS:

A local optimum of the discriminator parameters θ * D can be expressed as the fixed point of an iterative optimization procedure,

EQUATION

where η k is the learning rate schedule. For clarity, we have expressed Eq. 7 as a full batch steepest gradient ascent equation. More sophisticated optimizers can be similarly unrolled. In our experiments we unroll Adam (Kingma & Ba, 2014) .

By unrolling for K steps, we create a surrogate objective for the update of the generator,

EQUATION

When K = 0 this objective corresponds exactly to the standard GAN objective, while as K → ∞ it corresponds to the true generator objective function f (θ G , θ * D (G)). By adjusting the number of unrolling steps K, we are thus able to interpolate between standard GAN training dynamics with their associated pathologies, and more costly gradient descent on the true generator loss.

2.3. PARAMETER UPDATES:

The generator and discriminator parameter updates using this surrogate loss are

EQUATION

)

For clarity we use full batch steepest gradient descent (ascent) with stepsize η above, while in experiments we instead use minibatch Adam for both updates. The gradient in Eq. 10 requires backpropagating through the optimization process in Eq. 7. A clear description of differentiation through gradient descent is given as Algorithm 2 in (Maclaurin et al., 2015) , though in practice the use of an automatic differentiation package means this step does not need to be programmed explicitly. A pictorial representation of these updates is provided in Figure 1 .

θ D θ G f 0 (θ G ,θ D ) θ D 1 θ G SGD θ D Gradients θ G Gradients f 1 (θ G ,θ D ) Forward Pass f 2 (θ G ,θ D ) θ G θ D 2 SGD Unrolling SGD Gradients

It is important to distinguish this from an approach suggested in (Goodfellow et al., 2014) , that several update steps of the discriminator parameters should be run before each single update step for the generator. In that approach, the update steps for both models are still gradient descent (ascent) with respect to fixed values of the other model parameters, rather than the surrogate loss we describe in Eq. 9. Performing K steps of discriminator update between each single step of generator update corresponds to updating the generator parameters θ G using only the first term in Eq. 12 below.

2.4. THE MISSING GRADIENT TERM:

To better understand the behavior of the surrogate loss f K (θ G , θ D ), we examine its gradient with respect to the generator parameters θ G ,

EQUATION

)

Standard GAN training corresponds exactly to updating the generator parameters using only the first term in this gradient, with θ K D (θ G , θ D ) being the parameters resulting from the discriminator update step. An optimal generator for any fixed discriminator is a delta function at the x to which the discriminator assigns highest data probability. Therefore, in standard GAN training, each generator update step is a partial collapse towards a delta function.

The second term captures how the discriminator would react to a change in the generator. It reduces the tendency of the generator to engage in mode collapse. For instance, the second term reflects that as the generator collapses towards a delta function, the discriminator reacts and assigns lower probability to that state, increasing the generator loss. It therefore discourages the generator from collapsing, and may improve stability.

As K → ∞, θ K D goes to a local optimum of f , where ∂f ∂θ K D = 0, and therefore the second term in Eq. 12 goes to 0 (Danskin, 1967) . The gradient of the unrolled surrogate loss f K (θ G , θ D ) with respect to θ G is thus identical to the gradient of the standard GAN loss f (θ G , θ D ) both when K = 0 and when K → ∞, where we take K → ∞ to imply that in the standard GAN the discriminator is also fully optimized between each generator update. Between these two extremes, f K (θ G , θ D ) captures additional information about the response of the discriminator to changes in the generator.

2.5. CONSEQUENCES OF THE SURROGATE LOSS:

GANs can be thought of as a game between the discriminator (D) and the generator (G). The agents take turns taking actions and updating their parameters until a Nash equilibrium is reached. The optimal action for D is to evaluate the probability ratio x) for the generator's move x (Eq. 5). The optimal generator action is to move its mass to maximize this ratio.

p data (x) p G (x)+p data (

The initial move for G will be to move as much mass as its parametric family and update step permits to the single point that maximizes the ratio of probability densities. The action D will then take is quite simple. It will track that point, and to the extent allowed by its own parametric family and update step assign low data probability to it, and uniform probability everywhere else. This cycle of G moving and D following will repeat forever or converge depending on the rate of change of the two agents. This is similar to the situation in simple matrix games like rock-paper-scissors and matching pennies, where alternating gradient descent (ascent) with a fixed learning rate is known not to converge (Singh et al., 2000; Bowling & Veloso, 2002) .

In the unrolled case, however, this undesirable behavior no longer occurs. Now G's actions take into account how D will respond. In particular, G will try to make steps that D will have a hard time responding to. This extra information helps the generator spread its mass to make the next D step less effective instead of collapsing to a point.

In principle, a surrogate loss function could be used for both D and G. In the case of 1-step unrolled optimization this is known to lead to convergence for games in which gradient descent (ascent) fails (Zhang & Lesser, 2010) . However, the motivation for using the surrogate generator loss in Section 2.2, of unrolling the inner of two nested min and max functions, does not apply to using a surrogate discriminator loss. Additionally, it is more common for the discriminator to overpower the generator than vice-versa when training a GAN. Giving more information to G by allowing it to 'see into the future' may thus help the two models be more balanced.

3. EXPERIMENTS:

In this section we demonstrate improved mode coverage and stability by applying this technique to five datasets of increasing complexity. Evaluation of generative models is a notoriously hard problem (Theis et al., 2016) . As such the de facto standard in GAN literature has become sample quality as evaluated by a human and/or evaluated by a heuristic (Inception score for example, (Salimans et al., 2016) ). While these evaluation metrics do a reasonable job capturing sample quality, they fail to capture sample diversity. In our first 2 experiments diversity is easily evaluated via visual inspection. In our later experiments this is not the case, and we will use a variety of methods to quantify coverage of samples. Our measures are individually strongly suggestive of unrolling reducing mode-collapse and improving stability, but none of them alone are conclusive. We believe that taken together however, they provide extremely compelling evidence for the advantages of unrolling.

When doing stochastic optimization, we must choose which minibatches to use in the unrolling updates in Eq. 7. We experimented with both a fixed minibatch and re-sampled minibatches for each unrolling step, and found it did not significantly impact the result. We use fixed minibatches for all experiments in this section.

We provide a reference implementation of this technique at github.com/poolio/unrolled gan.

3.1. MIXTURE OF GAUSSIANS DATASET:

To illustrate the impact of discriminator unrolling, we train a simple GAN architecture on a 2D mixture of 8 Gaussians arranged in a circle. For a detailed list of architecture and hyperparameters see Appendix A. Figure 2 shows the dynamics of this model through time. Without unrolling the generator rotates around the valid modes of the data distribution but is never able to spread out mass. When adding in unrolling steps G quickly learns to spread probability mass and the system converges to the data distribution.

In Appendix B we perform further experiments on this toy dataset. We explore how unrolling compares to historical averaging, and compares to using the unrolled discriminator to update the generator, but without backpropagating through the generator. In both cases we find that the unrolled objective performs better.

3.2. PATHOLOGICAL MODEL WITH MISMATCHED GENERATOR AND DISCRIMINATOR:

To evaluate the ability of this approach to improve trainability, we look to a traditionally challenging family of models to train -recurrent neural networks (RNNs). In this experiment we try to generate MNIST samples using an LSTM (Hochreiter & Schmidhuber, 1997) . MNIST digits are 28x28 pixel images. At each timestep of the generator LSTM, it outputs one column of this image, so that after 28 timesteps it has output the entire sample. We use a convolutional neural network as the discriminator. See Appendix C for the full model and training details. Unlike in all previously successful GAN models, there is no symmetry between the generator and the discriminator in this task, resulting in a more complex power balance. Results can be seen in Figure 3 . Once again, without unrolling the model quickly collapses, and rotates through a sequence of single modes. Instead of rotating spatially, it cycles through proto-digit like blobs. When running with unrolling steps the generator disperses and appears to cover the whole data distribution, as in the 2D example. 1 : Unrolled GANs cover more discrete modes when modeling a dataset with 1,000 data modes, corresponding to all combinations of three MNIST digits (10 3 digit combinations). The number of modes covered is given for different numbers of unrolling steps, and for two different architectures.

The reverse KL divergence between model and data is also given. Standard error is provided for both measures.

3.3. MODE AND MANIFOLD COLLAPSE USING AUGMENTED MNIST:

GANs suffer from two different types of model collapse -collapse to a subset of data modes, and collapse to a sub-manifold within the data distribution. In these experiments we isolate both effects using artificially constructed datasets, and demonstrate that unrolling can largely rescue both types of collapse.

3.3.1. DISCRETE MODE COLLAPSE:

To explore the degree to which GANs drop discrete modes in a dataset, we use a technique similar to one from (Che et al., 2016) . We construct a dataset by stacking three randomly chosen MNIST digits, so as to construct an RGB image with a different MNIST digit in each color channel. This new dataset has 1,000 distinct modes, corresponding to each combination of the ten MNIST classes in the three channels.

We train a GAN on this dataset, and generate samples from the trained model (25,600 samples for all experiments). We then compute the predicted class label of each color channel using a pre-trained MNIST classifier. To evaluate performance, we use two metrics: the number of modes for which the generator produced at least one sample, and the KL divergence between the model and the expected data distribution. Within this discrete label space, a KL divergence can be estimated tractably between the generated samples and the data distribution over classes, where the data distribution is a uniform distribution over all 1,000 classes.

As presented in Table 1 , as the number of unrolling steps is increased, both mode coverage and reverse KL divergence improve. Contrary to (Che et al., 2016) , we found that reasonably sized models (such as the one used in Section 3.4) covered all 1,000 modes even without unrolling. As such we use smaller convolutional GAN models. Details on the models used are provided in Appendix E.

We observe an additional interesting effect in this experiment. The benefits of unrolling increase as the discriminator size is reduced. We believe unrolling effectively increases the capacity of the discriminator. The unrolled discriminator can better react to any specific way in which the generator is producing non-data-like samples. When the discriminator is weak, the positive impact of unrolling is thus larger.

3.3.2. MANIFOLD COLLAPSE:

In addition to discrete modes, we examine the effect of unrolling when modeling continuous manifolds. To get at this quantity, we constructed a dataset consisting of colored MNIST digits. Unlike in the previous experiment, a single MNIST digit was chosen, and then assigned a single monochromatic color. With a perfect generator, one should be able to recover the distribution of colors used to generate the digits. We use colored MNIST digits so that the generator also has to model the digits, which makes the task sufficiently complex that the generator is unable to perfectly solve it. The color of each digit is sampled from a 3D normal distribution. Details of this dataset are provided in Appendix F. We will examine the distribution of colors in the samples generated by the trained GAN. As will also be true in the CIFAR10 example in Section 3.4, the lack of diversity in generated colors is almost invisible using only visual inspection of the samples. Samples can be found in Appendix F.

Unrolling steps 0 1 5 10 JS divergence with 1/4 layer size 0.073 ± 0.0058 0.142 ± 0.028 0.049 ± 0.0021 0.075 ± 0.012 JS divergence with 1/2 layer size 0.095 ± 0.011 0.119 ± 0.010 0.055 ± 0.0049 0.074± 0.016 JS divergence with 1/1 layer size 0.034 ± 0.0034 0.050 ± 0.0026 0.027 ± 0.0028 0.025 ± 0.00076 Table 2 : Unrolled GANs better model a continuous distribution. GANs are trained to model randomly colored MNIST digits, where the color is drawn from a Gaussian distribution. The JS divergence between the data and model distributions over digit colors is then reported, along with standard error in the JS divergence. More unrolling steps, and larger models, lead to better JS divergence. In order to recover the color the GAN assigned to the digit, we used k-means with 2 clusters, to pick out the foreground color from the background. We then performed this transformation for both the training data and the generated images. Next we fit a Gaussian kernel density estimator to both distributions over digit colors. Finally, we computed the JS divergence between the model and data distributions over colors. Results can be found in Table 2 for several model sizes. Details of the models are provided in Appendix F.

In general, the best performing models are unrolled for 5-10 steps, and larger models perform better than smaller models. Counter-intuitively, taking 1 unrolling step seems to hurt this measure of diversity. We suspect that this is due to it introducing oscillatory dynamics into training. Taking more unrolling steps however leads to improved performance with unrolling.

3.4. IMAGE MODELING OF CIFAR10:

Here we test our technique on a more traditional convolutional GAN architecture and task, similar to those used in (Radford et al., 2015; Salimans et al., 2016) . In the previous experiments we tested models where the standard GAN training algorithm would not converge. In this section we improve a standard model by reducing its tendency to engage in mode collapse. We ran 4 configurations of this model, varying the number of unrolling steps to be 0, 1, 5, or 10. Each configuration was run 5 times with different random seeds. For full training details see Appendix D. Samples from each of the 4 configurations can be found in Figure 4 . There is no obvious difference in visual quality across these model configurations. Visual inspection however provides only a poor measure of sample diversity.

By training with an unrolled discriminator, we expect to generate more diverse samples which more closely resemble the underlying data distribution. We introduce two techniques to examine sample diversity: inference via optimization, and pairwise distance distributions. 

z nearest = argmin z ||G (z; θ G ) -x target || 2 2

(13)

EQUATION

)

This concept of backpropagating to generate images has been widely used in visualizing features from discriminative networks (Simonyan et al., 2013; Yosinski et al., 2015; Nguyen et al., 2016) and has been applied to explore the visual manifold of GANs in (Zhu et al., 2016) .

We apply this technique to each of the models trained. We optimize with 3 random starts using LBFGS, which is the optimizer typically used in similar settings such as style transfer (Johnson et al., 2016; Champandard, 2016) . Results comparing average mean squared errors between x nearest and x target in pixel space can be found in Table 3 . In addition we compute the percent of images for which a certain configuration achieves the lowest loss when compared to the other configurations.

In the zero step case, there is poor reconstruction and less than 1% of the time does it obtain the lowest error of the 4 configurations. Taking 1 unrolling step results in a significant improvement in MSE. Taking 10 unrolling steps results in more modest improvement, but continues to reduce the reconstruction MSE.

To visually see this, we compare the result of the optimization process for 0, 1, 5, and 10 step configurations in Figure 5 . To select for images where differences in behavior is most apparent, we sort the data by the absolute value of a fractional difference in MSE between the 0 and 10 step models,

l0step-l10step 1 2 (l0step+l10step) .

This highlights examples where either the 0 or 10 step model cannot accurately fit the data example but the other can. In Appendix G we show the same comparison for models initialized using different random seeds. Many of the zero step images are fuzzy and illdefined suggesting that these images cannot be generated by the standard GAN generative model, and come from a dropped mode. As more unrolling steps are added, the outlines become more clear and well defined -the model covers more of the distribution and thus can recreate these samples.

3.4.2. PAIRWISE DISTANCES:

A second complementary approach is to compare statistics of data samples to the corresponding statistics for samples generated by the various models. One particularly simple and relevant statistic is the distribution over pairwise distances between random pairs of samples. In the case of mode collapse, greater probability mass will be concentrated in smaller volumes, and the distribution over inter-sample distances should be skewed towards smaller distances. We sample random pairs of images from each model, as well as from the training data, and compute histograms of the 2 distances between those sample pairs. As illustrated in Figure 6 , the standard GAN, with zero unrolling steps, has its probability mass skewed towards smaller 2 intersample distances, compared to real data. As the number of unrolling steps is increased, the histograms over intersample distances increasingly come to resemble that for the data distribution. This is further evidence in support of unrolling decreasing the mode collapse behavior of GANs.

4. DISCUSSION:

In this work we developed a method to stabilize GAN training and reduce mode collapse by defining the generator objective with respect to unrolled optimization of the discriminator. We then demonstrated the application of this method to several tasks, where it either rescued unstable training, or reduced the tendency of the model to drop regions of the data distribution.

The main drawback to this method is computational cost of each training step, which increases linearly with the number of unrolling steps. There is a tradeoff between better approximating the true generator loss and the computation required to make this estimate. Depending on the architecture, one unrolling step can be enough. In other more unstable models, such as the RNN case, more are needed to stabilize training. We have some initial positive results suggesting it may be sufficient to further perturb the training gradient in the same direction that a single unrolling step perturbs it. While this is more computationally efficient, further investigation is required.

The method presented here bridges some of the gap between theoretical and practical results for training of GANs. We believe developing better update rules for the generator and discriminator is an important line of work for GAN training. In this work we have only considered a small fraction of the design space. For instance, the approach could be extended to unroll G when updating D as well -letting the discriminator react to how the generator would move. It is also possible to unroll sequences of G and D updates. This would make updates that are recursive: G could react to maximize performance as if G and D had already updated. Colin Raffel, Sam Schoenholz, Ayush Sekhari, Jon Shlens, and Dale Schuurmans for insightful conversation, as well as the rest of the Google Brain Team. and the discriminators ability to move. As a result, the generator is able to exploit these fixed areas of poor performance for older discriminators in the ensemble. New discriminators (over)compensate for this, leading system to diverge.

B.2 EFFECTS OF THE SECOND GRADIENT:

A second factor we analyzed is the effect of backpropagating the learning signal through the unrolling in Equation 12. We can turn on or off this backpropagation through the unrolling by introducing stop gradient calls into our computation graph between each unrolling step. With the stop gradient in place, the update signal corresponds only to the first term in Equation 12. We looked at 3 configurations: without stop gradients; vanilla unrolled GAN, with stop gradients; and with stop gradients but taking the average over the k unrolling steps instead of taking the final value. Results can be see in Figure App.3. We initially observed no difference between unrolling with and without the second gradient, as both required 3 unrolling steps to become stable. When the discriminator is unrolled to convergence, the second gradient term becomes zero. Due to the simplicity of the problem, we suspect that the discriminator nearly converged for every generator step, and the second gradient term was thus irrelevant.

To test this, we modified the dynamics to perform five generator steps for each discriminator update. Results are shown in Figure App.4 . With the discriminator now kept out of equilibrium, successful training can be achieved with half as many unrolling steps when using both terms in the gradient than when only including the first term.

C RNN MNIST TRAINING DETAILS:

The network architecture for the experiment in Section 3.2 is as follows:

The MNIST dataset is scaled to [-1, 1) .

The generator first scales the 256D noise vector through a 256 unit fully connected layer with relu activation. This is then fed into the initial state of a 256D LSTM (Hochreiter & Schmidhuber, 1997) that runs 28 steps corresponding to the number of columns in MNIST. The resulting sequence of activations is projected through a fully connected layer with 28 outputs with a tanh activation function. All weights are initialized via the "Xavier" initialization (Glorot & Bengio, 2010) . The forget bias on the LSTM is initialized to 1.

The discriminator network feeds the input into a Convolution(16, stride=2) followed by a Convolution(32, stride=2) followed by Convolution(32, stride=2) . All convolutions have stride 2. As in (Radford et al., 2015) leaky rectifiers are used with a 0.3 leak. Batch normalization is applied after each layer (Ioffe & Szegedy, 2015) . The resulting 4D tensor is then flattened and a linear projection is performed to a single scalar. To generate this dataset we first took the mnist digit, I, scaled between 0 and 1. For each we sample a color, C, normally distributed with mean=0 and std=0.5. To generate a colored digit between (-1, 1) we do I * C + (I -1). Finally, we add a small amount of pixel independent noise sampled from a normal distribution with std=0.2, and the resulting values are cliped between (-1, 1). When visualized, this generates images and samples that can be seen in figure App.5. Once again it is very hard to visually see differences in sample diversity when comparing the 128 and the 512 sized models. 

F.2 MODELS:

The models used in this section are parametrized by a variable X to control capacity. A value of X=1 is same architecture used in the cifar10 experiments. We used 1/4, 1/2 and 1 as these values. 

:



Figures and Tables:

Figure 1: An illustration of the computation graph for an unrolled GAN with 3 unrolling steps. The generator update in Equation 10 involves backpropagating the generator gradient (blue arrows) through the unrolled optimization. Each step k in the unrolled optimization uses the gradients of f k with respect to θ k D , as described in Equation 7 and indicated by the green arrows. The discriminator update in Equation 11 does not depend on the unrolled optimization (red arrow).

Figure 2: Unrolling the discriminator stabilizes GAN training on a toy 2D mixture of Gaussians dataset. Columns show a heatmap of the generator distribution after increasing numbers of training steps. The final column shows the data distribution. The top row shows training for a GAN with 10 unrolling steps. Its generator quickly spreads out and converges to the target distribution. The bottom row shows standard GAN training. The generator rotates through the modes of the data distribution. It never converges to a fixed distribution, and only ever assigns significant probability mass to a single data mode at once.

Figure 3: Unrolled GAN training increases stability for an RNN generator and convolutional discriminator trained on MNIST. The top row was run with 20 unrolling steps. The bottom row is a standard GAN, with 0 unrolling steps. Images are samples from the generator after the indicated number of training steps.

Figure 4: Visual perception of sample quality and diversity is very similar for models trained with different numbers of unrolling steps. Actual sample diversity is higher with more unrolling steps. Each pane shows samples generated after training a model on CIFAR10 with 0, 1, 5, and 10 steps of unrolling.

Figure 5: Training set images are more accurately reconstructed using GANs trained with unrolling than by a standard (0 step) GAN, likely due to mode dropping by the standard GAN. Raw data is on the left, and the optimized images to reach this target follow for 0, 1, 5, and 10 unrolling steps. The reconstruction MSE is listed below each sample. A random 1280 images where selected from the training set, and corresponding best reconstructions for each model were found via optimization. Shown here are the eight images with the largest absolute fractional difference between GANs trained with 0 and 10 unrolling steps.

Figure6: As the number of unrolling steps in GAN training is increased, the distribution of pairwise distances between model samples more closely resembles the same distribution for the data. Here we plot histograms of pairwise distances between randomly selected samples. The red line gives pairwise distances in the data, while each of the five blue lines in each plot represents a model trained with a different random seed. The vertical lines are the medians of each distribution.

Figure App.2: Introducing longer time delays between the discriminator ensemble results in instability and probability distributions that are not in the window being visualized. The x axis is the number of weight updates and the y axis is how many steps to skip between discriminator updates when selecting the ensemble of 5 discriminators.

Figure App.3: If the discriminator remains nearly at its optimum during learning, then performance is nearly identical with and without the second gradient term in Equation 12. As shown in Figure App.4, when the discriminator lags behind the generator, backpropagating through unrolling aids convergence.

Figure App.5: Right: samples from the data distribution. Middle: Samples from 1/4 size model with 0 look ahead steps (worst diversity). Left: Samples from 1/1 size model with 10 look ahead steps (most diversity).

Figure App.6: Samples from 1/5 with different random seeds.

Figure App.7: Samples from 2/5 with different random seeds.

Figure App.8: Samples from 3/5 with different random seeds.

Figure App.9: Samples from 4/5 with different random seeds.

Figure App.10: Samples from 5/5 with different random seeds.

size of D compared to G Modes generated 628.0 ± 140.9 523.6 ± 55.768 732.0 ± 44.98 817.4 ± 37.91

Table content: <table><tr><td>Discriminator Size</td><td>Unrolling steps</td><td>0</td><td>1</td><td>5</td><td>10</td></tr><tr><td colspan="2">1/4 size of D compared to G Modes generated</td><td>30.6 ± 20.73</td><td>65.4 ± 34.75</td><td colspan="2">236.4 ± 63.30 327.2 ± 74.67</td></tr><tr><td/><td>KL(model ||data)</td><td>5.99 ± 0.42</td><td>5.911 ± 0.14</td><td>4.67 ± 0.43</td><td>4.66 ± 0.46</td></tr><tr><td colspan="2">1/2 KL(model ||data)</td><td>2.58 ±0.751</td><td>2.44 ±0.26</td><td>1.66 ± 0.090</td><td>1.43 ± 0.12</td></tr><tr><td>Table</td><td/><td/><td/><td/><td/></tr></table>

GANs trained with unrolling are better able to match images in the training set than standard GANs, likely due to mode dropping by the standard GAN. Results show the MSE between training images and the best reconstruction for a model with the given number of unrolling steps. The fraction of training images best reconstructed by a given model is given in the final column. The best reconstructions is found by optimizing the latent representation z to produce the closest matching pixel output G (z; θ G ). Results are averaged over all 5 runs of each model with different random seeds.3.4.1 INFERENCE VIA OPTIMIZATIONSince likelihood cannot be tractably computed, over-fitting of GANs is typically tested by taking samples and computing the nearest-neighbor images in pixel space from the training data(Goodfellow et al., 2014). We will do the reverse, and measure the ability of the generative model to generate images that look like specific samples from the training data. If we did this by generating random samples from the model, we would need an exponentially large number of samples. We instead treat finding the nearest neighbor x nearest to a target image x target as an optimization task,

Table content: <table><tr><td>Unrolling Steps</td><td>0 steps</td><td>1 step</td><td>5 steps</td><td>10 steps</td></tr><tr><td>Average MSE</td><td colspan="4">0.0231 ± 0.0024 0.0195 ± 0.0021 0.0200 ± 0.0023 0.0181 ± 0.0018</td></tr><tr><td>Percent Best Rank</td><td>0.63%</td><td>22.97%</td><td>15.31%</td><td>61.09%</td></tr></table>

examples of model based optimization. We performed 5 runs with different seeds of each of of the unrolling steps configuration. Bellow are comparisons for each run index. Ideally this would be a many to many comparison, but for space efficiency we grouped the runs by the index in which they were run.

Table content: <table><tr><td/><td colspan="2">number outputs stride</td></tr><tr><td>Input: z ∼ N (0, I 256 )</td><td/><td/></tr><tr><td>Fully connected</td><td colspan="2">4 * 4 * 512*X</td></tr><tr><td colspan="2">Reshape to image 4,4,512*X</td><td/></tr><tr><td>Convolution</td><td>256*X</td><td>2</td></tr><tr><td>Convolution</td><td>128*X</td><td>2</td></tr><tr><td>Convolution</td><td>64*X</td><td>2</td></tr><tr><td>Convolution</td><td>3</td><td>1</td></tr><tr><td colspan="2">The discriminator network is defined as:</td><td/></tr><tr><td/><td colspan="2">number outputs stride</td></tr><tr><td>Input: x ∼ p data or G</td><td/><td/></tr><tr><td colspan="2">Transposed Convolution 64*X</td><td>2</td></tr><tr><td colspan="2">Transposed Convolution 128*X</td><td>2</td></tr><tr><td colspan="2">Transposed Convolution 256*X</td><td>2</td></tr><tr><td>Flatten</td><td/><td/></tr><tr><td>Fully Connected</td><td>1</td><td/></tr><tr><td colspan="3">G OPTIMIZATION BASED VISUALIZATIONS</td></tr><tr><td colspan="2">The generator network is defined as:</td><td/></tr></table>

Peer review (iclr2017):
The paper presents an approach for tackling the instability problem that is present in generative adversarial networks. The general idea is to allow the generator to *peek ahead* at how the discriminator will evolve its decision boundary over-time with the premise that this information should prevent the generator from collapsing to produce only samples from a single mode of the data distribution. This is a very well written paper that clearly motivates its attack on an important open issue. The experiments are well carried out and strongly support the presented idea. The pursued approach is substantially more elegant than current existing *hacks* that are commonly used to make GANs work in practice. I however have three main issues that let me partly doubt the success of the method. If these can be resolved this paper is a clear candidate for acceptance. 1) I am not entirely convinced that the same effect cannot be obtained by the following procedure: simply train the discriminator for an extended number of K steps when updating the generator (say a number equivalent to the unrolling steps used in the current experiments) then, after the generator was updated undo the K updates to the discriminator and do 1 new update step instead. I only briefly glanced at your response to Reviewer2 which seems to imply you now tried something similar to this setup by stopping gradient flow at an appropriate point (although I think this is not exactly equivalent). 2) I tried to reproduce the simple MNIST example but using a fully connected network instead of an RNN generator without much success. Even when unrolling the discriminator for 30-40 steps the generator still engages in mode seeking behavior or does not train at all. This could either be because of a bug in my implementation or because of some peculiarities of the RNN generator or because I did not use batch normalization anywhere. If it is one of the latter two this would entail a dependence of the proposed approach on specific forms of the discriminator and generator and should be discussed. My code can be found here https://github.com/iclrreproducer/unrolled_gan -- see the comments in the file for switching on unrolling and batch normalization in the generator. This issue could also be addressed simply by opening up the code and setting up a fully connected network example on your side. 3) For the more complicated data distributions the method is only used in combination with many of the existing tricks for training GANs. As a result the experiments are much less convincing. I personally cannot see a strong difference between the samples generated by any of the CIFAR-10 models. Why did you not try to remove batch-normalization etc. for these examples ? Does training then again become unstable ? ---- UPDATE ----- I am leaving the initial review intact to preserve the conversation. After the authors response all points have been resolved, including a fix to my re-implementation of the ideas presented in the paper. As a result I have increased my score and believe the paper should be accepted. Please also see my response to the rebuttal below.