Title: STABILIZING ADVERSARIAL NETS WITH PREDICTION METHODS

Abstract: Adversarial neural networks solve many important problems in data science, but are notoriously difficult to train. These difficulties come from the fact that optimal weights for adversarial nets correspond to saddle points, and not minimizers, of the loss function. The alternating stochastic gradient methods typically used for such problems do not reliably converge to saddle points, and when convergence does happen it is often highly sensitive to learning rates. We propose a simple modification of stochastic gradient descent that stabilizes adversarial networks. We show, both in theory and practice, that the proposed method reliably converges to saddle points, and is stable with a wider range of training parameters than a non-prediction method. This makes adversarial networks less likely to "collapse," and enables faster training with larger learning rates.

1. INTRODUCTION:

Adversarial networks play an important role in a variety of applications, including image generation (Zhang et al., 2017; Wang & Gupta, 2016) , style transfer (Brock et al., 2017; Taigman et al., 2017; Wang & Gupta, 2016; Isola et al., 2017) , domain adaptation (Taigman et al., 2017; Tzeng et al., 2017; Ganin & Lempitsky, 2015) , imitation learning (Ho et al., 2016) , privacy (Edwards & Storkey, 2016; Abadi & Andersen, 2016) , fair representation (Mathieu et al., 2016; Edwards & Storkey, 2016) , etc. One particularly motivating application of adversarial nets is their ability to form generative models, as opposed to the classical discriminative models (Goodfellow et al., 2014; Radford et al., 2016; Denton et al., 2015; Mirza & Osindero, 2014) .

While adversarial networks have the power to attack a wide range of previously unsolved problems, they suffer from a major flaw: they are difficult to train. This is because adversarial nets try to accomplish two objectives simultaneously; weights are adjusted to maximize performance on one task while minimizing performance on another. Mathematically, this corresponds to finding a saddle point of a loss function -a point that is minimal with respect to one set of weights, and maximal with respect to another.

Conventional neural networks are trained by marching down a loss function until a minimizer is reached (Figure 1a ). In contrast, adversarial training methods search for saddle points rather than a minimizer, which introduces the possibility that the training path "slides off" the objective functions and the loss goes to -∞ (Figure 1b ), resulting in "collapse" of the adversarial network. As a result, many authors suggest using early stopping, gradients/weight clipping (Arjovsky et al., 2017) , or specialized objective functions (Goodfellow et al., 2014; Zhao et al., 2017; Arjovsky et al., 2017) to maintain stability.

In this paper, we present a simple "prediction" step that is easily added to many training algorithms for adversarial nets. We present theoretical analysis showing that the proposed prediction method is asymptotically stable for a class of saddle point problems. Finally, we use a wide range of experiments to show that prediction enables faster training of adversarial networks using large learning rates without the instability problems that plague conventional training schemes. If minimization (or, conversely, maximization) is more powerful, the solution path "slides off" the loss surface and the algorithm becomes unstable, resulting in a sudden "collapse" of the network.

2. PROPOSED METHOD:

Saddle-point optimization problems have the general form

EQUATION

for some loss function L and variables u and v. Most authors use the alternating stochastic gradient method to solve saddle-point problems involving neural networks. This method alternates between updating u with a stochastic gradient descent step, and then updating v with a stochastic gradient ascent step. When simple/classical SGD updates are used, the steps of this method can be written

EQUATION

Here, {α k } and {β k } are learning rate schedules for the minimization and maximization steps, respectively. The vectors L u (u, v) and L v (u, v) denote (possibly stochastic) gradients of L with respect to u and v. In practice, the gradient updates are often performed by an automated solver, such as the Adam optimizer (Kingma & Ba, 2015) , and include momentum updates.

We propose to stabilize the training of adversarial networks by adding a prediction step. Rather than calculating v k+1 using u k+1 , we first make a prediction, ūk+1 , about where the u iterates will be in the future, and use this predicted value to obtain v k+1 .

Prediction Method

u k+1 = u k -α k L u (u k , v k ) | gradient descent in u, starting at (u k , v k ) ūk+1 = u k+1 + (u k+1 -u k ) | predict future value of u v k+1 = v k + β k L v (ū k+1 , v k ) | gradient ascent in v, starting at (ū k+1 , v k ) .

(3)

The Prediction step (3) tries to estimate where u is going to be in the future by assuming its trajectory remains the same as in the current iteration.

3. BACKGROUND:



3.1. ADVERSARIAL NETWORKS AS A SADDLE-POINT PROBLEM:

We now discuss a few common adversarial network problems and their saddle-point formulations.

Generative Adversarial Networks (GANs) fit a generative model to a dataset using a game in which a generative model competes against a discriminator (Goodfellow et al., 2014) . The generator, G(z; θ g ), takes random noise vectors z as inputs, and maps them onto points in the target data distribution. The discriminator, D(x; θ d ), accepts a candidate point x and tries to determine whether it is really drawn from the empirical distribution (in which case it outputs 1), or fabricated by the generator (output 0). During a training iteration, noise vectors from a Gaussian distribution G are pushed through the generator network G to form a batch of generated data samples denoted by D f ake . A batch of empirical samples, D real , is also prepared. One then tries to adjust the weights of each network to solve a saddle point problem, which is popularly formulated as,

EQUATION

Here f (.) is any monotonically increasing function. Initially, (Goodfellow et al., 2014) proposed using f (x) = log(x).

Domain Adversarial Networks (DANs) (Makhzani et al., 2016; Ganin & Lempitsky, 2015; Edwards & Storkey, 2016 ) take data collected from a "source" domain, and extract a feature representation that can be used to train models that generalize to another "target" domain. For example, in the domain adversarial neural network (DANN (Ganin & Lempitsky, 2015) ), a set of feature layers maps data points into an embedded feature space, and a classifier is trained on these embedded features. Meanwhile, the adversarial discriminator tries to determine, using only the embedded features, whether the data points belong to the source or target domain. A good embedding yields a better task-specific objective on the target domain while fooling the discriminator, and is found by solving

EQUATION

Here L d is any adversarial discriminator loss function and L y k denotes the task specific loss. θ f , θ d , and θ y k are network parameter of feature mapping, discriminator, and classification layers.

3.2. STABILIZING SADDLE POINT SOLVERS:

It is well known that alternating stochastic gradient methods are unstable when using simple logarithmic losses. This led researchers to explore multiple directions for stabilizing GANs; either by adding regularization terms (Arjovsky et al., 2017; Li et al., 2015; Che et al., 2017; Zhao et al., 2017) , a myriad of training "hacks" (Salimans et al., 2016; Gulrajani et al., 2017) , re-engineering network architectures (Zhao et al., 2017) , and designing different solvers (Metz et al., 2017) . Specifically, the Wasserstein GAN (WGAN) (Arjovsky et al., 2017) approach modifies the original objective by replacing f (x) = log(x) with f (x) = x. This led to a training scheme in which the discriminator weights are "clipped." However, as discussed in Arjovsky et al. (2017) , the WGAN training is unstable at high learning rates, or when used with popular momentum based solvers such as Adam. Currently, it is known to work well only with RMSProp (Arjovsky et al., 2017) .

The unrolled GAN (Metz et al., 2017) is a new solver that can stabilize training at the cost of more expensive gradient computations. Each generator update requires the computation of multiple extra discriminator updates, which are then discarded when the generator update is complete. While avoiding GAN collapse, this method requires increased computation and memory.

In the convex optimization literature, saddle point problems are more well studied. One popular solver is the primal-dual hybrid gradient (PDHG) method (Zhu & Chan, 2008; Esser et al., 2009) , which has been popularized by Chambolle and Pock (Chambolle & Pock, 2011) , and has been successfully applied to a range of machine learning and statistical estimation problems (Goldstein et al., 2015) . PDHG relates closely to the method proposed here -it achieves stability using the same prediction step, although it uses a different type of gradient update and is only applicable to bi-linear problems.

Stochastic methods for convex saddle-point problems can be roughly divided into two categories: stochastic coordinate descent (Dang & Lan, 2014; Lan & Zhou, 2015; Zhang & Lin, 2015; Zhu & Storkey, 2015; 2016; Wang & Xiao, 2017; Shibagaki & Takeuchi, 2017) and stochastic gradient descent (Chen et al., 2014; Qiao et al., 2016) . Similar optimization algorithms have been studied for reinforcement learning (Wang & Chen, 2016; Du et al., 2017) . Recently, a "doubly" stochastic method that randomizes both primal and dual updates was proposed for strongly convex bilinear saddle point problems (Yu et al., 2015) . For general saddle point problems, "doubly" stochastic gradient descent methods are discussed in Nemirovski et al. (2009) , Palaniappan & Bach (2016) , in Figure 2 : A schematic depiction of the prediction method. When the minimization step is powerful and moves the iterates a long distance, the prediction step (dotted black arrow) causes the maximization update to be calculated further down the loss surface, resulting in a more dramatic maximization update. In this way, prediction methods prevent the maximization step from getting overpowered by the minimization update.

which primal and dual variables are updated simultaneously based on the previous iterates and the current gradients.

4. INTERPRETATIONS OF THE PREDICTION STEP:

We present three ways to explain the effect of prediction: an intuitive, non-mathematical perspective, a more analytical viewpoint involving dynamical systems, and finally a rigorous proof-based approach.

4.1. AN INTUITIVE VIEWPOINT:

The standard alternating SGD switches between minimization and maximization steps. In this algorithm, there is a risk that the minimization step can overpower the maximization step, in which case the iterates will "slide off" the edge of saddle, leading to instability (Figure 1b ). Conversely, an overpowering maximization step will dominate the minimization step, and drive the iterates to extreme values as well.

The effect of prediction is visualized in Figure 2 . Suppose that a maximization step takes place starting at the red dot. Without prediction, the maximization step has no knowledge of the algorithm history, and will be the same regardless of whether the previous minimization update was weak (Figure 2a ) or strong (Figure 2b ). Prediction allows the maximization step to exploit information about the minimization step. If the previous minimizations step was weak (Figure 2a ), the prediction step (dotted black arrow) stays close to the red dot, resulting in a weak predictive maximization step (white arrow). But if we arrived at the red dot using a strong minimization step (Figure 2b ), the prediction moves a long way down the loss surface, resulting in a stronger maximization step (white arrows) to compensate.

4.2. A MORE MATHEMATICAL PERSPECTIVE:

To get stronger intuition about prediction methods, let's look at the behavior of Algorithm (3) on a simple bi-linear saddle of the form

L(u, v) = v T Ku (6)

where K is a matrix. When exact (non-stochastic) gradient updates are used, the iterates follow the path of a simple dynamical system with closed-form solutions. We give here a sketch of this argument: a detailed derivation is provided in the Supplementary Material.

When the (non-predictive) gradient method (2) is applied to the linear problem (6), the resulting iterations can be written

u k+1 -u k α = -K T v k , v k+1 -v k α = (β/α)Ku k+1 .

When the stepsize α gets small, this behaves like a discretization of the system of differential equations

u = -K T v, v = β/αKu

where u and v denote the derivatives of u and v with respect to time. These equations describe a simple harmonic oscillator, and the closed form solution for u is

u(t) = C cos(Σ 1/2 t + φ)

where Σ is a diagonal matrix, and the matrix C and vector φ depend on the initialization. We can see that, for small values of α and β, the non-predictive algorithm (2) approximates an undamped harmonic motion, and the solutions orbit around the saddle without converging.

The prediction step (3) improves convergence because it produces damped harmonic motion that sinks into the saddle point. When applied to the linearized problem (6), we get the dynamical system

EQUATION

which has solution

u(t) = U A exp(- tα 2 √ Σ) sin(t (1 -α 2 /4)Σ + φ).

From this analysis, we see that the damping caused by the prediction step causes the orbits to converge into the saddle point, and the error decays exponentially fast.

4.3. A RIGOROUS PERSPECTIVE:

While the arguments above are intuitive, they are also informal and do not address issues like stochastic gradients, non-constant stepsize sequences, and more complex loss functions. We now provide a rigorous convergence analysis that handles these issues.

We assume that the function L(u, v) is convex in u and concave in v. We can then measure convergence using the "primal-dual" gap,

P (u, v) = L(u, v ) -L(u , v) where (u , v ) is a saddle.

Note that P (u, v) > 0 for non-optimal (u, v), and

P (u, v) = 0 if (u, v

) is a saddle. Using these definitions, we formulate the following convergence result. The proof is in the supplementary material.

Theorem 1. Suppose the function L(u, v) is convex in u, concave in v, and that the partial gradient

L v is uniformly Lipschitz smooth in u ( L v (u 1 , v) -L v (u 2 , v) ≤ L v u 1 -u 2 )

. Suppose further that the stochastic gradient approximations satisfy 

E L u (u, v) 2 ≤ G 2 u , E L v (u, v) 2 ≤ G 2 v for scalars G u and G v , and that E u k -u 2 ≤ D 2 u , and E v k -v 2 ≤ D 2 v for

E[P (û l , vl )] ≤ 1 2 √ l D 2 u C α + D 2 v C β + √ l + 1 l C α G 2 u 2 + C α L v G 2 u + C α L v D 2 v + C β G 2 v 2 where ûl = 1 l l k=1 u k , vl = 1 l l k=1 v k .

5. EXPERIMENTS:

We present a wide range of experiments to demonstrate the benefits of the proposed prediction step for adversarial nets. We consider a saddle point problem on a toy dataset constructed using MNIST images, and then move on to consider state-of-the-art models for three tasks: GANs, domain adaptation, and learning of fair classifiers. Additional results, and additional experiments involving mixtures of Gaussians, are presented in the Appendix. The code is available at https: //github.com/jaiabhayk/stableGAN.

5.1. MNIST TOY PROBLEM:

We consider the task of classifying MNIST digits as being even or odd. To make the problem interesting, we corrupt 70% of odd digits with salt-and-pepper noise, while we corrupt only 30% of even digits. When we train a LeNet network (LeCun et al., 1998) on this problem, we find that the network encodes and uses information about the noise; when a noise vs no-noise classifier is trained on the deep features generated by LeNet, it gets 100% accuracy. The goal of this task is to force LeNet to ignore the noise when making decisions. We create an adversarial model of the form (5) in which L y is a softmax loss for the even vs odd classifier. We make L d a softmax loss for the task of discriminating whether the input sample is noisy or not. The classifier and discriminator were both pre-trained using the default LeNet implementation in Caffe (Jia et al., 2014) . Then the combined adversarial net was jointly trained both with and without prediction. For implementation details, see the Supplementary Material.

Figure 3 summarizes our findings. In this experiment, we considered applying prediction to both the classifier and discriminator. We note that our task is to retain good classification accuracy while preventing the discriminator from doing better than the trivial strategy of classifying odd digits as noisy and even digits as non-noisy. This means that the discriminator accuracy should ideally be ∼ 0.7. As shown in Figure 3a , the prediction step hardly makes any difference when evaluated at the small learning rate of 10 -4 . However, when evaluated at higher rates, Figures 3b and 3c show that the prediction solvers are very stable while one without prediction collapses (blue solid line is flat) very early. Figure 3c shows that the default learning rate (10 -3 ) of the Adam solver is unstable unless prediction is used. accuracy using SGD and Adam solver with and without prediction steps. θ f and θ d refers to variables in eq. ( 5).

(a) Using SGD with learning rate lr = 10 -4 . Note that the solid lines of red, blue and green are overlapped. (b) SGD solver with higher learning rate of lr = 10 -3 , and (c) using Adam solver with its default parameter.

5.2. GENERATIVE ADVERSARIAL NETWORKS:

Next, we test the efficacy and stability of our proposed predictive step on generative adversarial networks (GAN), which are formulated as saddle point problems (4) and are popularly solved using a heuristic approach (Goodfellow et al., 2014) . We consider an image modeling task using CIFAR-10 ( Krizhevsky, 2009) on the recently popular convolutional GAN architecture, DCGAN (Radford et al., 2016) . We compare our predictive method with that of DCGAN and the unrolled GAN (Metz et al., 2017) using the training protocol described in Radford et al. (2016) . Note that we compared against the unrolled GAN with stop gradient switch1 and K = 5 unrolling steps. All the approaches were trained for five random seeds and 100 epochs each.

We start with comparing all three methods using the default solver for DCGAN (the Adam optimizer) with learning rate=0.0002 and β 1 =0.5. Figure 4 compares the generated sample images (at the 100 th epoch) and the training loss curve for all approaches. The discriminator and generator loss curves in Figure 4e show that without prediction, the DCGAN collapses at the 45 th and 57 th epochs.

Similarly, Figure 4f shows that the training for unrolled GAN collapses in at least three instances.

The training procedure using predictive steps never collapsed during any epochs. Qualitatively, the images generated using prediction are more diverse than the DCGAN and unrolled GAN images.

Figure 5 compares all approaches when trained with 5× higher learning rate (0.001) (the default for the Adam solver). As observed in Radford et al. (2016) , the standard and unrolled solvers are very unstable and collapse at this higher rate. However, as shown in Figure 5d , & 5a, training remains stable when a predictive step is used, and generates images of reasonable quality. The training procedure for both DCGAN and unrolled GAN collapsed on all five random seeds. The results on various additional intermediate learning rates as well as on high resolution Imagenet dataset are in the Supplementary Material.

In the Supplementary Material, we present one additional comparison showing results on a higher momentum of β 1 =0.9 (learning rate=0.0002). We observe that all the training approaches are stable. However, the quality of images generated using DCGAN is inferior to that of the predictive and unrolled methods.

Overall, of the 25 training settings we ran on (each of five learning rates for five random seeds), the DCGAN training procedure collapsed in 20 such instances while unrolled GAN collapsed in 14 experiments (not counting the multiple collapse in each training setting). On the contrary, we find that our simple predictive step method collapsed only once.

Note 1 also list the inception score measured at fewer number of epochs for higher learning rates. It suggest that the model trained with prediction methods are not only stable but also allows faster convergence using higher learning rates. For reference the inception score on real images of CIFAR-10 dataset is 11.51 ± 0.17. 

5.3. DOMAIN ADAPTATION:

We consider the domain adaptation task (Saenko et al., 2010; Ganin & Lempitsky, 2015; Tzeng et al., 2017) wherein the representation learned using the source domain samples is altered so that it can also generalize to samples from the target distribution. We use the problem setup and hyper-parameters as described in (Ganin & Lempitsky, 2015) using the OFFICE dataset (Saenko et al., 2010) (experimental details are shared in the Supplementary Material). In Table 2 , comparisons are drawn with respect to target domain accuracy on six pairs of source-target domain tasks. We observe that the prediction step has mild benefits on the "easy" adaptation tasks with very similar source and target domain samples. However, on the transfer learning tasks of AMAZON-to-WEBCAM, WEBCAM-to-AMAZON, and DSLR-to-AMAZON which has noticeably distinct data samples, an extra prediction step gives an absolute improvement of 1.3 -6.9% in predicting target domain labels. 

5.4. FAIR CLASSIFIER:

Finally, we consider a task of learning fair feature representations (Mathieu et al., 2016; Edwards & Storkey, 2016; Louizos et al., 2016) such that the final learned classifier does not discriminate with respect to a sensitive variable. As proposed in Edwards & Storkey (2016) one way to measure fairness is using discrimination,

EQUATION

)

Here s i is a binary sensitive variable for the i th data sample and N k denotes the total number of samples belonging to the k th sensitive class. Similar to the domain adaptation task, the learning of each classifier can be formulated as a minimax problem in (5) (Edwards & Storkey, 2016; Mathieu et al., 2016 ). Unlike the previous example though, this task has a model selection component. From a pool of hundreds of randomly generated adversarial deep nets, for each value of t, one selects the model that maximizes the difference y t,Delta = y acct * y disc .

(9)

The "Adult" dataset from the UCI machine learning repository is used. The task (y acc ) is to classify whether a person earns ≥ $50k/year. The person's gender is chosen to be the sensitive variable. Details are in the supplementary. To demonstrate the advantage of using prediction for model selection, we follow the protocol developed in Edwards & Storkey (2016) . In this work, the search space is restricted to a class of models that consist of a fully connected autoencoder, one task specific discriminator, and one adversarial discriminator. The encoder output from the autoencoder acts as input to both the discriminators. In our experiment, 100 models are randomly selected. During the training of each adversarial model, L d is a cross-entropy loss while L y is a linear combination of reconstruction and cross-entropy loss. Once all the models are trained, the best model for each value of t is selected by evaluating (9) on the validation set.

Figure 6a plots the results on the test set for the AFLR approach with and without prediction steps in their default Adam solver. For each value of t, Figure 6b , 6c also compares the number of layers in the selected encoder and discriminator networks. When using prediction for training, relatively stronger encoder models are produced and selected during validation, and hence the prediction results generalize better on the test set. 

6. CONCLUSION:

We present a simple modification to the alternating SGD method, called a prediction step, that improves the stability of adversarial networks. We present theoretical results showing that the prediction step is asymptotically stable for solving saddle point problems. We show, using a variety of test problems, that prediction steps prevent network collapse and enable training with a wider range of learning rates than plain SGD methods. the ODNI, IARPA, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation thereon.

APPENDIX A DETAILED DERIVATION OF THE HARMONIC OSCILLATOR EQUATION:

Here, we provide a detailed derivation of the harmonic oscillator behavior of Algorithm (3) on the simple bi-linear saddle of the form L(x, y) = y T Kx where K is a matrix. Note that, within a small neighborhood of a saddle, all smooth weakly convex objective functions behave like (6).To see why, consider a smooth objective function L with a saddle point at x * = 0, y * = 0. Within a small neighborhood of the saddle, we can approximate the function L to high accuracy using its Taylor approximation

L(x, y) ≈ L(x * , y * ) + y T L xy x + O( x 3 + y 3 )

where L xy denotes the matrix of mixed-partial derivatives with respect to x and y. Note that the first-order terms have vanished from this Taylor approximation because the gradients are zero at a saddle point. The O( x 2 ) and O( y 2 ) terms vanish as well because the problem is assumed to be weakly convex around the saddle. Up to third-order error (which vanishes quickly near the saddle), this Taylor expansion has the form (6). For this reason, stability on saddles of the form ( 6) is a necessary condition for convergence of (3), and the analysis here describes the asymptotic behavior of the prediction method on any smooth problem for which the method converges.

We will show that, as the learning rate gets small, the iterates of the non-prediction method (2) rotate in orbits around the saddle without converging. In contrast, the iterates of the prediction method fall into the saddle and converge.

When the conventional gradient method (2) is applied to the linear problem ( 6), the resulting iterations can be written

x k+1 -x k α = -K T y k , y k+1 -y k α = (β/α)Kx k+1 .

When the stepsize α gets small, this behaves like a discretization of the differential equation ẋ = -K T y (10) ẏ = β/αKx (11) where ẋ and ẏ denote the derivatives of x and y with respect to time.

The differential equations (10,11) describe a harmonic oscillator. To see why, differentiate (10) and plug (11) into the result to get a differential equation in x alone ẍ = -K T ẏ = -β/αK T Kx.

(12) We can decompose this into a system of independent single-variable problems by considering the eigenvalue decomposition β/αK T K = U ΣU T . We now multiply both sides of (12) by U T , and make the change of variables z ← U T x to get z = -Σz. where Σ is diagonal. This is the standard equation for undamped harmonic motion, and its solution is z = A cos(Σ 1/2 t + φ), where cos acts entry-wise, and the diagonal matrix A and vector φ are constants that depend only on the initialization. Changing back into the variable x, we get the solution

x = U A cos(Σ 1/2 t + φ).

We can see that, for small values of α and β, the non-predictive algorithm (2) approximates an undamped harmonic motion, and the solutions orbit around the saddle without converging.

The prediction step (3) improves convergence because it produces damped harmonic motion that sinks into the saddle point. When applied to the linearized problem (6), the iterates of the predictive method (3) satisfy

x k+1 -x k α = -K T y k y k+1 -y k α = β/αK(x k+1 + x k+1 -x k ) = β/αKx k+1 + βK x k+1 -x k α .

Published as a conference paper at ICLR 2018 For small α, this approximates the dynamical system

EQUATION

Like before, we differentiate (13) and use ( 14) to obtain

EQUATION

Finally, multiply both sides by U T and perform the change of variables z ← U T x to get z = -Σz -αΣ ż.

This equation describes a damped harmonic motion. The solutions have the form

z(t) = A exp(-tα 2 √ Σ) sin(t (1 -α 2 /4)Σ + φ).

Changing back to the variable x, we see that the iterates of the original method satisfy

x(t) = U A exp(- tα 2 √ Σ) sin(t (1 -α 2 /4)Σ + φ).

where A and φ depend on the initialization.

From this analysis, we see that for small constant α the orbits of the lookahead method converge into the saddle point, and the error decays exponentially fast.

A PROOF OF THEOREM 1

Assume the optimal solution (u , v ) exists, then L u (u , v) = L v (u, v ) = 0. In the following proofs, we use g u (u, v), g v (u, v) to represent the stochastic approximation of gradients, where

E[g u (u, v)] = L u (u, v), E[g v (u, v)] = L v (u, v).

We show the convergence of the proposed stochastic primal-dual gradients for the primal-dual gap

P (u k , v k ) = L(u k , v ) -L(u , v k ).

We prove the O(1/ √ k) convergence rate in Theorem 1 by using Lemma 1 and Lemma 2, which present the contraction of primal and dual updates, respectively.

EQUATION

)

Proof. Use primal update in (3), we have

EQUATION

)

Take expectation on both side of the equation, substitute with E[g u (u, v)] = L u (u, v) and apply

EQUATION

EQUATION

(16) is proved by combining ( 19) and (20).

Lemma 2. Suppose L(u, v) is concave in v and has Lipschitz gradients,

EQUATION

)

Our finding is summarized in Figure 3 . In addition, Figure 7 provides head-to-head comparison of two popular solvers Adam and SGD using the predictive step. Not surprisingly, the Adam solver shows relatively better performance and convergence even with an additional predictive step. This also suggests that the default hyper-parameter for the Adam solver can be retained and utilized for training this networks without resorting to any further hyper-parameter tuning (as it is currently in practice). 

C DOMAIN ADAPTATION:

Experimental details: To evaluate a domain adaptation task, we consider the OFFICE dataset (Saenko et al., 2010) . OFFICE is a small scale dataset consisting of images collected from three distinct domains: AMAZON, DSLR and WEBCAM. For such a small scale dataset, it is non-trivial to learn features from images of a single domain. For instance, consider the largest subset AMAZON, which contains only 2,817 labeled images spread across 31 different categories. However, one can leverage the power of domain adaptation to improve cross domain accuracy. We follow the protocol listed in Ganin & Lempitsky (2015) and the same network architecture is used. Caffe (Jia et al., 2014) is used for implementation. The training procedure from Ganin & Lempitsky (2015) is kept intact except for the additional prediction step. In Table 2 comparisons are drawn with respect to target domain accuracy on three pairs of source-target domain tasks. The test accuracy is reported at the end of 50,000 training iterations.

D FAIR CLASSIFIER:

Experimental details: The "Adult" dataset from the UCI machine learning repository is used, which consists of census data from ∼ 45, 000 people. The task is to classify whether a person earns ≥ $50k/year. The person's gender is chosen to be the sensitive variable. We binarize all the category attributes, giving us a total of 102 input features per sample. We randomly split data into 35,000 samples for training, 5000 for validation and 5000 for testing. The result reported here is an average over five such random splits.

E GENERATIVE ADVERSARIAL NETWORKS:

Toy Dataset: To illustrate the advantage of the prediction method, we experiment on a simple GAN architecture with fully connected layers using the toy dataset. The constructed toy example and its architecture is inspired by the one presented in Metz et al. (2017) . The two dimensional data is sampled from the mixture of eight Gaussians with their means equally spaced around the unit circle centered at (0, 0). The standard deviation of each Gaussian is set at 0.01. The two dimensional latent vector z is sampled from the multivariate Gaussian distribution. The generator and discriminator networks consist of two fully connected hidden layers, each with 128 hidden units and tanh activations. The final layer of the generator has linear activation while that of discriminator has sigmoid activation. The solver optimizes both the discriminator and the generator network using the objective in (4). We use adam solver with its default parameters (i.e., learning rate = 0.001, β 1 = 0.9, β 2 = 0.999) and with input batch size of 512. The generated two dimensional samples are plotted in the figure (8).

The straightforward utilization of the adam solver fails to construct all the modes of the underlying dataset while both unrolled GAN and our method are able to produce all the modes. We further investigate the performance of GAN training algorithms on data sampled from a mixture of a large number of Gaussians. We use 100 Gaussian modes which are equally spaced around a circle of radius 24 centered at (0, 0). We retain the same experimental settings as described above and train GAN with two different input batch sizes, a small (64) and a large batch (6144) setting.

The Figure ( 9) plots the generated sample output of GAN trained (for fixed number of epochs) under the above setting using different training algorithms. Note that for small batch size input, the default as well as the unrolled training for GAN fails to construct actual modes of the underlying dataset. We hypothesize that this is perhaps due to the batch size, 64, being smaller than the number of input modes (100). When trained with small batch the GAN observe samples only from few input modes at every iteration. This causes instability leading to the failure of training algorithms. This scenario is pertinent to real datasets wherein the number of modes are relatively high compared to input batch size. Experiments on Imagenet: In this section we demonstrate the advantage of prediction methods for generating higher resolution images of size 128 x 128. For this purpose, the state-of-the-art AC-GAN (Odena et al., 2017) architecture is considered and conditionally learned using images of all 1000 classes from Imagenet dataset. We have used the publicly available code for AC-GAN and all the parameter were set to it default as in Odena et al. (2017) . The figure 14 plots the inception score measured at every training epoch of AC-GAN model with and without prediction. The score is averaged over five independent runs. From the figure, it is clear that even at higher resolution with large number of classes the prediction method is stable and aids in speeding up the training. 

:

We found the unrolled GAN without stop gradient switch as well as for smaller values of K collapsed when used on the DCGAN architecture.

Figures and Tables:

Figure 1: A schematic depiction of gradient methods. (a) Classical networks are trained by marching down the loss function until a minimizer is reached. Because classical loss functions are bounded from below, the solution path gets stopped when a minimizer is reached, and the gradient method remains stable. (b) Adversarial net loss functions may be unbounded from below, and training alternates between minimization and maximization steps.If minimization (or, conversely, maximization) is more powerful, the solution path "slides off" the loss surface and the algorithm becomes unstable, resulting in a sudden "collapse" of the network.

scalars D u and D v . If we choose decreasing learning rate parameters of the form α k = Cα √ k and β k = C β √ k , then the SGD method with prediction converges in expectation, and we have the error bound

Figure 3: Comparison of the classification accuracy (digit parity) and discriminator (noisy vs. no-noise)

Figure 4: Comparison of GAN training algorithms for DCGAN architecture on Cifar-10 image datasets. Using default parameters of DCGAN; lr = 0.0002, β1 = 0.5.

Figure 6: Model selection for learning a fair classifier. (a) Comparison of y t,delta (higher is better), and also y disc (lower is better) and y acc on the test set using AFLR with and without predictive steps. (b) Number of encoder layers in the selected model. (c) Number of discriminator layers (both adversarial and task-specific) in the selected model.

Figure 7: Comparison of the classification accuracy of parity classification and noise discrimination using the SGD and Adam solvers with and without prediction step.

0

Figure 8: Comparison of GAN training algorithms on toy dataset. Results on, from top to bottom, GAN, GAN with G prediction, and unrolled GAN.

Figure 9: Comparison of GAN training algorithms on toy dataset of mixture of 100 Gaussians. Results on, from top to bottom, batch size of 64 and 6144.

Figure 14: Comparison of Inception scores on high resolution Imagenet datasets measured at each training epoch of ACGAN model with and without prediction.

that prediction adds trivial cost to the training algorithm. Using a single TitanX Pascal, a training epoch of DCGAN takes 35 secs. With prediction, an epoch takes 38 secs. The unrolled GAN method, which requires extra gradient steps, takes 139 secs/epoch.Finally, we draw quantitative comparisons based on the inception score(Salimans et al., 2016), which is a widely used metric for visual quality of the generated images. For this purpose, we consider the current state-of-the-art Stacked GAN(Huang et al., 2017) architecture. Table1lists the inception scores computed on the generated samples from Stacked GAN trained (200 epochs) with and without

Table content: <table/>

Comparison

Table content: <table><tr><td>Learning rate</td><td>0.0001</td><td>0.0005</td><td>0.001</td><td>0.0005 (40)</td><td>0.001 (20)</td></tr><tr><td>Stacked GAN (joint)</td><td/><td/><td/><td/><td/></tr></table>

Comparison of target domain accuracy on OFFICE dataset.

Table content: <table><tr><td>Method</td><td colspan="4">Source AMAZON WEBCAM Target WEBCAM AMAZON WEBCAM DSLR</td><td colspan="3">WEBCAM AMAZON DSLR DSLR DSLR AMAZON</td></tr><tr><td colspan="2">DANN (Ganin &amp; Lempitsky, 2015) DANN + prediction</td><td>73.4 74.7</td><td>51.6 58.5</td><td>95.5 96.1</td><td>99.4 99.0</td><td>76.5 73.5</td><td>51.7 57.6</td></tr></table>

Peer review (iclr2018):
 NOTE: I*m very willing to change my recommendation if I turn out to be wrong about the issues I*m addressing and if certain parts of the experiments are fixed. Having said that, I do (think I) have some serious issues: both with the experimental evaluation and with the theoretical results. I*m pretty sure about the experimental evaluation and less sure about the theoretical results. THEORETICAL CLAIMS: These are the complaints I*m not as sure about: Theorem 1 assumes that L is convex/concave. This is not generally true for GANs. That*s fine and it doesn*t necessarily make the statement useless, but: If we are willing to assume that L is convex/concave, then there already exist other algorithms that will provably converge to a saddle point (I think). [1] contains an explanation of this. Given that there are other algorithms with the same theoretical guarantees, and that those algorithms don*t magically make GANs work better, I am much less convinced about the value of your theorem. In [0] they show that GANs trained with simultaneous gradient descent are locally asymptotically stable, even when L is not convex/concave. This seems like it makes your result a lot less interesting, though perhaps I*m wrong to think this? Finally, I*m not totally sure you can show that simultaneous gradient descent won*t converge as well under the assumptions you made. If you actually can*t show that, then the therom *is* useless, but it*s also the thing I*ve said that I*m the least sure about. EXPERIMENTAL EVALUATION: Regarding the claims of being able to train with a higher learning rate: I would consider this a useful contribution if it were shown that (by some measure of GAN *goodness*) a high goodness was achieved faster because a higher learning rate was used. Your experiments don*t support this claim presently, because you evaluate all the models at the same step. In fact, it seems like both evaluated Stacked GAN models get worse performance with the higher learning rate. This calls into question the usefulness of training with a higher learning rate. The performance is not a huge amount worse though (based on my understanding of Inception Scores), so if it turns out that you could get that performance in 1/10th the time then that wouldn*t be so bad. Regarding the experiment with Stacked GANs, the scores you report are lower than what they report [2]. Their reported mean score for joint training is 8.59. Are the baseline scores you report from an independent reproduction? Also, the model they have trained uses label information. Does your model use label information? Given that your reported improvements are small, it would be nice to know what the proposed mechanism is by which the score is improved. With a score of 7.9 and a standard deviation of 0.08, presumably none of the baseline model runs had *stability issues*, so it doesn*t seem like *more stable training* can be the answer. Finally, papers making claims about fixing GAN stability should support those claims by solving problems with GANs that people previously had a hard time solving (due to instability). I don*t believe this is true of CIFAR10 (especially if you*re using the class information). See [3] for an example of a paper that does this by generating 128x128 Imagenet samples with a single generator. I didn*t pay as much attention to the non-GAN experiments because a) I don*t have as much context for evaluating them, because they are a bit non-standard. b) I had a lot of issues with the GAN experiments already and I don*t think the paper should be accepted unless those are addressed. [0] https://arxiv.org/abs/1706.04156 (Gradient Descent GAN Optimization is Locally Stable) [1] https://arxiv.org/pdf/1705.07215.pdf (On Convergence and Stability of GANs) [2] https://arxiv.org/abs/1612.04357 (Stacked GAN) [3] https://openreview.net/forum?id=B1QRgziT (Spectral Regularization for GANs) EDIT: As discussed below, I have slightly raised my score. I would raise it more if more of my suggestions were implemented (although I*m aware that the authors don*t have much (any?) time for this - and that I am partially to blame for that, since I didn*t respond that quickly). I have also slightly raised my confidence. This is because now I*ve had more time to think about the paper, and because the authors didn*t really address a lot of my criticisms (which to me seems like evidence that some of my criticisms were correct).