GAN Frontiers/Related Methods

Similar documents
Alternatives to Direct Supervision

Unsupervised Learning

GENERATIVE ADVERSARIAL NETWORKS (GAN) Presented by Omer Stein and Moran Rubin

Variational Autoencoders. Sargur N. Srihari

Deep Generative Models Variational Autoencoders

Implicit generative models: dual vs. primal approaches

Introduction to Generative Adversarial Networks

Generative Adversarial Networks (GANs) Ian Goodfellow, Research Scientist MLSLP Keynote, San Francisco

(University Improving of Montreal) Generative Adversarial Networks with Denoising Feature Matching / 17

Adversarially Learned Inference

Auto-Encoding Variational Bayes

Autoencoders. Stephen Scott. Introduction. Basic Idea. Stacked AE. Denoising AE. Sparse AE. Contractive AE. Variational AE GAN.

Lab meeting (Paper review session) Stacked Generative Adversarial Networks

Autoencoding Beyond Pixels Using a Learned Similarity Metric

Lecture 19: Generative Adversarial Networks

Generative Adversarial Networks (GANs)

Amortised MAP Inference for Image Super-resolution. Casper Kaae Sønderby, Jose Caballero, Lucas Theis, Wenzhe Shi & Ferenc Huszár ICLR 2017

Mode Regularized Generative Adversarial Networks

Deep generative models of natural images

Introduction to Generative Adversarial Networks

Bidirectional GAN. Adversarially Learned Inference (ICLR 2017) Adversarial Feature Learning (ICLR 2017)

S+U Learning through ANs - Pranjit Kalita

Generative Models in Deep Learning. Sargur N. Srihari

arxiv: v2 [cs.lg] 7 Feb 2019

DEEP LEARNING PART THREE - DEEP GENERATIVE MODELS CS/CNS/EE MACHINE LEARNING & DATA MINING - LECTURE 17

arxiv: v1 [stat.ml] 11 Feb 2018

An Empirical Study of Generative Adversarial Networks for Computer Vision Tasks

IMPLICIT AUTOENCODERS

Generative Adversarial Networks (GANs) Based on slides from Ian Goodfellow s NIPS 2016 tutorial

arxiv: v2 [cs.lg] 17 Dec 2018

arxiv: v2 [cs.lg] 25 May 2016

Deep Generative Models and a Probabilistic Programming Library

Show, Attend and Tell: Neural Image Caption Generation with Visual Attention

19: Inference and learning in Deep Learning

Introduction to GAN. Generative Adversarial Networks. Junheng(Jeff) Hao

Lecture 21 : A Hybrid: Deep Learning and Graphical Models

Autoencoder. Representation learning (related to dictionary learning) Both the input and the output are x

Introduction to GAN. Generative Adversarial Networks. Junheng(Jeff) Hao

Denoising Adversarial Autoencoders

When Variational Auto-encoders meet Generative Adversarial Networks

Machine Learning Basics: Stochastic Gradient Descent. Sargur N. Srihari

Progress on Generative Adversarial Networks

Learning to generate with adversarial networks

arxiv: v1 [cs.cv] 7 Mar 2018

Generative Adversarial Networks (GANs) Ian Goodfellow, OpenAI Research Scientist NIPS 2016 tutorial Barcelona,

Quantitative Evaluation of Generative Adversarial Networks and Improved Training Techniques

Generative Adversarial Network

Neural Networks: promises of current research

Model Generalization and the Bias-Variance Trade-Off

arxiv: v2 [stat.ml] 21 Oct 2017

COMP 551 Applied Machine Learning Lecture 16: Deep Learning

DOMAIN-ADAPTIVE GENERATIVE ADVERSARIAL NETWORKS FOR SKETCH-TO-PHOTO INVERSION

Autoencoders, denoising autoencoders, and learning deep networks

Generative Modeling with Convolutional Neural Networks. Denis Dus Data Scientist at InData Labs

Variational Autoencoders

arxiv: v1 [cs.lg] 18 Nov 2015 ABSTRACT

Auto-encoder with Adversarially Regularized Latent Variables

arxiv: v1 [cs.cv] 17 Nov 2016

Introduction to Generative Models (and GANs)

Day 3 Lecture 1. Unsupervised Learning

Inverting The Generator Of A Generative Adversarial Network

Classification of 1D-Signal Types Using Semi-Supervised Deep Learning

Energy Based Models, Restricted Boltzmann Machines and Deep Networks. Jesse Eickholt

Multi-Modal Generative Adversarial Networks

An Empirical Evaluation of Deep Architectures on Problems with Many Factors of Variation

GANs for Exploiting Unlabeled Data. Presented by: Uriya Pesso Nimrod Gilboa Markevich

IMPROVING SAMPLING FROM GENERATIVE AUTOENCODERS WITH MARKOV CHAINS

CSC412: Stochastic Variational Inference. David Duvenaud

Semi-Amortized Variational Autoencoders

CSC 411: Lecture 14: Principal Components Analysis & Autoencoders

maagma Modified-Adversarial-Autoencoding Generator with Multiple Adversaries: Optimizing Multiple Learning Objectives for Image Generation with GANs

Dist-GAN: An Improved GAN using Distance Constraints

Gradient of the lower bound

Machine Learning Basics. Sargur N. Srihari

arxiv: v1 [stat.ml] 19 Aug 2017

arxiv: v1 [cs.gr] 27 Dec 2018

Novel Lossy Compression Algorithms with Stacked Autoencoders

DOMAIN-ADAPTIVE GENERATIVE ADVERSARIAL NETWORKS FOR SKETCH-TO-PHOTO INVERSION

UCLA UCLA Electronic Theses and Dissertations

Extracting and Composing Robust Features with Denoising Autoencoders

CPSC 340: Machine Learning and Data Mining. Principal Component Analysis Fall 2016

ImageNet Classification with Deep Convolutional Neural Networks

Bridging Theory and Practice of GANs

Tutorial on Keras CAP ADVANCED COMPUTER VISION SPRING 2018 KISHAN S ATHREY

Improved Techniques for Training GANs

Data Set Extension with Generative Adversarial Nets

Clustering K-means. Machine Learning CSEP546 Carlos Guestrin University of Washington February 18, Carlos Guestrin

Tutorial Deep Learning : Unsupervised Feature Learning

Towards Principled Methods for Training Generative Adversarial Networks. Martin Arjovsky & Léon Bottou

Generative Models II. Phillip Isola, MIT, OpenAI DLSS 7/27/18

CS230: Lecture 4 Attacking Networks with Adversarial Examples - Generative Adversarial Networks

Deep Learning for Visual Manipulation and Synthesis

arxiv: v1 [cs.ne] 11 Jun 2018

song2vec: Determining Song Similarity using Deep Unsupervised Learning

Deep Learning Workshop. Nov. 20, 2015 Andrew Fishberg, Rowan Zellers

Motivation: Shortcomings of Hidden Markov Model. Ko, Youngjoong. Solution: Maximum Entropy Markov Model (MEMM)

A New CGAN Technique for Constrained Topology Design Optimization. Abstract

If you are confused about something, it s probably because I haven t explained it well and other people are probably confused too, so please feel

Generative Adversarial Text to Image Synthesis

How Learning Differs from Optimization. Sargur N. Srihari

Transcription:

GAN Frontiers/Related Methods

Improving GAN Training Improved Techniques for Training GANs (Salimans, et. al 2016) CSC 2541 (07/10/2016) Robin Swanson (robin@cs.toronto.edu)

Training GANs is Difficult General Case is hard to solve Cost functions are non-convex Parameters are continuous Extreme Dimensionality Gradient descent can t solve everything Reducing cost of generator could increase cost of discriminator And vice-versa

Simple Example Player 1 minimizes f(x) = xy Player 2 minimizes f(y) = -xy Gradient descent enters a stable orbit Never reaches x = y = 0 (Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. 2016. MIT Press)

Working on Converging Feature Mapping Minibatch Discrimination Historical Averaging Label Smoothing Virtual Normalization

Feature Matching Generate data that matches the statistics of real data Train generator to match expected value of intermediate discriminator layer: (Where f(x) is some activations of an intermediate layer) Still no guarantee of reaching G* Works well in empirical tests

Minibatch Discrimination Discriminator looks at generated examples independently Can t discern generator collapse Solution: Use other examples as side information KL divergence does not change JS favours high entropy (Ferenc Huszár - http://www.inference.vc/understanding-minibatch-discrimination-in-gans/)

And More... Historical Averaging: Label Smoothing: e.g., 0.1 or 0.9 instead of 0 or 1 Negative values set to zero Virtual Batch Normalization: Each batch normalized w.r.t a fixed reference Expensive, used only in generator

Assessing Results

Ask Somebody Solution: Amazon Mechanical Turk Problem: TASK IS HARD. Humans are slow, and unreliable, and Annotators learn from mistakes (http://infinite-chamber-35121.herokuapp.com/cifar-minibatch/)

Inception Score Run output through Inception Model Images with meaningful objects should have a label distribution (p(y x)) with low entropy Set of output images should be varied Proposed score: Requires large data sets (>50,000 images)

Semi-Supervised Learning

Semi-Supervision We can incorporate generator output into any classifier Include generated samples into data set New generated label class [Label1, Label2,, Labeln, Generated] Classifier can now act as our discriminator (Odena, Semi-Supervised Learning with Generative Adversarial Networks -- https://arxiv.org/pdf/1606.01583v1.pdf)

Experimental Results

Generating from MNIST Semi-Supervised generation without (left) and with (right) minibatch discrimination

Generating from ILSVRC2012 Using DCGAN to generate without (left) and with (right) improvements

Where to go from here

Further Work Mini-batch Discrimination in action: https://arxiv.org/pdf/1609.05796v1.pdf Generating realistic images of galaxies for telescope calibration MBD for energy based systems: https://arxiv.org/pdf/1609.03126v2.pdf

Adversarial Autoencoders (AAEs) Adversarial Autoencoders (Makhzani, et. al 2015) CSC 2541 (07/10/2016) Jake Stolee (jstolee@cs.toronto.edu)

Variational Autoencoders (VAEs) Maximize the variational lower bound (ELBO) of log p(x): } } Divergence of q from prior (regularization) Reconstruction quality

Motivation: an issue with VAEs After training a VAE, we can feed samples from the latent prior (p(z)) to the decoder (p(x z)) to generate data points Unfortunately, in practice, VAEs often leave holes in the prior s space which don t map to realistic data samples

From VAEs to Adversarial Autoencoders (AAEs) Both turn autoencoders into generative models Both try to minimize reconstruction error A prior distribution p(z) is imposed on the encoder (q(z)) in both cases, but in different ways: VAEs: Minimizes KL(q(z) p(z)) AAEs: Uses adversarial training (GAN framework)

Adversarial Autoencoders (AAEs) Combine an autocoder with a GAN Encoder is the generator, G(x) Discriminator, D(z), trained to differentiate between samples from prior p(z) and encoder output (q(z)) Autoencoder portion attempts to minimize reconstruction error Adversarial network guides q(z) to match prior p(z)

Autoencoder

Adversarial Net

Training Train jointly with SGD in two phases Reconstruction phase (autoencoder): Run data through encoder and decoder, update both based on reconstruction loss Regularization phase (adversarial net): Run data through encoder to generate codes in the latent space Update D(z) based on its ability to distinguish between samples from prior and encoder output Then update G(x) based on its ability to fool D(z) into thinking codes came from the prior, p(z)

Resulting latent spaces of AAEs vs VAEs AAE vs VAE on MNIST (held out images in latent space) First row: Spherical 2-D Gaussian prior Second row: MoG prior (10 components)

Possible Modifications

Incorporating Label Info

Incorporating Label Info

Possible Applications

Example Samples

Unsupervised Clustering

Disentangling Style/Content http://www.comm.utoronto.ca/~makhzani/adv_ae/svhn.gif

More Applications... Dimensionality reduction Data visualization (see paper for more) Further reading Nice blog post on AAEs: http://hjweide.github.io/adversarial-autoencoders

Thanks!