SlideShare una empresa de Scribd logo
1 de 79
Towards Deep Generative Models in Game
Development
Jorge del Val
Research Engineer / SEED (Electronic Arts)
Agenda
1. Motivation and fundamentals
2. Variational autoencoders (VAE)
3. Generative adversarial networks (GAN)
4. Conditional generative models
5. Some applications to game development
In a sentence…
Models that generate or remix stuff
In a better sentence…
Models that learn the data probability distribution and are able
to sample from it
But… why in games?
(Thanks A. Opara )
Photo Wake-Up: 3D Character Animation from a Single Photo. Weng et al. 2018
Which is real?
A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA)
Which is real?
FAKE FAKE
A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA)
REAL
https://thispersondoesnotexist.com
(A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018)
So what do they actually do?
Image credit Animation Mentor
In the end… It’s all numbers
… in particular, M-dimensional vectors in 𝒳 ⊂ ℝ 𝑀
.
Data is far from random
Do we need M pixels to represent a face?
M=1000000 pixels!
Data is not really M-dimensional
It rather lays on a
lower dimensional
manifold!
Manifold?
𝑧2
𝑧1
𝑥 = (𝑥1, 𝑥2, 𝑥3)𝑧 = (𝑧1, 𝑧2)
Latent dimensions of data
Images credit Ward A.D. et al 2007
*Spoiler: Generative models learn both: the intrinsic geometry and the probability distribution!
Auto-Encoding Variational Bayes. Kingma et al. 2013
𝑧2
𝑧1 𝑧1
𝑧2
A walk through the latent space
A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA)
And how do they work?
Random variables and generative modelling
For us, each datapoint 𝑥𝑖 is just a realization of an underlying random variable.
𝐱 ∼ 𝑝(𝑥)
● Unsupervised learning is the field which attempts to infer properties of x from samples.
● Generative modelling is a subset of unsupervised learning which attempts to approximate
x as some parametrized combination of “simple” random variables which you can sample.
𝐱 ≈ 𝑓𝜃 𝐳 𝟏, 𝐳 𝟐, … , 𝐳 𝐊 ≜ 𝐱
Example: Gaussian Mixtures
Here every 𝐳𝑖 is normal (gaussian) 𝒩 𝜇𝑖, Σ𝑖 and the combination 𝑓𝜃(⋅) is a mixture.
Latent variable models
𝐳 ∼ 𝑝(𝑧)
𝐱
Transformation
Prior distribution
Architectures: neural networks
𝑓𝜃
𝜃 weights
Architectures: neural networks
Neural networks can approximate any function 𝑓(𝑥) to any precision! *
𝑥 𝑓𝜃(𝑥)
𝜃
*G. Cybenko 1989, K. Hornik 1991, Z. Lu et al 2017, B. Hanin 2017
Image credit Sydney Firmin
But to find the right 𝜃 (training)?
You optimize some loss (error) function!
min
𝜃
𝐿 𝜃; data
E.g. Classifier
𝑥
𝑓𝜃 𝑥
𝐿 𝜃; 𝑥, 𝑦 = −𝑦 𝑐𝑎𝑡 log 𝑓𝜃 𝑥 − 𝑦 𝑑𝑜𝑔 log 1 − 𝑓𝜃 𝑥
𝜃
𝑦 𝑐𝑎𝑡 ∈ {0,1}
𝑦 𝑑𝑜𝑔 ∈ {0,1}
Cross-entropy
𝑝 𝑐𝑎𝑡
I want it to be…
E.g. Classifier
𝑥
𝑓𝜃 𝑥
𝐿 𝜃; 𝑥, 𝑦 = −𝑦 𝑐𝑎𝑡 log 𝑓𝜃 𝑥 − 𝑦 𝑑𝑜𝑔 log 1 − 𝑓𝜃 𝑥
𝜃
𝑦 𝑐𝑎𝑡 ∈ {0,1}
𝑦 𝑑𝑜𝑔 ∈ {0,1}
Cross-entropy
𝑝 𝑐𝑎𝑡
I want it to be…
But to find the right 𝜃 (training)?
You optimize some loss (error) function!
𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min
𝜃
𝐿 𝜃; data
Stochastic Gradient Descent
But to find the right 𝜃 (training)?
You optimize some loss (error) function!
𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min
𝜃
𝐿 𝜃; data
Stochastic Gradient Descent
But to find the right 𝜃 (training)?
You optimize some loss (error) function!
𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min
𝜃
𝐿 𝜃; data
Easy to gradient descent any
function with current frameworks!! 
Stochastic Gradient Descent
Latent variable models
𝐳 ∼ 𝑝 𝑧
𝐱
Prior distribution
Transformation
Deep latent variable models
𝐳 ∼ 𝑝 𝑧
𝐱 = 𝐺 𝜃(𝐳)
𝐺 𝜃(⋅)
Prior distribution
Training
We want to approximate 𝐱 as 𝐱 = 𝐺 𝜃(𝐳). How do we find the optimal θ?
Maximize the likelihood of the data!
max
𝜃
log ℒ(𝜃|𝑥 𝑡𝑟𝑎𝑖𝑛) = max
𝜃
𝑖=1
𝑁
log 𝑝 𝜃(𝑥𝑖)
max
𝜃
ℒ(𝜃|𝑥 𝑡𝑟𝑎𝑖𝑛) = max
𝜃
𝑖=1
𝑁
𝑝 𝜃(𝑥𝑖)
But… we need 𝑝 𝜃 𝑥 explicitly!
Probability that the model would generate 𝑥𝑖
Image credit: Colin Raffel
What about deep latent variable models?
𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
𝑝 𝜃 𝑥 = 𝑝 𝜃 𝑥 𝑧 𝑝 𝑧 𝑑𝑧
What’s the total probability
of generating 𝑥?
𝑝 𝜃(𝑥)??
Different models – different methods
1. We have 𝑝 𝜃( 𝑥) explicitly: maximize the likelihood.
2. 𝑝 𝜃 𝑥 is intractable: we can approximate it instead
● Markov Chain Monte Carlo (MCMC) methods
● Variational methods (e.g. Variational Autoencoders)
3. We don’t need 𝑝 𝜃 𝑥 ; it’s implicit.
● Adversarial methods (e.g. GANs)
Goodfellow. 2016
Variational autoencoder (VAE)
𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
𝑝 𝜃 𝑥 = 𝑝 𝜃 𝑥 𝑧 𝑝 𝑧 𝑑𝑧
Variational autoencoder (VAE)
𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
𝑞 𝜙(𝑧|𝑥)
𝐸 𝜙(⋅)𝐱
Variational autoencoder (VAE)
𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅)
𝑞 𝜙(𝑧|𝑥)
𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧)
log 𝑝 𝜃 𝑥 ≥ 𝔼 𝑧∼𝑞 𝜙(𝑧|𝑥) log 𝑝 𝜃 𝑥 𝑧 − KL 𝑞 𝜙 𝑧 𝑥 ∥ 𝑝 𝑧
Encoder (inference) Decoder (generation)
Maximize this
instead!
True likelihood
Lower bound
Iterations
Pros:
● Efficient inference for free!
o Great tool for modelling the hidden structure of data.
● Stable to train.
● Good theoretical ground.
Cons:
● Not very good samples.
Variational autoencoders
Generative adversarial networks (GANs)
𝑝(𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
Why not just sample a bunch of
data and see if they look real?
𝐱
Sample
𝑥1, 𝑥2, … , 𝑥 𝐵
𝑥1, 𝑥2, … , 𝑥 𝐵
Objective:
Looks similar!
But… how do we measure similarity between groups of samples?
How to measure similarity of samples
One solution: train a classifier 𝐷 𝜙(𝑥) to discriminate!
● If the classifier can not tell if a sample is real or fake, both distributions are close.
● Trained with the standard cross-entropy loss:
max
𝜙
𝐿 𝑑(𝜙) = max
𝜙
𝔼 𝑥 𝑟∼𝑝 𝑟𝑒𝑎𝑙
log 𝐷 𝜙 𝑥 𝑟 + 𝔼 𝑥 𝑓∼𝑝 𝑓𝑎𝑘𝑒
log 1 − 𝐷 𝜙 𝑥𝑓
It can be shown that the optimal classifier performance 𝐿 𝑑(𝜙∗
) is related to the closeness
between both distributions (JS divergence).
The GAN game
We want to minimize “closeness” between the generated and real samples, as measured by
the discriminator loss:
min
𝜃
"closeness"
= min
𝜃
max
𝜙
𝔼 𝑥 𝑟∼𝑝 𝑟𝑒𝑎𝑙
log 𝐷 𝜙 𝑥 𝑟 + 𝔼 𝑥 𝑓∼𝑝 𝑓𝑎𝑘𝑒
log 1 − 𝐷 𝜙 𝑥𝑓
It’s formally a two-player minimax game!!
Generative adversarial networks
𝑝(𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
Why not just sample a bunch of
data and see if they look real?
𝐱
Sample
𝑥1, 𝑥2, … , 𝑥 𝐵
𝑥1, 𝑥2, … , 𝑥 𝐵
Objective:
Looks similar!
𝐷 𝜙(⋅)
Objective:
Fool 𝐷 𝜙!
GANs
● Pros:
 Awesome samples
● Cons:
 Unstable training
 No explicit probability density
 No direct inference
Large Scale GAN Training for High Fidelity Natural Image Synthesis. Brock et al. 2018
Bonus: autoregressive methods
𝑝 𝜃 𝑥 =
𝑡=1
𝑇
𝑝 𝜃 𝑥 𝑡 𝑥1, … , 𝑥 𝑡−1
Generate little by little!
Wavenet: A Generative Model for Raw Audio. Van den Oord et al. 2016.
OK!
OK! I can generate stuff.
OK! I can generate stuff.
But how do I influence what I generate?
OK! I can generate stuff.
How do I remix existing stuff??
Conditional generative models
What if I have information 𝐜 to condition the generation/inference, e.g., class
labels?
● Just introduce them in the networks!
𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅)
𝑞 𝜙(𝑧|𝑥)
𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧)
Encoder
(inference)
Decoder
(generation)
Variational
Autoencoder
𝑞 𝜙(𝑧|𝑥, 𝑐)
𝑝 𝜃(𝑥|𝑧, 𝑐)
Conditional
Variational
Autoencoder
Conditional generative models
What if I have information 𝐜 to condition the generation/inference, e.g., class
labels?
● Just introduce them in the networks!
𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅)
𝑝(𝑧)
Encoder
(inference)
Decoder
(generation)
𝐜 𝐜
Conditional generative models
What if I have information 𝐜 to condition the generation/inference, e.g., class
labels?
● Just introduce them in the networks!
GAN
𝑝(𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
𝐱
Sample
𝑥1, 𝑥2, … , 𝑥 𝐵
𝑥1, 𝑥2, … , 𝑥 𝐵
𝐷 𝜙(⋅)
Conditional
GAN
Conditional generative models
What if I have information 𝐜 to condition the generation/inference, e.g., class
labels?
● Just introduce them in the networks!
𝑝(𝑧)
𝐺 𝜃(⋅)𝐳 𝐱
𝐱
Sample
𝑥1, 𝑥2, … , 𝑥 𝐵
𝑥1, 𝑥2, … , 𝑥 𝐵
𝐷 𝜙(⋅)
𝐜
𝐜
Conditional GMs are very important!
Pix2Pix: Image-to-Image Translation with Conditional Adversarial Networks. Isola et al.
Conditional GMs are very important!
Pose Guided Person Image Generation. Ma et al. 2017.
Some applications to game dev so far?
Generation of terrain
Interactive Example-Based Terrain Authoring with Conditional Generative Adversarial Networks. Guérin et al. 2017.
3D Content Generation
DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation.
Park et al. 2019.
Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling.
Wu et al. 2016
Face generation
GANFIT: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction. Gecer et al. 2019 (FaceSoft.io)
Procedural placement
Deep Convolutional Priors for Indoor Scene Synthesis. Wang et al. 2018.
Generation of behaviour policies
Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow. Peng et al. 2018.
Generation of behaviour policies
Imitation Learning with Concurrent Actions in 3D Games. Harmer et al. 2018 (SEED)
Learn and accelerate physics
Latent-space Physics: Towards Learning the Temporal Evolution of Fluid Flow. Wiewel et al. 2018
Thanks for inspiration and insightful
conversations 
Anastasia Opara
Camilo Gordillo
Colin Barré-Brisebois
Hector Anadón León
Henrik Johansson
Jack Harmer
Joakim Bergdahl
Johan Andersson
Kristoffer Sjöö
Ken Brown
Linus Gisslen
Martin Singh-Blom
Mattias Teye
Mark Cerny
Mónica Villanueva Aylagas
Magnus Nordin
Olivier Pomarez
Paul Greveson
Roy Harvey
Tomasz Stachowiak
S E E D / / S E A R C H F O R E X T R A O R D I N A R Y E X P E R I E N C E S D I V I S I O N
S T O C K H O L M – L O S A N G E L E S – M O N T R É A L – R E M O T E
S E E D . E A . C O M
W E ‘ R E H I R I N G !
Jorge del Val Santos
jdelvalsantos@ea.com

Más contenido relacionado

La actualidad más candente

Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
Naughty Dog
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
Tiago Sousa
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Johan Andersson
 

La actualidad más candente (20)

Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4Custom fabric shader for unreal engine 4
Custom fabric shader for unreal engine 4
 
OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
 
Lighting Shading by John Hable
Lighting Shading by John HableLighting Shading by John Hable
Lighting Shading by John Hable
 
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color CourseFilmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
Filmic Tonemapping for Real-time Rendering - Siggraph 2010 Color Course
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering Techniques
 
Neural Radiance Field
Neural Radiance FieldNeural Radiance Field
Neural Radiance Field
 
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lightsPrecomputed Voxelized-Shadows for Large-scale Scene and Many lights
Precomputed Voxelized-Shadows for Large-scale Scene and Many lights
 
Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016Optimizing the Graphics Pipeline with Compute, GDC 2016
Optimizing the Graphics Pipeline with Compute, GDC 2016
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Shaders in Unity
Shaders in UnityShaders in Unity
Shaders in Unity
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
Unite Berlin 2018 - Book of the Dead Optimizing Performance for High End Cons...
 
Compute shader DX11
Compute shader DX11Compute shader DX11
Compute shader DX11
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 

Similar a GDC2019 - SEED - Towards Deep Generative Models in Game Development

GAN Deep Learning Approaches to Image Processing Applications (1).pptx
GAN Deep Learning Approaches to Image Processing Applications (1).pptxGAN Deep Learning Approaches to Image Processing Applications (1).pptx
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
RMDAcademicCoordinat
 
The Success of Deep Generative Models
The Success of Deep Generative ModelsThe Success of Deep Generative Models
The Success of Deep Generative Models
inside-BigData.com
 
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Codiax
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273A
butest
 

Similar a GDC2019 - SEED - Towards Deep Generative Models in Game Development (20)

GANs and Applications
GANs and ApplicationsGANs and Applications
GANs and Applications
 
gan.pdf
gan.pdfgan.pdf
gan.pdf
 
brief Introduction to Different Kinds of GANs
brief Introduction to Different Kinds of GANsbrief Introduction to Different Kinds of GANs
brief Introduction to Different Kinds of GANs
 
Review of generative adversarial nets
Review of generative adversarial netsReview of generative adversarial nets
Review of generative adversarial nets
 
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
GAN Deep Learning Approaches to Image Processing Applications (1).pptxGAN Deep Learning Approaches to Image Processing Applications (1).pptx
GAN Deep Learning Approaches to Image Processing Applications (1).pptx
 
Reading group gan - 20170417
Reading group   gan - 20170417Reading group   gan - 20170417
Reading group gan - 20170417
 
The Success of Deep Generative Models
The Success of Deep Generative ModelsThe Success of Deep Generative Models
The Success of Deep Generative Models
 
Generative Adversarial Networks and Their Applications in Medical Imaging
Generative Adversarial Networks  and Their Applications in Medical ImagingGenerative Adversarial Networks  and Their Applications in Medical Imaging
Generative Adversarial Networks and Their Applications in Medical Imaging
 
그림 그리는 AI
그림 그리는 AI그림 그리는 AI
그림 그리는 AI
 
Understanding Basics of Machine Learning
Understanding Basics of Machine LearningUnderstanding Basics of Machine Learning
Understanding Basics of Machine Learning
 
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
Jakub Langr (University of Oxford) - Overview of Generative Adversarial Netwo...
 
Paper review: Measuring the Intrinsic Dimension of Objective Landscapes.
Paper review: Measuring the Intrinsic Dimension of Objective Landscapes.Paper review: Measuring the Intrinsic Dimension of Objective Landscapes.
Paper review: Measuring the Intrinsic Dimension of Objective Landscapes.
 
Gan 발표자료
Gan 발표자료Gan 발표자료
Gan 발표자료
 
Gan seminar
Gan seminarGan seminar
Gan seminar
 
Abductive commonsense reasoning
Abductive commonsense reasoningAbductive commonsense reasoning
Abductive commonsense reasoning
 
Machine Learning ICS 273A
Machine Learning ICS 273AMachine Learning ICS 273A
Machine Learning ICS 273A
 
alexVAE_New.pdf
alexVAE_New.pdfalexVAE_New.pdf
alexVAE_New.pdf
 
Disentangled Representation Learning of Deep Generative Models
Disentangled Representation Learning of Deep Generative ModelsDisentangled Representation Learning of Deep Generative Models
Disentangled Representation Learning of Deep Generative Models
 
Generative modeling with Convolutional Neural Networks
Generative modeling with Convolutional Neural NetworksGenerative modeling with Convolutional Neural Networks
Generative modeling with Convolutional Neural Networks
 
[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of Functions[PR12] Generative Models as Distributions of Functions
[PR12] Generative Models as Distributions of Functions
 

Más de Electronic Arts / DICE

High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
Electronic Arts / DICE
 

Más de Electronic Arts / DICE (20)

SIGGRAPH 2010 - Style and Gameplay in the Mirror's Edge
SIGGRAPH 2010 - Style and Gameplay in the Mirror's EdgeSIGGRAPH 2010 - Style and Gameplay in the Mirror's Edge
SIGGRAPH 2010 - Style and Gameplay in the Mirror's Edge
 
SEED - Halcyon Architecture
SEED - Halcyon ArchitectureSEED - Halcyon Architecture
SEED - Halcyon Architecture
 
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray TracingSyysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
Syysgraph 2018 - Modern Graphics Abstractions & Real-Time Ray Tracing
 
Khronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and VulkanKhronos Munich 2018 - Halcyon and Vulkan
Khronos Munich 2018 - Halcyon and Vulkan
 
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time RaytracingCEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
CEDEC 2018 - Towards Effortless Photorealism Through Real-Time Raytracing
 
CEDEC 2018 - Functional Symbiosis of Art Direction and Proceduralism
CEDEC 2018 - Functional Symbiosis of Art Direction and ProceduralismCEDEC 2018 - Functional Symbiosis of Art Direction and Proceduralism
CEDEC 2018 - Functional Symbiosis of Art Direction and Proceduralism
 
SIGGRAPH 2018 - PICA PICA and NVIDIA Turing
SIGGRAPH 2018 - PICA PICA and NVIDIA TuringSIGGRAPH 2018 - PICA PICA and NVIDIA Turing
SIGGRAPH 2018 - PICA PICA and NVIDIA Turing
 
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time RaytracingSIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
SIGGRAPH 2018 - Full Rays Ahead! From Raster to Real-Time Raytracing
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 
EPC 2018 - SEED - Exploring The Collaboration Between Proceduralism & Deep Le...
EPC 2018 - SEED - Exploring The Collaboration Between Proceduralism & Deep Le...EPC 2018 - SEED - Exploring The Collaboration Between Proceduralism & Deep Le...
EPC 2018 - SEED - Exploring The Collaboration Between Proceduralism & Deep Le...
 
DD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time RenderingDD18 - SEED - Raytracing in Hybrid Real-Time Rendering
DD18 - SEED - Raytracing in Hybrid Real-Time Rendering
 
Creativity of Rules and Patterns: Designing Procedural Systems
Creativity of Rules and Patterns: Designing Procedural SystemsCreativity of Rules and Patterns: Designing Procedural Systems
Creativity of Rules and Patterns: Designing Procedural Systems
 
Shiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEEDShiny Pixels and Beyond: Real-Time Raytracing at SEED
Shiny Pixels and Beyond: Real-Time Raytracing at SEED
 
Future Directions for Compute-for-Graphics
Future Directions for Compute-for-GraphicsFuture Directions for Compute-for-Graphics
Future Directions for Compute-for-Graphics
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
High Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in FrostbiteHigh Dynamic Range color grading and display in Frostbite
High Dynamic Range color grading and display in Frostbite
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

GDC2019 - SEED - Towards Deep Generative Models in Game Development

  • 1. Towards Deep Generative Models in Game Development Jorge del Val Research Engineer / SEED (Electronic Arts)
  • 2.
  • 3. Agenda 1. Motivation and fundamentals 2. Variational autoencoders (VAE) 3. Generative adversarial networks (GAN) 4. Conditional generative models 5. Some applications to game development
  • 4. In a sentence… Models that generate or remix stuff
  • 5. In a better sentence… Models that learn the data probability distribution and are able to sample from it
  • 6. But… why in games?
  • 8.
  • 9. Photo Wake-Up: 3D Character Animation from a Single Photo. Weng et al. 2018
  • 10. Which is real? A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA)
  • 11. Which is real? FAKE FAKE A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA) REAL
  • 12. https://thispersondoesnotexist.com (A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018)
  • 13. So what do they actually do?
  • 14.
  • 15.
  • 16.
  • 17.
  • 19.
  • 20. In the end… It’s all numbers … in particular, M-dimensional vectors in 𝒳 ⊂ ℝ 𝑀 .
  • 21. Data is far from random
  • 22. Do we need M pixels to represent a face? M=1000000 pixels!
  • 23. Data is not really M-dimensional It rather lays on a lower dimensional manifold!
  • 24. Manifold? 𝑧2 𝑧1 𝑥 = (𝑥1, 𝑥2, 𝑥3)𝑧 = (𝑧1, 𝑧2)
  • 25. Latent dimensions of data Images credit Ward A.D. et al 2007 *Spoiler: Generative models learn both: the intrinsic geometry and the probability distribution!
  • 26. Auto-Encoding Variational Bayes. Kingma et al. 2013 𝑧2 𝑧1 𝑧1 𝑧2
  • 27. A walk through the latent space A Style-Based Generator Architecture for Generative Adversarial Networks. Karras et al. 2018 (NVIDIA)
  • 28. And how do they work?
  • 29. Random variables and generative modelling For us, each datapoint 𝑥𝑖 is just a realization of an underlying random variable. 𝐱 ∼ 𝑝(𝑥) ● Unsupervised learning is the field which attempts to infer properties of x from samples. ● Generative modelling is a subset of unsupervised learning which attempts to approximate x as some parametrized combination of “simple” random variables which you can sample. 𝐱 ≈ 𝑓𝜃 𝐳 𝟏, 𝐳 𝟐, … , 𝐳 𝐊 ≜ 𝐱
  • 30. Example: Gaussian Mixtures Here every 𝐳𝑖 is normal (gaussian) 𝒩 𝜇𝑖, Σ𝑖 and the combination 𝑓𝜃(⋅) is a mixture.
  • 31. Latent variable models 𝐳 ∼ 𝑝(𝑧) 𝐱 Transformation Prior distribution
  • 33. Architectures: neural networks Neural networks can approximate any function 𝑓(𝑥) to any precision! * 𝑥 𝑓𝜃(𝑥) 𝜃 *G. Cybenko 1989, K. Hornik 1991, Z. Lu et al 2017, B. Hanin 2017 Image credit Sydney Firmin
  • 34. But to find the right 𝜃 (training)? You optimize some loss (error) function! min 𝜃 𝐿 𝜃; data
  • 35. E.g. Classifier 𝑥 𝑓𝜃 𝑥 𝐿 𝜃; 𝑥, 𝑦 = −𝑦 𝑐𝑎𝑡 log 𝑓𝜃 𝑥 − 𝑦 𝑑𝑜𝑔 log 1 − 𝑓𝜃 𝑥 𝜃 𝑦 𝑐𝑎𝑡 ∈ {0,1} 𝑦 𝑑𝑜𝑔 ∈ {0,1} Cross-entropy 𝑝 𝑐𝑎𝑡 I want it to be…
  • 36. E.g. Classifier 𝑥 𝑓𝜃 𝑥 𝐿 𝜃; 𝑥, 𝑦 = −𝑦 𝑐𝑎𝑡 log 𝑓𝜃 𝑥 − 𝑦 𝑑𝑜𝑔 log 1 − 𝑓𝜃 𝑥 𝜃 𝑦 𝑐𝑎𝑡 ∈ {0,1} 𝑦 𝑑𝑜𝑔 ∈ {0,1} Cross-entropy 𝑝 𝑐𝑎𝑡 I want it to be…
  • 37. But to find the right 𝜃 (training)? You optimize some loss (error) function! 𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min 𝜃 𝐿 𝜃; data Stochastic Gradient Descent
  • 38. But to find the right 𝜃 (training)? You optimize some loss (error) function! 𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min 𝜃 𝐿 𝜃; data Stochastic Gradient Descent
  • 39. But to find the right 𝜃 (training)? You optimize some loss (error) function! 𝜃𝑡+1 = 𝜃𝑡 − 𝛼∇ 𝜃 𝐿min 𝜃 𝐿 𝜃; data Easy to gradient descent any function with current frameworks!!  Stochastic Gradient Descent
  • 40. Latent variable models 𝐳 ∼ 𝑝 𝑧 𝐱 Prior distribution Transformation
  • 41. Deep latent variable models 𝐳 ∼ 𝑝 𝑧 𝐱 = 𝐺 𝜃(𝐳) 𝐺 𝜃(⋅) Prior distribution
  • 42. Training We want to approximate 𝐱 as 𝐱 = 𝐺 𝜃(𝐳). How do we find the optimal θ? Maximize the likelihood of the data! max 𝜃 log ℒ(𝜃|𝑥 𝑡𝑟𝑎𝑖𝑛) = max 𝜃 𝑖=1 𝑁 log 𝑝 𝜃(𝑥𝑖) max 𝜃 ℒ(𝜃|𝑥 𝑡𝑟𝑎𝑖𝑛) = max 𝜃 𝑖=1 𝑁 𝑝 𝜃(𝑥𝑖) But… we need 𝑝 𝜃 𝑥 explicitly! Probability that the model would generate 𝑥𝑖 Image credit: Colin Raffel
  • 43. What about deep latent variable models? 𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 𝑝 𝜃 𝑥 = 𝑝 𝜃 𝑥 𝑧 𝑝 𝑧 𝑑𝑧 What’s the total probability of generating 𝑥? 𝑝 𝜃(𝑥)??
  • 44. Different models – different methods 1. We have 𝑝 𝜃( 𝑥) explicitly: maximize the likelihood. 2. 𝑝 𝜃 𝑥 is intractable: we can approximate it instead ● Markov Chain Monte Carlo (MCMC) methods ● Variational methods (e.g. Variational Autoencoders) 3. We don’t need 𝑝 𝜃 𝑥 ; it’s implicit. ● Adversarial methods (e.g. GANs)
  • 46. Variational autoencoder (VAE) 𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 𝑝 𝜃 𝑥 = 𝑝 𝜃 𝑥 𝑧 𝑝 𝑧 𝑑𝑧
  • 47. Variational autoencoder (VAE) 𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 𝑞 𝜙(𝑧|𝑥) 𝐸 𝜙(⋅)𝐱
  • 48. Variational autoencoder (VAE) 𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅) 𝑞 𝜙(𝑧|𝑥) 𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧) log 𝑝 𝜃 𝑥 ≥ 𝔼 𝑧∼𝑞 𝜙(𝑧|𝑥) log 𝑝 𝜃 𝑥 𝑧 − KL 𝑞 𝜙 𝑧 𝑥 ∥ 𝑝 𝑧 Encoder (inference) Decoder (generation) Maximize this instead!
  • 50. Pros: ● Efficient inference for free! o Great tool for modelling the hidden structure of data. ● Stable to train. ● Good theoretical ground. Cons: ● Not very good samples. Variational autoencoders
  • 51. Generative adversarial networks (GANs) 𝑝(𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 Why not just sample a bunch of data and see if they look real? 𝐱 Sample 𝑥1, 𝑥2, … , 𝑥 𝐵 𝑥1, 𝑥2, … , 𝑥 𝐵 Objective: Looks similar!
  • 52. But… how do we measure similarity between groups of samples?
  • 53. How to measure similarity of samples One solution: train a classifier 𝐷 𝜙(𝑥) to discriminate! ● If the classifier can not tell if a sample is real or fake, both distributions are close. ● Trained with the standard cross-entropy loss: max 𝜙 𝐿 𝑑(𝜙) = max 𝜙 𝔼 𝑥 𝑟∼𝑝 𝑟𝑒𝑎𝑙 log 𝐷 𝜙 𝑥 𝑟 + 𝔼 𝑥 𝑓∼𝑝 𝑓𝑎𝑘𝑒 log 1 − 𝐷 𝜙 𝑥𝑓 It can be shown that the optimal classifier performance 𝐿 𝑑(𝜙∗ ) is related to the closeness between both distributions (JS divergence).
  • 54. The GAN game We want to minimize “closeness” between the generated and real samples, as measured by the discriminator loss: min 𝜃 "closeness" = min 𝜃 max 𝜙 𝔼 𝑥 𝑟∼𝑝 𝑟𝑒𝑎𝑙 log 𝐷 𝜙 𝑥 𝑟 + 𝔼 𝑥 𝑓∼𝑝 𝑓𝑎𝑘𝑒 log 1 − 𝐷 𝜙 𝑥𝑓 It’s formally a two-player minimax game!!
  • 55. Generative adversarial networks 𝑝(𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 Why not just sample a bunch of data and see if they look real? 𝐱 Sample 𝑥1, 𝑥2, … , 𝑥 𝐵 𝑥1, 𝑥2, … , 𝑥 𝐵 Objective: Looks similar! 𝐷 𝜙(⋅) Objective: Fool 𝐷 𝜙!
  • 56.
  • 57. GANs ● Pros:  Awesome samples ● Cons:  Unstable training  No explicit probability density  No direct inference Large Scale GAN Training for High Fidelity Natural Image Synthesis. Brock et al. 2018
  • 58. Bonus: autoregressive methods 𝑝 𝜃 𝑥 = 𝑡=1 𝑇 𝑝 𝜃 𝑥 𝑡 𝑥1, … , 𝑥 𝑡−1 Generate little by little! Wavenet: A Generative Model for Raw Audio. Van den Oord et al. 2016.
  • 59. OK!
  • 60. OK! I can generate stuff.
  • 61. OK! I can generate stuff. But how do I influence what I generate?
  • 62. OK! I can generate stuff. How do I remix existing stuff??
  • 63. Conditional generative models What if I have information 𝐜 to condition the generation/inference, e.g., class labels? ● Just introduce them in the networks! 𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅) 𝑞 𝜙(𝑧|𝑥) 𝑝(𝑧) 𝑝 𝜃(𝑥|𝑧) Encoder (inference) Decoder (generation) Variational Autoencoder
  • 64. 𝑞 𝜙(𝑧|𝑥, 𝑐) 𝑝 𝜃(𝑥|𝑧, 𝑐) Conditional Variational Autoencoder Conditional generative models What if I have information 𝐜 to condition the generation/inference, e.g., class labels? ● Just introduce them in the networks! 𝐺 𝜃(⋅)𝐳 𝐱𝐱 𝐸 𝜙(⋅) 𝑝(𝑧) Encoder (inference) Decoder (generation) 𝐜 𝐜
  • 65. Conditional generative models What if I have information 𝐜 to condition the generation/inference, e.g., class labels? ● Just introduce them in the networks! GAN 𝑝(𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 𝐱 Sample 𝑥1, 𝑥2, … , 𝑥 𝐵 𝑥1, 𝑥2, … , 𝑥 𝐵 𝐷 𝜙(⋅)
  • 66. Conditional GAN Conditional generative models What if I have information 𝐜 to condition the generation/inference, e.g., class labels? ● Just introduce them in the networks! 𝑝(𝑧) 𝐺 𝜃(⋅)𝐳 𝐱 𝐱 Sample 𝑥1, 𝑥2, … , 𝑥 𝐵 𝑥1, 𝑥2, … , 𝑥 𝐵 𝐷 𝜙(⋅) 𝐜 𝐜
  • 67. Conditional GMs are very important! Pix2Pix: Image-to-Image Translation with Conditional Adversarial Networks. Isola et al.
  • 68. Conditional GMs are very important! Pose Guided Person Image Generation. Ma et al. 2017.
  • 69. Some applications to game dev so far?
  • 70. Generation of terrain Interactive Example-Based Terrain Authoring with Conditional Generative Adversarial Networks. Guérin et al. 2017.
  • 71. 3D Content Generation DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation. Park et al. 2019. Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling. Wu et al. 2016
  • 72. Face generation GANFIT: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction. Gecer et al. 2019 (FaceSoft.io)
  • 73. Procedural placement Deep Convolutional Priors for Indoor Scene Synthesis. Wang et al. 2018.
  • 74. Generation of behaviour policies Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow. Peng et al. 2018.
  • 75. Generation of behaviour policies Imitation Learning with Concurrent Actions in 3D Games. Harmer et al. 2018 (SEED)
  • 76. Learn and accelerate physics Latent-space Physics: Towards Learning the Temporal Evolution of Fluid Flow. Wiewel et al. 2018
  • 77.
  • 78. Thanks for inspiration and insightful conversations  Anastasia Opara Camilo Gordillo Colin Barré-Brisebois Hector Anadón León Henrik Johansson Jack Harmer Joakim Bergdahl Johan Andersson Kristoffer Sjöö Ken Brown Linus Gisslen Martin Singh-Blom Mattias Teye Mark Cerny Mónica Villanueva Aylagas Magnus Nordin Olivier Pomarez Paul Greveson Roy Harvey Tomasz Stachowiak
  • 79. S E E D / / S E A R C H F O R E X T R A O R D I N A R Y E X P E R I E N C E S D I V I S I O N S T O C K H O L M – L O S A N G E L E S – M O N T R É A L – R E M O T E S E E D . E A . C O M W E ‘ R E H I R I N G ! Jorge del Val Santos jdelvalsantos@ea.com

Notas del editor

  1. Research division within EA which attempts to explore the future of interactive entertainment. Among other areas, we explore deep learning for animation, content creation and reinforcement learning.
  2. Current content creation is time consuming, unintuitive, and hard. Leverage current data to make it easier. It doesn’t scale!
  3. They also allow for immersion in games through the interaction with the real world.
  4. Or allow us to interact with games, enabling complete new experiences, which content being created dynamically. Dynamic and automatic creation of content enable new, rich experiences.
  5. Trained with dataset of 70K 1024x1024 images!
  6. Trained with dataset of 70K 1024x1024 images!
  7. Let’s think about data. This can be anything, from images of cute dogs
  8. language
  9. Textures…
  10. Meshes..
  11. Rig controls of faces.. https://blog.animationmentor.com/introducing-viktor-and-moya-two-new-animation-mentor-character-rigs/. Justin Owens
  12. Animations of characters..
  13. In the end it’s all numbers, and more particular, vectors … (Say M is the number of pixels!) Think of it as points in a higher dimensional space But.. Are those points completely random? Do they have they some hidden structure? Can any pixel have any value? Patterns https://ml4a.github.io/ml4a/looking_inside_neural_nets/
  14. No! We actually see a rich statistical hidden structure in data. Patterns materialize in things that we can actually learn. Data is far from random, and there are inherent correlations among pixels; two neighbouring pixels tend to have the same color etc. Then, do we really need 700 numbers to represent one digit? Or what about a face? Data has a rich statistical structure.
  15. Features of faces. How would you describe a face to the police? – So there’s clearly a hidden reality about this data, an underlying truth (representation?). The whole space of 1k images; few of them are actually faces. If we could actually see the points in M dimensions… Talk about the fundamental characteristic of faces.
  16. … we would see that they actually lay in a lower dimensional surface, that we call manifold. Therefore, this is called the manifold assumption, and in practice we see that it holds very well for natural data. The underlying truth is the geometry! We could hope to represent a point with the coordinates IN the manifold (what really matters), instead of all the redundant dimensions. Let me elaborate… Data has less INTRINSIC DIMENSIONALITY. We can represent the data with much lesser numbers! We don’t need 1M numbers for a 1k image! “Like the surface of the earth”. Spoiler: learning that underlying geometry and the probability distribution will be the caveat of generative models. Learning that underlying space that REALLY represents the data, and not the thousands of pixels, will be the job of generative models. Earth analogy. U-V analogy.
  17. So we say that the data has inherent latent dimensions which describe the data much better than all the redundant information of the data space.
  18. At left, algorithm has discovered without any supervision two intrinsic dimensions of data: pose and expression. Recall that we told nothing to the algorithm of what expression or pose means; no additional information.
  19. Trained with dataset of 70K 1024x1024 images!
  20. Go easy here. Put concrete example of Random Variable (Dice, etc). Example of C++ of random normal variable (rand()?).
  21. 21 min – 22
  22. Credit Venkatesh Tata 24:30
  23. Sydney Firmin Introduce training methods also! Introduce frameworks (pytorch & tensorflow) in different slide.
  24. Reafirm to take it easy here.
  25. Sydney Firmin 26:50 – 28:55
  26. 33:20 -
  27. Colin Raffel: https://colinraffel.com/blog/gans-and-divergence-minimization.html Go easy here and explain what is the idea. 34m – 38:20m = 4,2 m
  28. 38:25 – 40:25 -> 2m
  29. 40:28
  30. 41:47
  31. 42:30 – 43:30 = 1m
  32. Showcase awesome examples - 47:30 = total VAE 5m
  33. 47:30 – 49 – 50 = 2,3 m
  34. Particularly, to the Jensen-Shannon divergence 50:10 – 52:10 = 2m Put detective image?
  35. Training method? 52:15 – 54:15 = 2m
  36. 54:30
  37. GANs are among some of the most active area of research in deep learning! 54:44
  38. Awesome examples: LARGE SCALE GAN TRAINING FOR HIGH FIDELITY NATURAL IMAGE SYNTHESIS, Brock et. Al I would love to have that hamburger 55 – 56 = 1m
  39. 56
  40. Pix2Pix: Image-to-Image Translation with Conditional Adversarial Networks. Isola et al 58 (since OK is 2m) – 59:30 -> 1:30m
  41. Pose2img: https://arxiv.org/pdf/1705.09368.pdf
  42. Pose2img: https://arxiv.org/pdf/1705.09368.pdf 59:30 – 1h:0:17
  43. Interactive Example-Based Terrain Authoring with Conditional Generative Adversarial Networks. Guérin et al. Igual ponerlo antes.
  44. DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation. Park et al. 2019. Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling. Wu et al. 2016
  45. GANFIT / Genova GANFIT: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction. Gecer et al. 2019.
  46. Deep Convolutional Priors for Indoor Scene Synthesis. Wang et al. 2018.
  47. Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow. Peng et al. 2018.
  48. Variational Discriminator Bottleneck: Improving Imitation Learning, Inverse RL, and GANs by Constraining Information Flow. Peng et al. 2018.
  49. TempoGAN, latent space physics / wrinkles Latent-space Physics: Towards Learning the Temporal Evolution of Fluid Flow. Wiewel et al. 2018
  50. Dynamic content generation – worlds that create themselves. Intuitive and easy content creation. Seamless interaction with the real world. Leverage huge amounts of natural data.