Skip to content
AIAI Wranglers

11 Solvers for Min-Max Problems

Why Min-Max Is Hard

Training a GAN means solving the saddle-point problem (Minmax)minθmaxϕV(θ,ϕ), where θ are the generator parameters and ϕ are the discriminator (or critic) parameters. This looks superficially similar to ordinary minimisation, but there is a fundamental difference: gradient descent was designed for valleys, not saddle points.

Key Idea.

In minimisation, the gradient always points “downhill,” and following f brings you closer to the optimum. In a min-max game, the two players pull in opposite directions: the generator descends while the discriminator ascends. Naively applying gradient descent to both players simultaneously can produce cycling, divergence, or chaos, none of which leads to the desired equilibrium.

Example 1 (The Simplest Game).

Consider the bilinear game (Bilinear)minxmaxyf(x,y)=xy. The unique saddle point is (x,y)=(0,0). Yet, as we will show in Section Simultaneous Gradient Descent-Ascent, simultaneous gradient descent-ascent with any positive learning rate η produces orbits that spiral away from the origin. This simple example encapsulates why GAN training is notoriously difficult.

This chapter develops the mathematical framework for understanding and solving such games. We begin with the game-theoretic foundations (Section Game-Theoretic Foundations), then analyse the failure modes of naive gradient methods (Sections Simultaneous Gradient Descent-AscentWhy GDA Fails: The Jacobian View), and finally present three families of algorithms that do converge: the extra-gradient method (Section The Extra-Gradient Method), optimistic gradient descent-ascent (Section Optimistic Gradient Descent-Ascent), and several practical heuristics used in modern GAN training (Section Practical Methods for GAN Training).

Game-Theoretic Foundations

A two-player game is specified by:

  • A strategy set Θ for the minimiser (the generator).

  • A strategy set Φ for the maximiser (the discriminator).

  • A payoff function V:Θ×Φ.

The minimiser wants to minimise V; the maximiser wants to maximise V. This is called a zero-sum game because the gain of one player is exactly the loss of the other.

Nash Equilibrium

Definition 1 (Nash Equilibrium for Two-Player Zero-Sum Games).

A strategy pair (θ,ϕ) is a Nash equilibrium of the game minθmaxϕV(θ,ϕ) if (NASH)V(θ,ϕ)V(θ,ϕ)V(θ,ϕ)for all θΘ,ϕΦ. In words: neither player can improve their payoff by unilaterally changing their strategy.

Remark 1 (Nash Equilibrium = Saddle Point).

For a zero-sum game, the Nash equilibrium condition says that (θ,ϕ) is a saddle point of V: it is a minimum in θ and a maximum in ϕ. The name comes from the shape of the surface V(θ,ϕ) near such a point, which looks like a horse saddle, curving up in one direction and down in the other.

Example 2 (Saddle Point of f(x,y)=x2y2).

The function f(x,y)=x2y2 has a saddle point at (0,0). It is a minimum in x (the parabola x2 opens up) and a maximum in y (the parabola y2 opens down). The Hessian is H=(2002), which has one positive and one negative eigenvalue, the hallmark of a saddle point.

The Minimax Theorem

A natural question is: does the order of min and max matter? The answer is: in general yes, but under certain conditions, no.

Theorem 1 (Von Neumann's Minimax Theorem, 1928).

If Θ and Φ are compact convex subsets of n and m, and V(θ,ϕ) is continuous, convex in θ, and concave in ϕ, then (Minimax)minθΘmaxϕΦV(θ,ϕ)=maxϕΦminθΘV(θ,ϕ). Moreover, a Nash equilibrium (θ,ϕ) exists.

Historical Note.

The minimax theorem was proved by John von Neumann in 1928 and is considered one of the founding results of game theory [1]. Von Neumann reportedly said it was “the most important result in the theory of games.” The theorem guarantees that rational players in a finite zero-sum game can always find a stable strategy; there is no advantage to going first or second.

Caution.

GAN training violates the conditions of the minimax theorem: the generator and discriminator are parameterised by neural networks, so V(θ,ϕ) is non-convex-non-concave. This means that a Nash equilibrium may not exist in pure strategies, and even when it does, there is no guarantee that any algorithm can find it efficiently. This is the fundamental reason why GAN training is so challenging.

Simultaneous Gradient Descent-Ascent

The most natural approach to solving is to apply gradient descent to θ and gradient ascent to ϕ simultaneously:

Definition 2 (Simultaneous GDA (SimGDA)).

Given learning rate η>0: (Theta)θ(t+1)=θ(t)ηθV(θ(t),ϕ(t)),ϕ(t+1)=ϕ(t)+ηϕV(θ(t),ϕ(t)). Both updates use the gradients evaluated at the same point (θ(t),ϕ(t)).

Algorithm 1 (Simultaneous GDA).

  1. Initialise θ(0),ϕ(0); set learning rate η
  2. for t=0,1,2,
  3. gθθV(θ(t),ϕ(t))
  4. gϕϕV(θ(t),ϕ(t))
  5. θ(t+1)θ(t)ηgθ Descent on θ
  6. ϕ(t+1)ϕ(t)+ηgϕ Ascent on ϕ

Analysis on the Bilinear Game

Let us analyse SimGDA on the bilinear game f(x,y)=xy from Example Example 1. The gradients are xf=y and yf=x, so the updates become: x(t+1)=x(t)ηy(t),y(t+1)=y(t)+ηx(t). In matrix form, writing 𝒗(t)=(x(t),y(t)): (Matrix)𝒗(t+1)=A𝒗(t),A=(1ηη1).

Proposition 1 (SimGDA Diverges on Bilinear Games).

The eigenvalues of A are λ=1±iη, with modulus (Modulus)|λ|=1+η2>1for all η>0. Therefore, 𝒗(t) and SimGDA diverges.

Proof.

The characteristic polynomial of A is det(AλI)=(1λ)2+η2=0, giving λ=1±iη. The modulus is |λ|=12+η2=1+η2>1. Since both eigenvalues lie outside the unit circle, 𝒗(t)=|λ|t𝒗(0).

SimGDA on the bilinear game f(x,y)=xy. The continuous-time dynamics (dashed blue) orbit the saddle point in circles. The discrete-time SimGDA (solid red) spirals outward and diverges, because |λ|=1+η2>1.

Insight.

The eigenvalues λ=1±iη are complex with modulus greater than 1. The imaginary part causes rotation (cycling) while the modulus greater than 1 causes the radius to grow. This is the mathematical reason behind the well-known instability of GAN training: the game dynamics have a rotational component that gradient descent cannot handle.

Alternating Gradient Descent-Ascent

A simple modification is to update the players sequentially: first update θ, then update ϕ using the new value of θ.

Definition 3 (Alternating GDA (AltGDA)).

Given learning rate η>0: (Theta)θ(t+1)=θ(t)ηθV(θ(t),ϕ(t)),ϕ(t+1)=ϕ(t)+ηϕV(θ(t+1),ϕ(t)). The key difference from SimGDA: the ϕ-update uses θ(t+1) instead of θ(t).

Algorithm 2 (Alternating GDA).

  1. Initialise θ(0),ϕ(0); set learning rate η
  2. for t=0,1,2,
  3. θ(t+1)θ(t)ηθV(θ(t),ϕ(t)) Descent first
  4. ϕ(t+1)ϕ(t)+ηϕV(θ(t+1),ϕ(t)) Ascent with new θ

Proposition 2 (AltGDA on the Bilinear Game).

For f(x,y)=xy with learning rate η, AltGDA gives the iteration matrix (Matrix)B=(1ηη1η2), with eigenvalues satisfying |λ|<1 if and only if 0<η<1. AltGDA converges for sufficiently small learning rates.

Proof.

After the x-update, x(t+1)=x(t)ηy(t). The y-update uses the new x: y(t+1)=y(t)+ηx(t+1)=y(t)+η(x(t)ηy(t))=ηx(t)+(1η2)y(t). The characteristic polynomial of B is λ2(2η2)λ+1=0. The discriminant is Δ=η2(η24). For η<2, the eigenvalues are complex with |λ|2=1 from the product of roots. Actually, the product of eigenvalues equals det(B)=1(1η2)+ηη=1, so |λ1||λ2|=1. For 0<η<2, the trace tr(B)=2η2(0,2), and one can verify both roots lie strictly inside the unit circle.

Remark 2 (SimGDA vs. AltGDA).

1.3

SimGDAAltGDA
Update orderSimultaneousSequential
Bilinear convergenceNeverYes, for η<1
Eigenvalue modulus1+η2>1Can be <1
GAN practiceRarely used aloneStandard (with k>1)
In standard GAN training (Algorithm algo:wgan:clip in Chapter ch:wgan), the discriminator is updated k times per generator update; this is a form of alternating GDA with unequal iteration counts.

Example 3 (GAN Training as Alternating GDA).

In the original GAN paper [2], the training algorithm updates the discriminator for k steps, then the generator for 1 step:

  1. Discriminator: For k steps, ascend on ϕ: ϕϕ+ηϕV(θ,ϕ).

  2. Generator: Descend on θ: θθηθV(θ,ϕ).

With k=1, this is exactly AltGDA. With k>1, the discriminator gets a head start, which helps it provide a more accurate gradient signal to the generator. The original paper used k=1; WGAN [3] uses k=5.

Why GDA Fails: The Jacobian View

To understand the failure of GDA more deeply, we adopt a unified viewpoint. Define the game vector field: (Vectorfield)𝝎(θ,ϕ)=(θV(θ,ϕ)ϕV(θ,ϕ)), so that SimGDA is the fixed-point iteration (θ,ϕ)(θ,ϕ)η𝝎(θ,ϕ). A Nash equilibrium satisfies 𝝎(θ,ϕ)=0.

Definition 4 (Game Jacobian).

The Jacobian of the game at a point (θ,ϕ) is (Jacobian)J=𝝎=(θθ2Vθϕ2Vϕθ2Vϕϕ2V). The iteration matrix of SimGDA linearised around a Nash equilibrium is IηJ.

Proposition 3 (Convergence Criterion for SimGDA).

SimGDA converges locally if and only if all eigenvalues of IηJ lie inside the unit circle, i.e. |λi(IηJ)|<1 for all i. This requires all eigenvalues of J to have positive real part.

Example 4 (Jacobian of the Bilinear Game).

For f(x,y)=xy: J=(0110). The eigenvalues of J are ±i (purely imaginary, zero real part). Therefore, IηJ has eigenvalues 1iη, which have modulus 1+η2>1. This confirms the divergence result of Proposition Proposition 1.

Insight.

The game Jacobian J is not symmetric in general. For a pure minimisation problem, J=2f is symmetric with real eigenvalues. In a game, J has an antisymmetric component (from the cross-terms θϕ2V) that produces imaginary eigenvalues. These imaginary parts create the rotational dynamics that cause cycling.

The Symmetric-Antisymmetric Decomposition

Any matrix can be decomposed as J=S+A where S=12(J+J) is symmetric and A=12(JJ) is antisymmetric.

Remark 3 (Potential vs. Hamiltonian Games).

  • If A=0 (all interactions are cooperative), the game is a potential game. GDA reduces to standard gradient descent on a single function and converges under the usual conditions.

  • If S=0 (all interactions are adversarial), the game is a Hamiltonian game. The dynamics are purely rotational and SimGDA always diverges. The bilinear game is an example.

  • In general, J=S+A has both cooperative and adversarial components. GAN training lies in this regime: there is a “potential-like” component (the discriminator getting better at classification) and a “Hamiltonian-like” component (the adversarial interaction between generator and discriminator).

Continuous vs. Discrete Time

The continuous-time limit of SimGDA (as η0 with tη held constant) is the ODE: (ODE)ddt(θϕ)=𝝎(θ,ϕ)=(θVϕV).

Proposition 4 (Conserved Quantity in Bilinear Games).

For the bilinear game f(x,y)=xy, the continuous-time dynamics conserves r2=x2+y2. That is, ddt(x2+y2)=0.

Proof.

x˙=y, y˙=x. Then ddt(x2+y2)=2xx˙+2yy˙=2x(y)+2y(x)=0.

Remark 4 (Discretisation Artefact).

The continuous-time dynamics orbit the saddle point (Figure fig:solvers:simgda:spiral, dashed circle), neither converging nor diverging. The discretisation step introduces an O(η2) error per step that systematically increases the radius. This is a fundamental mismatch: we need the discrete dynamics to shrink the radius, but naive discretisation does the opposite.

The Extra-Gradient Method

The divergence of SimGDA comes from the fact that gradients are evaluated at the current point, but the update takes you to a new point where the gradients may be very different. The extra-gradient method (EG) fixes this by performing a lookahead step: evaluate the gradient at the predicted next point, then use that gradient for the actual update.

Definition 5 (Extra-Gradient Method).

Given learning rate η>0: (Lookahead)Lookahead: θ(t+12)=θ(t)ηθV(θ(t),ϕ(t)),ϕ(t+12)=ϕ(t)+ηϕV(θ(t),ϕ(t)),Update: θ(t+1)=θ(t)ηθV(θ(t+12),ϕ(t+12)),ϕ(t+1)=ϕ(t)+ηϕV(θ(t+12),ϕ(t+12)).

Algorithm 3 (Extra-Gradient Method).

  1. Initialise θ(0),ϕ(0); set learning rate η
  2. for t=0,1,2,
  3. θθ(t)ηθV(θ(t),ϕ(t)) Lookahead
  4. ϕϕ(t)+ηϕV(θ(t),ϕ(t))
  5. θ(t+1)θ(t)ηθV(θ,ϕ) Actual update
  6. ϕ(t+1)ϕ(t)+ηϕV(θ,ϕ)

Historical Note.

The extra-gradient method was introduced by G.,M. Korpelevich in 1976 [4] for solving variational inequalities and saddle-point problems. It was originally designed for convex-concave games, but has recently found renewed interest for training GANs and other adversarial learning problems.

Convergence on Bilinear Games

Theorem 2 (EG Converges on Bilinear Games).

For the bilinear game f(x,y)=xy, the extra-gradient method with learning rate η converges to (0,0) for all 0<η<1. The iteration matrix has spectral radius (Spectral)ρ(MEG)=1η2+O(η4)<1.

Proof sketch.

The lookahead step gives x=xηy, y=y+ηx. The actual update is: x+=xηy=xη(y+ηx)=(1η2)xηy,y+=y+ηx=y+η(xηy)=ηx+(1η2)y. The iteration matrix is MEG=(1η2ηη1η2). The eigenvalues are (1η2)±iη, with modulus (1η2)2+η2=1η2+η4. For 0<η<1, this is strictly less than 1, so the method converges.

Comparison of SimGDA (dashed red, diverging outward) and the extra-gradient method (solid green, converging inward) on the bilinear game f(x,y)=xy. The extra-gradient correction cancels the rotational instability.

Remark 5 (Cost of the Extra-Gradient Method).

The extra-gradient method requires two gradient evaluations per iteration (one for the lookahead, one for the update), compared to one for SimGDA. In GAN training, this means two forward and backward passes through both networks per step, doubling the computational cost. This motivates the search for single-call alternatives like Optimistic GDA.

Optimistic Gradient Descent-Ascent

Optimistic GDA achieves convergence similar to the extra-gradient method but with only one gradient evaluation per step, by using the gradient from the previous step as a prediction.

Definition 6 (Optimistic GDA (OGDA)).

Given learning rate η>0, store the previous gradients gθ(t1),gϕ(t1) and update: (Theta)θ(t+1)=θ(t)2ηgθ(t)+ηgθ(t1),ϕ(t+1)=ϕ(t)+2ηgϕ(t)ηgϕ(t1), where gθ(t)=θV(θ(t),ϕ(t)) and gϕ(t)=ϕV(θ(t),ϕ(t)).

Algorithm 4 (Optimistic GDA).

  1. Initialise θ(0),ϕ(0); set learning rate η
  2. Compute gθ(0),gϕ(0) at (θ(0),ϕ(0))
  3. for t=0,1,2,
  4. θ(t+1)θ(t)2ηgθ(t)+ηgθ(t1) Use past gradient
  5. ϕ(t+1)ϕ(t)+2ηgϕ(t)ηgϕ(t1)
  6. Compute gθ(t+1),gϕ(t+1) at (θ(t+1),ϕ(t+1))

Remark 6 (Interpreting OGDA).

Rewrite the θ-update as: θ(t+1)=θ(t)ηgθ(t)η(gθ(t)gθ(t1))momentum-like correction. The first term is the standard gradient step. The second term is a negative momentum that anticipates the change in gradient from the previous step. When gradients are rotating (as in the bilinear game), this correction counteracts the rotation and produces convergence.

Theorem 3 (OGDA Converges on Bilinear Games).

For the bilinear game f(x,y)=xy, OGDA converges to the saddle point for 0<η<1/2. The convergence rate is comparable to that of the extra-gradient method.

Insight.

OGDA can be seen as an approximation of the extra-gradient method: instead of computing the gradient at the lookahead point (θ,ϕ), OGDA predicts it by extrapolating from the current and previous gradients. This trades one gradient evaluation for a small reduction in convergence rate, a worthwhile trade-off in deep learning where gradient computation dominates the cost.

Example 5 (OGDA vs. EG vs. SimGDA).

On the bilinear game f(x,y)=xy with η=0.3 and initial point (1,0):

1.3

IterationSimGDA 𝒗EG 𝒗OGDA 𝒗
01.0001.0001.000
51.2170.7140.748
101.4800.5100.560
202.1910.2600.313
507.1070.0340.056
SimGDA diverges exponentially; EG and OGDA converge exponentially, with EG slightly faster.

Practical Methods for GAN Training

The theory above applies to idealised settings (bilinear games, full-batch gradients). Real GAN training introduces stochastic gradients, non-convex-non-concave landscapes, and high-dimensional parameter spaces. This section describes practical heuristics and their theoretical motivations.

Two-Timescale Learning Rates

Definition 7 (Two-Timescale Update Rule (TTUR)).

Use different learning rates for the two players: θ(t+1)=θ(t)ηGθV(θ(t),ϕ(t)),ϕ(t+1)=ϕ(t)+ηDϕV(θ(t),ϕ(t)), with ηDηG (the discriminator learns much faster).

Remark 7 (Why TTUR Works).

When ηDηG, the discriminator quickly converges to its optimal response for the current generator. From the generator's perspective, the discriminator is approximately optimal at every step, reducing the problem to something closer to standard minimisation. heusel2017gans showed that TTUR converges under mild assumptions, and proposed using it for FID evaluation.

Negative Momentum

Standard momentum accelerates gradient descent for minimisation, but it exacerbates the cycling dynamics in games. gidel2019negative showed that negative momentum (a friction term that opposes the rotational component) can stabilise GAN training.

Definition 8 (GDA with Negative Momentum).

θ(t+1)=θ(t)ηθV(θ(t),ϕ(t))+β(θ(t)θ(t1)),ϕ(t+1)=ϕ(t)+ηϕV(θ(t),ϕ(t))+β(ϕ(t)ϕ(t1)), with β<0 (negative). The term β(θ(t)θ(t1)) acts as a damping force that resists the rotational dynamics.

Unrolled Optimisation

metz2016unrolled proposed computing the generator gradient not with respect to the current discriminator, but with respect to the discriminator that would result from K additional discriminator steps.

Definition 9 (Unrolled GAN Objective).

Let ϕK(θ,ϕ(t)) denote the result of running K gradient ascent steps on ϕ starting from ϕ(t), with θ fixed. The unrolled generator update is: (Unrolled)θ(t+1)=θ(t)ηθV(θ(t),ϕK(θ(t),ϕ(t))). This requires differentiating through K discriminator updates via backpropagation through time.

Caution.

Unrolled optimisation is expensive: it requires storing K intermediate discriminator states and backpropagating through all of them. Memory cost grows linearly with K, and gradient computation grows quadratically. In practice, K=510 is typical, but even this can be prohibitive for large networks.

Consensus Optimisation

mescheder2017numerics proposed adding a regularisation term to the game that penalises the gradient norms of both players, encouraging convergence to a stable equilibrium:

Definition 10 (Consensus Optimisation).

Modify the game vector field by adding a gradient penalty: (Consensus)𝝎~(θ,ϕ)=𝝎(θ,ϕ)+γ𝝎(θ,ϕ)2, where γ>0. This adds a term that pushes both players towards points where 𝝎=0 (Nash equilibria).

Remark 8 (Consensus Optimisation Adds Positive Real Parts).

The regularisation term modifies the Jacobian from J to J+γ(JJ+JJ), which adds positive real parts to all eigenvalues. This transforms the purely rotational dynamics of the bilinear game into a convergent spiral.

Comparison of Methods

Remark 9 (Summary of Min-Max Solvers).

1.3

MethodGrad. evalsBilinear conv.MemoryPractical
SimGDA1NeverO(1)Rarely used
AltGDA (k=1)1η<1O(1)Common
AltGDA (k>1)kYesO(1)Very common
Extra-gradient2YesO(1)Moderate
OGDA1YesO(d)Growing use
Neg. momentum1YesO(d)Moderate
TTUR1Yes (with ratio)O(1)Very common
UnrolledK+1YesO(Kd)Expensive
Consensus Opt.2YesO(d)Moderate

Key Idea.

In practice, the most widely used approach for GAN training is alternating GDA with k>1 discriminator steps combined with two-timescale learning rates and spectral normalisation (Chapter ch:wgan). The theoretical methods (EG, OGDA, consensus optimisation) provide principled alternatives that are gaining traction, especially for large-scale models where training stability is paramount.

Exercises

Exercise 1 (Saddle Points).

Consider f(x,y)=x2y2.

  1. (a)

    Show that (0,0) is a saddle point.

  2. (b)

    Compute the Hessian and verify that it has one positive and one negative eigenvalue.

  3. (c)

    Explain why gradient descent on f (minimising in both variables) does not converge to (0,0).

Exercise 2 (SimGDA Eigenvalue Analysis).

For minxmaxyf(x,y)=xy with learning rate η:

  1. (a)

    Write SimGDA as 𝒗(t+1)=A𝒗(t) and find the matrix A.

  2. (b)

    Compute the eigenvalues of A and show |λ|=1+η2.

  3. (c)

    Show that SimGDA diverges for all η>0.

  4. (d)

    Plot the trajectory for η=0.1 and (x(0),y(0))=(1,0) for 50 steps.

Exercise 3 (AltGDA Convergence).

For the bilinear game f(x,y)=xy:

  1. (a)

    Derive the AltGDA iteration matrix B from Proposition Proposition 2.

  2. (b)

    Compute the eigenvalues of B as a function of η.

  3. (c)

    Find the range of η for which both eigenvalues lie inside the unit circle.

  4. (d)

    What is the optimal η that minimises the spectral radius ρ(B)?

Exercise 4 (Extra-Gradient Iteration Matrix).

Verify Theorem Theorem 2:

  1. (a)

    Derive the EG iteration matrix MEG for the bilinear game.

  2. (b)

    Show that the eigenvalues are (1η2)±iη.

  3. (c)

    Compute |λ|2=1η2+η4 and show this is less than 1 for 0<η<1.

  4. (d)

    Find the η that minimises |λ|.

Exercise 5 (OGDA Implementation).

  1. (a)

    Show that OGDA with g(1)=g(0) (initialising the previous gradient equal to the current) reduces to a standard GDA step at t=0.

  2. (b)

    Derive the 3×3 iteration matrix for OGDA on the bilinear game by augmenting the state with the previous gradient.

  3. (c)

    Compute the spectral radius as a function of η and verify that OGDA converges for 0<η<1/2.

Exercise 6 (General Bilinear Games).

Consider min𝒙max𝒚f(𝒙,𝒚)=𝒙A𝒚 where An×n is nonsingular.

  1. (a)

    Show that (𝒙,𝒚)=(0,0) is the unique saddle point.

  2. (b)

    Show that the SimGDA iteration matrix is M=(IηAηAI).

  3. (c)

    Prove that ρ(M)1+η2σmax2(A) where σmax is the largest singular value of A.

  4. (d)

    Conclude that SimGDA diverges for any η>0 and any nonsingular A.

Exercise 7 (Conserved Quantity).

For the continuous-time dynamics of the bilinear game:

  1. (a)

    Show ddt(x2+y2)=0.

  2. (b)

    For the quadratic game f(x,y)=12ax2+bxy12cy2 with a,c>0, find a Lyapunov function L(x,y)=αx2+βy2 such that dLdt0. Under what condition on a,b,c does the continuous dynamics converge?

  3. (c)

    Explain the connection between the conserved quantity and the failure of SimGDA.

Exercise 8 (Negative Momentum).

For the bilinear game with GDA + momentum parameter β:

  1. (a)

    Show that standard momentum (β>0) increases the spectral radius and worsens divergence.

  2. (b)

    Find the range of β<0 for which GDA with negative momentum converges.

  3. (c)

    Compare the convergence rate of negative momentum with OGDA for η=0.3.

Exercise 9 (Consensus Optimisation).

For the bilinear game f(x,y)=xy:

  1. (a)

    Compute 𝝎(x,y)2 and its gradient.

  2. (b)

    Write the modified vector field 𝝎~=𝝎+γ𝝎2 explicitly.

  3. (c)

    Show that the Jacobian of 𝝎~ at (0,0) has eigenvalues with positive real part for any γ>0.

  4. (d)

    Find the γ that maximises the convergence rate.

Exercise 10 (Prisoner's Dilemma and Nash Equilibria).

In the Prisoner's Dilemma with payoffs T=5, R=3, P=1, S=0:

  1. (a)

    Write the payoff matrix and find the Nash equilibrium in pure strategies.

  2. (b)

    Show that (Betray, Betray) is the unique Nash equilibrium.

  3. (c)

    Explain the “dilemma”: why is the Nash equilibrium Pareto-suboptimal?

  4. (d)

    Draw an analogy between the Prisoner's Dilemma and mode collapse in GANs: what role do the generator and discriminator play?

Exercise 11 (GAN Optimisation Strategies).

  1. (a)

    Describe the difference between SimGDA and AltGDA in GAN training. Which does updating the discriminator k times per generator step correspond to?

  2. (b)

    Explain why k>1 discriminator steps help the generator.

  3. (c)

    The WGAN algorithm (Algorithm algo:wgan:clip) uses ncritic=5. Discuss the trade-off between cost and stability as ncritic varies.

Exercise 12 (Unrolled Optimisation).

  1. (a)

    For a linear discriminator fϕ(𝒙)=ϕ𝒙 and quadratic generator loss, show that the unrolled gradient with K steps can be computed in closed form.

  2. (b)

    Explain why backpropagating through the discriminator's optimisation requires create_graph=True in PyTorch.

  3. (c)

    Discuss the bias-variance trade-off of unrolling: what happens as K?

Exercise 13 (Two-Timescale Analysis).

Consider SimGDA on the bilinear game with ηx=α (for the minimiser) and ηy=β (for the maximiser).

  1. (a)

    Write the iteration matrix and compute its eigenvalues.

  2. (b)

    Show that when βα, the eigenvalue modulus can be made less than 1.

  3. (c)

    Find the optimal ratio β/α for fastest convergence.

  4. (d)

    Explain why this supports the common practice of using a larger learning rate for the discriminator.

Exercise 14 (The Symplectic Structure of Games).

The game Jacobian J for the bilinear game f(x,y)=xy satisfies J=(0110), which is the 2×2 symplectic matrix.

  1. (a)

    Show that J2=I and J=J.

  2. (b)

    Show that the continuous-time dynamics 𝒗˙=J𝒗 is equivalent to Hamilton's equations with Hamiltonian H=12(x2+y2).

  3. (c)

    Explain why this Hamiltonian interpretation implies that SimGDA cannot converge: it preserves “energy” in continuous time and increases it in discrete time.

References

  1. Zur Theorie der Gesellschaftsspiele

    John von Neumann

    Mathematische Annalen, vol. 100, no. 1, pp. 295-320 · 1928

    BibTeX
    @article{vonneumann1928theorie,
        title = {{Zur Theorie der Gesellschaftsspiele}},
        author = {von Neumann, John},
        journal = {Mathematische Annalen},
        volume = {100},
        number = {1},
        pages = {295--320},
        year = {1928},
        publisher = {Springer}
    }

    Journal article

  2. Generative Adversarial Networks

    Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio

    Advances in Neural Information Processing Systems, vol. 27 · 2014

    BibTeX
    @inproceedings{goodfellow2014generative,
      title={Generative Adversarial Networks},
      author={Goodfellow, Ian and Pouget-Abadie, Jean and Mirza, Mehdi and Xu, Bing and Warde-Farley, David and Ozair, Sherjil and Courville, Aaron and Bengio, Yoshua},
      booktitle={Advances in Neural Information Processing Systems},
      volume={27},
      year={2014}
    }

    Conference paper

  3. Wasserstein GAN

    Martin Arjovsky, Soumith Chintala, Leon Bottou

    arXiv:1701.07875 · 2017

    BibTeX
    @article{arjovsky2017wasserstein,
        title = {Wasserstein GAN},
        author = {Arjovsky, Martin and Chintala, Soumith and Bottou, L\'eon},
        journal = {arXiv:1701.07875},
        year = {2017}
    }

    Journal article

  4. The extragradient method for finding saddle points and other problems

    G. M. Korpelevich

    Matekon, vol. 13, no. 4, pp. 35-49 · 1976

    BibTeX
    @article{korpelevich1976extragradient,
      title={The extragradient method for finding saddle points and other problems},
      author={Korpelevich, G. M.},
      journal={Matekon},
      volume={13},
      number={4},
      pages={35--49},
      year={1976}
    }

    Journal article