15
Spatial Evolutionary Generative Adversarial Networks alfagroup.csail.mit.edu 1. Jamal Toutouh 3. Una-May O’Reilly 2. Erik Hemberg

Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Spatial Evolutionary Generative Adversarial Networks

alfagroup.csail.mit.edu

1. Jamal Toutouh

3. Una-May O’Reilly

2. Erik Hemberg

Page 2: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Generative Modeling

A current popular method to learn generative models is to use Generative Adversarial Networks

We have data samples that are drawn from a distribution

Can we learn a generative model that captures that distribution so we can generate new data samples?

Page 3: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Generative Adversarial Network

Discriminator (v)FAKE or REAL

REAL sample data

Noise

Generator (u)Generate FAKE sample data

Loss based on some function

Generative Adversarial Networks (GANs) create generative and discriminative models from data with an adversarial system

Is v correct?

FAKE/REAL

Page 4: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

GAN Pathologies

Generator 2

Mode collapse

Generator 1

Difficult to train due to pathologies, e.g. mode and discriminator collapse

Page 5: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Biological Arms Races

• Biological arms races can generate mimicry• Can coevolutionary algorithms help to improve robustness in

GANs? Our prior work solving GAN pathologies with Competitive

Coevolution: Lipizzaner ES GAN training on a theoretical GAN problem [Al-Dujaili, et al,

2018] SGD GAN training with one loss function within a spatial

separated evolving population [Schmiedelechner, et al, 2018] E-GAN [Wang et al, 2018], 3 generator population, 3 loss functions,

only 1 discriminator Question: Will injecting loss function diversity into a spatially separated population

improve generator performance?

Page 6: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Mustangs

A distributed, coevolutionary framework to train GANs with gradient-based optimizers Fast convergence due to

gradient-based steps Robustness due to coevolution Improved convergence due to

hyperparameter evolution Diverse solutions due to

mixture evolution and multiple loss functions

Scalability due to spatial distribution topology

Page 7: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Competitive Coevolution

Discriminator Population

Candidate solutions

Discriminator Population

Candidate solutions

Selection

High-performing

Solutions retained

Selection

High-performing

Solutions retained

Variation• Update

Variation• Update

Variation• Update

Variation• Update

New Discriminator Generation

New Generator Generation

Evaluation

Solutions scored and ranked

according to fitness function

depending on the other population

Evaluation

Solutions scored and ranked

according to fitness function

depending on the other population

Generator Population

Candidate solutions

Generator Population

Candidate solutions

Selection

High-performing

Solutions retained

Selection

High-performing

Solutions retained

Page 8: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

00 01 02

10 11 12

20 21 2212

21 u,v22 20

02

Evolve generator mixture weights based on

Frechet Inception Distance (FID)

w, Pu

n*,w*

Neighborhood

Spatial Grid

North

East

South

West Center

N=3x3

n22

Generator Mixture Quality

Mustang – Spatial separation and generator mixtures

Page 9: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

vi-1,j

vi,j-1

vi,j

vi,j+1

vi+1,j

ui-1,j

ui,j-1

ui,j

ui,j+1

ui+1,j

i-1,j

i,j-1 i,j i,j+1

i+1,j

Get generators and discriminators

v0

v1

v2

v3

v4

u0

u1

u2

u3

u4

Selection

u0’

u1’

u2’

u3’

u4’

v0’

v1’

v2’

v3’

v4’

Mini-batch training with SGD

u0’

u1 ’

u2’

u3’

u4’

v0’

v1’

v2’

v3’

v4’

Evaluate all trained networks

i,j

Replace center

u0’

u1’

u2’

u3’

u4’

Choose one Loss functionrandomly

v0’

v1’

v2’

v3’

v4’

Mustang – GAN training with SGD and different loss functions

Genome: learning rate, weights and bias

Page 10: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Loss Functions

HEUMSEBCE

Page 11: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

ExperimentsEvaluated methods (9h of compute): GAN-BCE: BCE loss function, 1 generator, 1 discriminator E-GAN: 3 loss functions, 3 generators, 1 discriminator Lip-BCE: BCE loss function, 3x3 grid Lip-MSE: MSE loss function, 3x3 grid Lip-HEU: HEU loss function, 3x3 grid Mustangs: 3 loss functions, 3x3 grid

MNIST CelebA

Mustang: Mixture of generators from a spatially separated evolutionary GAN training with SGD and multiple loss functions

Page 12: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

MNIST Results

Population improves FID score

More training epochs does not guarantee improved FID

Page 13: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Generator output diversity for MNIST

Mode collapse GAN-BCE, TVD: 0.51 E-GAN, TVD: 0.53 Lip-MSE, TVD: 0.37

Mustangs, TVD: 0.18

Lip-BCE, TVD: 0.17

Lip-HEU, TVD: 0.12 Spatial separation improves generator output diversity

Page 14: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Results CelebA

Mustangs Lip-BCE

Choosing from multiple loss functions does not degrade performance

Page 15: Spatial Evolutionary Generative Adversarial NetworksGenerative Modeling A current popular method to learn generative models is to use Generative Adversarial Networks We have data samples

Summary• Mustang: Evolves a mixture of

generators by a spatially separated evolutionary GAN training with stochastic gradient descent and multiple loss functions

• Empirically showed that GAN training can be improved by boosting diversity

• Enhanced an existing spatial evolutionary GAN training framework by it choosing one of three loss functions

• Released an open source, distributed Python framework with Pytorch that use Docker• https://github.com/mustang-gan

• Future work to investigate scaling, larger populations, diversity and more problems

Description English: Rearing lipizzan horse at 2018 MESAP Trade Fair in Nedelišće, Medjimurje County, CroatiaHrvatski: Propeti lipicanac na Sajmu MESAP 2018. u Nedelišću, Međimurska županija, Hrvatska

Date 2 July 2018

Source Own work

Author Silverije