Wasserstein GAN Tfug2017 07-12

41
Wasserstein GAN 2017-07-12 NN #3 @ TFUG

Transcript of Wasserstein GAN Tfug2017 07-12

Page 1: Wasserstein GAN Tfug2017 07-12

Wasserstein GAN2017-07-12 NN #3 @ TFUG

Page 2: Wasserstein GAN Tfug2017 07-12

Yuta Kashino ( )

BakFoo, Inc. CEO Astro Physics /Observational Cosmology Zope / Python Realtime Data Platform for Enterprise / Prototyping

Page 3: Wasserstein GAN Tfug2017 07-12

Yuta Kashino ( )

arXiv

stat.ML, stat.TH, cs.CV, cs.CL, cs.LG math-ph, astro-ph

- PyCon2016

- PyCon2017 Edward - 2017 8 TFUG

@yutakashino

https://www.slideshare.net/yutakashino/pyconjp2016

Page 4: Wasserstein GAN Tfug2017 07-12

Wasserstein GAN

Page 5: Wasserstein GAN Tfug2017 07-12

…- WGAN: GAN

-

- DCGAN

-

-

Page 6: Wasserstein GAN Tfug2017 07-12

Generative Adversarial Networks

Page 7: Wasserstein GAN Tfug2017 07-12

GAN 1- Generative Adversarial Networks - Ian Goodfelow

- Bengio , Theano/Pyleran2

- Google Brain - 2016 NIPIS Tutorial

- : The GAN Zoo https://goo.gl/uC8xn2

https://github.com/hindupuravinash/the-gan-zoo

Page 8: Wasserstein GAN Tfug2017 07-12

GAN 2- GAN …

- Meow Generator - HDCGAN, WGAN, LSGAN…

https://ajolicoeur.wordpress.com/cats/

https://github.com/hindupuravinash/the-gan-zoo

Page 9: Wasserstein GAN Tfug2017 07-12

Vanila GAN- Generator Discriminator min/max

- G D

- MLPhttps://goo.gl/vHUpqG https://goo.gl/7u4zS6

Page 10: Wasserstein GAN Tfug2017 07-12

DCGAN-

- CNN

- G /D

- Pool/ Full Batch Norm, Leaky ReLU

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks https://arxiv.org/abs/1511.06434

https://goo.gl/8EmZgT

Page 11: Wasserstein GAN Tfug2017 07-12

GAN- G/D JS

-

-

-

-

-

Page 12: Wasserstein GAN Tfug2017 07-12

Wasserstein GAN

Page 13: Wasserstein GAN Tfug2017 07-12

WGAN 1- / /

- /

-

-

-

-

- (

Page 14: Wasserstein GAN Tfug2017 07-12

WGAN 2-

- Read-through: Wasserstein GAN - Wasserstein GAN and the Kantorovich-Rubinstein Duality

- https://goo.gl/7ywVwc

https://goo.gl/40eCbR

Page 15: Wasserstein GAN Tfug2017 07-12

WGANGAN Descriminator/Critic W

1. W

( 1, 2)

2. W

( 3)

3. W

4.

Page 16: Wasserstein GAN Tfug2017 07-12

WGAN

Page 17: Wasserstein GAN Tfug2017 07-12

1. WGAN:

Page 18: Wasserstein GAN Tfug2017 07-12

4- Total Variation(TV)

- Kullback-Leibler (KL) divergence

- Jenson-Shannon (JS) divergence

- Earth Mover (EM) / Wasserstein

�(Pr, Pg) = supA

|Pr(A)� Pg(A)|

KL(P

r

kPg

) =

Z

x

log

✓P

r

(x)

P

g

(x)

◆P

r

(x) dx

JS(Pr, Pg) =1

2KL(PrkPm) +

1

2KL(PgkPm)

M = Pr/2 + Pg/2M

W (Pr

, P

g

) = inf�2⇧(Pr,Pg)

E(x,y)⇠�

⇥kx� yk

Page 19: Wasserstein GAN Tfug2017 07-12

4- W

- JS

- KL

- TV

KL(P0kP✓) = KL(P✓kP0) =

(+1 if ✓ 6= 0 ,

0 if ✓ = 0 ,

�(P0, P✓) =

(1 if ✓ 6= 0 ,

0 if ✓ = 0 .

JS(P0, P✓) =

(log 2 if ✓ 6= 0 ,

0 if ✓ = 0 ,

W (P0, P✓) = |✓|

U [0, 1]

https://goo.gl/40eCbR

Page 20: Wasserstein GAN Tfug2017 07-12

3 1- 1:

W

- 2:

W

W

- 1, 2

W GAN Loss

Page 21: Wasserstein GAN Tfug2017 07-12

3 23: Kantorovich-Rubinstein

- W

- W

max

w2WEx⇠Pr [fw(x)]� E

x⇠P✓ [fw(x)] sup

kfkLK

Ex⇠Pr [f(x)]� E

x⇠P✓ [f(x)]

= K ·W (P

r

, P

)

r✓

W (Pr

, P

) = r✓

(Ex⇠Pr [fw(x)]� E

z⇠Z

[fw

(g✓

(z))])

= �Ez⇠Z

[r✓

f

w

(g✓

(z))]

Page 22: Wasserstein GAN Tfug2017 07-12

W/EM 1

-

-

W (Pr

, P

g

) = inf�2⇧(Pr,Pg)

E(x,y)⇠�

⇥kx� yk

scypy.optimize.linprog

γ

https://goo.gl/7ywVwc

https://goo.gl/7ywVwc

Page 23: Wasserstein GAN Tfug2017 07-12

W/EM 2: Kantorovich-Rubinstein

-

W (Pr

, P

g

) = inf�2⇧(Pr,Pg)

E(x,y)⇠�

⇥kx� yk

W (Pr

, P

g

) = supkfkL1

Ex⇠Pr [f(x)]� E

x⇠Pg [f(x)]

Page 24: Wasserstein GAN Tfug2017 07-12

3 2( )3: Kantorovich-Rubinstein

- W

- W

max

w2WEx⇠Pr [fw(x)]� E

x⇠P✓ [fw(x)] sup

kfkLK

Ex⇠Pr [f(x)]� E

x⇠P✓ [f(x)]

= K ·W (P

r

, P

)

r✓

W (Pr

, P

) = r✓

(Ex⇠Pr [fw(x)]� E

z⇠Z

[fw

(g✓

(z))])

= �Ez⇠Z

[r✓

f

w

(g✓

(z))]

Page 25: Wasserstein GAN Tfug2017 07-12

2. WGAN:

Page 26: Wasserstein GAN Tfug2017 07-12

r✓

W (Pr

, P

) = r✓

(Ex⇠Pr [fw(x)]� E

z⇠Z

[fw

(g✓

(z))])

= �Ez⇠Z

[r✓

f

w

(g✓

(z))]

Page 27: Wasserstein GAN Tfug2017 07-12

PyTorchhttps://goo.gl/unktzn

Page 28: Wasserstein GAN Tfug2017 07-12

3. WGAN:

Page 29: Wasserstein GAN Tfug2017 07-12

- WGAN

Page 30: Wasserstein GAN Tfug2017 07-12

- W

DCGAN JS

WGAN W

Page 31: Wasserstein GAN Tfug2017 07-12

DCGAN

WGAN

DCGAN

Page 32: Wasserstein GAN Tfug2017 07-12

BatchNorm OK

BatchNorm WGAN

BatchNorm DCGAN

Page 33: Wasserstein GAN Tfug2017 07-12

OK

MLP WGAN

MLP DCGAN

Page 34: Wasserstein GAN Tfug2017 07-12
Page 35: Wasserstein GAN Tfug2017 07-12

-

-

- WGAN

- GAN G D

Improved Training of Wasserstein GANs https://arxiv.org/abs/1704.00028

Do GANs actually learn the distribution? An empirical study https://arxiv.org/abs/1706.08224

Page 36: Wasserstein GAN Tfug2017 07-12

WGAN

GAN Descriminator/Critic W

1. W

( 1, 2)

2. W

( 3)

3. W

4.

Page 38: Wasserstein GAN Tfug2017 07-12

BakFoo, Inc.NHK NMAPS: +

Page 39: Wasserstein GAN Tfug2017 07-12

BakFoo, Inc.PyConJP 2015

Python

Page 41: Wasserstein GAN Tfug2017 07-12

BakFoo, Inc.: SNS +