generative adversarial networks (gans) past,...

27
Generative Adversarial Networks (GANs) Past, Present, and Future Zhifei Zhang

Upload: buituyen

Post on 06-Sep-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

Generative Adversarial Networks (GANs)

Past, Present, and Future

Zhifei Zhang

Page 2: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 2

Outline

1. Basic idea of GANs

2. Time line of development

3. Drawbacks & solutions

4. Future directions

Page 3: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 3

Basic idea of GANs

In probability and statistics, a generative model is a model for randomly generating observable data values, typically given some hidden parameters.

Maximum Likelihood

Page 4: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 4

Basic idea of GANs

• Two neural networks against each other: • A generator network G

• Mimic training samples to fool the discriminator• A discriminator network D

• Discriminate training samples and generated samples

D GTraining samples

Generated samples

Noise

Real/fake?

Page 5: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 5

Basic idea of GANs

D GTraining samples

Generated samples

Noise

Real/fake?

𝒙~𝒒(𝒙) 𝒛~𝒑(𝒛)𝑮(𝒛)

𝒙~𝒑(𝒙|𝒛)

𝒙~𝒒 𝒙 ?

max𝐷

𝔼𝑥~𝑞(𝑥) log 𝐷(𝑥) + 𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

𝑫 𝒙 :

min𝐺

𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

For D:

For G:

Page 6: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 6

Basic idea of GANs

min𝐺max𝐷

𝔼𝑥~𝑞(𝑥) log 𝐷(𝑥) + 𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

The objective function of GANs:

Gz

Real?

Fake?

FeedforwardBackpropagation

x

x' Real?

D

Page 7: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 7

Time line

2014

GAN [NIPS]

2015 2016 2017

LaplacianPyramid [NIPS]

DCGAN [ICLR]

Born Fermenting Booming of Improvements and Applications:• Higher resolution • Flexible manipulation

Theory: Drawbacks &

Solutions

InfoGAN [NIPS]

RNN+GAN [ICML]

VAE+GAN [ICML] AAE [ICLR]

CoGAN [NIPS]

Super-Resolution [ECCV] [CVPR]

Latent-Manipulation [ECCV] [CVPR]

CatGAN [ICLR]

Domain transformation [ICML] [CVPR]

Mode Missing[ICLR]

Instability[ICLR]

Page 8: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 8

Time lineDCGAN [A. Radford and L. Metz, ICLR 2016]

Page 9: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 9

Time lineVAE+GAN [A. B. L. Larsen et al., ICML 2016]

• GAN encourages higher resolution compared to VAE• Controllable generation and manipulation on z

Page 10: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 10

Time lineVAE+GAN [A. B. L. Larsen et al., ICML 2016]

Page 11: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 11

Time lineVAE+GAN [A. B. L. Larsen et al., ICML 2016]

Page 12: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 12

Time lineSuper-Resolution [X. Yu and F. Porikli, ECCV 2016]

• 8× scaling factor

Page 13: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 13

Time lineSuper-Resolution [X. Yu and F. Porikli, ECCV 2016]

Page 14: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 14

Time lineDomain Transformation1 [S. Reed et al., ICML 2016]

Page 15: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 15

Time lineDomain Transformation2 [P. Isola et al., CVPR 2017]

Page 16: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 16

Time lineDomain Transformation2 [P. Isola et al., CVPR 2017]

Page 17: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

D

3/22/2017 17

Summary

Gz

Real?

Fake?

x

x'

• Seldom use original GAN • Concatenate an encoder to G• Concatenate extra feature to z

Ex

y

Page 18: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 18

Drawbacks

• Hard to train, e.g., mode missing.

• Generate something but not real actually.

• Hard to learn to generate discrete data, e.g., text.

Page 19: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 19

Drawbacks (mode missing)

min𝐺max𝐷

𝔼𝑥~𝑞(𝑥) log 𝐷(𝑥) + 𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

D GTraining samples

Generated samples

Noise

Real/fake?

𝒙~𝒒(𝒙) 𝒛~𝒑(𝒛)𝑮(𝒛)

𝒙~𝒑(𝒙|𝒛)

𝒙~𝒒 𝒙 ?𝑫 𝒙 :

min𝐺max𝐷

𝑥

𝑞(𝑥) log 𝐷(𝑥) 𝑑𝑥 + 𝑧

𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧)) 𝑑𝑧

Page 20: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 20

Drawbacks (mode missing)

Fix G, min𝐺max𝐷

𝑥

𝑞(𝑥) log 𝐷(𝑥) 𝑑𝑥 + 𝑧

𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧)) 𝑑𝑧

=max𝐷

𝑥

𝑞 𝑥 log 𝐷 𝑥 + 𝑝𝑔 𝑥 log 1 − 𝐷 𝑥 𝑑𝑥 𝑫∗ 𝒙 =𝒒(𝒙)

𝒒 𝒙 + 𝒑𝒈(𝒙)

Fix D*,=min

𝐺 𝑥

𝑞 𝑥 log𝑞(𝑥)

𝑞 𝑥 + 𝑝𝑔(𝑥)+ 𝑝𝑔 𝑥 log 1 −

𝑞(𝑥)

𝑞 𝑥 + 𝑝𝑔(𝑥)𝑑𝑥

=min𝐺

𝑥

𝑞 𝑥 log𝑞(𝑥)

𝑞 𝑥 + 𝑝𝑔(𝑥)+ 𝑝𝑔 𝑥 log

𝑝𝑔(𝑥)

𝑞 𝑥 + 𝑝𝑔(𝑥)𝑑𝑥

=min𝐺

𝐷𝐾𝐿(𝑞||𝑞 + 𝑝𝑔) + 𝐷𝐾𝐿(𝑝𝑔||𝑞 + 𝑝𝑔)

=min𝐺

𝐷𝐾𝐿(𝑞||𝑞 + 𝑝𝑔

2) + 𝐷𝐾𝐿(𝑝𝑔||

𝑞 + 𝑝𝑔

2)−2 log 2

=min𝐺

2𝐷𝐽𝑆(𝑞||𝑝𝑔)−2 log 2

Jensen-Shannon divergence is a symmetric metric.

q(x)<pg(x): Unrealistic sampleq(x)>pg(x): Mode missing

Page 21: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 21

Drawbacks (mode missing)

However, we cannot ensure D* in practice.

min𝐺

𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

=min𝐺

𝐷𝐾𝐿(𝑝𝑔||𝑞 + 𝑝𝑔

2)− log 2

𝑞(𝑥)

𝑞

• Punish more on generating unrealistic samples• Punish less on mode missing

If relax the assumption of D*,

min𝐺

𝔼𝑧~𝑝(𝑧) log 1 − 𝐷(𝐺(𝑧))

only punish on generating unrealistic samples.

Page 22: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 22

Drawbacks (unrealistic generation)

In GANs, the generated distribution is matched to the distribution specified by D, rather than to the real distribution.

Ideally, pg(x) = q(x), direct matching.

In practice, D(x|pg) = D(x|q), indirect matching.

Page 23: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 23

Drawbacks (Solutions)

• Achieve D*:• Update D multiple times for each update of G.• Unrolled GAN [Metz et al., ICLR 2017]

• Introduce direct matching:• Sample-wide distance.

DGz

Real?

Fake?

x

x'

Ex

Distance min |x - x'|

Page 24: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 24

Drawbacks (Solutions)

x

x'

|x - x'|=|x – F(x)|

pair-wise distance

Mont Carlo q(x) = pg(x)

Page 25: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 25

Drawbacks (Solutions)

GAN

GAN+E

GAN

Unrolled GAN

Page 26: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 26

Future Directions

• After explosion of applications, theoretical understanding becomes more attractive.

• Better objective functions to ensure convergence.

• There is not a good way to quantify how good the generated samples are.

• Generating discrete samples.

• One-shot imitation learning.

• Connection to reinforcement learning.

Page 27: Generative Adversarial Networks (GANs) Past, Present…web.eecs.utk.edu/~zzhang61/docs/reports/2017.03 - GANs_past_pres… · Generative Adversarial Networks (GANs) Past, Present,

3/22/2017 27