SlideShare une entreprise Scribd logo
1  sur  23
|Webinars© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sunil Mallya & Yash Pant, Amazon AI
September 2017
Introduction to Generative
Adversarial Networks using
Apache MXNet
|Webinars
• Intro to AI and Deep Learning
• Intro to GANs (Generative Adversarial Networks)
• GAN Research & Applications
• GAN Implementation & Demo
Agenda
|Webinars
Tons of GPUs and CPUs
Serverless
At the Edge, On IoT Devices
Prediction
The Challenge For Artificial Intelligence: SCALE
Tons of GPUs
Elastic capacity
Training
Pre-built images
Aggressive migration
New data created on AWS
Data
PBs of existing data
|Webinars
Amazon AI
|Webinars
0.2
-0.1
...
0.7
Input Output
1 1 1
1 0 1
0 0 0
3
mx.sym.Pooling(data, pool_type="max", kernel=(2,2), stride=(2,2)
lstm.lstm_unroll(num_lstm_layer, seq_len, len, num_hidden, num_embed)
4 2
2 0
4=Max
1
3
...
4
0.2
-0.1
...
0.7
mx.sym.FullyConnected(data, num_hidden=128)
2
mx.symbol.Embedding(data, input_dim, output_dim = k)
Queen
4 2
2 0
2=Avg
Input Weights
cos(w, queen) = cos(w, king) - cos(w, man) + cos(w, woman)
mx.sym.Activation(data, act_type="xxxx")
"relu"
"tanh"
"sigmoid"
"softrelu"
Neural Art
Face Search
Image Segmentation
Image Caption
“People Riding Bikes”
Bicycle, People,
Road, Sport
Image Labels
Image
Video
Speech
Text
“People Riding Bikes”
Machine Translation
“Οι άνθρωποι
ιππασίας ποδήλατα”
Events
mx.model.FeedForward model.fit
mx.sym.SoftmaxOutput
Anatomy of a Deep Learning Model
mx.sym.Convolution(data, kernel=(5,5), num_filter=20)
Deep Learning Models
|Webinars
Artificial Neuron
output
synaptic
weights
input
Input
Vector of training data x
Output
Linear functions of inputs
Nonlinearity
Transform output into desired range of values, e.g. for
classification we need probabilities [0, 1]
Training
Learn the weights w and bias b
|Webinars
Deep Neural Network
hidden layers
The optimal size of the hidden
layer (number of neurons) is
usually between the size of the
input and size of the output layers
Input layer
output
|Webinars
The “Learning” in Deep Learning
0.4 0.3
0.2 0.9
...
back propogation (gradient descent)
X1 != X
0.4 ± 𝛿 0.3 ± 𝛿
new
weights
new
weights
0
1
0
1
1
.
.
-
-
X
input
label
...
X1
|Webinars
Gradient Descent
|Webinars
Convolution Neural Network (CNN)
CNN Layers
Convolutional Layer
Pooling Layer
Activation
Fully-Connected Layer
|Webinars
GAN (Generative Adversarial Networks)
Input:
Noise
Generator
Generated
(“Fake”)
Data
Data From
Dataset
(“Real”)
Discriminator
Real or
Fake?
Framework for creating generative models
|Webinars
Image Generation
Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks (Radford et. al 2016)
|Webinars
Image Arithmetic
Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks (Radford et. al 2016)
|Webinars
SRGAN: Making Images High Resolution
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network (Ledig et. al 2016 )
|Webinars
StackGAN: Create Images from Text
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks (Zhang et. al 2016)
|Webinars
3D-GAN: 3D Models from Images
Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling (Wu et al 2017)
|Webinars
CycleGAN: Image to Image Translation
Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (Zhu et al 2017)
|Webinars
DiscoGAN: Discover Relationships Between Images
Learning to Discover Cross-Domain Relations with Generative Adversarial Networks (Kim et al 2017)
Gender conversion
Hair color conversion
|Webinars
Implementation: DCGAN
(Deep Convolutional Generative Adversarial Network)
Goal: Create a model that is able to generate
realistic looking images from a given dataset
MNIST Dataset
|Webinars
DCGAN: Concept Overview
[
.76
.14
.83
-.06
]
Z
“Fake” Image
“Real” Image
“Fake” Image
|Webinars
DCGAN: Implementation Walkthrough
Code available at:
https://github.com/yash1/mxnet-
notebooks/blob/master/python/tutorials/dcgan_create_images.ipynb
|Webinars
AWS Deep Learning AMI: One-Click Deep Learning
Kepler, Volta
& Skylake
Apache MXNet Python 2/3 Notebooks
& ExamplesTensorflow, Keras, Caffe2..
https://aws.amazon.com/amazon-ai/amis/
|Webinars
Thank you!

Contenu connexe

Tendances

Tendances (20)

Introduction to Deep learning
Introduction to Deep learningIntroduction to Deep learning
Introduction to Deep learning
 
Generative Adversarial Networks (GANs) - Ian Goodfellow, OpenAI
Generative Adversarial Networks (GANs) - Ian Goodfellow, OpenAIGenerative Adversarial Networks (GANs) - Ian Goodfellow, OpenAI
Generative Adversarial Networks (GANs) - Ian Goodfellow, OpenAI
 
Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)Generative Adversarial Networks (GANs)
Generative Adversarial Networks (GANs)
 
Deep learning presentation
Deep learning presentationDeep learning presentation
Deep learning presentation
 
Generative models
Generative modelsGenerative models
Generative models
 
Deep Learning Tutorial
Deep Learning TutorialDeep Learning Tutorial
Deep Learning Tutorial
 
Generative Adversarial Networks and Their Applications
Generative Adversarial Networks and Their ApplicationsGenerative Adversarial Networks and Their Applications
Generative Adversarial Networks and Their Applications
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
Deep Learning Explained
Deep Learning ExplainedDeep Learning Explained
Deep Learning Explained
 
Deep Learning for Computer Vision: Generative models and adversarial training...
Deep Learning for Computer Vision: Generative models and adversarial training...Deep Learning for Computer Vision: Generative models and adversarial training...
Deep Learning for Computer Vision: Generative models and adversarial training...
 
1.Introduction to deep learning
1.Introduction to deep learning1.Introduction to deep learning
1.Introduction to deep learning
 
Multimodal Deep Learning
Multimodal Deep LearningMultimodal Deep Learning
Multimodal Deep Learning
 
Deep neural networks
Deep neural networksDeep neural networks
Deep neural networks
 
Intro to deep learning
Intro to deep learning Intro to deep learning
Intro to deep learning
 
Generative adversarial networks
Generative adversarial networksGenerative adversarial networks
Generative adversarial networks
 
Deep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural NetworksDeep Learning - Convolutional Neural Networks
Deep Learning - Convolutional Neural Networks
 
Introduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANsIntroduction To Generative Adversarial Networks GANs
Introduction To Generative Adversarial Networks GANs
 
Deep Learning With Python Tutorial | Edureka
Deep Learning With Python Tutorial | EdurekaDeep Learning With Python Tutorial | Edureka
Deep Learning With Python Tutorial | Edureka
 
Introduction to Deep Learning
Introduction to Deep LearningIntroduction to Deep Learning
Introduction to Deep Learning
 
Convolution Neural Network (CNN)
Convolution Neural Network (CNN)Convolution Neural Network (CNN)
Convolution Neural Network (CNN)
 

Similaire à Introduction to Generative Adversarial Networks (GAN) with Apache MXNet

Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
Deep Dive on Deep Learning with MXNet - DevDay Austin 2017Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
Amazon Web Services
 
洞悉未來運算:量子與5G、混合雲架構與EC2新應用
洞悉未來運算:量子與5G、混合雲架構與EC2新應用洞悉未來運算:量子與5G、混合雲架構與EC2新應用
洞悉未來運算:量子與5G、混合雲架構與EC2新應用
Amazon Web Services
 

Similaire à Introduction to Generative Adversarial Networks (GAN) with Apache MXNet (20)

Designing Artificial Intelligence
Designing Artificial IntelligenceDesigning Artificial Intelligence
Designing Artificial Intelligence
 
Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
Deep Dive on Deep Learning with MXNet - DevDay Austin 2017Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
Deep Dive on Deep Learning with MXNet - DevDay Austin 2017
 
Machine Learning on the Cloud with Apache MXNet
Machine Learning on the Cloud with Apache MXNetMachine Learning on the Cloud with Apache MXNet
Machine Learning on the Cloud with Apache MXNet
 
Introduction to Deep Learning and neon at Galvanize
Introduction to Deep Learning and neon at GalvanizeIntroduction to Deep Learning and neon at Galvanize
Introduction to Deep Learning and neon at Galvanize
 
Distributed Deep Learning on AWS with Apache MXNet
Distributed Deep Learning on AWS with Apache MXNetDistributed Deep Learning on AWS with Apache MXNet
Distributed Deep Learning on AWS with Apache MXNet
 
MXNet Workshop
MXNet WorkshopMXNet Workshop
MXNet Workshop
 
Android and Deep Learning
Android and Deep LearningAndroid and Deep Learning
Android and Deep Learning
 
Intro to Scalable Deep Learning on AWS with Apache MXNet
Intro to Scalable Deep Learning on AWS with Apache MXNetIntro to Scalable Deep Learning on AWS with Apache MXNet
Intro to Scalable Deep Learning on AWS with Apache MXNet
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
 
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech TalksA Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
A Deeper Dive into Apache MXNet - March 2017 AWS Online Tech Talks
 
Introduction to Machine Learning with SciKit-Learn
Introduction to Machine Learning with SciKit-LearnIntroduction to Machine Learning with SciKit-Learn
Introduction to Machine Learning with SciKit-Learn
 
[REPEAT] Deep Learning for Developers: An Introduction, Featuring Samsung SDS...
[REPEAT] Deep Learning for Developers: An Introduction, Featuring Samsung SDS...[REPEAT] Deep Learning for Developers: An Introduction, Featuring Samsung SDS...
[REPEAT] Deep Learning for Developers: An Introduction, Featuring Samsung SDS...
 
Fuelling the AI Revolution with Gaming
Fuelling the AI Revolution with GamingFuelling the AI Revolution with Gaming
Fuelling the AI Revolution with Gaming
 
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
Scalable Deep Learning on AWS Using Apache MXNet - AWS Summit Tel Aviv 2017
 
Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)Diving into Deep Learning (Silicon Valley Code Camp 2017)
Diving into Deep Learning (Silicon Valley Code Camp 2017)
 
Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)Deep Learning with Apache MXNet (September 2017)
Deep Learning with Apache MXNet (September 2017)
 
洞悉未來運算:量子與5G、混合雲架構與EC2新應用
洞悉未來運算:量子與5G、混合雲架構與EC2新應用洞悉未來運算:量子與5G、混合雲架構與EC2新應用
洞悉未來運算:量子與5G、混合雲架構與EC2新應用
 
Deep Learning for Developers: An Introduction, Featuring Samsung SDS (AIM301-...
Deep Learning for Developers: An Introduction, Featuring Samsung SDS (AIM301-...Deep Learning for Developers: An Introduction, Featuring Samsung SDS (AIM301-...
Deep Learning for Developers: An Introduction, Featuring Samsung SDS (AIM301-...
 
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
AWS re:Invent 2016: Using MXNet for Recommendation Modeling at Scale (MAC306)
 
Learning Predictive Modeling with TSA and Kaggle
Learning Predictive Modeling with TSA and KaggleLearning Predictive Modeling with TSA and Kaggle
Learning Predictive Modeling with TSA and Kaggle
 

Plus de Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

Plus de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Introduction to Generative Adversarial Networks (GAN) with Apache MXNet

  • 1. |Webinars© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sunil Mallya & Yash Pant, Amazon AI September 2017 Introduction to Generative Adversarial Networks using Apache MXNet
  • 2. |Webinars • Intro to AI and Deep Learning • Intro to GANs (Generative Adversarial Networks) • GAN Research & Applications • GAN Implementation & Demo Agenda
  • 3. |Webinars Tons of GPUs and CPUs Serverless At the Edge, On IoT Devices Prediction The Challenge For Artificial Intelligence: SCALE Tons of GPUs Elastic capacity Training Pre-built images Aggressive migration New data created on AWS Data PBs of existing data
  • 5. |Webinars 0.2 -0.1 ... 0.7 Input Output 1 1 1 1 0 1 0 0 0 3 mx.sym.Pooling(data, pool_type="max", kernel=(2,2), stride=(2,2) lstm.lstm_unroll(num_lstm_layer, seq_len, len, num_hidden, num_embed) 4 2 2 0 4=Max 1 3 ... 4 0.2 -0.1 ... 0.7 mx.sym.FullyConnected(data, num_hidden=128) 2 mx.symbol.Embedding(data, input_dim, output_dim = k) Queen 4 2 2 0 2=Avg Input Weights cos(w, queen) = cos(w, king) - cos(w, man) + cos(w, woman) mx.sym.Activation(data, act_type="xxxx") "relu" "tanh" "sigmoid" "softrelu" Neural Art Face Search Image Segmentation Image Caption “People Riding Bikes” Bicycle, People, Road, Sport Image Labels Image Video Speech Text “People Riding Bikes” Machine Translation “Οι άνθρωποι ιππασίας ποδήλατα” Events mx.model.FeedForward model.fit mx.sym.SoftmaxOutput Anatomy of a Deep Learning Model mx.sym.Convolution(data, kernel=(5,5), num_filter=20) Deep Learning Models
  • 6. |Webinars Artificial Neuron output synaptic weights input Input Vector of training data x Output Linear functions of inputs Nonlinearity Transform output into desired range of values, e.g. for classification we need probabilities [0, 1] Training Learn the weights w and bias b
  • 7. |Webinars Deep Neural Network hidden layers The optimal size of the hidden layer (number of neurons) is usually between the size of the input and size of the output layers Input layer output
  • 8. |Webinars The “Learning” in Deep Learning 0.4 0.3 0.2 0.9 ... back propogation (gradient descent) X1 != X 0.4 ± 𝛿 0.3 ± 𝛿 new weights new weights 0 1 0 1 1 . . - - X input label ... X1
  • 10. |Webinars Convolution Neural Network (CNN) CNN Layers Convolutional Layer Pooling Layer Activation Fully-Connected Layer
  • 11. |Webinars GAN (Generative Adversarial Networks) Input: Noise Generator Generated (“Fake”) Data Data From Dataset (“Real”) Discriminator Real or Fake? Framework for creating generative models
  • 12. |Webinars Image Generation Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks (Radford et. al 2016)
  • 13. |Webinars Image Arithmetic Unsupervised Representation Learning With Deep Convolutional Generative Adversarial Networks (Radford et. al 2016)
  • 14. |Webinars SRGAN: Making Images High Resolution Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network (Ledig et. al 2016 )
  • 15. |Webinars StackGAN: Create Images from Text StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks (Zhang et. al 2016)
  • 16. |Webinars 3D-GAN: 3D Models from Images Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling (Wu et al 2017)
  • 17. |Webinars CycleGAN: Image to Image Translation Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (Zhu et al 2017)
  • 18. |Webinars DiscoGAN: Discover Relationships Between Images Learning to Discover Cross-Domain Relations with Generative Adversarial Networks (Kim et al 2017) Gender conversion Hair color conversion
  • 19. |Webinars Implementation: DCGAN (Deep Convolutional Generative Adversarial Network) Goal: Create a model that is able to generate realistic looking images from a given dataset MNIST Dataset
  • 21. |Webinars DCGAN: Implementation Walkthrough Code available at: https://github.com/yash1/mxnet- notebooks/blob/master/python/tutorials/dcgan_create_images.ipynb
  • 22. |Webinars AWS Deep Learning AMI: One-Click Deep Learning Kepler, Volta & Skylake Apache MXNet Python 2/3 Notebooks & ExamplesTensorflow, Keras, Caffe2.. https://aws.amazon.com/amazon-ai/amis/