CSCI 5922 Neural Networks and Deep Learning Generative Adversarial Networks Mike Mozer Department of Computer Science and Institute of Cognitive Science.

Slides:



Advertisements
Similar presentations
Unsupervised Learning Clustering K-Means. Recall: Key Components of Intelligent Agents Representation Language: Graph, Bayes Nets, Linear functions Inference.
Advertisements

Image classification Given the bag-of-features representations of images from different classes, how do we learn a model for distinguishing them?
Advanced topics.
Data Mining Methodology 1. Why have a Methodology  Don’t want to learn things that aren’t true May not represent any underlying reality ○ Spurious correlation.
CSCI 347 / CS 4206: Data Mining Module 07: Implementations Topic 03: Linear Models.
Supervised Learning Recap
Practical Advice For Building Neural Nets Deep Learning and Neural Nets Spring 2015.
Classification and Prediction: Regression Via Gradient Descent Optimization Bamshad Mobasher DePaul University.
Reinforcement Learning & Apprenticeship Learning Chenyi Chen.
Image classification Given the bag-of-features representations of images from different classes, how do we learn a model for distinguishing them?
CSC321: Introduction to Neural Networks and Machine Learning Lecture 20 Learning features one layer at a time Geoffrey Hinton.
Learning Structure in Bayes Nets (Typically also learn CPTs here) Given the set of random variables (features), the space of all possible networks.
Object Bank Presenter : Liu Changyu Advisor : Prof. Alex Hauptmann Interest : Multimedia Analysis April 4 th, 2013.
Learning Lateral Connections between Hidden Units Geoffrey Hinton University of Toronto in collaboration with Kejie Bao University of Toronto.
CS 782 – Machine Learning Lecture 4 Linear Models for Classification  Probabilistic generative models  Probabilistic discriminative models.
Classifiers Given a feature representation for images, how do we learn a model for distinguishing features from different classes? Zebra Non-zebra Decision.
CSC321: Introduction to Neural Networks and Machine Learning Lecture 17: Boltzmann Machines as Probabilistic Models Geoffrey Hinton.
Deep Learning Overview Sources: workshop-tutorial-final.pdf
1 Dongheng Sun 04/26/2011 Learning with Matrix Factorizations By Nathan Srebro.
Sparse Coding: A Deep Learning using Unlabeled Data for High - Level Representation Dr.G.M.Nasira R. Vidya R. P. Jaia Priyankka.
Another Example: Circle Detection
Conditional Generative Adversarial Networks
Neural networks and support vector machines
Bayesian Neural Networks
Generative Adversarial Nets
Generative Adversarial Network (GAN)
Semi-Supervised Clustering
Learning Deep Generative Models by Ruslan Salakhutdinov
Deep Feedforward Networks
Deep Neural Net Scenery Generation
LECTURE 11: Advanced Discriminant Analysis
CSC321: Neural Networks Lecture 22 Learning features one layer at a time Geoffrey Hinton.
Convolutional Neural Fabrics by Shreyas Saxena, Jakob Verbeek
Adversarial Learning for Neural Dialogue Generation
Generative Adversarial Networks
CSC321: Neural Networks Lecture 19: Boltzmann Machines as Probabilistic Models Geoffrey Hinton.
Spring Courses CSCI 5922 – Probabilistic Models (Mozer) CSCI Mind Reading Machines (Sidney D’Mello) CSCI 7000 – Human Centered Machine Learning.
Multimodal Learning with Deep Boltzmann Machines
Machine Learning Basics
Data Mining Lecture 11.
CS 188: Artificial Intelligence
CSCI 5922 Neural Networks and Deep Learning: NIPS Highlights
Authors: Jun-Yan Zhu*, Taesun Park*, Phillip Isola, Alexei A. Efros
Presenter: Hajar Emami
Adversarially Tuned Scene Generation
"Playing Atari with deep reinforcement learning."
CSCI 5822 Probabilistic Models of Human and Machine Learning
Advanced Artificial Intelligence
Towards Understanding the Invertibility of Convolutional Neural Networks Anna C. Gilbert1, Yi Zhang1, Kibok Lee1, Yuting Zhang1, Honglak Lee1,2 1University.
Collaborative Filtering Matrix Factorization Approach
Goodfellow: Chapter 14 Autoencoders
CSCI 5822 Probabilistic Models of Human and Machine Learning
David Healey BYU Capstone Course 15 Nov 2018
Image to Image Translation using GANs
Neural Networks Geoff Hulten.
Lip movement Synthesis from Text
CS 188: Artificial Intelligence Fall 2008
Introduction to Object Tracking
Machine learning overview
Compressive Image Recovery using Recurrent Generative Model
Learning to Rank Typed Graph Walks: Local and Global Approaches
Semi-Supervised Learning
Introduction to Neural Networks
Learning and Memorization
Angel A. Cantu, Nami Akazawa Department of Computer Science
Cengizhan Can Phoebe de Nooijer
CSC 578 Neural Networks and Deep Learning
CS249: Neural Language Model
Goodfellow: Chapter 14 Autoencoders
An introduction to neural network and machine learning
Presentation transcript:

CSCI 5922 Neural Networks and Deep Learning Generative Adversarial Networks Mike Mozer Department of Computer Science and Institute of Cognitive Science University of Colorado at Boulder

From statsmemes @ facebook (Thanks Adi!) delete after 2017

Probabilistic Generative Models Real world observations = goal of modeling Model synthetic observations Density Estimation 𝑷𝒓 𝒐𝒃𝒔𝒆𝒓𝒗𝒂𝒕𝒊𝒐𝒏 =𝑷𝒓(𝒔𝒚𝒏𝒕𝒉𝒆𝒕𝒊𝒄 𝒐𝒃𝒔.)

Synthesizing Examples From Probabilistic Generative Model 𝑷𝒓(𝒐𝒃𝒔.) Goodfellow (2017) Goodfellow NIPS tutorial and accompanying paper (arXiv:1701.00160v4 [cs.LG]) provided some figures

Maximum Likelihood Estimation Goodfellow (2017)

Density function 𝑷 𝒓 model (𝒙|𝜽) Explicit and analytical e.g., Gaussian can sample directly from model Explicit and approximate e.g., Boltzmann machine can estimate probability by running Markov chain monte carlo Implicit GAN can’t estimate probability but can draw from distribution with given probability

Adversarial Networks real or fake? Generative Model Discriminative Model real or fake? Generative Model Real world

Generative Model How to make it generate different samples each time it is run? input to model is noise Generative model as a neural network computes 𝒙=𝑮(𝒛|𝜽) differentiable does not have to be invertible 𝒛 typically has very high dimensionality (higher than 𝒙) noise (𝒛) Generative Model

Discriminative Model Think of it as a critic real or fake? Think of it as a critic a good critic can tell real from fake Discriminative model as a neural net differentiable computes 𝑫(𝒙), with value 1 if real, 0 if fake

Training Procedure: Basic Idea Discriminative Model real or fake? G tries to fool D D tries not to be fooled Models are trained simultaneously As G gets better, D has a more challenging task As D gets better, G has a more challenging task Ultimately, we don’t care about the D Its role is to force G to work harder Real world Generative Model noise (𝒛)

Loss Functions Loss function for D Discriminative Model real or fake? Loss function for D maximize the likelihood that model says ‘real’ to samples from the world and ‘fake’ to generated samples 𝓛 𝑫 =− 𝟏 𝟐 𝔼 𝒙~𝐰𝐨𝐫𝐥𝐝 𝐥𝐧 𝑫 𝒙 − 𝟏 𝟐 𝔼 𝒛 𝐥𝐧 𝟏−𝑫(𝑮 𝒛 ) What should the loss function be for G? 𝓛 𝑮 =− 𝓛 𝑫 But because first term doesn’t matter for G (why?) 𝓛 𝑫 = 𝟏 𝟐 𝔼 𝒛 𝐥𝐧 𝟏−𝑫(𝑮 𝒛 ) Known as a minimax procedure Real world Generative Model noise (𝒛)

Training Procedure real or fake? Discriminative Model Generative Model Train both models simultaneously via stochastic gradient descent using minibatches consisting of some generated samples some real-world samples Training of D is straightforward Error for G comes via back propagation through D Two ways to think about training (1) freeze D weights and propagate 𝓛 𝑮 through D to determine 𝝏 𝓛 𝑮 /𝝏𝒙 (2) Compute 𝝏 𝓛 𝑫 /𝝏𝒙 and then 𝝏 𝓛 𝑮 𝝏𝒙 =−𝝏 𝓛 𝑫 /𝝏𝒙 D can be trained without altering G, and vice versa May want multiple training epochs of just D so it can stay ahead May want multiple training epochs of just G because it has a harder task Real world Generative Model noise (𝒛)

The Discriminator Has a Straightforward Task Discriminative Model real or fake? D has learned when 𝑫 𝒙 =𝑷𝒓 𝐫𝐞𝐚𝐥 𝒙 = 𝑷𝒓(𝒙|𝐫𝐞𝐚𝐥) 𝑷𝒓(𝒙|𝐫𝐞𝐚𝐥)+𝑷𝒓(𝒙|𝐬𝐲𝐧𝐭𝐡𝐞𝐬𝐢𝐳𝐞𝐝) real discriminator model Real world Generative Model noise (𝒛) Goodfellow (2017)

Three Reasons That It’s a Miracle GANs Work Discriminative Model real or fake? G has a reinforcement learning task it knows when it does good (i.e., fools D) but it is not given a supervised signal reinforcement learning is hard back prop through D provides G with a supervised signal; the better D is, the better this signal will be Can’t describe optimum via a single loss Will there be an equilibrium? D is seldom fooled but G still learns because it gets a gradient telling it how to change in order to do better the next round. Real world Generative Model noise (𝒛)

Do Generator Losses Matter? (Goodfellow, 2014) All losses seem to produce sharp samples

Deconvolutional GANs (DCGAN) (Radford et al., 2015) Goodfellow (2017) Batch normalization important here, apparently

Deconvolutional GANs (DCGAN) (Radford et al., 2015) Based on LSUN data set 10 scene categories 20 object categories ArXiv 1506.03365 Goodfellow (2017)

Using Labels Can Improve Generated Samples Denton et al. (2015) Salimans et al. (2016) Discriminative Model fake real class 1 real class 𝒏 Generative Model noise (𝒛) class (𝒚) GAN in lower right corner LAPGAN next to it 6 classes from LSUN Yellow circled images are closest real examples [to show it’s not just generating training data]

Using Labels Can Improve Generated Samples (Denton et al., 2015) LAPGAN: multiresolution deconvolutional pyramid CC-LAPGAN: class conditional LAPGAN GAN in lower right corner LAPGAN next to it 6 classes from LSUN Yellow circled images are closest real examples [to show it’s not just generating training data] GAN: original Goodfellow model

With Image Pyramid, Can Also Seed Generator With Low-Res Image + Class (Denton et al., 2015) bedroom church tower columns are different draws

Schemes to Ensure Samples Are Diverse (Salimans et al., 2016) Use nearest neighbor on latent representation to detect samples in a minibatch that are too similar CIFAR training images Synthesized images

kjkjkj ImageNet training images

Cherry Picked Results Goodfellow (2017)

Problems With Counting Goodfellow (2017)

Problems With Perspective Goodfellow (2017)

Problems With Global Structure Goodfellow (2017)

Beyond Labels: Providing Images as Input to Generator: Next Video Frame Prediction (Lotter et al., 2016) Adversarial is sharper What’s the architecture here? Generative model receives current frame as input (vs. random vector) MSE tends to produce blurry images on any task when you can’t predict well, predict the expectation

Beyond Labels: Providing Images as Input to Generator: Image Super-Resolution (Ledig et al., 2016) Generative model receives low res image as input

Visually-Aware Fashion Recommendation and Design With GANs (Kang et al Recommender systems predict how much a particular user will like a particular item Can predict based on features of item (e.g., movie director, dress length) Can also predict directly from images Twist here is that instead of predicting from a predefined set, generate images that would be liked.

Visually-Aware Fashion Recommendation and Design With GANs (Kang et al Use class-conditional generator and discriminator

Visually-Aware Fashion Recommendation and Design With GANs (Kang et al Optimize with GAN find latent representation 𝒛 that obtains the highest recommendation score gradient ascent search

Cycle GANs (Zhu et al., 2017; arXiv:1703:10593v2 [cs.CV]) Given two image collections algorithm learns to translate an image from one collection to the other does not require corres- pondence between images

Photos to paintings

Paintings to photos

Star GAN High resolution image synthesis https://www.theverge.com/2017/10/30/16569402/ai-generate-fake-faces-celebs-nvidia-gan Also the new NVIDIA GAN paper seems really cool. Here's the demo vid.  https://www.youtube.com/watch?time_continue=1&v=XOxxPcy5Gr4