Generative Adversarial Networks (GANs) Ian Goodfellow, OpenAI - - PowerPoint PPT Presentation

generative adversarial networks gans
SMART_READER_LITE
LIVE PREVIEW

Generative Adversarial Networks (GANs) Ian Goodfellow, OpenAI - - PowerPoint PPT Presentation

Generative Adversarial Networks (GANs) Ian Goodfellow, OpenAI Research Scientist Presentation at Berkeley Artificial Intelligence Lab, 2016-08-31 Generative Modeling Density estimation Sample generation Training examples Model samples


slide-1
SLIDE 1

Generative Adversarial Networks (GANs)

Ian Goodfellow, OpenAI Research Scientist Presentation at Berkeley Artificial Intelligence Lab, 2016-08-31

slide-2
SLIDE 2

(Goodfellow 2016)

Generative Modeling

  • Density estimation
  • Sample generation

Training examples Model samples

slide-3
SLIDE 3

(Goodfellow 2016)

Maximum Likelihood

θ∗ = arg max

θ

Ex∼pdata log pmodel(x | θ)

slide-4
SLIDE 4

(Goodfellow 2016)

Taxonomy of Generative Models

Maximum Likelihood Explicit density Implicit density … Tractable density

  • Fully visible belief nets
  • NADE
  • MADE
  • PixelRNN
  • Change of variables

models (nonlinear ICA)

Approximate density Variational

Variational autoencoder

Markov Chain

Boltzmann machine

Markov Chain Direct GSN GAN

slide-5
SLIDE 5

(Goodfellow 2016)

Fully Visible Belief Nets

  • Explicit formula based on chain

rule:

  • Disadvantages:
  • O(n) sample generation cost
  • Currently, do not learn a useful

latent representation

pmodel(x) = pmodel(x1)

n

Y

i=2

pmodel(xi | x1, . . . , xi−1) (Frey et al, 1996) PixelCNN elephants (van den Ord et al 2016)

slide-6
SLIDE 6

(Goodfellow 2016)

Change of Variables

y = g(x) ⇒ px(x) = py(g(x))

  • det

✓∂g(x) ∂x ◆

  • Disadvantages:
  • Transformation must be

invertible

  • Latent dimension must

match visible dimension 64x64 ImageNet Samples Real NVP (Dinh et al 2016) e.g. Nonlinear ICA (Hyvärinen 1999)

slide-7
SLIDE 7

(Goodfellow 2016)

Variational Autoencoder

z x

  • log p(x) log p(x) DKL (q(z)kp(z | x))

=Ez∼q log p(x, z) + H(q)

(Kingma and Welling 2013, Rezende et al 2014) CIFAR-10 samples (Kingma et al 2016) Disadvantages:

  • Not asymptotically

consistent unless q is perfect

  • Samples tend to have lower

quality

slide-8
SLIDE 8

(Goodfellow 2016)

Boltzmann Machines

  • Partition function is intractable
  • May be estimated with Markov chain methods
  • Generating samples requires Markov chains too

p(x) = 1 Z exp (E(x, z)) Z = X

x

X

z

exp (E(x, z))

slide-9
SLIDE 9

(Goodfellow 2016)

GANs

  • Use a latent code
  • Asymptotically consistent (unlike variational

methods)

  • No Markov chains needed
  • Often regarded as producing the best samples
  • No good way to quantify this
slide-10
SLIDE 10

(Goodfellow 2016)

Generator Network

z x

x = G(z; θ(G))

  • Must be differentiable
  • In theory, could use REINFORCE for discrete

variables

  • No invertibility requirement
  • Trainable for any size of z
  • Some guarantees require z to have higher

dimension than x

  • Can make x conditionally Gaussian given z but

need not do so

slide-11
SLIDE 11

(Goodfellow 2016)

Training Procedure

  • Use SGD-like algorithm of choice (Adam) on two

minibatches simultaneously:

  • A minibatch of training examples
  • A minibatch of generated samples
  • Optional: run k steps of one player for every step of

the other player.

slide-12
SLIDE 12

(Goodfellow 2016)

Minimax Game

  • Equilibrium is a saddle point of the discriminator loss
  • Resembles Jensen-Shannon divergence
  • Generator minimizes the log-probability of the discriminator

being correct

J(D) = 1 2Ex∼pdata log D(x) 1 2Ez log (1 D (G(z))) J(G) = J(D)

slide-13
SLIDE 13

(Goodfellow 2016)

Non-Saturating Game

J(D) = 1 2Ex∼pdata log D(x) 1 2Ez log (1 D (G(z))) J(G) = 1 2Ez log D (G(z))

  • Equilibrium no longer describable with a single loss
  • Generator maximizes the log-probability of the discriminator

being mistaken

  • Heuristically motivated; generator can still learn even when

discriminator successfully rejects all generator samples

slide-14
SLIDE 14

(Goodfellow 2016)

Maximum Likelihood Game

(“On Distinguishability Criteria for Estimating Generative Models”, Goodfellow 2014, pg 5)

J(D) = −1 2Ex∼pdata log D(x) − 1 2Ez log (1 − D (G(z))) J(G) = −1 2Ez exp

  • σ−1 (D (G(z)))
  • When discriminator is optimal, the generator

gradient matches that of maximum likelihood

slide-15
SLIDE 15

(Goodfellow 2016)

Maximum Likelihood Samples

slide-16
SLIDE 16

(Goodfellow 2016)

Discriminator Strategy

D(x) = pdata(x) pdata(x) + pmodel(x)

Data Model distribution

Optimal D(x) for any pdata(x) and pmodel(x) is always

A cooperative rather than adversarial view of GANs: the discriminator tries to estimate the ratio of the data and model distributions, and informs the generator of its estimate in order to guide its improvements. z x

Discriminator

slide-17
SLIDE 17

(Goodfellow 2016)

Comparison of Generator Losses

slide-18
SLIDE 18

(Goodfellow 2016)

DCGAN Architecture

(Radford et al 2015) Most “deconvs” are batch normalized

slide-19
SLIDE 19

(Goodfellow 2016)

DCGANs for LSUN Bedrooms

(Radford et al 2015)

slide-20
SLIDE 20

(Goodfellow 2016)

Vector Space Arithmetic

  • +

=

Man with glasses Man Woman Woman with Glasses

slide-21
SLIDE 21

(Goodfellow 2016)

Mode Collapse

  • Fully optimizing the discriminator with the

generator held constant is safe

  • Fully optimizing the generator with the

discriminator held constant results in mapping all points to the argmax of the discriminator

  • Can partially fix this by adding nearest-neighbor

features constructed from the current minibatch to the discriminator (“minibatch GAN”) (Salimans et al 2016)

slide-22
SLIDE 22

(Goodfellow 2016)

Minibatch GAN on CIFAR

Training Data Samples (Salimans et al 2016)

slide-23
SLIDE 23

(Goodfellow 2016)

Minibatch GAN on ImageNet

(Salimans et al 2016)

slide-24
SLIDE 24

(Goodfellow 2016)

Cherry-Picked Results

slide-25
SLIDE 25

(Goodfellow 2016)

GANs Work Best When Output Entropy is Low

this small bird has a pink breast and crown, and black primaries and secondaries. the flower has petals that are bright pinkish purple with white stigma this magnificent fellow is almost all black with a red crest, and white cheek patch. this white and yellow flower have thin white petals and a round yellow stamen

(Reed et al 2016)

slide-26
SLIDE 26

(Goodfellow 2016)

Optimization and Games

θ∗ = argminθJ(θ)

Optimization: find a minimum: Game:

Player 1 controls θ(1) Player 2 controls θ(2) Player 1 wants to minimize J(1)(θ(1), θ(2)) Player 2 wants to minimize J(2)(θ(1), θ(2)) Depending on J functions, they may compete or cooperate.

slide-27
SLIDE 27

(Goodfellow 2016)

Games optimization

Example: θ(1) = θ θ(2) = {} J(1)(θ(1), θ(2)) = J(θ(1)) J(2)(θ(1), θ(2)) = 0

slide-28
SLIDE 28

(Goodfellow 2016)

Nash Equilibrium

  • No player can reduce their cost by changing their own strategy:
  • In other words, each player’s cost is minimal with respect to that

player’s strategy

  • Finding Nash equilibria optimization (but not clearly useful)

∀θ(1),J(1)(θ(1), θ(2)∗) ≥ J(1)(θ(1)∗, θ(2)∗) ∀θ(2),J(2)(θ(1)∗, θ(2)) ≥ J(2)(θ(1)∗, θ(2)∗) ⊆

slide-29
SLIDE 29

(Goodfellow 2016)

Well-Studied Cases

  • Finite minimax (zero-sum games)
  • Finite mixed strategy games
  • Continuous, convex games
  • Differential games (lion chases gladiator)
slide-30
SLIDE 30

(Goodfellow 2016)

Continuous Minimax Game

Solution is a saddle point of V. Not just any saddle point: must specifically be a maximum for player 1 and a minimum for player 2

slide-31
SLIDE 31

(Goodfellow 2016)

Local Differential Nash Equilibria

rθ(i)J(i)(θ(1), θ(2)) = 0 Necessary: r2

θ(i)J(i)(θ(1), θ(2)) is positive semi-definite

Sufficient: r2

θ(i)J(i)(θ(1), θ(2)) is positive definite

(Ratliff et al 2013)

slide-32
SLIDE 32

(Goodfellow 2016)

Sufficient Condition for Simultaneous Gradient Descent to Converge

The eigenvalues of rθω must have positive real part:  r2

θ(1)J(1)

rθ(1)rθ(2)J(2) rθ(2)rθ(1)J(1) r2

θ(2)J(2)

  • (I call this the “generalized Hessian”)

(Ratliff et al 2013) ω =  rθ(1)J(1)(θ(1), θ(2)) rθ(2)J(2)(θ(1), θ(2))

slide-33
SLIDE 33

(Goodfellow 2016)

Interpretation

  • Each player’s Hessian should have large, positive

eigenvalues, expressing a strong preference to keep doing their current strategy

  • The Jacobian of one player’s gradient with respect to the
  • ther player’s parameters should have smaller contributions

to the eigenvalues, meaning each player has limited ability to change the other player’s behavior at convergence

  • Does not apply to GANs, so their convergence remains an
  • pen question
slide-34
SLIDE 34

(Goodfellow 2016)

Equilibrium Finding Heuristics

  • Keep parameters near their running average
  • Periodically assign running average value to

parameters

  • Constrain parameters to lie near running average
  • Add loss for deviation from running average
slide-35
SLIDE 35

(Goodfellow 2016)

Stabilized Training

slide-36
SLIDE 36

(Goodfellow 2016)

Other Games in AI

  • Robust optimization / robust control
  • for security/safety, e.g. resisting adversarial examples
  • Domain-adversarial learning for domain adaptation
  • Adversarial privacy
  • Guided cost learning
  • Predictability minimization
slide-37
SLIDE 37

(Goodfellow 2016)

Conclusion

  • GANs are generative models that use supervised

learning to approximate an intractable cost function

  • GANs can simulate many cost functions, including

the one used for maximum likelihood

  • Finding Nash equilibria in high-dimensional,

continuous, non-convex games is an important open research problem