David Healey BYU Capstone Course 15 Nov 2018

Slides:



Advertisements
Similar presentations
Unsupervised Learning With Neural Nets Deep Learning and Neural Nets Spring 2015.
Advertisements

Building high-level features using large-scale unsupervised learning Anh Nguyen, Bay-yuan Hsu CS290D – Data Mining (Spring 2014) University of California,
Learning to perceive how hand-written digits were drawn Geoffrey Hinton Canadian Institute for Advanced Research and University of Toronto.
School of Engineering and Computer Science Victoria University of Wellington Copyright: Peter Andreae, VUW Image Recognition COMP # 18.
CSC321 Introduction to Neural Networks and Machine Learning Lecture 3: Learning in multi-layer networks Geoffrey Hinton.
CSC321 Lecture 24 Using Boltzmann machines to initialize backpropagation Geoffrey Hinton.
LECTURE 15: PARTIAL LEAST SQUARES AND DEALING WITH HIGH DIMENSIONS March 23, 2016 SDS 293 Machine Learning.
Sparse Coding: A Deep Learning using Unlabeled Data for High - Level Representation Dr.G.M.Nasira R. Vidya R. P. Jaia Priyankka.
Combining Models Foundations of Algorithms and Machine Learning (CS60020), IIT KGP, 2017: Indrajit Bhattacharya.
Conditional Generative Adversarial Networks
Reinforcement Learning
Generative Adversarial Nets
Unsupervised Learning of Video Representations using LSTMs
Generative Adversarial Network (GAN)
Environment Generation with GANs
Deep Neural Net Scenery Generation
Deep learning David Kauchak CS158 – Fall 2016.
an introduction to: Deep Learning
Dialog Processing with Unsupervised Artificial Neural Networks
Done Done Course Overview What is AI? What are the Major Challenges?
Matt Gormley Lecture 16 October 24, 2016
Statistical Inference
Generative Adversarial Networks
CSCI 5922 Neural Networks and Deep Learning Generative Adversarial Networks Mike Mozer Department of Computer Science and Institute of Cognitive Science.
Neural Networks for Machine Learning Lecture 1e Three types of learning Geoffrey Hinton with Nitish Srivastava Kevin Swersky.
Reading: Pedro Domingos: A Few Useful Things to Know about Machine Learning source: /cacm12.pdf reading.
Foundations of Programming: Introduction to Programming
Data Mining Lecture 11.
CSCI 5922 Neural Networks and Deep Learning: NIPS Highlights
Computer Intelligence Engineers
Deep Learning Workshop
Dipartimento di Ingegneria «Enzo Ferrari»
Authors: Jun-Yan Zhu*, Taesun Park*, Phillip Isola, Alexei A. Efros
Life outside of Physics
A brief introduction to neural network
Low Dose CT Image Denoising Using WGAN and Perceptual Loss
ECE 599/692 – Deep Learning Lecture 1 - Introduction
Goodfellow: Chapter 14 Autoencoders
Machine Learning 101 Intro to AI, ML, Deep Learning
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Image to Image Translation using GANs
GAN Applications.
Guest Lecture by David Johnston
Lip movement Synthesis from Text
CS 188: Artificial Intelligence Fall 2008
Coding neural networks: A gentle Introduction to keras
Hein H. Aung Matt Anderson, Advisor Introduction
Autoencoders hi shea autoencoders Sys-AI.
Multivariate Methods Berlin Chen
CS 2770: Computer Vision Generative Adversarial Networks
Textual Video Prediction
Dialog Processing with Unsupervised Artificial Neural Networks
Autoencoders Supervised learning uses explicit labels/correct output in order to train a network. E.g., classification of images. Unsupervised learning.
EE 193: Parallel Computing
An introduction to: Deep Learning aka or related to Deep Neural Networks Deep Structural Learning Deep Belief Networks etc,
Lecture 21: Machine Learning Overview AP Computer Science Principles
one-input multi-output architecture
Hsiao-Yu Chiang Xiaoya Li Ganyu “Bruce” Xu Pinshuo Ye Zhanyuan Zhang
Neural Machine Translation using CNN
CS51A David Kauchak Spring 2019
Angel A. Cantu, Nami Akazawa Department of Computer Science
Text-to-speech (TTS) Traditional approaches (before 2016) Neural TTS
CSC 578 Neural Networks and Deep Learning
Sign Language Recognition With Unsupervised Feature Learning
CS249: Neural Language Model
Lecture 9: Machine Learning Overview AP Computer Science Principles
Directional Occlusion with Neural Network
Lecturer: Geoff Hulten TAs: Alon Milchgrub, Andrew Wei
Goodfellow: Chapter 14 Autoencoders
An introduction to neural network and machine learning
Presentation transcript:

David Healey BYU Capstone Course 15 Nov 2018 Lecture 4: VAEs, GANs David Healey BYU Capstone Course 15 Nov 2018

Administrative things

Homework: Kaggle stock exchange prediction Our homework will be a group assignment to do a Kaggle competition involving stock prediction from the new york stock exchange https://www.kaggle.com/dgawlik/nyse/home

About Recursion Pharmaceuticals To get a data science job at Recursion Pharmaceuticals: Pass a resume screen Practical experience Advanced degree helps Looking for depth Pass a work sample 2 hours to complete several questions testing general ability around data analysis ”What kind of analysis would constitute an answer to this question?” Evaluation of the method you used Pass 4 or 5 onsite interviews Light coding, quantitative reasoning, machine learning Kinds of jobs at Recursion: Data scientist Data engineer Software Engineer

How to contact me david.w.healey@gmail.com LinkedIn

Generative models: Variational Autoencoders and GANs

Unsupervised generative models: VAEs and GANs The goal is to create a decoder or a generator: a neural network that maps an arbitrary low- dimensional vector into a very high-dimensional and complicated output that matches a very complicated data distribution like images or language A model that can create something new that looks like its from the data “understands” the distribution of the data very well. Example: can you create the face of a person who doesn’t exist yet z Low dimensional “latent space” High dimensional

Variational autoencoders (VAE) Normal autoencoder Variational autoencoder Encode to a distribution instead of a single point Decoder first samples from the distribution. Try to force the space to be continuous and meaningful so that arbitrary vectors will map to something real-seeming Encode data to a vector whose dimension is less than the

VAE loss 2 parts to the loss Reconstruction loss (mse): did you get the same data out that you put in? This makes sure the model learns the distribution of the data, like a regular autoencoder K-L loss (KL divergence from unit normal): Did you encode the point to a distribution that somewhat resembles a unit normal? (this makes sure the latent space is more or less continuous)

Variational Autoencoders: Generating Data! Data manifold for 2-d z Dim 1 Labeled Faces in the Wild Figures copyright (L) Dirk Kingma et al. 2016; (R) Anders Larsen et al. 2017. Reproduced with permission. Dimension 2 Remember: these are new numbers, not part of the training set Kingma and Welling, “Auto-Encoding Variational Bayes”, ICLR 2014 Used with permission from Justin Johnson

Generative Adversarial Networks Ian Goodfellow et al., “Generative Adversarial Nets”, NIPS 2014 Problem: Want to sample from complex, high-dimensional training distribution. No direct way to do this! Solution: Sample from a simple distribution, e.g. random noise. Learn transformation to training distribution. Output: Sample from training distribution Q: What can we use to represent this complex transformation? A: A neural network! Transform Input: Random noise sample z 10 3 Lecture 12 - May 15, 2018 Used with permission from Justin Johnson

Training GANs: Two-player game Ian Goodfellow et al., “Generative Adversarial Nets”, NIPS 2014 Generator network : try to fool the discriminator by generating real-looking images Discriminator network : try to distinguish between real and fake images Real or Fake Discriminator Network (CNN) Fake Images (from generator) Real Images (from training set) Generator Network (upsampling convolutional network) Random noise z Fake and real images copyright Emily Denton et al. 2015. Reproduced with permission. 10 5 Lecture 12 - May 15, 2018 Used with permission from Justin Johnson

Training GANs Alternate between training the generator and discriminator (you can train for one step each or multiple steps each) Discriminator: Generate some fake examples with the generator Get some real examples Discriminator tries to score the fake examples low and the real ones high So GAN loss punishes discriminator for high scores on fake examples and low scores on real examples Generator: Generate some fake images and give them to the discriminator to score Generator tries to get high scores from the discriminator So GAN loss punishes generator for low scores from the discriminator Warning: notoriously hard to train and unstable. See for tips: https://github.com/soumith/ganhacks

Generative Adversarial Nets: Convolutional Architectures Samples from the model look much better! Radford et al, ICLR 2016 12 Lecture 12 - May 15, 2018 Used with permission from Justin Johnson

Generative Adversarial Nets: Interpretable Vector Math Glasses man No glasses man No glasses woman Radford et al, ICLR 2016 Radford et al, ICLR 2016 Lecture 12 - May 15, 2018 Used with permission from Justin Johnson

Generative Adversarial Nets: Interpretable Vector Math Glasses man No glasses man No glasses woman Radford et al, ICLR 2016 Woman with glasses 12 6 Lecture 12 - May 15, 2018 Used with permission from Justin Johnson

See how far we’ve come since then https://www.youtube.com/watch?v=XOxxPcy5Gr4

Resources to look for for help When you don’t know what approach to take: Talk to someone Examples to work from, when you know what you need to build but don’t know how to code and train it: Keras blog has a lot of examples (our translation example was adapted from one) https://github.com/keras-team/keras/tree/master/examples Google search usually brings up at least one github repo if you search something like Keras GAN Concepts and Courses for learning and clarifying concepts: Deeplearning.ai Andrew Ng (pretty friendly) Cs231n Stanford course (heavy on equations). A lot of the slides here were adapted w/permission from that course. Geoff Hinton’s DL Coursera (downside: OCTAVE not Python)

Some things to say about data science and artificial intelligence

The demand for machine learning is crazy high right now Data scientist is the highest rated job in the country 3 years running Machine learning scientists have higher compensation than comparably-credentialed peers Utah has a particular shortage of data scientists which is about to get worse

The future of Artificial Intelligence

What happens when machines displace human labor?

Real earnings relative to 1963 (men)

“And now behold, my beloved brethren, … do not suppose that this is all; for after ye have done all these things, if ye turn away the needy, and the naked, and visit not the sick and afflicted, and impart of your substance, if ye have, to those who stand in need—I say unto you, if ye do not any of these things, behold, your prayer is vain, and availeth you nothing, and ye are as hypocrites who do deny the faith.” (Alma 34:28.)