Generative Adversarial Networks (GANs)
Ian Goodfellow, OpenAI Research Scientist Presentation at Berkeley Artificial Intelligence Lab, 2016-08-31
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
Ian Goodfellow, OpenAI Research Scientist Presentation at Berkeley Artificial Intelligence Lab, 2016-08-31
(Goodfellow 2016)
Training examples Model samples
(Goodfellow 2016)
θ∗ = arg max
θ
Ex∼pdata log pmodel(x | θ)
(Goodfellow 2016)
Maximum Likelihood Explicit density Implicit density … Tractable density
models (nonlinear ICA)
Approximate density Variational
Variational autoencoder
Markov Chain
Boltzmann machine
Markov Chain Direct GSN GAN
(Goodfellow 2016)
rule:
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)
(Goodfellow 2016)
y = g(x) ⇒ px(x) = py(g(x))
✓∂g(x) ∂x ◆
invertible
match visible dimension 64x64 ImageNet Samples Real NVP (Dinh et al 2016) e.g. Nonlinear ICA (Hyvärinen 1999)
(Goodfellow 2016)
=Ez∼q log p(x, z) + H(q)
(Kingma and Welling 2013, Rezende et al 2014) CIFAR-10 samples (Kingma et al 2016) Disadvantages:
consistent unless q is perfect
quality
(Goodfellow 2016)
p(x) = 1 Z exp (E(x, z)) Z = X
x
X
z
exp (E(x, z))
(Goodfellow 2016)
methods)
(Goodfellow 2016)
variables
dimension than x
need not do so
(Goodfellow 2016)
minibatches simultaneously:
the other player.
(Goodfellow 2016)
being correct
J(D) = 1 2Ex∼pdata log D(x) 1 2Ez log (1 D (G(z))) J(G) = J(D)
(Goodfellow 2016)
J(D) = 1 2Ex∼pdata log D(x) 1 2Ez log (1 D (G(z))) J(G) = 1 2Ez log D (G(z))
being mistaken
discriminator successfully rejects all generator samples
(Goodfellow 2016)
(“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
gradient matches that of maximum likelihood
(Goodfellow 2016)
(Goodfellow 2016)
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
(Goodfellow 2016)
(Goodfellow 2016)
(Radford et al 2015) Most “deconvs” are batch normalized
(Goodfellow 2016)
(Radford et al 2015)
(Goodfellow 2016)
=
Man with glasses Man Woman Woman with Glasses
(Goodfellow 2016)
generator held constant is safe
discriminator held constant results in mapping all points to the argmax of the discriminator
features constructed from the current minibatch to the discriminator (“minibatch GAN”) (Salimans et al 2016)
(Goodfellow 2016)
Training Data Samples (Salimans et al 2016)
(Goodfellow 2016)
(Salimans et al 2016)
(Goodfellow 2016)
(Goodfellow 2016)
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)
(Goodfellow 2016)
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.
(Goodfellow 2016)
Example: θ(1) = θ θ(2) = {} J(1)(θ(1), θ(2)) = J(θ(1)) J(2)(θ(1), θ(2)) = 0
(Goodfellow 2016)
player’s strategy
∀θ(1),J(1)(θ(1), θ(2)∗) ≥ J(1)(θ(1)∗, θ(2)∗) ∀θ(2),J(2)(θ(1)∗, θ(2)) ≥ J(2)(θ(1)∗, θ(2)∗) ⊆
(Goodfellow 2016)
(Goodfellow 2016)
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
(Goodfellow 2016)
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)
(Goodfellow 2016)
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)
(Ratliff et al 2013) ω = rθ(1)J(1)(θ(1), θ(2)) rθ(2)J(2)(θ(1), θ(2))
(Goodfellow 2016)
eigenvalues, expressing a strong preference to keep doing their current strategy
to the eigenvalues, meaning each player has limited ability to change the other player’s behavior at convergence
(Goodfellow 2016)
parameters
(Goodfellow 2016)
(Goodfellow 2016)
(Goodfellow 2016)
learning to approximate an intractable cost function
the one used for maximum likelihood
continuous, non-convex games is an important open research problem