Title: TOWARDS PRINCIPLED METHODS FOR TRAINING GENERATIVE ADVERSARIAL NETWORKS

Abstract: The goal of this paper is not to introduce a single algorithm or method, but to make theoretical steps towards fully understanding the training dynamics of generative adversarial networks. In order to substantiate our theoretical analysis, we perform targeted experiments to verify our assumptions, illustrate our claims, and quantify the phenomena. This paper is divided into three sections. The first section introduces the problem at hand. The second section is dedicated to studying and proving rigorously the problems including instability and saturation that arize when training generative adversarial networks. The third section examines a practical and theoretically grounded direction towards solving these problems, while introducing new tools to study them.

1. INTRODUCTION:

Generative adversarial networks (GANs) (Goodfellow et al., 2014a) have achieved great success at generating realistic and sharp looking images. However, they are widely general methods, now starting to be applied to several other important problems, such as semisupervised learning, stabilizing sequence learning methods for speech and language, and 3D modelling. (Denton et al., 2015; Radford et al., 2015; Salimans et al., 2016; Lamb et al., 2016; Wu et al., 2016) However, they still remain remarkably difficult to train, with most current papers dedicated to heuristically finding stable architectures. (Radford et al., 2015; Salimans et al., 2016) Despite their success, there is little to no theory explaining the unstable behaviour of GAN training. Furthermore, approaches to attacking this problem still rely on heuristics that are extremely sensitive to modifications. This makes it extremely hard to experiment with new variants, or to use them in new domains, which limits their applicability drastically. This paper aims to change that, by providing a solid understanding of these issues, and creating principled research directions towards adressing them.

It is interesting to note that the architecture of the generator used by GANs doesn't differ significantly from other approaches like variational autoencoders (Kingma & Welling, 2013) . After all, at the core of it we first sample from a simple prior z ∼ p(z), and then output our final sample g θ (z), sometimes adding noise in the end. Always, g θ is a neural network parameterized by θ, and the main difference is how g θ is trained.

Traditional approaches to generative modeling relied on maximizing likelihood, or equivalently minimizing the Kullback-Leibler (KL) divergence between our unknown data distribution P r and our generator's distribution P g (that depends of course on θ). If we assume that both distributions are continuous with densities P r and P g , then these methods try to minimize KL(P r P g ) = X P r (x) log P r (x) P g (x) dx

This cost function has the good property that it has a unique minimum at P g = P r , and it doesn't require knowledge of the unknown P r (x) to optimize it (only samples). However, it is interesting to see how this divergence is not symetrical between P r and P g :

• If P r (x) > P g (x), then x is a point with higher probability of coming from the data than being a generated sample. This is the core of the phenomenon commonly described as 'mode dropping': when there are large regions with high values of P r , but small or zero values in P g . It is important to note that when P r (x) > 0 but P g (x) → 0, the integrand inside the KL grows quickly to infinity, meaning that this cost function assigns an extremely high cost to a generator's distribution not covering parts of the data.

• If P r (x) < P g (x), then x has low probability of being a data point, but high probability of being generated by our model. This is the case when we see our generator outputting an image that doesn't look real. In this case, when P r (x) → 0 and P g (x) > 0, we see that the value inside the KL goes to 0, meaning that this cost function will pay extremely low cost for generating fake looking samples.

Clearly, if we would minimize KL(P g P r ) instead, the weighting of these errors would be reversed, meaning that this cost function would pay a high cost for generating not plausibly looking pictures. Generative adversarial networks have been shown to optimize (in its original formulation), the Jensen-shannon divergence, a symmetric middle ground to this two cost functions

JSD(P r P g ) = 1 2 KL(P r P A ) + 1 2 KL(P g P A )

where P A is the 'average' distribution, with density Pr+Pg 2

. An impressive experimental analysis of the similarities, uses and differences of these divergences in practice can be seen at Theis et al. (2016) . It is indeed conjectured that the reason of GANs success at producing reallistically looking images is due to the switch from the traditional maximum likelihood approaches. (Theis et al., 2016; Huszar, 2015) . However, the problem is far from closed.

Generative adversarial networks are formulated in two steps. We first train a discriminator D to maximize

EQUATION

One can show easily that the optimal discriminator has the shape

D * (x) = P r (x) P r (x) + P g (x)

(2)

and that L(D * , g θ ) = 2JSD(P r P g ) -2 log 2, so minimizing equation (1) as a function of θ yields minimizing the Jensen-Shannon divergence when the discriminator is optimal. In theory, one would expect therefore that we would first train the discriminator as close as we can to optimality (so the cost function on θ better approximates the JSD), and then do gradient steps on θ, alternating these two things. However, this doesn't work. In practice, as the discriminator gets better, the updates to the generator get consistently worse. The original GAN paper argued that this issue arose from saturation, and switched to another similar cost function that doesn't have this problem. However, even with this new cost function, updates tend to get worse and optimization gets massively unstable. Therefore, several questions arize:

• Why do updates get worse as the discriminator gets better? Both in the original and the new cost function.

• Why is GAN training massively unstable?

• Is the new cost function following a similar divergence to the JSD? If so, what are its properties?

• Is there a way to avoid some of these issues?

The fundamental contributions of this paper are the answer to all these questions, and perhaps more importantly, to introduce the tools to analyze them properly. We provide a new direction designed to avoid the instability issues in GANs, and examine in depth the theory behind it. Finally, we state a series of open questions and problems, that determine several new directions of research that begin with our methods.

2. SOURCES OF INSTABILITY:

The theory tells us that the trained discriminator will have cost at most 2 log 2 -2JSD(P r P g ). However, in practice, if we just train D till convergence, its error will go to 0, as observed in Figure 1 , pointing to the fact that the JSD between them is maxed out. The only way this can happen is if the distributions are not continuous1 , or they have disjoint supports.

One possible cause for the distributions not to be continuous is if their supports lie on low dimensional manifolds. There is strong empirical and theoretical evidence to believe that P r is indeed extremely concentrated on a low dimensional manifold (Narayanan & Mitter, 2010) . As of P g , we will prove soon that such is the case as well.

In the case of GANs, P g is defined via sampling from a simple prior z ∼ p(z), and then applying a function g : Z → X , so the support of P g has to be contained in g(Z). If the dimensionality of Z is less than the dimension of X (as is typically the case), then it's imposible for P g to be continuous. This is because in most cases g(Z) will be contained in a union of low dimensional manifolds, and therefore have measure 0 in X . Note that while intuitive, this is highly nontrivial, since having an ndimensional parameterization does absolutely not imply that the image will lie on an n-dimensional manifold. In fact, there are many easy counterexamples, such as Peano curves, lemniscates, and many more. In order to show this for our case, we rely heavily on g being a neural network, since we are able to leverage that g is made by composing very well behaved functions. We now state this properly in the following Lemma: Lemma 1. Let g : Z → X be a function composed by affine transformations and pointwise nonlinearities, which can either be rectifiers, leaky rectifiers, or smooth strictly increasing functions (such as the sigmoid, tanh, softplus, etc). Then, g(Z) is contained in a countable union of manifolds of dimension at most dim Z. Therefore, if the dimension of Z is less than the one of X , g(Z) will be a set of measure 0 in X .

Proof. See Appendix A.

Driven by this, this section shows that if the supports of P r and P g are disjoint or lie in low dimensional manifolds, there is always a perfect discriminator between them, and we explain exactly how and why this leads to an unreliable training of the generator.

2.1. THE PERFECT DISCRIMINATION THEOREMS:

For simplicity, and to introduce the methods, we will first explain the case where P r and P g have disjoint supports. We say that a discriminator D : X → [0, 1] has accuracy 1 if it takes the value 1 on a set that contains the support of P r and value 0 on a set that contains the support of P g . Namely, P r [D(x) = 1] = 1 and P g [D(x) = 0] = 1. Theorem 2.1. If two distributions P r and P g have support contained on two disjoint compact subsets M and P respectively, then there is a smooth optimal discrimator D * : X → [0, 1] that has accuracy 1 and ∇ x D * (x) = 0 for all x ∈ M ∪ P.

Proof. The discriminator is trained to maximize

E x∼Pr [log D(x)] + E x∼Pg [log(1 -D(x))

] Since M and P are compact and disjoint, 0 < δ = d(P, M) the distance between both sets. We now define

M = {x : d(x, M ) ≤ δ/3} P = {x : d(x, P ) ≤ δ/3}

By definition of δ we have that P and M are clearly disjoint compact sets. Therefore, by Urysohn's smooth lemma there exists a smooth function

D * : X → [0, 1] such that D * | M ≡ 1 and D * | P ≡ 0.

Since log D * (x) = 0 for all x in the support of P r and log(1 -D * (x)) = 0 for all x in the support of P g , the discriminator is completely optimal and has accuracy 1. Furthermore, let x be in M ∪ P.

If we assume that x ∈ M, there is an open ball B = B(x, δ/3) on which D * | B is constant. This shows that ∇ x D * (x) ≡ 0. Taking x ∈ P and working analogously we finish the proof.

Figure 1 : First, we trained a DCGAN for 1, 10 and 25 epochs. Then, with the generator fixed we train a discriminator from scratch. We see the error quickly going to 0, even with very few iterations on the discriminator. This even happens after 25 epochs of the DCGAN, when the samples are remarkably good and the supports are likely to intersect, pointing to the non-continuity of the distributions. Note the logarithmic scale. For illustration purposes we also show the accuracy of the discriminator, which goes to 1 in sometimes less than 50 iterations. This is 1 even for numerical precision, and the numbers are running averages, pointing towards even faster convergence.

In the next theorem, we take away the disjoint assumption, to make it general to the case of two different manifolds. However, if the two manifolds match perfectly on a big part of the space, no discriminator could separate them. Intuitively, the chances of two low dimensional manifolds having this property is rather dim: for two curves to match in space in a specific segment, they couldn't be perturbed in any arbitrarilly small way and still satisfy this property. To do this, we will define the notion of two manifolds perfectly aligning, and show that this property never holds with probability 1 under any arbitrarilly small perturbations.

Definition 2.1. We first need to recall the definition of transversallity. Let M and P be two boundary free regular submanifolds of F, which in our cases will simply be F = R d . Let x ∈ M ∩ P be an intersection point of the two manifolds. We say that M and P intersect transversally in x if T x M + T x P = T x F, where T x M means the tangent space of M around x.

Definition 2.2. We say that two manifolds without boundary M and P perfectly align if there is an x ∈ M ∩ P such that M and P don't intersect transversally in x.

We shall note the boundary and interior of a manifold M by ∂M and Int M respectively. We say that two manifolds M and P (with or without boundary) perfectly align if any of the boundary free manifold pairs (Int M, Int P), (Int M, ∂P), (∂M, Int P) or (∂M, ∂P) perfectly align.

The interesting thing is that we can safely assume in practice that any two manifolds never perfectly align. This can be done since an arbitrarilly small random perturbation on two manifolds will lead them to intersect transversally or don't intersect at all. This is precisely stated and proven in Lemma 2.

As stated by Lemma 3, if two manifolds don't perfectly align, their intersection L = M ∩ P will be a finite union of manifolds with dimensions strictly lower than both the dimension of M and the one of P.

Lemma 2. Let M and P be two regular submanifolds of R d that don't have full dimension. Let η, η be arbitrary independent continuous random variables. We therefore define the perturbed manifolds as M = M + η and P = P + η . Then P η,η ( M does not perfectly align with P) = 1

Proof. See Appendix A.

Lemma 3. Let M and P be two regular submanifolds of R d that don't perfectly align and don't have full dimension. Let L = M ∩ P. If M and P don't have boundary, then L is also a manifold, and has strictly lower dimension than both the one of M and the one of P. If they have boundary, L is a union of at most 4 strictly lower dimensional manifolds. In both cases, L has measure 0 in both M and P.

Proof. See Appendix A.

We now state our perfect discrimination result for the case of two manifolds. Theorem 2.2. Let P r and P g be two distributions that have support contained in two closed manifolds M and P that don't perfectly align and don't have full dimension. We further assume that P r and P g are continuous in their respective manifolds, meaning that if there is a set A with measure 0 in M, then P r (A) = 0 (and analogously for P g ). Then, there exists an optimal discriminator D * : X → [0, 1] that has accuracy 1 and for almost any x in M or P, D * is smooth in a neighbourhood of x and ∇ x D * (x) = 0.

Proof. By Lemma 3 we know that L = M ∩ P is strictly lower dimensional than both M and P, and has measure 0 on both of them. By continuity, P r (L) = 0 and P g (L) = 0. Note that this implies the support of P r is contained in M \ L and the support of P g is contained in P \ L.

Let x ∈ M \ L. Therefore, x ∈ P c (the complement of P) which is an open set, so there exists a ball of radius x such that B(x, x ) ∩ P = ∅. This way, we define

M = x∈M\L B(x, x /3)

We define P analogously. Note that by construction these are both open sets on R d . Since M \ L ⊆ M, and P \ L ⊆ P, the support of P r and P g is contained in M and P respectively. As well by construction, M ∩ P = ∅.

Let us define D * (x) = 1 for all x ∈ M, and 0 elsewhere (clearly including P. Since log D * (x) = 0 for all x in the support of P r and log(1 -D * (x)) = 0 for all x in the support of P g , the discriminator is completely optimal and has accuracy 1. Furthermore, let x ∈ M. Since M is an open set and

D * is constant on M, then ∇ x D * | M ≡ 0. Analogously, ∇ x D * | P ≡ 0.

Therefore, the set of points where D * is non-smooth or has non-zero gradient inside M ∪ P is contained in L, which has null-measure in both manifolds, therefore concluding the theorem.

These two theorems tell us that there are perfect discriminators which are smooth and constant almost everywhere in M and P. The fact that the discriminator is constant in both manifolds points to the fact that we won't really be able to learn anything by backproping through it, as we shall see in the next subsection. To conclude this general statement, we state the following theorem on the divergences of P r and P g , whose proof is trivial and left as an exercise to the reader. Theorem 2.3. Let P r and P g be two distributions whose support lies in two manifolds M and P that don't have full dimension and don't perfectly align. We further assume that P r and P g are continuous in their respective manifolds. Then,

JSD(P r P g ) = log 2 KL(P r P g ) = +∞ KL(P g P r ) = +∞

Note that these divergences will be maxed out even if the two manifolds lie arbitrarilly close to each other. The samples of our generator might look impressively good, yet both KL divergences will be infinity. Therefore, Theorem 2.3 points us to the fact that attempting to use divergences out of the box to test similarities between the distributions we typically consider might be a terrible idea. Needless to say, if these divergencies are always maxed out attempting to minimize them by gradient descent isn't really possible. We would like to have a perhaps softer measure, that incorporates a notion of distance between the points in the manifolds. We will come back to this topic later in section 3, where we explain an alternative metric and provide bounds on it that we are able to analyze and optimize.

2.2. THE CONSEQUENCES, AND THE PROBLEMS OF EACH COST FUNCTION:

Theorems 2.1 and 2.2 showed one very important fact. If the two distributions we care about have supports that are disjoint or lie on low dimensional manifolds, the optimal discriminator will be perfect and its gradient will be zero almost everywhere.

2.2.1. THE ORIGINAL COST FUNCTION:

We will now explore what happens when we pass gradients to the generator through a discriminator.

One crucial difference with the typical analysis done so far is that we will develop the theory for an approximation to the optimal discriminator, instead of working with the (unknown) true discriminator. We will prove that as the approximaton gets better, either we see vanishing gradients or the massively unstable behaviour we see in practice, depending on which cost function we use.

In what follows, we denote by D the norm

D = sup x∈X |D(x)| + ∇ x D(x) 2

The use of this norm is to make the proofs simpler, but could have been done in another Sobolev norm • 1,p for p < ∞ covered by the universal approximation theorem in the sense that we can guarantee a neural network approximation in this norm (Hornik, 1991) .

Theorem 2.4 (Vanishing gradients on the generator). Let g θ : Z → X be a differentiable function that induces a distribution P g . Let P r be the real data distribution. Let D be a differentiable discriminator. If the conditions of Theorems 2.1 or 2.2 are satisfied, D -D * < , and

E z∼p(z) J θ g θ (z) 2 2 ≤ M 2 , 2 then ∇ θ E z∼p(z) [log(1 -D(g θ (z)))] 2 < M 1 - Proof.

In both proofs of Theorems 2.1 and 2.2 we showed that D * is locally 0 on the support of P g . Then, using Jensen's inequality and the chain rule on this support we have

∇ θ E z∼p(z) [log(1 -D(g θ (z)))] 2 2 ≤ E z∼p(z) ∇ θ D(g θ (z)) 2 2 |1 -D(g θ (z))| 2 ≤ E z∼p(z) ∇ x D(g θ (z)) 2 2 J θ g θ (z) 2 2 |1 -D(g θ (z))| 2 < E z∼p(z) ( ∇ x D * (g θ (z)) 2 + ) 2 J θ g θ (z) 2 2 (|1 -D * (g θ (z))| -) 2 = E z∼p(z) 2 J θ g θ (z) 2 2 (1 -) 2 ≤ M 2 2 (1 -) 2

Taking square root of everything we get

∇ θ E z∼p(z) [log(1 -D(g θ (z)))] 2 < M 1 - finishing the proof

Corollary 2.1. Under the same assumptions of Theorem 2.4 This shows that as our discriminator gets better, the gradient of the generator vanishes. For completeness, this was experimentally verified in Figure 2 . The fact that this happens is terrible, since the fact that the generator's cost function being close to the Jensen Shannon divergence depends on the quality of this approximation. This points us to a fundamental: either our updates to the discriminator will be inacurate, or they will vanish. This makes it difficult to train using this cost function, or leave up to the user to decide the precise amount of training dedicated to the discriminator, which can make GAN training extremely hard.

lim D-D * →0 ∇ θ E z∼p(z) [log(1 -D(g θ (z)))] = 0

2.2.2. THE -log D ALTERNATIVE:

To avoid gradients vanishing when the discriminator is very confident, people have chosen to use a different gradient step for the generator.

∆θ = ∇ θ E z∼p(z) [-log D(g θ (z))]

We now state and prove for the first time which cost function is being optimized by this gradient step. Later, we prove that while this gradient doesn't necessarily suffer from vanishing gradients, it does cause massively unstable updates (that have been widely experienced in practice) under the prescence of a noisy approximation to the optimal discriminator. Theorem 2.5. Let P r and P g θ be two continuous distributions, with densities P r and P g θ respectively. Let D * = Pr Pg θ 0 +Pr be the optimal discriminator, fixed for a value θ 03 . Therefore,

EQUATION

Before diving into the proof, let's look at equation (3) for a second. This is the inverted KL minus two JSD. First of all, the JSDs are in the opposite sign, which means they are pushing for the distributions to be different, which seems like a fault in the update. Second, the KL appearing in the equation is KL(P g P r ), not the one equivalent to maximum likelihood. As we know, this KL assigns an extremely high cost to generating fake looking samples, and an extremely low cost on mode dropping; and the JSD is symetrical so it shouldn't alter this behaviour. This explains what we see in practice, that GANs (when stabilized) create good looking samples, and justifies what is commonly conjectured, that GANs suffer from an extensive amount of mode dropping.

Proof. We already know by Goodfellow et al. (2014a) that

E z∼p(z) [∇ θ log(1 -D * (g θ (z)))| θ=θ0 ] = ∇ θ 2JSD(P g θ P r )| θ=θ0

Furthermore, as remarked by Huszar (2016) ,

KL(P g θ P r ) = E x∼Pg θ log P g θ (x) P r (x) = E x∼Pg θ log P g θ 0 (x) P r (x) -E x∼Pg θ log P g θ (x) P g θ 0 (x) = -E x∼Pg θ log D * (x) 1 -D * (x) -KL(P g θ P g θ 0 ) = -E z∼p(z) log D * (g θ (z)) 1 -D * (g θ (z))

-KL(P g θ P g θ 0 )

Taking derivatives in θ at θ 0 we get

∇ θ KL(P g θ P r )| θ=θ0 = -∇ θ E z∼p(z) log D * (g θ (z)) 1 -D * (g θ (z)) | θ=θ0 -∇ θ KL(P g θ P g θ 0 )| θ=θ0 = E z∼p(z) -∇ θ log D * (g θ (z)) 1 -D * (g θ (z)) | θ=θ0

Substracting this last equation with the result for the JSD, we obtain our desired result.

We now turn to our result regarding the instability of a noisy version of the true distriminator.

Theorem 2.6 (Instability of generator gradient updates). Let g θ : Z → X be a differentiable function that induces a distribution P g . Let P r be the real data distribution, with either conditions of Theorems 2.1 or 2.2 satisfied. Let D be a discriminator such that D * -D = is a centered Gaussian process indexed by x and independent for every x (popularly known as white noise) and ∇ x D * -∇ x D = r another independent centered Gaussian process indexed by x and independent for every x. Then, each coordinate of

E z∼p(z) [-∇ θ log D(g θ (z))]

is a centered Cauchy distribution with infinite expectation and variance.4 

Proof. Let us remember again that in this case D is locally constant equal to 0 on the support of P g . We denote r(z), (z) the random variables r(g θ (z)), (g θ (z)). By the chain rule and the definition of r, , we get

E z∼p(z) [-∇ θ log D(g θ (z))] = E z∼p(z) - J θ g θ (z)∇ x D(g θ (z)) D(g θ (z)) = E z∼p(z) - J θ g θ (z)r(z) (z)

Since r(z) is a centered Gaussian distribution, multiplying by a matrix doesn't change this fact. Furthermore, when we divide by (z), a centered Gaussian independent from the numerator, we get a centered Cauchy random variable on every coordinate. Averaging over z the different independent Cauchy random variables again yields a centered Cauchy distribution.5 

Figure 3 : First, we trained a DCGAN for 1, 10 and 25 epochs. Then, with the generator fixed we train a discriminator from scratch and measure the gradients with the -log D cost function. We see the gradient norms grow quickly. Furthermore, the noise in the curves shows that the variance of the gradients is also increasing. All these gradients lead to updates that lower sample quality notoriously.

Note that even if we ignore the fact that the updates have infinite variance, we still arrive to the fact that the distribution of the updates is centered, meaning that if we bound the updates the expected update will be 0, providing no feedback to the gradient.

Since the assumption that the noises of D and ∇D are decorrelated is albeit too strong, we show in Figure 3 how the norm of the gradient grows drastically as we train the discriminator closer to optimality, at any stage in training of a well stabilized DCGAN except when it has already converged. In all cases, using this updates lead to a notorious decrease in sample quality. The noise in the curves also shows that the variance of the gradients is increasing, which is known to delve into slower convergence and more unstable behaviour in the optimization (Bottou et al., 2016) .

3. TOWARDS SOFTER METRICS AND DISTRIBUTIONS:

An important question now is how to fix the instability and vanishing gradients issues. Something we can do to break the assumptions of these theorems is add continuous noise to the inputs of the discriminator, therefore smoothening the distribution of the probability mass. Theorem 3.1. If X has distribution P X with support on M and is an aboslutely continuous distribution with density P , then P X+ is absolutely continuous with density

P X+ (x) = E y∼P X [P (x -y)] = M P (x -y) dP X (y)

Proof. See Appendix A.

Corollary 3.1.

• If ∼ N (0, σ2 I) then

P X+ (x) = 1 Z M e -y-x 2 2σ 2

dP X (y)

• If ∼ N (0, Σ) then

P X+ (x) = 1 Z E y∼P X e -1 • If P (x) ∝ 1 x d+1 then P X+ (x) = 1 Z E y∼P X 1 x -y d+1

This theorem therefore tells us that the density P X+ (x) is inversely proportional to the average distance to points in the support of P X , weighted by the probability of these points. In the case of the support of P X being a manifold, we will have the weighted average of the distance to the points along the manifold. How we choose the distribution of the noise will impact the notion of distance we are choosing. In our corolary, for example, we can see the effect of changing the covariance matrix by altering the norm inside the exponential. Different noises with different types of decays can therefore be used. Now, the optimal discriminator between P g+ and P r+ is

D * (x) = P r+ (x) P r+ (x) + P g+ (x)

and we want to calculate what the gradient passed to the generator is.

Theorem 3.2. Let P r and P g be two distributions with support on M and P respectively, with ∼ N (0, σ 2 I). Then, the gradient passed to the generator has the form

E z∼p(z) [∇ θ log(1 -D * (g θ (z)))] (4) = E z∼p(z) a(z) M P (g θ (z) -y)∇ θ g θ (z) -y 2 dP r (y) -b(z) P P (g θ (z) -y)∇ θ g θ (z) -y 2 dP g (y)

where a(z) and b(z) are positive functions. Furthermore, b > a if and only if P r+ > P g+ , and b < a if and only if P r+ < P g+ .

This theorem proves that we will drive our samples g θ (z) towards points along the data manifold, weighted by their probability and the distance from our samples. Furthermore, the second term drives our points away from high probability samples, again, weighted by the sample manifold and distance to these samples. This is similar in spirit to contrastive divergence, where we lower the free energy of our samples and increase the free energy of data points. The importance of this term is seen more clearly when we have samples that have higher probability of coming from P g than from P r .

In this case, we will have b > a and the second term will have the strength to lower the probability of this too likely samples. Finally, if there's an area around x that has the same probability to come from P g than P r , the gradient contributions between the two terms will cancel, therefore stabilizing the gradient when P r is similar to P g .

There is one important problem with taking gradient steps exactly of the form (4), which is that in that case, D will disregards errors that lie exactly in g(Z), since this is a set of measure 0. However, g will be optimizing its cost only on that space. This will make the discriminator extremely susceptible to adversarial examples, and will render low cost on the generator without high cost on the discriminator, and lousy meaningless samples. This is easilly seen when we realize the term inside the expectation of equation ( 4) will be a positive scalar times ∇ x log(1 -D * (x))∇ θ g θ (z), which is the directional derivative towards the exact adversarial term of Goodfellow et al. (2014b) .

Because of this, it is important to backprop through noisy samples in the generator as well. This will yield a crucial benefit: the generator's backprop term will be through samples on a set of positive measure that the discriminator will care about. Formalizing this notion, the actual gradient through the generator will now be proportional to ∇ θ JSD(P r+ P g+ ), which will make the two noisy distributions match. As we anneal the noise, this will make P r and P g match as well. For completeness, we show the smooth gradient we get in this case. The proof is identical to the one of Theorem 3.2, so we leave it to the reader.

Corollary 3.2. Let , ∼ N (0, σ 2 I) and gθ (z) = g θ (z) + , then

E z∼p(z), [∇ θ log(1 -D * (g θ (z)))] (5) = E z∼p(z), a(z) M P (g θ (z) -y)∇ θ gθ (z) -y 2 dP r (y) -b(z) P P (g θ (z) -y)∇ θ gθ (z) -y 2 dP g (y)

= 2∇ θ JSD(P r+ P g+ )

In the same as with Theorem 3.2, a and b will have the same properties. The main difference is that we will be moving all our noisy samples towards the data manifold, which can be thought of as moving a small neighbourhood of samples towards it. This will protect the discriminator against measure 0 adversarial examples.

Proof of theorem 3.2. Since the discriminator is assumed fixed when backproping to the generator, the only thing that depends on θ is g θ (z) for every z. By taking derivatives on our cost function

E z∼p(z) [∇ θ log(1 -D * (g θ (z)))] = E z∼p(z) ∇ θ log P g+ (g θ (z)) P r+ (g θ (z)) + P g+ (g θ (z)) = E z∼p(z) [∇ θ log P g+ (g θ (z)) -∇ θ log (P g+ (g θ (z)) + P r+ (g θ (z)))] = E z∼p(z) ∇ θ P g+ (g θ (z)) P g+ (g θ (z)) - ∇ θ P g+ (g θ (z)) + ∇ θ P r+ (g θ (z)) P g+ (g θ (z)) + P r+ (g θ (z)) = E z∼p(z) 1 P g+ (g θ (z)) + P r+ (g θ (z)) ∇ θ [-P r+ (g θ (z))]- 1 P g+ (g θ (z)) + P r+ (g θ (z)) P r+ (g θ (z)) P g+ (g θ (z)) ∇ θ [-P g+ (g θ (z))]

Let the density of be 1 Z e -x 2 2σ 2 . We now define

a(z) = 1 2σ 2 1 P g+ (g θ (z)) + P r+ (g θ (z)) b(z) = 1 2σ 2 1 P g+ (g θ (z)) + P r+ (g θ (z)) P r+ (g θ (z)) P g+ (g θ (z))

Trivially, a and b are positive functions. Since b = a Pr+ Pg+ , we know that b > a if and only if P r+ > P g+ , and b < a if and only if P r+ < P g+ as we wanted. Continuing the proof, we know

E z∼p(z) [∇ θ log(1 -D * (g θ (z)))] = E z∼p(z) 2σ 2 a(z)∇ θ [-P r+ (g θ (z))] -2σ 2 b(z)∇ θ [-P g+ (g θ (z)) = E z∼p(z) 2σ 2 a(z) M -∇ θ 1 Z e -g θ (z)-y 2 2 2σ 2 dP r (y) -2σ 2 b(z) P -∇ θ 1 Z e -g θ (z)-y 2 2 2σ 2 dP g (y) = E z∼p(z) a(z) M 1 Z e -g θ (z)-y 2 2 2σ 2 ∇ θ g θ (z) -y 2 dP r (y) -b(z) P 1 Z e -g θ (z)-y 2 2 2σ 2 ∇ θ g θ (z) -y 2 dP g (y) = E z∼p(z) a(z) M P (g θ (z) -y)∇ θ g θ (z) -y 2 dP r (y) -b(z) P P (g θ (z) -y)∇ θ g θ (z) -y 2 dP g (y)

Finishing the proof.

An interesting observation is that if we have two distributions P r and P g with support on manifolds that are close, the noise terms will make the noisy distributions P r+ and P g+ almost overlap, and the JSD between them will be small. This is in drastic contrast to the noiseless variants P r and P g , where all the divergences are maxed out, regardless of the closeness of the manifolds. We could argue to use the JSD of the noisy variants to measure a similarity between the original distributions, but this would depend on the amount of noise, and is not an intrinsic measure of P r and P g . Luckilly, there are alternatives. Definition 3.1. We recall the definition of the Wasserstein metric W (P, Q) for P and Q two distributions over X . Namely,

W (P, Q) = inf γ∈Γ X ×X x -y 2 dγ(x, y)

where Γ is the set of all possible joints on X × X that have marginals P and Q.

The Wasserstein distance also goes by other names, most commonly the transportation metric and the earth mover's distance. This last name is most explicative: it's the minimum cost of transporting the whole probability mass of P from its support to match the probability mass of Q on Q's support. This identification of transporting points from P to Q is done via the coupling γ. We refer the reader to Villani (2009) for an in-depth explanation of these ideas. It is easy to see now that the Wasserstein metric incorporates the notion of distance (as also seen inside the integral) between the elements in the support of P and the ones in the support of Q, and that as the supports of P and Q get closer and closer, the metric will go to 0, inducing as well a notion of distance between manifolds.

Intuitively, as we decrease the noise, P X and P X+ become more similar. However, it is easy to see again that JSD(P X P X+ ) is maxed out, regardless of the amount of noise. The following Lemma shows that this is not the case for the Wasserstein metric, and that it goes to 0 smoothly when we decrease the variance of the noise.

Lemma 4. If is a random vector with mean 0, then we have

W (P X , P X+ ) ≤ V 1 2 where V = E[ 2 2 ]

is the variance of .

Proof. Let x ∼ P X , and y = x + with independent from x. We call γ the joint of (x, y), which clearly has marginals P X and P X+ . Therefore,

W (P X , P X+ ) ≤ x -y 2 dγ(x, y) = E x∼P X E y∼x+ [ x -y 2 ] = E x∼P X E y∼x+ [ 2 ] = E x∼P X E [ 2 ] = E [ 2 ] ≤ E [ 2 2 ] 1 2 = V 1 2

where the last inequality was due to Jensen.

We now turn to one of our main results. We are interested in studying the distance between P r and P g without any noise, even when their supports lie on different manifolds, since (for example) the closer these manifolds are, the closer to actual points on the data manifold the samples will be. Furthermore, we eventually want a way to evaluate generative models, regardless of whether they are continuous (as in a VAE) or not (as in a GAN), a problem that has for now been completely unsolved.

The next theorem relates the Wasserstein distance of P r and P g , without any noise or modification, to the divergence of P r+ and P g+ , and the variance of the noise. Since P r+ and P g+ are continuous distributions, this divergence is a sensible estimate, which can even be attempted to minimize, since a discriminator trained on those distributions will approximate the JSD between them, and provide smooth gradients as per Corolary 3.2.

Theorem 3.3. Let P r and P g be any two distributions, and be a random vector with mean 0 and variance V . If P r+ and P g+ have support contained on a ball of diameter C, then6 W (P r , P g ) ≤ 2V We first used the Lemma 4 to bound everything but the middle term as a function of V . After that, we followed by the fact that W (P, Q) ≤ Cδ(P, Q) wih δ the total variation, which is a popular Lemma arizing from the Kantorovich-Rubinstein duality. After that, we used the triangular inequality on δ and P m the mixture distribution between P g+ and P r+ . Finally, we used Pinsker's inequality and later the fact that each individual KL is only one of the non-negative sumands of the JSD.

Theorem 3.3 points us to an interesting idea. The two terms in equation ( 6) can be controlled. The first term can be decreased by annealing the noise, and the second term can be minimized by a GAN when the discriminator is trained on the noisy inputs, since it will be approximating the JSD between the two continuous distributions. One great advantage of this is that we no longer have to worry about training schedules. Because of the noise, we can train the discriminator till optimality without any problems and get smooth interpretable gradients by Corollary 3.2. All this while still minimizing the distance between P r and P g , the two noiseless distributions we in the end care about.

A PROOFS OF THINGS:

Proof of Lemma 1. We first consider the case where the nonlinearities are rectifiers or leaky rectifiers of the form σ

(x) = 1[x < 0]c 1 x + 1[x ≥ 0]c 2 x for some c 1 , c 2 ∈ R. In this case, g(z) = D n W n . . . D 1 W 1 z

, where W i are affine transformations and D i are some diagonal matrices dependent on z that have diagonal entries c 1 or c 2 . If we consider D to be the (finite) set of all diagonal matrices with diagonal entries c 1 or c 2 , then g(Z) ⊆ Di∈D D n W n . . . D 1 W 1 Z, which is a finite union of linear manifolds.

The proof for the second case is technical and slightly more involved. When σ is a pointwise smooth strictly increasing nonlinearity, then applying it vectorwise it's a diffeomorphism to its image. Therefore, it sends a countable union of manifolds of dimension d to a countable union of manifolds of dimension d. If we can prove the same thing for affine transformations we will be finished, since g(Z) is just a composition of these applied to a dim Z dimensional manifold. Of course, it suffices to prove that an affine transformation sends a manifold to a countable union of manifolds without increasing dimension, since a countable union of countable unions is still a countable union. Furthermore, we only need to show this for linear transformations, since applying a bias term is a diffeomorphism.

Let W ∈ R n×m be a matrix. Note that by the singular value decomposition, W = UΣV, where Σ is a square diagonal matrix with diagonal positive entries and U, V are compositions of changes of basis, inclusions (meaning adding 0s to new coordinates) and projections to a subset of the coordinates. Multiplying by Σ and applying a change of basis are diffeomorphisms, and adding 0s to new coordinates is a manifold embedding, so we only need to prove our statement for projections onto a subset of the coordinates. Let π : R n+k → R n , where π(x 1 , . . . , x n+k ) = (x 1 , . . . , x n ) be our projection and M ⊆ R n+k our d-dimensional manifold. If n ≤ d, we are done since the image of π is contained in all R n , a manifold with at most dimension d. We now turn to the case where n > d. Let π i (x) = x i be the projection onto the i-th coordinate. If x is a critical point of π, since the coordinates of π are independent, then x has to be a critical point of a π i . By a consequence of the Morse Lemma, the critical points of π i are isolated, and therefore so are the ones of π, meaning that there is at most a countable number of them. Since π maps the non-critical points onto a d dimensional manifold (because it acts as an embedding) and the countable number of critical points into a countable number of points (or 0 dimensional manifolds), the proof is finished.

Proof of Lemma 2. For now we assume that M and P are without boundary. If dim M + dim P ≥ d it is known that under arbitrarilly small perturbations defined as the ones in the statement of this Lemma, the two dimensions will intersect only transversally with probability 1 by the General Position Lemma. If dim M + dim P < d, we will show that with probability 1, M + η and P + η will not intersect, thereby getting our desired result. Let us then assume dim M + dim P < d. Note that M ∩ P = ∅ if and only if there are x ∈ M, y ∈ P such that x + η = y + η , or equivalently x -y = η -η. Therefore, M and P intersect if and only if η -η ∈ M -P. Since η, η are independent continuous random variables, the difference is also continuous. If M -P has measure 0 in R d then P(η -η ∈ M -P) = 0, concluding the proof. We will therefore show that M -P has measure 0. Let f : M × P → R d be f (x, y) = x -y. If m and p are the dimensions of M and P, then f is a smooth function between an m + p-dimensional manifold and a d dimensional one.

Clearly, the image of f is M -P. Therefore,

M -P = f ({z ∈ M × P|rank(d z f ) < m + p}) ∪ f ({z ∈ M × P|rank(d z f ) = m + p})

The first set is the image of the critical points, namely the critical values. By Sard's Lemma, this set has measure 0. Let's call A = {z ∈ M × P|rank(d z f ) = m + p}. Let z be an element of A. By the inverse function theorem, there is a neighbourhood U z ⊆ M × P of z such that f | Uz is an embedding. Since every manifold has a countable topological basis, we can cover A by countable sets U zn , where n ∈ N. We will just note them by U n . Since f | Un is an embedding, f (U n ) is an m + p-dimensional manifold, and since m + p < d, this set has measure 0 in R d . Now, f (A) = n∈N f (U n ), which therefore has measure 0 in R d , finishing the proof of the boundary free case.

:

By continuous we will actually refer to an absolutely continuous random variable (i.e. one that has a density), as it typically done. For further clarification see Appendix B.

Since M can depend on θ, this condition is trivially verified for a uniform prior and a neural network. The case of a Gaussian prior requires more work because we need to bound the growth on z, but is also true for current architectures.

This is important since when backpropagating to the generator, the discriminator is assumed fixed

Note that the theorem holds regardless of the variance of r and . As the approximation gets better, this error looks more and more as centered random noise due to the finite precision.

A note on technicality: when is defined as such, the remaining process is not measurable in x, so we can't take the expectation in z trivially. This is commonly bypassed, and can be formally worked out by stating the expectation as the result of a stochastic differential equation.

y-x 2 Σ -1

While this last condition isn't true if is a Gaussian, this is easily fixed by clipping the noise

Figures and Tables:

Figure2: First, we trained a DCGAN for 1, 10 and 25 epochs. Then, with the generator fixed we train a discriminator from scratch and measure the gradients with the original cost function. We see the gradient norms decay quickly, in the best case 5 orders of magnitude after 4000 discriminator iterations. Note the logarithmic scale.

, P g ) ≤ W (P r , P r+ ) + W (P r+ , P g+ ) + W (P g+ , P g ) (δ(P r+ , P m ) + δ(P g+ , P m ))

Table content: <table><tr><td/><td/><td colspan="4">1 2 + 2C JSD(P r+ P g+ )</td><td>(6)</td></tr><tr><td>Proof.</td><td/><td/><td/><td/></tr><tr><td>W (P r ≤ 2V</td><td colspan="3">1 2 + W (P r+ , P g+ )</td><td/></tr><tr><td>≤ 2V</td><td colspan="3">1 2 + Cδ(P r+ , P g+ )</td><td/></tr><tr><td colspan="2">≤ 2V 2 + C ≤ 2V 1 1 2 + C</td><td>1 2</td><td>KL(P r+ P m ) +</td><td>1 2</td><td>KL(P g+ P m )</td></tr><tr><td>≤ 2V</td><td colspan="3">1 2 + 2C JSD(P r+ P g+ )</td><td/></tr></table>

Peer review (iclr2017):
This paper makes a valuable contribution to provide a more clear understanding of generative adversarial network (GAN) training procedure. With the new insight of the training dynamics of GAN, as well as its variant, the authors reveal the reason that why the gradient is either vanishing in original GAN or unstable in its variant. More importantly, they also provide a way to avoid such difficulties by introducing perturbation. I believe this paper will inspire more principled research in this direction. I am very interested in the perturbation trick to avoid the gradient instability and vanishment. In fact, this is quite related to dropout trick in where the perturbation can be viewed as Bernoulli distribution. It will be great if the connection can be discussed. Besides the theoretical analysis, is there any empirical study to justify this trick? Could you please add some experiments like Fig 2 and 3 for the perturbated GAN for comparison?