generative adversarial networks · 2020. 10. 30. · generative tasks • generation conditioned on...

84
Generative adversarial networks BigGAN (2018)

Upload: others

Post on 04-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

  • Generative adversarial networks

    BigGAN (2018)

    https://arxiv.org/pdf/1809.11096.pdf

  • Outline• Generative tasks• Original GAN formulations

    • NSGAN• DCGAN

    • Other popular formulations• WGAN, WGAN-GP• LSGAN

    • State-of-the-art architectures• Progressive GAN, StyleGAN

    • Evaluating GANs• Visualizing and controlling GANs

  • Generative tasks• Generation (from scratch): learn to sample from the

    distribution represented by the training set• Unsupervised learning task

  • Generative tasks• Generation conditioned on class label

    Figure source

    https://arxiv.org/pdf/1805.08318.pdf

  • Generative tasks• Generation conditioned on image (image-to-image

    translation)

    P. Isola, J.-Y. Zhu, T. Zhou, A. Efros, Image-to-Image Translation with Conditional Adversarial Networks, CVPR 2017

    https://phillipi.github.io/pix2pix/

  • Designing a network for generative tasks1. We need an architecture that can generate an image

    • Recall upsampling architectures for dense prediction

    Random seed or

    latent code

    Unconditional generation

  • Designing a network for generative tasks1. We need an architecture that can generate an image

    • Recall upsampling architectures for dense prediction

    Image-to-image translation

  • Designing a network for generative tasks1. We need an architecture that can generate an image

    • Recall upsampling architectures for dense prediction2. We need to design the right loss function

  • Learning to sample

    Training data ! ~ #$%&% Generated samples ! ~ #'($)*

    We want to learn #'($)* that matches #$%&%

    Adapted from Stanford CS231n

    http://cs231n.stanford.edu/slides/2018/cs231n_2018_lecture12.pdf

  • Generative adversarial networks• Train two networks with opposing objectives:

    • Generator: learns to generate samples• Discriminator: learns to distinguish between generated and real

    samples

    I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio, Generative adversarial nets, NIPS 2014

    !Random noise "

    #“Fake”

    #“Real”

    Figure adapted from F. Fleuret

    http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdfhttps://fleuret.org/ee559/ee559-slides-10-1-GAN.pdf

  • GAN objective• The discriminator !(#) should output the probability that the

    sample # is real • That is, we want !(#) to be close to 1 for real data and close to 0 for

    fake• Expected conditional log likelihood for real and generated

    data:%&~()*+* log !(#)

    = %&~()*+* log !(#) + %1~(log(1 − ! 4(5) )We seed the generator with noise 5drawn from a simple distribution 6

    (Gaussian or uniform)

    + %&~(789 log 1 − ! #

  • GAN objective! ", $ = &'~)*+,+ log $(1) + &4~)log(1 − $ "(7) )

    • The discriminator wants to correctly distinguish real and fake samples:

    $∗ = arg max= !(", $)• The generator wants to fool the discriminator:

    "∗ = arg min@ !(", $)• Train the generator and discriminator jointly in a minimax

    game

  • GAN objective: Theoretical properties! ", $ = &'~)*+,+ log $(1) + &4~)log(1 − $ "(7) )

    • Assuming unlimited capacity for generator and discriminator and unlimited training data:• The objective min; max>! ", $ is equivalent to Jensen-Shannon

    divergence between ?@ABA and ?CDE and global optimum (Nash equilibrium) is given by ?@ABA = ?CDE

    • If at each step, $ is allowed to reach its optimum given ", and " is updated to decrease ! ", $ , then ?CDE with eventually converge to ?@ABA

  • GAN training! ", $ = &'~)*+,+ log $(1) + &4~)log(1 − $ "(7) )

    • Alternate between• Gradient ascent on discriminator:

    $∗ = arg max= ! ", $• Gradient descent on generator (minimize log-probability of

    discriminator being right):"∗ = arg min@ ! ", $

    = arg min@ &4~)log(1 − $ "(7) )• In practice, do gradient ascent on generator (maximize log-probability

    of discriminator being wrong):"∗ = arg max@ &4~)log($ "(7) )

  • Non-saturating GAN loss (NSGAN)min$%&'~) log(1 − 0 1(2) ) vs. max$%&'~) log(0 1(2) )

    Minimize log-probability of discriminator being right

    Maximize log-probability of discriminator being wrong

  • Non-saturating GAN loss (NSGAN)min$%&'~) log(1 − 0 1(2) ) vs. max$%&'~) log(0 1(2) )

    log(1 − 0(1(2))

    −log(0(1(2))

    Want to learn from confidently rejected sample but gradients here are small

    These samples already fool the discriminator so we don’t need large gradients here

    Small gradients for high-quality samples

    Large gradients for low-quality samples

    Figure source

    Low discriminator score (low-quality samples)

    High discriminator score (high-quality samples)

    https://cs.uwaterloo.ca/~mli/Deep-Learning-2017-Lecture7GAN.ppt

  • NSGAN training algorithm• Update discriminator:

    • Repeat for ! steps:• Sample mini-batch of noise samples "#, … , "& and

    mini-batch of real samples '#, … , '&• Update parameters of ( by stochastic gradient ascent on

    1*+&

    log(('&) + log(1 − ( 3("&) )

    • Update generator:• Sample mini-batch of noise samples "#, … , "&• Update parameters of 3 by stochastic gradient ascent on

    1*+&

    log( 3("&)

    • Repeat until happy with results

  • GAN: Conceptual picture• Update discriminator: push !(#$%&%) close to 1 and ! (())

    close to 0• The generator is a “black box” to the discriminator

    ) ( !(())

    ! (())

    #$%&%

    !(#$%&%)

  • GAN: Conceptual picture• Update generator: increase ! "($)

    • Requires back-propagating through the composed generator-discriminator network (i.e., the discriminator cannot be a black box)

    • The generator is exposed to real data only via the output of the discriminator (and its gradients)

    $ " ! ! "($)"($)

  • GAN: Conceptual picture• Test time – the discriminator is discarded

    ! " "(!)

  • Original GAN results

    I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio, Generative adversarial nets, NIPS 2014

    Nearest real image for sample to the left

    MNIST digits Toronto Face Dataset

    http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf

  • Original GAN results

    I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, Y. Bengio, Generative adversarial nets, NIPS 2014

    CIFAR-10 (FC networks) CIFAR-10 (conv networks)

    http://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf

  • • Early, influential convolutional architecture for generator

    DCGAN

    A. Radford, L. Metz, S. Chintala, Unsupervised representation learning with deep convolutional generative adversarial networks, ICLR 2016

    Four transposed convolution layers with ReLU activations

    Tanh activations in the last layer

    Uniformly distributed

    input

    Linear transformation

    https://arxiv.org/pdf/1511.06434.pdf

  • • Early, influential convolutional architecture for generator• Discriminator architecture:

    • Don’t use pooling, only strided convolutions• Use Leaky ReLU activations (sparse gradients cause problems for

    training)• Use only one FC layer before the softmax output• Use batch normalization after most layers (in the generator also)

    DCGAN

    A. Radford, L. Metz, S. Chintala, Unsupervised representation learning with deep convolutional generative adversarial networks, ICLR 2016

    https://arxiv.org/pdf/1511.06434.pdf

  • DCGAN results

    Generated bedrooms after one epoch

  • DCGAN results

    Generated bedrooms after five epochs

  • DCGAN resultsMore bedrooms

    Source: F. Fleuret

    Notice repetition artifacts(analysis)

    https://distill.pub/2016/deconv-checkerboard/

  • DCGAN resultsInterpolation between different points in the z space

  • DCGAN results• Vector arithmetic in the z space

  • DCGAN results• Vector arithmetic in the z space

  • DCGAN results• Pose transformation by adding a “turn” vector

  • Outline• Generative tasks• Original GAN formulations

    • NSGAN• DCGAN

    • Other popular formulations• WGAN, WGAN-GP• LSGAN

  • Problems with GAN training• Stability

    • Parameters can oscillate or diverge, generator loss does not correlate with sample quality

    • Behavior very sensitive to hyperparameter selection

  • Problems with GAN training• Mode collapse

    • Generator ends up modeling only a small subset of the training data

    Source

    Source

    https://medium.com/@jonathan_hui/gan-why-it-is-so-hard-to-train-generative-advisory-networks-819a86b3750bhttps://arxiv.org/pdf/1701.00160.pdf

  • Some popular GAN flavors• WGAN and improved WGAN (WGAN-GP)• LSGAN

  • Wasserstein GAN (WGAN)• Motivated by Wasserstein or Earth mover’s distance, which is

    an alternative to JS divergence for comparing distributions• In practice, use linear activation instead of sigmoid in the

    discriminator and drop the logs from the objective:

    min$ max' ()~+,-.-/ 0 − (2~+/ 3(5)

    • Due to theoretical considerations, important to ensure smoothness of discriminator

    • This paper’s suggested method is clipping weights to fixed range [−8, 8]

    M. Arjovsky, S. Chintala, L. Bottou, Wasserstein generative adversarial networks, ICML 2017

    https://arxiv.org/pdf/1701.07875.pdf

  • Wasserstein GAN (WGAN)• Benefits (claimed)

    • Better gradients, more stable training

    M. Arjovsky, S. Chintala, L. Bottou, Wasserstein generative adversarial networks, ICML 2017

    https://arxiv.org/pdf/1701.07875.pdf

  • Wasserstein GAN (WGAN)

    • Benefits (claimed)• Better gradients, more stable training• Objective function value is more meaningfully related to quality of

    generator output

    Original GAN divergence WGAN divergence

    M. Arjovsky, S. Chintala, L. Bottou, Wasserstein generative adversarial networks, ICML 2017

    https://arxiv.org/pdf/1701.07875.pdf

  • Improved Wasserstein GAN (WGAN-GP)• Weight clipping leads to problems with discriminator training• Improved Wasserstein discriminator loss:

    ! "#~%&'() "* − !#~%,'-.) *

    I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, A. Courville, Improved training of Wasserstein GANs, NIPS 2017

    Unit norm gradient penalty on points /* obtained by interpolating

    real and generated samples

    + 1 ! /#~%23 ∇ /#)(/*) 7 − 1 7

    https://arxiv.org/pdf/1704.00028.pdf

  • Improved Wasserstein GAN: Results

    I. Gulrajani, F. Ahmed, M. Arjovsky, V. Dumoulin, A. Courville, Improved training of Wasserstein GANs, NIPS 2017

    https://arxiv.org/pdf/1704.00028.pdf

  • Least Squares GAN (LSGAN)• Use least squares cost for generator and discriminator

    • Equivalent to minimizing Pearson !" divergence

    #∗ = arg min, -.~01232 # 4 − 1 " + -8~0(# :(;) )"

    :∗ = arg min= -8~0(# : ; − 1)"

    Push discrim. response on real data close to 1

    Push response on generated data close to 0

    Push response on generated data close to 1

    X. Mao, Q. Li, H. Xie, R. Y. Lau, Z. Wang, and S. P. Smolley, Least squares generative adversarial networks, ICCV 2017

    http://openaccess.thecvf.com/content_ICCV_2017/papers/Mao_Least_Squares_Generative_ICCV_2017_paper.pdf

  • Least Squares GAN (LSGAN)• Benefits (claimed)

    • Higher-quality images

    X. Mao, Q. Li, H. Xie, R. Y. Lau, Z. Wang, and S. P. Smolley, Least squares generative adversarial networks, ICCV 2017

    http://openaccess.thecvf.com/content_ICCV_2017/papers/Mao_Least_Squares_Generative_ICCV_2017_paper.pdf

  • Least Squares GAN (LSGAN)• Benefits (claimed)

    • Higher-quality images • More stable and resistant to mode collapse

    X. Mao, Q. Li, H. Xie, R. Y. Lau, Z. Wang, and S. P. Smolley, Least squares generative adversarial networks, ICCV 2017

    http://openaccess.thecvf.com/content_ICCV_2017/papers/Mao_Least_Squares_Generative_ICCV_2017_paper.pdf

  • Are GANs created equal?• From the abstract:

    “We find that most models can reach similar scores with enough hyperparameter optimization and random restarts. This suggests that improvements can arise from a higher computational budget and tuning more than fundamental algorithmic changes … We did not find evidence that any of the tested algorithms consistently outperforms the non-saturating GAN introduced in Goodfellow et al. (2014)”

    M. Lucic, K. Kurach, M. Michalski, O. Bousquet, S. Gelly, Are GANs created equal? A large-scale study, NIPS 2018

    https://arxiv.org/pdf/1711.10337.pdf

  • Outline• Generative tasks• Original GAN formulations

    • NSGAN• DCGAN

    • Other popular formulations• WGAN, WGAN-GP• LSGAN

    • State-of-the-art architectures• Progressive GAN, StyleGAN

  • Recent progress in GANs

  • Recent progress in GANs

    BigGAN (2018)

    EBGAN (2017)

    https://arxiv.org/pdf/1809.11096.pdfhttps://arxiv.org/pdf/1609.03126.pdf

  • Progressive GANs

    T. Karras, T. Aila, S. Laine, J. Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018

    Realistic face images up to 1024 x 1024 resolution

    https://openreview.net/pdf?id=Hk99zCeAb

  • Progressive GANs• Key idea: train lower-resolution models, gradually add layers

    corresponding to higher-resolution outputs

    Source

    T. Karras, T. Aila, S. Laine, J. Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018

    https://cdn-images-1.medium.com/max/1600/1*tUhgr3m54Qc80GU2BkaOiQ.gifhttps://openreview.net/pdf?id=Hk99zCeAb

  • Progressive GANs• Key idea: train lower-resolution models, gradually add layers

    corresponding to higher-resolution outputsTransition from 16x16 to 32x32 images

    T. Karras, T. Aila, S. Laine, J. Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018

    https://openreview.net/pdf?id=Hk99zCeAb

  • Progressive GANs: Implementation details• Loss: WGAN-GP loss (preferred) or LSGAN• Architectures:

    • Nearest neighbor upsampling (2x2 replication) followed by regular convolutions instead of transposed conv layers

    • Average pooling instead of striding for downsampling in discriminator• Leaky ReLUs used in discriminator and generator• Per-pixel response normalization in generator: rescale feature vector

    in each pixel to unit length after each conv layer• Use of minibatch standard deviation in discriminator (append

    to feature map)• Exponential moving average of generator weights for display

    T. Karras, T. Aila, S. Laine, J. Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018

    https://openreview.net/pdf?id=Hk99zCeAb

  • Progressive GANs: Results256 x 256 results for LSUN categories

  • StyleGAN

    T. Karras, S. Laine, T. Aila. A Style-Based Generator Architecture for Generative Adversarial Networks. CVPR 2019

    • Built on top of Progressive GAN

    • Start with learned constant (instead of noise vector)

    • Use a mapping network to produce a style code ! using learned affine transformations "

    • Use adaptive instance normalization (AdaIN): scale and bias each feature map using learned style values

    • Add noise after each convolution and before nonlinearity (enables stochastic detail)

    https://arxiv.org/pdf/1812.04948.pdf

  • StyleGAN: Results

    T. Karras, S. Laine, T. Aila. A Style-Based Generator Architecture for Generative Adversarial Networks. CVPR 2019

    https://arxiv.org/pdf/1812.04948.pdf

  • Mixing styles

    “Two sets of images were generated from their respective latent codes (sources A and B); the rest of the images were generated by copying a specified subset of styles from source B and taking the rest from source A.”

  • Mixing styles

  • Mixing styles

  • StyleGAN: Bedrooms

    T. Karras, S. Laine, T. Aila. A Style-Based Generator Architecture for Generative Adversarial Networks. CVPR 2019

    https://arxiv.org/pdf/1812.04948.pdf

  • StyleGAN: Cars

    T. Karras, S. Laine, T. Aila. A Style-Based Generator Architecture for Generative Adversarial Networks. CVPR 2019

    https://arxiv.org/pdf/1812.04948.pdf

  • • Change normalization, remove progressive growing to address StyleGAN artifacts

    StyleGAN2

    T. Karras et al. Analyzing and Improving the Image Quality of StyleGAN. CVPR 2020

    https://openaccess.thecvf.com/content_CVPR_2020/papers/Karras_Analyzing_and_Improving_the_Image_Quality_of_StyleGAN_CVPR_2020_paper.pdf

  • Reminder: Assignment 3 due next Tuesday!

  • Outline• Generative tasks• Original GAN formulations

    • NSGAN• DCGAN

    • Other popular formulations• WGAN, WGAN-GP• LSGAN

    • State-of-the-art architectures• Progressive GAN, StyleGAN

    • Evaluating GANs

  • How to evaluate GANs?

    • Showing pictures of samples is not enough, especially for

    simpler datasets like MNIST, CIFAR, faces, bedrooms, etc.

    • We cannot directly compute the likelihoods of high-

    dimensional samples (real or generated), or compare their

    distributions

    • Many GAN approaches claim mainly to improve stability,

    which is hard to evaluate

  • GAN evaluation: Human studies

    • Example: Turing test

    T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, X. Chen, Improved techniques for training GANs, NIPS 2016

    https://papers.nips.cc/paper/6125-improved-techniques-for-training-gans.pdf

  • GAN evaluation: Inception score (IS)• Key idea: generators should produce images with a variety of

    recognizable object classes• Defined as !" # = exp ()~+ ,-(/ 0 1 ∥ / 0 ) where / 0 1

    is the posterior label distribution returned by an image classifier (e.g., InceptionNet) for sample 1• If 1 contains a recognizable object, entropy of /(0|1) should be low• If generator generates images of diverse objects, the marginal

    distribution /(0) should have high entropy

    T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, X. Chen, Improved techniques for training GANs, NIPS 2016

    https://papers.nips.cc/paper/6125-improved-techniques-for-training-gans.pdf

  • GAN evaluation: Inception score (IS)• Disadvantages

    • A GAN that simply memorizes the training data (overfitting) or outputs a single image per class (mode dropping) could still score well

    • Is sensitive to network weights, not necessarily valid for generative models not trained on ImageNet, can be gamed (Barratt & Sharma2018)

    https://arxiv.org/pdf/1801.01973.pdf

  • GAN evaluation: Fréchet Inception Distance (FID)• Key idea: fit simple distributions (Gaussians) to statistics of

    feature activations for real and generated data; estimate divergence parametrically• Pass generated samples through a network (InceptionNet), compute

    activations for a chosen layer• Estimate multivariate mean and covariance of activations, compute

    Fréchet distance to those of real data

    • Advantages: correlated with visual quality of samples and human judgment, can detect mode dropping (unlike IS)

    • Disadvantage: cannot detect overfitting (like IS)

    M. Heusel, H. Ramsauer, T. Unterthiner, B. Nessler, S. Hochreiter, GANs trained by a two time-scale update rule converge to a local Nash equilibrium, NIPS 2017

    https://arxiv.org/pdf/1706.08500.pdf

  • Outline• Generative tasks• Original GAN formulations

    • NSGAN• DCGAN

    • Other popular formulations• WGAN, WGAN-GP• LSGAN

    • State-of-the-art architectures• Progressive GAN, StyleGAN

    • Evaluating GANs• Visualizing and controlling GANs

  • GAN Dissection• Recall: network dissection

    D. Bau, B. Zhou, A. Khosla, A. Oliva, A. Torralba, Network Dissection: Quantifying Interpretability of Deep Visual Representations, CVPR 2017

    conv5 unit 79 car (object) IoU=0.13

    conv5 unit 107 road (object) IoU=0.15

    http://netdissect.csail.mit.edu/

  • GAN Dissection

    D. Bau et al. GAN Dissection: Visualizing and understanding generative adversarial networks. ICLR 2019

    http://bzhou.ie.cuhk.edu.hk/publication/iclr19_gandissection.pdf

  • GAN Dissection

    D. Bau et al. GAN Dissection: Visualizing and understanding generative adversarial networks. ICLR 2019

    • Dissection:

    http://bzhou.ie.cuhk.edu.hk/publication/iclr19_gandissection.pdf

  • • Interpreting units at different levels of a progressive GAN (trained on “bedroom”):

    GAN Dissection

    D. Bau et al. GAN Dissection: Visualizing and understanding generative adversarial networks. ICLR 2019

    http://bzhou.ie.cuhk.edu.hk/publication/iclr19_gandissection.pdf

  • GAN Dissection

    D. Bau et al. GAN Dissection: Visualizing and understanding generative adversarial networks. ICLR 2019

    • Intervention:

    http://bzhou.ie.cuhk.edu.hk/publication/iclr19_gandissection.pdf

  • GANPaint demo

    https://ganpaint.io/demo/?project=church

    D. Bau et al. Semantic Photo Manipulation with a Generative Image Prior. SIGGRAPH 2019

    https://ganpaint.io/demo/?project=churchhttps://ganpaint.io/Bau_et_al_Semantic_Photo_Manipulation_preprint.pdf

  • Seeing what a GAN cannot generate

    D. Bau et al. Seeing what a GAN cannot generate. ICCV 2019

    • Compare semantic segmentations of real and generated images, see which classes get dropped by the GAN

    https://arxiv.org/pdf/1910.11626.pdf

  • Seeing what a GAN cannot generate

    D. Bau et al. Seeing what a GAN cannot generate. ICCV 2019

    • Given real images, try to find “closest” generated images and see what gets omitted

    https://arxiv.org/pdf/1910.11626.pdf

  • Seeing what a GAN cannot generate

    D. Bau et al. Seeing what a GAN cannot generate. ICCV 2019

    • Layer inversion method:

    https://arxiv.org/pdf/1910.11626.pdf

  • Seeing what a GAN cannot generate

    D. Bau et al. Seeing what a GAN cannot generate. ICCV 2019

    • Reconstruction results for “bedroom” GAN

    https://arxiv.org/pdf/1910.11626.pdf

  • • Try to find simple “walks” in the latent space of GANs to achieve various meaningful transformations to explore structure of that space and test GANs’ ability to interpolate between training samples

    Traversing the GAN latent space

    A. Jahanian, L. Chai, and P. Isola. On the "steerability" of generative adversarial networks. ICLR 2020

    https://arxiv.org/pdf/1907.07171.pdf

  • Traversing the GAN latent space

    A.Voynov and A. Babenko. Unsupervised Discovery of Interpretable Directions in the GAN Latent Space. ICML 2020

    • Goal: learn a set of directions inducing “disentangled” image transformations that are easy to distinguish from each other

    https://arxiv.org/pdf/2002.03754.pdf

  • GAN editing

    Y. Shen, J. Gu, X. Tang, B. Zhou. Interpreting the Latent Space of GANs for Semantic Face Editing. CVPR 2020

    • Supervised training to find latent space directions corresponding to pose, smile, age, gender, eyeglasses

    https://arxiv.org/pdf/1907.10786.pdf

  • GANs for representation learning• Bidirectional GAN (BiGAN): simultaneously train generator

    and encoder (mapping from images to ! vectors or approximate inverse of the generator), show that the encoder creates a latent representation useful for other tasks

    J. Donahue, P. Krähenbühl, T. Darrell, Adversarial Feature Learning, ICLR 2017

    https://arxiv.org/pdf/1605.09782.pdf

  • GANs for representation learning: BigBiGAN• Train BiGAN with BigGAN architecture on ImageNet • Show that bidirectional framework improves image

    generation • Encoder representation gives results comparable to state-of-

    the-art self-supervised models on ImageNet classification

    J. Donahue, K. Simonyan, Large Scale Adversarial Representation Learning, NeurIPS 2019

    https://arxiv.org/pdf/1907.02544.pdf

  • GANs for representation learning: BigBiGAN

    J. Donahue, K. Simonyan, Large Scale Adversarial Representation Learning, NeurIPS 2019

    Real images !

    Reconstructions "($(!))

    https://arxiv.org/pdf/1907.02544.pdf