SlideShare a Scribd company logo
1 of 46
Download to read offline
From art to deep fakes: an introduction to
Generative Adversarial Networks
Machine Learning course 2019/2020
Gabriele Graffieti
gabriele.graffieti@unibo.it
PhD student in Data Science and Computation @ University of Bologna
December 12, 2019
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 1 / 46
About me
• PhD Student in DS&C @ University of Bologna.
• Head of AI research @ AIforPeople.
• Teaching Assistant of the course Algorithms and Data
Structures @ UniBo.
• Board Member of Data Science Bologna.
• Proud Member of ContinualAI.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 2 / 46
Summary
1 Introduction
2 Generative models
3 Generative Adversarial Networks
4 Research Directions
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 3 / 46
Introduction
The limits of AI I
AI already outperforms human abilities in many tasks
• Computer Vision (classification, segmentation, medical image analysis, image
reconstruction, super-resolution . . . )
• Forecasting (stock market prediction, traffic, people you may know, advertising, . . . )
• Fraud detection, marketing, health monitoring, drug discovery, DNA sequence
classification, robot locomotion, play games (chess, go, starcraft) and MANY more.
And we are still far from general AI!
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 4 / 46
Introduction
The limits of AI II
There is something that AI can never be able to do?
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 5 / 46
Introduction
The limits of AI III
My answer: be creative
• Create music.
• Create art.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 6 / 46
Generative models
Generative Models
(a misleading name)
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 7 / 46
Generative models
Discriminative vs Generative models I
Discriminative Models
• The majority of models used in machine learning.
• They model the conditional probability P(Y |X).
• They learn the boundaries between classes.
• The conditional probability is directly estimated from data.
• More effective on classification tasks.
• Most discriminative models are inherently supervised.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 8 / 46
Generative models
Discriminative vs Generative models II
Generative Models
• They model the join probability P(X, Y ).
• They learn the distribution of the data.
• More general than discriminative models (a DM can always be derived from a GM).
• Since they learn a distribution as similar as possible to the real distribution of data, it is
possible to sample artificial data from them.
• They can handle multi-modal output, where more than one Y is the correct prediction for
a single X (e.g. X is a frame in a video, and Y is the predicted next frame).
• Usually unsupervised.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 9 / 46
Generative models
Deriving a Discriminative Model from a Generative Model
Bayes Rule:
P(Y |X) =
P(X|Y )P(Y )
P(X)
We have that:
P(X, Y ) = P(X|Y )P(Y ) and P(X) =
y
P(X, Y = y)
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 10 / 46
Generative models
Discriminative vs Generative models III
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 11 / 46
Generative models
Discriminative vs Generative models, a different perspective
• Suppose only 2 classes of animals exists in the world: cats and rabbits, and we want
classify them.
• Discriminative model → tries to find a boundary between the two classes.
When new images are presented to the DM, it simply check which side of the decision
boundary the animal should go.
• Generative model → develops a model of what a cat and rabbit should look like.
New images are then classified based on whether they look more like the cat model the GM
developed or the rabbit model the GM developed during training.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 12 / 46
Generative Adversarial Networks
Generative Adversarial Networks
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 13 / 46
Generative Adversarial Networks
Generative Models (recap) I
They model the join probability P(X, Y ) = P(X|Y )P(Y )
Explicit Models
• Tractable explicit models → the density function of the model is chosen to be
computationally tractable.
Fully visible belief nets, nonlinear ICA, pixelRNN.
• Approximated explicit models → Often the real distribution of the data is too complex to
deal with, thus a simpler and tractable function is used as a lower bound.
Variational autoencoders, Boltzmann machines.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 14 / 46
Generative Adversarial Networks
Generative Models (recap) II
Too many dimensions!
• What if we want to model the distribution of cat images in order to generate new
super-cute imaginary cats?
The space of 64×64 RGB images have 12, 288 dimensions.
The space of 1920×1080 (full HD) RGB images have 6, 220, 800 dimensions!
• It’s impossible to deal with functions in such high-dimensional spaces.
Implicit Models
• We don’t care about the actual distribution of data, we just want to produce images as
similar as possible to the real ones.
• The model of the PDF exists, but it’s hidden (e.g. in the weights of a neural network).
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 15 / 46
Generative Adversarial Networks
Let’s do it!
Just take a super-pro neural network, fed it with some noise, use the magic backpropagation
algorithm and the network will learn to produce hyper-realistic cat images!
Yeah boy! But we need a loss!
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 16 / 46
Generative Adversarial Networks
What is reality? I
How can we mathematically define how much an image of a cat is real? How can we define
the concept of catness? And the concept of van goghness? Or the concept of Trumpness?
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 17 / 46
Generative Adversarial Networks
What is reality? II
We have seen a lot of cats in our life, so our brain have modeled some sort of statistical model
that describes how a cat looks like. The same for Van Gogh portraits or images of Donald
Trump.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 18 / 46
Generative Adversarial Networks
Proto-GAN example I
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 19 / 46
Generative Adversarial Networks
Proto-GAN example II
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 20 / 46
Generative Adversarial Networks
Proto-GAN example III
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 21 / 46
Generative Adversarial Networks
GAN model I
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 22 / 46
Generative Adversarial Networks
GAN model II
Generator
• Takes as input a noise vector, and output a sample as similar as possible to real data.
• Unsupervised learning.
• (Implicit) Generative model.
Discriminator
• Takes as input real and fake data, and tries to discriminate between them.
• Supervised learning.
• Discriminative model.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 23 / 46
Generative Adversarial Networks
Your greatest enemy is your best friend I
Let x = real sample, z = noise vector.
• Suppose the discriminator outputs a probability of an image to be real.
Let’s say that 1 = 100% real; 0 = 100% fake; 0.5 = I don’t know.
• The discriminator want to minimize the function (D(x) − 1) + D(G(z)).
• The generator want to maximize the function D(G(z))
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 24 / 46
Generative Adversarial Networks
Your greatest enemy is your best friend II
LGAN(D, G) = (1 − D(x)) + D(G(z))
The GAN game:
min
D
max
G
LGAN(D, G)
• The goal of a minimax game is to find an equilibrium point.
• The two components pull the equilibrium in two opposed directions.
• The solution of this game is the equilibrium point (Nash equilibrium), where the
discriminator outputs 0.5 for every input.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 25 / 46
Generative Adversarial Networks
Your greatest enemy is your best friend III
• The goal of the generator is to maximally deceive the discriminator → modeling a
distribution identical to the real data distribution.
• The goal of the discriminator is to accurately distinguish between real and fake data →
find the best boundary to discriminate the real and fake distributions of data.
• The generator don’t see real data! The only feedback comes from the discriminator.
• The discriminator share its gradient with the generator.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 26 / 46
Generative Adversarial Networks
Why GANs are everywhere?
There is no hand-crafted loss!
The generator can potentially learn to mimic every type of data using the
same game!
Just change the training data and the same network can generate cats or
Van Gogh portraits!
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 27 / 46
Generative Adversarial Networks
Why GANs are everywhere?
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 28 / 46
Generative Adversarial Networks
Let’s make it real!
https://github.com/ggraffieti/
GAN-tutorial-DSBo
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 29 / 46
Research Directions
Research Directions
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 30 / 46
Research Directions
Problems
• Instability during training → intrinsic in the problem definition (find an equilibrium point).
• Non-convergence → the discriminator task is usually more simple than the generator’s
one.
• Mode collapse → the generator produce almost the same output for every input.
• Evaluation of results → how we can assess the grade of reality of the output data?
Human evaluation is still preferred (Amazon Mechanical Turk).
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 31 / 46
Research Directions
Image-to-image translation I
• Like a language translation, we want to translate one image from one domain to another,
maintaining unchanged the semantic content.
• The ground truth result of the translation is not known, and more than one result might
be correct.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 32 / 46
Research Directions
Image-to-image translation II
• The problem is similar to the problem of learning to translate between 2 languages
without a dictionary.
• We could exploit the cycle consistency properties of mappings:
F(G(x)) ≈ x and G(F(y)) ≈ y
• We force the model to learn the inverse mapping, and the composition of the 2
translation have to be similar to the input.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 33 / 46
Research Directions
Photoshop 2.0?
• http://nvidia-research-mingyuliu.com/gaugan
• http://gandissect.res.ibm.com/ganpaint.html
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 34 / 46
Research Directions
Deepfakes I
Similar to an image-to-image (or a video-to-video) translation task, but with more constraints:
• We want to maintain the realism of the scene → GAN
• We want to maintain the semantic content of the scene → cycleGAN
• We want to maintain the identity of the person in the target scene → identity recognition
network.
• We want to maintain the facial expression of the person in the source scene → facial
landmarks comparison.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 35 / 46
Research Directions
Deepfakes II
(Fortunately) Models that produces deepfakes are fairly complicated.
The results are not perfect yet, but these models are continuously improving.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 36 / 46
Research Directions
Deepfakes III
• https://www.youtube.com/watch?v=qc5P2bvfl44 (deep video portraits)
• https://www.youtube.com/watch?v=KHKVTDbR5Ig (few shot adversarial training)
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 37 / 46
Research Directions
Art and creativity
• GANs are really good at imitating real data, so they can produce piece of art that
resemble real art produced by humans.
• As an example, they can imitate pretty well the style of a painter, or the genre of music of
a track.
• This is creativity or imitation?
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 38 / 46
Research Directions
Creative Adversarial Networks (CANs)
• We want the generator to be creative:
“The use of imagination or original ideas to create something.”
Oxford dictionary
• The discriminator discriminate between real and generated art.
• To include creativity in the process, the discriminator also classify artworks into a style
(cubism, impressionism, . . . ).
• If a generated image is classified as art but the discriminator is not able to classify it in a
known style, the generated image can be considered a new and creative work.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 39 / 46
Research Directions
Creative Adversarial Networks (CANs)
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 40 / 46
Research Directions
Adversarial Examples
Find and exploit weaknesses of classifiers, in order to produce example that humans are able to
confidently classify in the right class, but are extremely confusing for ML models.
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 41 / 46
Research Directions
Defogging I
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 42 / 46
Research Directions
Defogging II
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 43 / 46
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 44 / 46
Summary
min
D
max
G
(1 − D(x)) + D(G(z))
What I cannot create I do not understand.
Richard Feynman
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 45 / 46
From art to deep fakes: an introduction to
Generative Adversarial Networks
Machine Learning course 2019/2020
Gabriele Graffieti
gabriele.graffieti@unibo.it
PhD student in Data Science and Computation @ University of Bologna
December 12, 2019
Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 46 / 46

More Related Content

More from Gabriele Graffieti

More from Gabriele Graffieti (6)

Introduction to AI Ethics
Introduction to AI EthicsIntroduction to AI Ethics
Introduction to AI Ethics
 
Self-supervised Learning for Next-Generation Industry-level Autonomous Drivin...
Self-supervised Learning for Next-Generation Industry-level Autonomous Drivin...Self-supervised Learning for Next-Generation Industry-level Autonomous Drivin...
Self-supervised Learning for Next-Generation Industry-level Autonomous Drivin...
 
Continual Learning: why, how, and when
Continual Learning: why, how, and whenContinual Learning: why, how, and when
Continual Learning: why, how, and when
 
Continual Learning over Small non-i.i.d. Batches of Natural Video Streams
Continual Learning over Small non-i.i.d. Batches of Natural Video StreamsContinual Learning over Small non-i.i.d. Batches of Natural Video Streams
Continual Learning over Small non-i.i.d. Batches of Natural Video Streams
 
Efficient Continual Learning with Latent Rehearsal
Efficient Continual Learning with Latent RehearsalEfficient Continual Learning with Latent Rehearsal
Efficient Continual Learning with Latent Rehearsal
 
Image-to-image Translation with Generative Adversarial Networks (without math)
Image-to-image Translation with Generative Adversarial Networks (without math)Image-to-image Translation with Generative Adversarial Networks (without math)
Image-to-image Translation with Generative Adversarial Networks (without math)
 

Recently uploaded

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
 
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
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 

Spotlight - Generative Models and GANs

  • 1. From art to deep fakes: an introduction to Generative Adversarial Networks Machine Learning course 2019/2020 Gabriele Graffieti gabriele.graffieti@unibo.it PhD student in Data Science and Computation @ University of Bologna December 12, 2019 Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 1 / 46
  • 2. About me • PhD Student in DS&C @ University of Bologna. • Head of AI research @ AIforPeople. • Teaching Assistant of the course Algorithms and Data Structures @ UniBo. • Board Member of Data Science Bologna. • Proud Member of ContinualAI. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 2 / 46
  • 3. Summary 1 Introduction 2 Generative models 3 Generative Adversarial Networks 4 Research Directions Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 3 / 46
  • 4. Introduction The limits of AI I AI already outperforms human abilities in many tasks • Computer Vision (classification, segmentation, medical image analysis, image reconstruction, super-resolution . . . ) • Forecasting (stock market prediction, traffic, people you may know, advertising, . . . ) • Fraud detection, marketing, health monitoring, drug discovery, DNA sequence classification, robot locomotion, play games (chess, go, starcraft) and MANY more. And we are still far from general AI! Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 4 / 46
  • 5. Introduction The limits of AI II There is something that AI can never be able to do? Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 5 / 46
  • 6. Introduction The limits of AI III My answer: be creative • Create music. • Create art. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 6 / 46
  • 7. Generative models Generative Models (a misleading name) Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 7 / 46
  • 8. Generative models Discriminative vs Generative models I Discriminative Models • The majority of models used in machine learning. • They model the conditional probability P(Y |X). • They learn the boundaries between classes. • The conditional probability is directly estimated from data. • More effective on classification tasks. • Most discriminative models are inherently supervised. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 8 / 46
  • 9. Generative models Discriminative vs Generative models II Generative Models • They model the join probability P(X, Y ). • They learn the distribution of the data. • More general than discriminative models (a DM can always be derived from a GM). • Since they learn a distribution as similar as possible to the real distribution of data, it is possible to sample artificial data from them. • They can handle multi-modal output, where more than one Y is the correct prediction for a single X (e.g. X is a frame in a video, and Y is the predicted next frame). • Usually unsupervised. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 9 / 46
  • 10. Generative models Deriving a Discriminative Model from a Generative Model Bayes Rule: P(Y |X) = P(X|Y )P(Y ) P(X) We have that: P(X, Y ) = P(X|Y )P(Y ) and P(X) = y P(X, Y = y) Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 10 / 46
  • 11. Generative models Discriminative vs Generative models III Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 11 / 46
  • 12. Generative models Discriminative vs Generative models, a different perspective • Suppose only 2 classes of animals exists in the world: cats and rabbits, and we want classify them. • Discriminative model → tries to find a boundary between the two classes. When new images are presented to the DM, it simply check which side of the decision boundary the animal should go. • Generative model → develops a model of what a cat and rabbit should look like. New images are then classified based on whether they look more like the cat model the GM developed or the rabbit model the GM developed during training. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 12 / 46
  • 13. Generative Adversarial Networks Generative Adversarial Networks Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 13 / 46
  • 14. Generative Adversarial Networks Generative Models (recap) I They model the join probability P(X, Y ) = P(X|Y )P(Y ) Explicit Models • Tractable explicit models → the density function of the model is chosen to be computationally tractable. Fully visible belief nets, nonlinear ICA, pixelRNN. • Approximated explicit models → Often the real distribution of the data is too complex to deal with, thus a simpler and tractable function is used as a lower bound. Variational autoencoders, Boltzmann machines. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 14 / 46
  • 15. Generative Adversarial Networks Generative Models (recap) II Too many dimensions! • What if we want to model the distribution of cat images in order to generate new super-cute imaginary cats? The space of 64×64 RGB images have 12, 288 dimensions. The space of 1920×1080 (full HD) RGB images have 6, 220, 800 dimensions! • It’s impossible to deal with functions in such high-dimensional spaces. Implicit Models • We don’t care about the actual distribution of data, we just want to produce images as similar as possible to the real ones. • The model of the PDF exists, but it’s hidden (e.g. in the weights of a neural network). Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 15 / 46
  • 16. Generative Adversarial Networks Let’s do it! Just take a super-pro neural network, fed it with some noise, use the magic backpropagation algorithm and the network will learn to produce hyper-realistic cat images! Yeah boy! But we need a loss! Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 16 / 46
  • 17. Generative Adversarial Networks What is reality? I How can we mathematically define how much an image of a cat is real? How can we define the concept of catness? And the concept of van goghness? Or the concept of Trumpness? Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 17 / 46
  • 18. Generative Adversarial Networks What is reality? II We have seen a lot of cats in our life, so our brain have modeled some sort of statistical model that describes how a cat looks like. The same for Van Gogh portraits or images of Donald Trump. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 18 / 46
  • 19. Generative Adversarial Networks Proto-GAN example I Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 19 / 46
  • 20. Generative Adversarial Networks Proto-GAN example II Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 20 / 46
  • 21. Generative Adversarial Networks Proto-GAN example III Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 21 / 46
  • 22. Generative Adversarial Networks GAN model I Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 22 / 46
  • 23. Generative Adversarial Networks GAN model II Generator • Takes as input a noise vector, and output a sample as similar as possible to real data. • Unsupervised learning. • (Implicit) Generative model. Discriminator • Takes as input real and fake data, and tries to discriminate between them. • Supervised learning. • Discriminative model. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 23 / 46
  • 24. Generative Adversarial Networks Your greatest enemy is your best friend I Let x = real sample, z = noise vector. • Suppose the discriminator outputs a probability of an image to be real. Let’s say that 1 = 100% real; 0 = 100% fake; 0.5 = I don’t know. • The discriminator want to minimize the function (D(x) − 1) + D(G(z)). • The generator want to maximize the function D(G(z)) Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 24 / 46
  • 25. Generative Adversarial Networks Your greatest enemy is your best friend II LGAN(D, G) = (1 − D(x)) + D(G(z)) The GAN game: min D max G LGAN(D, G) • The goal of a minimax game is to find an equilibrium point. • The two components pull the equilibrium in two opposed directions. • The solution of this game is the equilibrium point (Nash equilibrium), where the discriminator outputs 0.5 for every input. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 25 / 46
  • 26. Generative Adversarial Networks Your greatest enemy is your best friend III • The goal of the generator is to maximally deceive the discriminator → modeling a distribution identical to the real data distribution. • The goal of the discriminator is to accurately distinguish between real and fake data → find the best boundary to discriminate the real and fake distributions of data. • The generator don’t see real data! The only feedback comes from the discriminator. • The discriminator share its gradient with the generator. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 26 / 46
  • 27. Generative Adversarial Networks Why GANs are everywhere? There is no hand-crafted loss! The generator can potentially learn to mimic every type of data using the same game! Just change the training data and the same network can generate cats or Van Gogh portraits! Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 27 / 46
  • 28. Generative Adversarial Networks Why GANs are everywhere? Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 28 / 46
  • 29. Generative Adversarial Networks Let’s make it real! https://github.com/ggraffieti/ GAN-tutorial-DSBo Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 29 / 46
  • 30. Research Directions Research Directions Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 30 / 46
  • 31. Research Directions Problems • Instability during training → intrinsic in the problem definition (find an equilibrium point). • Non-convergence → the discriminator task is usually more simple than the generator’s one. • Mode collapse → the generator produce almost the same output for every input. • Evaluation of results → how we can assess the grade of reality of the output data? Human evaluation is still preferred (Amazon Mechanical Turk). Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 31 / 46
  • 32. Research Directions Image-to-image translation I • Like a language translation, we want to translate one image from one domain to another, maintaining unchanged the semantic content. • The ground truth result of the translation is not known, and more than one result might be correct. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 32 / 46
  • 33. Research Directions Image-to-image translation II • The problem is similar to the problem of learning to translate between 2 languages without a dictionary. • We could exploit the cycle consistency properties of mappings: F(G(x)) ≈ x and G(F(y)) ≈ y • We force the model to learn the inverse mapping, and the composition of the 2 translation have to be similar to the input. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 33 / 46
  • 34. Research Directions Photoshop 2.0? • http://nvidia-research-mingyuliu.com/gaugan • http://gandissect.res.ibm.com/ganpaint.html Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 34 / 46
  • 35. Research Directions Deepfakes I Similar to an image-to-image (or a video-to-video) translation task, but with more constraints: • We want to maintain the realism of the scene → GAN • We want to maintain the semantic content of the scene → cycleGAN • We want to maintain the identity of the person in the target scene → identity recognition network. • We want to maintain the facial expression of the person in the source scene → facial landmarks comparison. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 35 / 46
  • 36. Research Directions Deepfakes II (Fortunately) Models that produces deepfakes are fairly complicated. The results are not perfect yet, but these models are continuously improving. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 36 / 46
  • 37. Research Directions Deepfakes III • https://www.youtube.com/watch?v=qc5P2bvfl44 (deep video portraits) • https://www.youtube.com/watch?v=KHKVTDbR5Ig (few shot adversarial training) Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 37 / 46
  • 38. Research Directions Art and creativity • GANs are really good at imitating real data, so they can produce piece of art that resemble real art produced by humans. • As an example, they can imitate pretty well the style of a painter, or the genre of music of a track. • This is creativity or imitation? Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 38 / 46
  • 39. Research Directions Creative Adversarial Networks (CANs) • We want the generator to be creative: “The use of imagination or original ideas to create something.” Oxford dictionary • The discriminator discriminate between real and generated art. • To include creativity in the process, the discriminator also classify artworks into a style (cubism, impressionism, . . . ). • If a generated image is classified as art but the discriminator is not able to classify it in a known style, the generated image can be considered a new and creative work. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 39 / 46
  • 40. Research Directions Creative Adversarial Networks (CANs) Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 40 / 46
  • 41. Research Directions Adversarial Examples Find and exploit weaknesses of classifiers, in order to produce example that humans are able to confidently classify in the right class, but are extremely confusing for ML models. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 41 / 46
  • 42. Research Directions Defogging I Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 42 / 46
  • 43. Research Directions Defogging II Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 43 / 46
  • 44. Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 44 / 46
  • 45. Summary min D max G (1 − D(x)) + D(G(z)) What I cannot create I do not understand. Richard Feynman Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 45 / 46
  • 46. From art to deep fakes: an introduction to Generative Adversarial Networks Machine Learning course 2019/2020 Gabriele Graffieti gabriele.graffieti@unibo.it PhD student in Data Science and Computation @ University of Bologna December 12, 2019 Gabriele Graffieti From art to deep fakes: an introduction to GANs December 12, 2019 46 / 46