SlideShare a Scribd company logo
Introduction to Generative Adversarial Networks
Oct 16, 2018
Jong Wook Kim
Music and Audio Research Laboratory, New York University
Generative Modeling
data
→
probability distribution
{x1, x2, · · · , xN} p(x)
1/27
Generative Modeling
data
→
probability distribution
{x1, x2, · · · , xN} p(x)
vs. Discriminative Models:
labeled data
→
conditional probability distribution
{(x1, y1), (x2, y2), · · · , (xN, yN)} p(y | x)
1/27
Low Dimension Example: Density Estimation
2/27
High Dimension Example: Sample Generation
→
data samples
[Berthelot et al. 2017, BEGAN]
3/27
Why Study Generative Models?
• Test of our ability to use high-dimensional, complicated probability distributions
• Simulate possible futures for planning or reinforcement learning
• Missing data, semi-supervised learning
• Multi-modal outputs
• Realistic generation tasks
[Goodfellow, NIPS 2016 Tutorial]
4/27
The 2-D case
Assume a Gaussian Mixture Model:
• p(x|π, μ, ) = i πi (μi, i)
5/27
The 2-D case
Assume a Gaussian Mixture Model:
• p(x|π, μ, ) = i πi (μi, i)
Perform maximum likelihood estimation:
• maxπ,μ, x(j)∈data log p(x(j)|π, μ, )
5/27
The 2-D case
• Density estimation:
• Sample generation:
Go-to generative model for low-dimensional data
6/27
The Manifold Assumption
Latent space Data space
“The data distribution lies on a low-dimensional manifold”
7/27
Latent Space Interpolation
[Berthelot et al. 2017, BEGAN]
8/27
Latent Space Arithmetic
[Radford et al. 2015, DCGAN]
9/27
Building Manifold using a Decoder
10/27
Building Manifold using a Decoder
Question: how should we measure if the generation is good?
10/27
Autoencoder: Make it Reconstruct the Original Image
• Vanilla AE
– Still needs a generative model (like GMM) on the latent space
• Variational Autoencoders (VAE)
– Variational approximation results in a blurry image.
11/27
btw: L2 Distance doesn’t Work Very Well for Image Similarity
12/27
Idea: Use a Neural Network to Evaluate Generation
13/27
Idea: Use a Neural Network to Evaluate Generation
Question: how does the discriminator know about the data distribution? 13/27
The GAN Architecture
14/27
The GAN Formula
min
G
max
D
[︁
Ex∼pdata log D(x) + Ez∼pz log (1 − D(G(z)))
]︁
(1)
• A minimax game between the generator and the discriminator.
• In practice, a non-saturating variant is often used for updating G:
max
G
Ez∼pz log D(G(z)) (2)
[Goodfellow et al. 2014, Generative Adversarial Nets]
15/27
The GAN Zoo
Name Discriminator Loss Generator Loss
Minimax GAN GAN
D
= −Exlog D(x) − Ez log (1 − D(G(z))) GAN
G
= Ez log(1 − D(G(z)))
Non-Saturating GAN NSGAN
D
= GAN
D
NSGAN
G
= −Ez log D(G(z))
Least-Squares GAN LSGAN
D
= Ex(D(x) − 1)2 + EzD(G(z))2 LSGAN
G
= Ez(D(G(z)) − 1)2
Wasserstein GAN WGAN
D
= −ExD(x) + EzD(G(z)) WGAN
G
= −EzD(G(z))
WGAN-GP WGANGP
D
= WGAN
D
+ λEx,z( ∇D(αx + (1 − α)G(z)) 2 − 1)2 WGANGP
G
= WGAN
G
DRAGAN DRAGAN
D
= GAN
D
+ λEx∼pdata+ (0,c)( ∇D(x) 2 − 1)2 DRAGAN
G
= GAN
G
BEGAN BEGAN
D
= Ex x − AE(x) 1 − ktEz G(z) − AE(G(z)) 1
BEGAN
G
= Ez G(z) − AE(G(z)) 1
16/27
Wasserstein GAN and the Earth-Mover Distance
EMD(Pdata, Pz) = inf
γ∼(Pdata,Pz)
E(x,y)∼γ x − y (3)
• First introduced by Arjovsky et al. using weight clipping
• An algorithm using a gradient penalty (WGAN-GP) is now the standard
• Member of a broader family of IPMIntegral Probability Metrics-based GANs 17/27
Training Tricks
• Improved Techniques for Training GANsTalimans et al. 2016
– Feature matching
– One-sided label smoothing
• GAN Hacks https://github.com/soumith/ganhacks
– Use BatchNorm, but do not mix real and fake batches
– Avoid sparse gradients by using LeakyReLU
• Two Time-scale Update RuleHeusel et al. 2017
– Train the discriminator faster than generator
• Progressive Growing of GANsKarras et al. 2017
– Start with low resolution and linearly interpolate to higher dimensions
18/27
Conditional Generation
(noise)(latent)
(data)
InfoGAN
(Chen, et al., 2016)
. . .
(noise)(class)
(data)
AC-GAN
(Odena, et al., 2016)
(noise)(class)
(data)
Conditional GAN
(Mirza & Osindero, 2014)
(noise)
. . .
(class)
(data)
Semi-Supervised GAN
(Odena, 2016; Salimans, et al., 2016)
19/27
Projection Discriminator
[Miyato & Koyama, 2018] 20/27
GANs with Encoder
features data
z G G(z)
xEE (x)
G(z), z
x, E (x)
D P (y)
[Donahue et al., 2017, Dumoulin et al., 2017]
21/27
Superresolution
bicubic SRResNet SRGAN original
(21.59dB/0.6423) (23.53dB/0.7832) (21.15dB/0.6868)
[Ledig et al., 2016]
22/27
Image-to-Image Translation
[Zhu et al., 2016] 23/27
WaveGAN and Speech Enhancement GAN
Phase shuffle n=1
-1 0 +1
[Donahue et al. 2018, Pascual et al. 2017]
24/27
Reasons to Love GANs
• GANs set up an arms race
• GANs can be used as a “learned loss function”
• GANs are “meta-supervisors”
• GANs are great data memorizers
• GANs are democratizing computer art
[Alexei A. Efros, CVPR 2018 Tutorial]
25/27
MSE and MAE do not Account for Multi-Modality
[Sønderby et al., 2017]
26/27
Programming GANs
• Needs to fix the opponent’s weights during each update
• Framework-dependent:
– Keras: hack with the trainable flag
– TensorFlow: tf.contrib.gan contains off-the-shelf algorithms
– PyTorch: Call appropriate backward() for each update
• There are tons of examples, and the best way to learn is to read them
27/27

More Related Content

What's hot (20)

PDF
Generative adversarial networks
Yunjey Choi
 
PPTX
Boosting Approach to Solving Machine Learning Problems
Dr Sulaimon Afolabi
 
PDF
Finding connections among images using CycleGAN
NAVER Engineering
 
PPTX
Generative adversarial networks
Ding Li
 
PPTX
Generative Adversarial Network (GAN)
Prakhar Rastogi
 
PPTX
Generative Adversarial Networks (GAN)
Manohar Mukku
 
PPTX
Image-to-Image Translation pix2pix
Yasar Hayat
 
PDF
Generative Adversarial Networks (GANs) - Ian Goodfellow, OpenAI
WithTheBest
 
PDF
Introduction to Generative Adversarial Networks
BennoG1
 
PDF
Deep Learning for Computer Vision: Generative models and adversarial training...
Universitat Politècnica de Catalunya
 
PDF
Boosting Algorithms Omar Odibat
omarodibat
 
PDF
Variational Autoencoder
Mark Chang
 
PDF
Accelerated Training of Transformer Models
Databricks
 
PDF
NLP using transformers
Arvind Devaraj
 
PPTX
Generative Adversarial Network (GANs).
kgandham169
 
PDF
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
Jinwon Lee
 
PDF
Intro to Neural Networks
Dean Wyatte
 
PDF
Support Vector Machines for Classification
Prakash Pimpale
 
PDF
Artificial Neural Network Tutorial | Deep Learning With Neural Networks | Edu...
Edureka!
 
PDF
GAN in medical imaging
Cheng-Bin Jin
 
Generative adversarial networks
Yunjey Choi
 
Boosting Approach to Solving Machine Learning Problems
Dr Sulaimon Afolabi
 
Finding connections among images using CycleGAN
NAVER Engineering
 
Generative adversarial networks
Ding Li
 
Generative Adversarial Network (GAN)
Prakhar Rastogi
 
Generative Adversarial Networks (GAN)
Manohar Mukku
 
Image-to-Image Translation pix2pix
Yasar Hayat
 
Generative Adversarial Networks (GANs) - Ian Goodfellow, OpenAI
WithTheBest
 
Introduction to Generative Adversarial Networks
BennoG1
 
Deep Learning for Computer Vision: Generative models and adversarial training...
Universitat Politècnica de Catalunya
 
Boosting Algorithms Omar Odibat
omarodibat
 
Variational Autoencoder
Mark Chang
 
Accelerated Training of Transformer Models
Databricks
 
NLP using transformers
Arvind Devaraj
 
Generative Adversarial Network (GANs).
kgandham169
 
PR-169: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
Jinwon Lee
 
Intro to Neural Networks
Dean Wyatte
 
Support Vector Machines for Classification
Prakash Pimpale
 
Artificial Neural Network Tutorial | Deep Learning With Neural Networks | Edu...
Edureka!
 
GAN in medical imaging
Cheng-Bin Jin
 

Similar to A Short Introduction to Generative Adversarial Networks (20)

PDF
Generative Adversarial Networks GAN - Santiago Pascual - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
PDF
Deep Generative Models - Kevin McGuinness - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
PDF
Deep Generative Models II (DLAI D10L1 2017 UPC Deep Learning for Artificial I...
Universitat Politècnica de Catalunya
 
PDF
gans_copy.pdfhjsjsisidkskskkskwkduydjekedj
fahid32446
 
PDF
Introduction to Generative Adversarial Network
vaidehimadaan041
 
PDF
Vladislav Kolbasin “Introduction to Generative Adversarial Networks (GANs)”
Lviv Startup Club
 
PDF
Generative Adversarial Networks (D2L5 Deep Learning for Speech and Language U...
Universitat Politècnica de Catalunya
 
PPTX
ICASSP 2018 Tutorial: Generative Adversarial Network and its Applications to ...
宏毅 李
 
PDF
Generative Adversarial Networks and Their Applications
Artifacia
 
PDF
Tutorial on Theory and Application of Generative Adversarial Networks
MLReview
 
PDF
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Codiax
 
PDF
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Universitat Politècnica de Catalunya
 
PDF
PR-048: Towards Principled Methods for Training Generative Adversarial Networks
Ji-Hoon Kim
 
PPTX
GDC2019 - SEED - Towards Deep Generative Models in Game Development
Electronic Arts / DICE
 
PPTX
gan-190318135433 (1).pptx
kiran814572
 
PDF
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
NAVER Engineering
 
PPTX
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
RMDAcademicCoordinat
 
PDF
What is a GAN Generative Adversarial Networks Guide.pdf
imoliviabennett
 
PPT
GNA 13552928 deep learning for GAN a.ppt
ManiMaran230751
 
PPTX
Reading group gan - 20170417
Shuai Zhang
 
Generative Adversarial Networks GAN - Santiago Pascual - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
Deep Generative Models - Kevin McGuinness - UPC Barcelona 2018
Universitat Politècnica de Catalunya
 
Deep Generative Models II (DLAI D10L1 2017 UPC Deep Learning for Artificial I...
Universitat Politècnica de Catalunya
 
gans_copy.pdfhjsjsisidkskskkskwkduydjekedj
fahid32446
 
Introduction to Generative Adversarial Network
vaidehimadaan041
 
Vladislav Kolbasin “Introduction to Generative Adversarial Networks (GANs)”
Lviv Startup Club
 
Generative Adversarial Networks (D2L5 Deep Learning for Speech and Language U...
Universitat Politècnica de Catalunya
 
ICASSP 2018 Tutorial: Generative Adversarial Network and its Applications to ...
宏毅 李
 
Generative Adversarial Networks and Their Applications
Artifacia
 
Tutorial on Theory and Application of Generative Adversarial Networks
MLReview
 
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Codiax
 
Generative Adversarial Networks GAN - Xavier Giro - UPC TelecomBCN Barcelona ...
Universitat Politècnica de Catalunya
 
PR-048: Towards Principled Methods for Training Generative Adversarial Networks
Ji-Hoon Kim
 
GDC2019 - SEED - Towards Deep Generative Models in Game Development
Electronic Arts / DICE
 
gan-190318135433 (1).pptx
kiran814572
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
NAVER Engineering
 
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
RMDAcademicCoordinat
 
What is a GAN Generative Adversarial Networks Guide.pdf
imoliviabennett
 
GNA 13552928 deep learning for GAN a.ppt
ManiMaran230751
 
Reading group gan - 20170417
Shuai Zhang
 
Ad

More from Jong Wook Kim (7)

PDF
Introduction to C++ for Those Somewhat Familiar with C
Jong Wook Kim
 
PDF
자바 전문가를 위한 스칼라 프로그래밍 언어
Jong Wook Kim
 
PDF
No More "sbt assembly": Rethinking Spark-Submit using CueSheet
Jong Wook Kim
 
PDF
Crash Course on Graphical models
Jong Wook Kim
 
PPTX
dart:async로 맛보는 Functional Reactive Programming
Jong Wook Kim
 
PPTX
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
Jong Wook Kim
 
PPTX
Skip List
Jong Wook Kim
 
Introduction to C++ for Those Somewhat Familiar with C
Jong Wook Kim
 
자바 전문가를 위한 스칼라 프로그래밍 언어
Jong Wook Kim
 
No More "sbt assembly": Rethinking Spark-Submit using CueSheet
Jong Wook Kim
 
Crash Course on Graphical models
Jong Wook Kim
 
dart:async로 맛보는 Functional Reactive Programming
Jong Wook Kim
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
Jong Wook Kim
 
Skip List
Jong Wook Kim
 
Ad

Recently uploaded (20)

PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Why Orbit Edge Tech is a Top Next JS Development Company in 2025
mahendraalaska08
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 

A Short Introduction to Generative Adversarial Networks

  • 1. Introduction to Generative Adversarial Networks Oct 16, 2018 Jong Wook Kim Music and Audio Research Laboratory, New York University
  • 3. Generative Modeling data → probability distribution {x1, x2, · · · , xN} p(x) vs. Discriminative Models: labeled data → conditional probability distribution {(x1, y1), (x2, y2), · · · , (xN, yN)} p(y | x) 1/27
  • 4. Low Dimension Example: Density Estimation 2/27
  • 5. High Dimension Example: Sample Generation → data samples [Berthelot et al. 2017, BEGAN] 3/27
  • 6. Why Study Generative Models? • Test of our ability to use high-dimensional, complicated probability distributions • Simulate possible futures for planning or reinforcement learning • Missing data, semi-supervised learning • Multi-modal outputs • Realistic generation tasks [Goodfellow, NIPS 2016 Tutorial] 4/27
  • 7. The 2-D case Assume a Gaussian Mixture Model: • p(x|π, μ, ) = i πi (μi, i) 5/27
  • 8. The 2-D case Assume a Gaussian Mixture Model: • p(x|π, μ, ) = i πi (μi, i) Perform maximum likelihood estimation: • maxπ,μ, x(j)∈data log p(x(j)|π, μ, ) 5/27
  • 9. The 2-D case • Density estimation: • Sample generation: Go-to generative model for low-dimensional data 6/27
  • 10. The Manifold Assumption Latent space Data space “The data distribution lies on a low-dimensional manifold” 7/27
  • 11. Latent Space Interpolation [Berthelot et al. 2017, BEGAN] 8/27
  • 12. Latent Space Arithmetic [Radford et al. 2015, DCGAN] 9/27
  • 13. Building Manifold using a Decoder 10/27
  • 14. Building Manifold using a Decoder Question: how should we measure if the generation is good? 10/27
  • 15. Autoencoder: Make it Reconstruct the Original Image • Vanilla AE – Still needs a generative model (like GMM) on the latent space • Variational Autoencoders (VAE) – Variational approximation results in a blurry image. 11/27
  • 16. btw: L2 Distance doesn’t Work Very Well for Image Similarity 12/27
  • 17. Idea: Use a Neural Network to Evaluate Generation 13/27
  • 18. Idea: Use a Neural Network to Evaluate Generation Question: how does the discriminator know about the data distribution? 13/27
  • 20. The GAN Formula min G max D [︁ Ex∼pdata log D(x) + Ez∼pz log (1 − D(G(z))) ]︁ (1) • A minimax game between the generator and the discriminator. • In practice, a non-saturating variant is often used for updating G: max G Ez∼pz log D(G(z)) (2) [Goodfellow et al. 2014, Generative Adversarial Nets] 15/27
  • 21. The GAN Zoo Name Discriminator Loss Generator Loss Minimax GAN GAN D = −Exlog D(x) − Ez log (1 − D(G(z))) GAN G = Ez log(1 − D(G(z))) Non-Saturating GAN NSGAN D = GAN D NSGAN G = −Ez log D(G(z)) Least-Squares GAN LSGAN D = Ex(D(x) − 1)2 + EzD(G(z))2 LSGAN G = Ez(D(G(z)) − 1)2 Wasserstein GAN WGAN D = −ExD(x) + EzD(G(z)) WGAN G = −EzD(G(z)) WGAN-GP WGANGP D = WGAN D + λEx,z( ∇D(αx + (1 − α)G(z)) 2 − 1)2 WGANGP G = WGAN G DRAGAN DRAGAN D = GAN D + λEx∼pdata+ (0,c)( ∇D(x) 2 − 1)2 DRAGAN G = GAN G BEGAN BEGAN D = Ex x − AE(x) 1 − ktEz G(z) − AE(G(z)) 1 BEGAN G = Ez G(z) − AE(G(z)) 1 16/27
  • 22. Wasserstein GAN and the Earth-Mover Distance EMD(Pdata, Pz) = inf γ∼(Pdata,Pz) E(x,y)∼γ x − y (3) • First introduced by Arjovsky et al. using weight clipping • An algorithm using a gradient penalty (WGAN-GP) is now the standard • Member of a broader family of IPMIntegral Probability Metrics-based GANs 17/27
  • 23. Training Tricks • Improved Techniques for Training GANsTalimans et al. 2016 – Feature matching – One-sided label smoothing • GAN Hacks https://github.com/soumith/ganhacks – Use BatchNorm, but do not mix real and fake batches – Avoid sparse gradients by using LeakyReLU • Two Time-scale Update RuleHeusel et al. 2017 – Train the discriminator faster than generator • Progressive Growing of GANsKarras et al. 2017 – Start with low resolution and linearly interpolate to higher dimensions 18/27
  • 24. Conditional Generation (noise)(latent) (data) InfoGAN (Chen, et al., 2016) . . . (noise)(class) (data) AC-GAN (Odena, et al., 2016) (noise)(class) (data) Conditional GAN (Mirza & Osindero, 2014) (noise) . . . (class) (data) Semi-Supervised GAN (Odena, 2016; Salimans, et al., 2016) 19/27
  • 25. Projection Discriminator [Miyato & Koyama, 2018] 20/27
  • 26. GANs with Encoder features data z G G(z) xEE (x) G(z), z x, E (x) D P (y) [Donahue et al., 2017, Dumoulin et al., 2017] 21/27
  • 27. Superresolution bicubic SRResNet SRGAN original (21.59dB/0.6423) (23.53dB/0.7832) (21.15dB/0.6868) [Ledig et al., 2016] 22/27
  • 29. WaveGAN and Speech Enhancement GAN Phase shuffle n=1 -1 0 +1 [Donahue et al. 2018, Pascual et al. 2017] 24/27
  • 30. Reasons to Love GANs • GANs set up an arms race • GANs can be used as a “learned loss function” • GANs are “meta-supervisors” • GANs are great data memorizers • GANs are democratizing computer art [Alexei A. Efros, CVPR 2018 Tutorial] 25/27
  • 31. MSE and MAE do not Account for Multi-Modality [Sønderby et al., 2017] 26/27
  • 32. Programming GANs • Needs to fix the opponent’s weights during each update • Framework-dependent: – Keras: hack with the trainable flag – TensorFlow: tf.contrib.gan contains off-the-shelf algorithms – PyTorch: Call appropriate backward() for each update • There are tons of examples, and the best way to learn is to read them 27/27